Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg (91781 => 91782)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg 2011-07-26 20:39:25 UTC (rev 91781)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg 2011-07-26 21:17:14 UTC (rev 91782)
@@ -29,14 +29,15 @@
name = "configure build"
description = ["configuring build"]
descriptionDone = ["configured build"]
- def __init__(self, platform, configuration, architecture, buildOnly, *args, **kwargs):
+ def __init__(self, platform, configuration, architecture, buildOnly, features, *args, **kwargs):
buildstep.BuildStep.__init__(self, *args, **kwargs)
self.platform = platform.split('-', 1)[0]
self.fullPlatform = platform
self.configuration = configuration
self.architecture = architecture
self.buildOnly = buildOnly
- self.addFactoryArguments(platform=platform, configuration=configuration, architecture=architecture, buildOnly=buildOnly)
+ self.features = features;
+ self.addFactoryArguments(platform=platform, configuration=configuration, architecture=architecture, buildOnly=buildOnly, features=features)
def start(self):
self.setProperty("platform", self.platform)
@@ -44,6 +45,7 @@
self.setProperty("configuration", self.configuration)
self.setProperty("architecture", self.architecture)
self.setProperty("buildOnly", self.buildOnly)
+ self.setProperty("features", self.features)
self.finished(SUCCESS)
return defer.succeed(None)
@@ -101,6 +103,11 @@
self.setCommand(self.command + ['DEBUG_INFORMATION_FORMAT=dwarf-with-dsym'])
appendCustomBuildFlags(self, platform)
+
+ features = self.getProperty('features')
+ for feature in features:
+ self.setCommand(self.command + ['--' + feature])
+
return shell.Compile.start(self)
@@ -584,9 +591,9 @@
class Factory(factory.BuildFactory):
- def __init__(self, platform, configuration, architectures, buildOnly):
+ def __init__(self, platform, configuration, architectures, buildOnly, features=None):
factory.BuildFactory.__init__(self)
- self.addStep(ConfigureBuild, platform=platform, configuration=configuration, architecture=" ".join(architectures), buildOnly=buildOnly)
+ self.addStep(ConfigureBuild, platform=platform, configuration=configuration, architecture=" ".join(architectures), buildOnly=buildOnly, features=features)
self.addStep(CheckOutSource)
if platform in ("win", "chromium-win"):
self.addStep(KillOldProcesses)
@@ -596,8 +603,8 @@
self.addStep(InstallChromiumDependencies)
class BuildFactory(Factory):
- def __init__(self, platform, configuration, architectures, triggers=None):
- Factory.__init__(self, platform, configuration, architectures, True)
+ def __init__(self, platform, configuration, architectures, triggers=None, **kwargs):
+ Factory.__init__(self, platform, configuration, architectures, True, **kwargs)
self.addStep(CompileWebKit)
if triggers:
self.addStep(ArchiveBuiltProduct)
@@ -611,8 +618,8 @@
class TestFactory(Factory):
TestClass = RunWebKitTests
ExtractTestResultsClass = ExtractTestResults
- def __init__(self, platform, configuration, architectures):
- Factory.__init__(self, platform, configuration, architectures, False)
+ def __init__(self, platform, configuration, architectures, **kwargs):
+ Factory.__init__(self, platform, configuration, architectures, False, **kwargs)
if platform == "mac-leopard":
# Work around an ATSServer leak. See <http://webkit.org/b/51807>.
self.addStep(StopATSServer)
@@ -634,8 +641,8 @@
class BuildAndTestFactory(Factory):
TestClass = RunWebKitTests
ExtractTestResultsClass = ExtractTestResults
- def __init__(self, platform, configuration, architectures):
- Factory.__init__(self, platform, configuration, architectures, False)
+ def __init__(self, platform, configuration, architectures, **kwargs):
+ Factory.__init__(self, platform, configuration, architectures, False, **kwargs)
if platform.startswith("chromium"):
self.addStep(CleanupChromiumCrashLogs)
self.addStep(CompileWebKit)
@@ -717,8 +724,12 @@
if value:
factoryArgs.append(value)
- builder["factory"] = factory(*factoryArgs)
+ factoryKwArgs = {
+ "features": builder.pop("features", [])
+ }
+ builder["factory"] = factory(*factoryArgs, **factoryKwArgs)
+
builder["category"] = "noncore"
if wkbb._is_core_builder(builder['name']):
builder["category"] = "core"