浏览代码

building.py: add RegisterPreBuildingAction

One could register a callable object(normally a function) via RegisterPreBuildingAction in SConscript. It will be called when PreBuilding get invoked. PreBuilding should be called before the building procedure. It is currently used by RTGUI to generate the minimal perfect hash code when all the source files are scanned(i.e. just before building).

Maybe we should invoke PreBuilding in DoBuilding.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2353 bbd45198-f89e-11dd-88c7-29a3b14d5316
chaos.proton@gmail.com 13 年之前
父节点
当前提交
66c5a05e62
共有 1 个文件被更改,包括 11 次插入0 次删除
  1. 11 0
      tools/building.py

+ 11 - 0
tools/building.py

@@ -247,6 +247,17 @@ def GetCurrentDir():
     path = os.path.dirname(fn.abspath)
     return path
 
+PREBUILDING = []
+def RegisterPreBuildingAction(act):
+    global PREBUILDING
+    assert callable(act), 'Could only register callable objects. %s received' % repr(act)
+    PREBUILDING.append(act)
+
+def PreBuilding():
+    global PREBUILDING
+    for a in PREBUILDING:
+        a()
+
 def DoBuilding(target, objects):
     program = None
     # check whether special buildlib option