Index: zorg/buildbot/builders/LibcxxAndAbiBuilder.py =================================================================== --- zorg/buildbot/builders/LibcxxAndAbiBuilder.py +++ zorg/buildbot/builders/LibcxxAndAbiBuilder.py @@ -27,10 +27,7 @@ if depends_on_projects is None: depends_on_projects = ['libcxx','libcxxabi','libunwind'] - if build_standalone: - src_root = 'runtimes' - else: - src_root = 'llvm' + src_root = 'llvm' build_path = 'build' @@ -39,6 +36,7 @@ depends_on_projects=depends_on_projects, llvm_srcdir=src_root, obj_dir=build_path, + build_standalone=build_standalone, **kwargs) # Pass through all the extra arguments. rel_src_dir = LLVMBuildFactory.pathRelativeTo(f.llvm_srcdir, build_path) Index: zorg/buildbot/builders/UnifiedTreeBuilder.py =================================================================== --- zorg/buildbot/builders/UnifiedTreeBuilder.py +++ zorg/buildbot/builders/UnifiedTreeBuilder.py @@ -18,6 +18,7 @@ install_dir = None, cleanBuildRequested = None, env = None, + build_standalone = False, **kwargs): def cleanBuildRequestedByProperty(step): @@ -33,6 +34,7 @@ obj_dir=obj_dir, install_dir=install_dir, cleanBuildRequested=cleanBuildRequested, + build_standalone=build_standalone, **kwargs) # Pass through all the extra arguments. # Remove the source code for a clean checkout if requested by property. @@ -53,6 +55,7 @@ obj_dir = None, install_dir = None, cleanBuildRequested = None, + build_standalone = False, **kwargs): f = getLLVMBuildFactoryAndPrepareForSourcecodeSteps( @@ -61,6 +64,7 @@ obj_dir=obj_dir, install_dir=install_dir, cleanBuildRequested=cleanBuildRequested, + build_standalone=build_standalone, **kwargs) # Pass through all the extra arguments. # Get the source code. Index: zorg/buildbot/process/factory.py =================================================================== --- zorg/buildbot/process/factory.py +++ zorg/buildbot/process/factory.py @@ -23,6 +23,7 @@ self.llvm_srcdir = kwargs.pop('llvm_srcdir', None) self.obj_dir = kwargs.pop('obj_dir', None) self.install_dir = kwargs.pop('install_dir', None) + self.build_standalone = kwargs.pop('build_standalone', False) # Preserve the rest of the given extra attributes if any, so we could # expand the factory later. @@ -30,8 +31,13 @@ setattr(self, k, v) self.monorepo_dir = self.llvm_srcdir or "llvm-project" + if self.build_standalone: + self.build_dir = "runtimes" + else: + self.build_dir = "llvm" self.llvm_srcdir = \ - "%(monorepo_dir)s/llvm" % {'monorepo_dir' : self.monorepo_dir} + "%(monorepo_dir)s/(build_dir)s" % {'monorepo_dir' : self.monorepo_dir,\ + 'build_dir' : self.build_dir} self.obj_dir = \ self.obj_dir or "build"