This is an archive of the discontinued LLVM Phabricator instance.

Try again to fix libcxx CMake so that it doesn't break when no LLVM source tree is available
ClosedPublic

Authored by zturner on Sep 19 2017, 3:27 PM.

Details

Summary

This removes the configure step from libcxx CMake so it doesn't generate the output script.

I can probably get this added back later, but for now I'm just trying to get things green.

Note that libcxx CMake already depends on LLVM sources for running the test suite via a check target. It has been this way for some time and I didn't introduce this. These bots that broke, however, do not do that. They instead download lit and run it manually.

With this patch, that workflow should be supported again. Runing bin/llvm-lit -sv <libcxx-source-tree> isn't, but but the old workflow of using lit.py -sv <libcxx-source-tree> should still work.

If one of you at Apple + Eric could please try this I would appreciate.

Diff Detail

Event Timeline

zturner created this revision.Sep 19 2017, 3:27 PM

So after locally reverting r313643 and then applying only the patch related to libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake I was able to configure and build libcxx successfully.

Thanks, I will submit this in a couple of hours when I get into the office.

The llvm side changes are necessary to make ninja check-libcxx work (which these bots aren't using anyway)

This revision was automatically updated to reflect the committed changes.
mgorny added a comment.Jan 9 2019, 9:52 AM

This actually breaks using external lit. It no longer respects -DLLVM_EXTERNAL_LIT passed to CMake, and instead forces the hardcoded libcxx path, which — since the file listed there doesn't exist — causes fallback to also-non-existing llvm-lit to happen.