-
Notifications
You must be signed in to change notification settings - Fork 14.7k
[OpenMP] Remove standalone build mode #149878
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Doesn't the HIP build still do this? @estewart08 |
It is definitely not the same! I just realized that this workflow got bricked by #62240 |
This is intended to work with the default runtimes build as well. If it does not work, I will fix it. Having just one standalone build mode will make it easier to not regress build modes.
It's more than 2 years old?!? |
Can we at least document this change in an easily accessible way? |
The https://github.com/llvm/llvm-project/blob/main/openmp/README.rst also will need major updates. It also doesn't mention that other code than the OpenMP tarball is necessary. |
Myself, I usually build from an llvm-project clone. For using libomp+archer with system-gcc, I usually recommend just downloading the OpenMP tarball. This happens only from time to time. This week, we found that it is broken with latest releases. |
Remove all the CMake code for openmp standalone builds. Standalone builds have been superseded by runtimes default build. The runtimes default build can be thought of a standalone build with the standalone boilerplate contained in /runtimes/CMakeLists.txt. There is no need for each runtime to contain the same boilerplate code again.
Builds still using the standalone build via
can switch over to the runtimes default build using
Options that were valid for the standalone build are also valid for default runtimes build, unless handled in explicit
if (OPENMP_STANDALONE_BUILD)
regions.The existence of both, standalone builds and runtime default builds, easily leads to confusion such as fixed in #149871. A non-standalone builds does not mean that it is built as part of a bootstrapping-build of LLVM inside the runtimes/runtimes-bins directory, nor does it mean that the compiler it necessarily Clang. Some of the remaining code may have been written with that assumption. However, the purpose of this patch is to only remove the standalone build functionality.