Quellcode durchsuchen

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
chaos.proton@gmail.com vor 12 Jahren
Ursprung
Commit
8cf479caaa
2 geänderte Dateien mit 9 neuen und 2 gelöschten Zeilen
  1. 3 0
      components/SConscript
  2. 6 2
      tools/building.py

+ 3 - 0
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'))

+ 6 - 2
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