LLVMBuild is gone (which is a good thing)

I just did a pull of the tagged 11.0.1 and the build system had changed. LLVMBuild is gone and now everything is done with CMake now. This is great, really.

However, the error messages I got from the new build were confusing to say the least. Would it be possible for CMake to check for the mere existence of an LLVMBuild.txt in the backend directories and fail with an error to upgrade to the new build system?

I just did a pull of the tagged 11.0.1 and the build system had changed. LLVMBuild is gone and now everything is done with CMake now. This is great, really.

Thank Serge (added to CC) who did all the work: https://reviews.llvm.org/D90848

However, the error messages I got from the new build were confusing to say the least. Would it be possible for CMake to check for the mere existence of an LLVMBuild.txt in the backend directories and fail with an error to upgrade to the new build system?

To clarify: You have a downstream backend that does not work anymore
because the dependencies now have to be encoded in the
add_llvm_component_library call the LLVMBuild.txt is ignored?

You could upload a patch to Phabricator. However, since your backend
has now updated, this doesn't seem useful to you anymore (, but maybe
for others)

Michael

I just did a pull of the tagged 11.0.1 and the build system had changed. LLVMBuild is gone and now everything is done with CMake now. This is great, really.

Are you sure you pulled 11.0.1 ? LLVMBuild.txt was removed in trunk after the release/11.x branch was made.

-Tom

Thanks. Yes, I have a downstream backend which blew up when I pulled the tagged 11.0.1 (very approximately). The build errors were confusing but I figured them out fast enough. Now my backend builds cleanly and I have no issues.

However, my warning recommendation is for the other out-of-tree backends. Such a warning is not unlike the configure file (llvm/configure*) which says “The LLVM project no longer supports building with configure & make.” It would help someone else 6 months down the road.

Serge, you’re awesome. My post on Discord about the new regime was:

I for one welcome our new CMake overlords. It’ll be a little work modifying my CMakeLists.txt files to catch up but one build environment is definitely better than two.

Chris

BTW, warning is the wrong word. Fail. Something like:

if LLVMBuild.txt exists
print LLVMBuild no longer supported. Upgrade to CMake only build environment.
exit build