diff --git a/buildbot/osuosl/master/config/builders.py b/buildbot/osuosl/master/config/builders.py --- a/buildbot/osuosl/master/config/builders.py +++ b/buildbot/osuosl/master/config/builders.py @@ -577,16 +577,15 @@ 'builddir': "clang-ppc64le-rhel", 'factory' : ClangBuilder.getClangCMakeBuildFactory(clean=False, checkout_clang_tools_extra=True, - checkout_compiler_rt=False, + checkout_compiler_rt=True, checkout_lld=True, checkout_libcxx=False, useTwoStage=False, runTestSuite=True, stage1_config='Release', + runtimebuild_compiler_rt=True, nt_flags=['--threads=16', '--build-threads=16'], extra_cmake_args=[ - '-DLLVM_ENABLE_PROJECTS=clang;llvm;clang-tools-extra;lld', - '-DLLVM_ENABLE_RUNTIMES=compiler-rt', "-DLLVM_ENABLE_ASSERTIONS=On", "-DCMAKE_C_COMPILER=clang", "-DCMAKE_CXX_COMPILER=clang++", "-DCLANG_DEFAULT_LINKER=lld", diff --git a/zorg/buildbot/builders/ClangBuilder.py b/zorg/buildbot/builders/ClangBuilder.py --- a/zorg/buildbot/builders/ClangBuilder.py +++ b/zorg/buildbot/builders/ClangBuilder.py @@ -158,6 +158,9 @@ env=None, extra_cmake_args=None, + # Doing runtime build instead of in projects + runtimebuild_compiler_rt=False, + # Extra repositories checkout_clang_tools_extra=True, checkout_compiler_rt=True, @@ -173,6 +176,7 @@ nt_flags=nt_flags, testsuite_flags=testsuite_flags, submitURL=submitURL, testerName=testerName, env=env, extra_cmake_args=extra_cmake_args, + runtimebuild_compiler_rt=runtimebuild_compiler_rt, checkout_clang_tools_extra=checkout_clang_tools_extra, checkout_lld=checkout_lld, checkout_compiler_rt=checkout_compiler_rt, @@ -208,6 +212,9 @@ env=None, extra_cmake_args=None, + # Doing runtime build instead of in projects + runtimebuild_compiler_rt=False, + # Extra repositories checkout_clang_tools_extra=True, checkout_compiler_rt=True, @@ -321,9 +328,17 @@ ############# STAGE 1 - CmakeCommand.applyRequiredOptions(extra_cmake_args, [ - ('-DLLVM_ENABLE_PROJECTS=', ";".join(f.depends_on_projects)), - ]) + enable_projects = f.depends_on_projects + enable_runtimes = 'compiler-rt' + if runtimebuild_compiler_rt and checkout_compiler_rt: + enable_projects.remove('compiler-rt') + + required = [('-DLLVM_ENABLE_PROJECTS=', ";".join(enable_projects))] + if runtimebuild_compiler_rt: + required.append(('-DLLVM_ENABLE_RUNTIMES=', ";".join(enable_runtimes))) + + CmakeCommand.applyRequiredOptions(extra_cmake_args, required) + rel_src_dir = LLVMBuildFactory.pathRelativeTo(f.llvm_srcdir, stage1_build) f.addStep(ShellCommand(name='cmake stage 1',