diff options
| author | [email protected] <[email protected]> | 2012-07-22 11:17:04 +0000 |
|---|---|---|
| committer | [email protected] <[email protected]> | 2012-07-22 11:17:04 +0000 |
| commit | 8cf479caaa7a5840b926245e13e96f789180d758 (patch) | |
| tree | 8294854c0aeb779b151f87ec7aa575259660fe7e | |
| parent | 0b1f74870105bf32277a7d40e9a9b4919a43826c (diff) | |
add "remove_components" feature
If one do not want to use some components in the RTT_ROOT, it can pass a remove_components=['the_component'] parameter to PrepareBuilding. Sample code is:
RTT_RTGUI = os.getenv('RTT_RTGUI')
# if GUI dir is set to other place, don't use the one in RTT_ROOT
if RTT_RTGUI:
# prepare building environment
objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False, remove_components=['rtgui'])
objs += SConscript(os.path.join(RTT_RTGUI, 'SConscript'))
else:
objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
You can safely omit the parameter if you do not want to remove any components.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2227 bbd45198-f89e-11dd-88c7-29a3b14d5316
| -rw-r--r-- | components/SConscript | 3 | ||||
| -rw-r--r-- | tools/building.py | 8 |
2 files changed, 9 insertions, 2 deletions
diff --git a/components/SConscript b/components/SConscript index 517e80b11f..580b7e19e1 100644 --- a/components/SConscript +++ b/components/SConscript @@ -1,11 +1,14 @@ # for module compiling
import os
Import('RTT_ROOT')
+Import('remove_components')
objs = []
list = os.listdir(os.path.join(RTT_ROOT, 'components'))
for d in list:
+ if d in remove_components:
+ continue
path = os.path.join(RTT_ROOT, 'components', d)
if os.path.isfile(os.path.join(path, 'SConscript')):
objs = objs + SConscript(os.path.join(d, 'SConscript'))
diff --git a/tools/building.py b/tools/building.py index 9f54a6ceac..c520f402c3 100644 --- a/tools/building.py +++ b/tools/building.py @@ -58,7 +58,7 @@ def GetVersion(): return '0.%d.%d' % (version, subversion) -def PrepareBuilding(env, root_directory, has_libcpu=False): +def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = []): import SCons.cpp import rtconfig @@ -122,8 +122,12 @@ def PrepareBuilding(env, root_directory, has_libcpu=False): # include libcpu if not has_libcpu: objs.append(SConscript(Rtt_Root + '/libcpu/SConscript', variant_dir='build/libcpu', duplicate=0)) + # include components - objs.append(SConscript(Rtt_Root + '/components/SConscript', variant_dir='build/components', duplicate=0)) + objs.append(SConscript(Rtt_Root + '/components/SConscript', + variant_dir='build/components', + duplicate=0, + exports='remove_components')) return objs |
