diff options
author | Galina Kistanova <gkistanova@gmail.com> | 2019-10-16 19:46:58 +0000 |
---|---|---|
committer | Galina Kistanova <gkistanova@gmail.com> | 2019-10-16 19:46:58 +0000 |
commit | 3607aef29ae456e47c2de2d09e204400e3e5d373 (patch) | |
tree | 4ed107f167a5532686c1930775cb71898ec13da8 | |
parent | c46187e22b08b17159d19a30855d512c0cfe8d94 (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.py | 20 |
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 |