Enable libcxx project only
See comment below.
I think this should be a binary option to select the new "Unified Standalone" build configuration. We can then just set the correct src_root inside the factory rather than having to pass this explicitly.
|77 ↗||(On Diff #325871)|
We could just append to LLVM_ENABLE_RUNTIMES instead here, if we are in the Unified Standalone build configuration
I'm not sure I follow what are you trying to achieve by changing the src_root.
Changing src_root would not give you ../llvm/runtimes, it simply changes where the source code gets checked out to. Like <buildbot-worker-directory>/<builder>/runtimes/llvm-project/<the rest of the monorepo tree>.
|15 ↗||(On Diff #327283)|
There is a mistype here. Should be a comma at the end.
|81 ↗||(On Diff #327283)|
f.depends_on_projects could contain more than just runtimes.
Thanks for pointing this out. What we are trying to do is to specify runtimes project[https://github.com/llvm/llvm-project/tree/main/runtimes] as the source to cmake and enable the building of libcxx;libcxxabi;libunwind with -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" to build a standalone runtimes.
The cmake command I am expecting is something similar to:
cmake ../llvm/runtimes ' -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_AR=/usr/bin/ar -DLIBCXX_CXX_ABI=libcxxabi -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind"
Could you point to me what is the proper way to do this?
I have added the support you need to UnifiedTreeBuilder.
You could pass src_to_build_dir='runtimes' to UnifiedTreeBuilder.getLLVMBuildFactoryAndSourcecodeSteps( to have what you are after.
One problem to fix.
|35 ↗||(On Diff #332288)|
src_to_build_dir is not defined if the branch is not taken here.
|41 ↗||(On Diff #332288)|
How about something like
src_to_build_dir='runtimes' if build_standalone else None,
and getting rid of that if above?
Or if you prefer having if to highlight the logic, then you need to initialize src_to_build_dir to None right before that if.
Thank you so much for the review. However we have some strategy adjustment at this moment and may need to further change our buildbot config. So I'd like to suspend this patch for the moment. Sorry for the inconvenience.
However, now the change to buildbot/osuosl/master/config/builders.py and the change to zorg/buildbot/builders/LibcxxAndAbiBuilder.py are not related.
Could you break them to 2 separate patches, please?