aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGalina Kistanova <gkistanova@gmail.com>2019-10-16 19:46:58 +0000
committerGalina Kistanova <gkistanova@gmail.com>2019-10-16 19:46:58 +0000
commit3607aef29ae456e47c2de2d09e204400e3e5d373 (patch)
tree4ed107f167a5532686c1930775cb71898ec13da8
parentc46187e22b08b17159d19a30855d512c0cfe8d94 (diff)
This allows to use the newly added LLVMBuildFactory ability to transparently use SVN or github and switch between depending on the is_legacy_mode attribute, and adds a github support to UnifiedTreeBuilder.
Patch by Alex Orlov. Differential Revision: https://reviews.llvm.org/D69049 git-svn-id: https://llvm.org/svn/llvm-project/zorg/trunk@375036 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--zorg/buildbot/builders/UnifiedTreeBuilder.py20
1 files changed, 18 insertions, 2 deletions
diff --git a/zorg/buildbot/builders/UnifiedTreeBuilder.py b/zorg/buildbot/builders/UnifiedTreeBuilder.py
index a1ed6fd0..9601fed4 100644
--- a/zorg/buildbot/builders/UnifiedTreeBuilder.py
+++ b/zorg/buildbot/builders/UnifiedTreeBuilder.py
@@ -26,7 +26,11 @@ def getLLVMBuildFactoryAndPrepareForSourcecodeSteps(
# We want a clean checkout only if requested by the property.
cleanBuildRequested = cleanBuildRequestedByProperty
+ # By default UnifiedTreeBuilder works in the legacy mode yet.
+ is_legacy_mode = kwargs.pop('is_legacy_mode', True)
+
f = LLVMBuildFactory(
+ is_legacy_mode=is_legacy_mode,
depends_on_projects=depends_on_projects,
llvm_srcdir=llvm_srcdir,
obj_dir=obj_dir,
@@ -38,7 +42,7 @@ def getLLVMBuildFactoryAndPrepareForSourcecodeSteps(
# TODO: Some Windows slaves do not handle RemoveDirectory command well.
# So, consider running "rmdir /S /Q <dir>" if the build runs on Windows.
f.addStep(RemoveDirectory(name='clean-src-dir',
- dir=f.llvm_srcdir,
+ dir=f.llvm_srcdir if f.is_legacy_mode else f.monorepo_dir,
haltOnFailure=False,
flunkOnFailure=False,
doStepIf=cleanBuildRequestedByProperty,
@@ -52,7 +56,6 @@ def getLLVMBuildFactoryAndSourcecodeSteps(
obj_dir = None,
install_dir = None,
cleanBuildRequested = None,
- env = None,
**kwargs):
f = getLLVMBuildFactoryAndPrepareForSourcecodeSteps(
@@ -84,6 +87,10 @@ def addCmakeSteps(
stage_name = None,
**kwargs):
+ # Consume is_legacy_mode if given.
+ # TODO: Remove this once legacy mode gets dropped.
+ kwargs.pop('is_legacy_mode', None)
+
# Make a local copy of the configure args, as we are going to modify that.
if extra_configure_args:
cmake_args = extra_configure_args[:]
@@ -104,6 +111,11 @@ def addCmakeSteps(
doStepIf=cleanBuildRequested,
))
+ if not f.is_legacy_mode:
+ CmakeCommand.applyRequiredOptions(cmake_args, [
+ ('-DLLVM_ENABLE_PROJECTS=', ";".join(f.depends_on_projects)),
+ ])
+
if install_dir:
install_dir_rel = LLVMBuildFactory.pathRelativeToBuild(
install_dir,
@@ -157,6 +169,10 @@ def addNinjaSteps(
stage_name = None,
**kwargs):
+ # Consume is_legacy_mode if given.
+ # TODO: Remove this once legacy mode gets dropped.
+ kwargs.pop('is_legacy_mode', None)
+
# Build the unified tree.
if stage_name:
step_name = "%s-" % stage_name