summaryrefslogtreecommitdiffstats
path: root/builder.py
diff options
context:
space:
mode:
Diffstat (limited to 'builder.py')
-rwxr-xr-xbuilder.py27
1 files changed, 24 insertions, 3 deletions
diff --git a/builder.py b/builder.py
index 30d1513d..2faf98d0 100755
--- a/builder.py
+++ b/builder.py
@@ -484,13 +484,18 @@ class File(object):
# Module - logical group of related files we can perform actions on
#
class Module(object):
- def __init__(self, name):
+ def __init__(self, manager, name, enabled = True):
+ self.manager = manager
self.name = name
+ self.enabled = enabled
self.conditionalOn = "none"
self.files = []
self.cpuDependentSourceFiles = {}
self.dependencies = []
+ def isEnabled(self):
+ return self.enabled
+
def initCPUDependencies(self, cpu):
if cpu not in self.cpuDependentSourceFiles:
self.cpuDependentSourceFiles[cpu] = []
@@ -639,8 +644,15 @@ class ModuleManager(object):
raise KeyError('module %s not found' % (key))
return self.modules[key]
- def getModules(self):
- return sorted(self.modules.keys())
+ def getAllModules(self):
+ if 'modules' in self.configuration:
+ return self.configuration['modules']
+ return []
+
+ def getEnabledModules(self):
+ if 'modules-enabled' in self.configuration:
+ return self.configuration['modules-enabled']
+ return []
def addModule(self, module):
self.modules[module.name] = module
@@ -656,3 +668,12 @@ class ModuleManager(object):
def getConfiguration(self):
return self.configuration
+
+ def setModuleConfigiuration(self):
+ mods = sorted(self.modules.keys())
+ self.configuration['modules'] = mods
+ self.configuration['modules-enabled'] = [m for m in mods if self.modules[m].isEnabled()]
+
+ def generateBuild(self):
+ for m in self.getEnabledModules():
+ self.modules[m].generate()