From 66c5a05e6273ee8396d738373c526230dbc4a600 Mon Sep 17 00:00:00 2001 From: "chaos.proton@gmail.com" Date: Mon, 15 Oct 2012 13:16:35 +0000 Subject: [PATCH] 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 --- tools/building.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/building.py b/tools/building.py index bef7761a2a..fd89c53e8f 100644 --- a/tools/building.py +++ b/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 -- GitLab