This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Require LLVM in libc++'s CMake.
AbandonedPublic

Authored by EricWF on May 26 2015, 8:46 PM.

Details

Summary

This patch change the libc++' standalone build so that it requires LLVM. Previously LLVM was only required to run the test suite.
libc++ now uses LLVM's CMake modules to handle shared options like LLVM_USE_SANITIZER and LLVM_ENABLE_32_BITS.

This patch fixes the following bugs:

Diff Detail

Event Timeline

EricWF updated this revision to Diff 26575.May 26 2015, 8:46 PM
EricWF retitled this revision from to [libcxx] Require LLVM in libc++'s CMake..
EricWF updated this object.
EricWF edited the test plan for this revision. (Show Details)
EricWF added reviewers: mclow.lists, danalbert, jroelofs.
EricWF added a subscriber: Unknown Object (MLST).
jroelofs added inline comments.Jun 1 2015, 3:27 PM
test/lit.site.cfg.in
10

LLVM_BUILD_32_BITS is a property of the host
config.enable_32bit is a property of the target

we should keep these separate, and not conflate host & target.... they're not always the same!

www/index.html
187

s/where-you-want-to-live/where-you-want-source-to-live/

199

s/where-you-want-to-live/where-you-want-source-to-live/

@jroelofs: Any input on how to better manage the host vs target distinction?

test/lit.site.cfg.in
10

I agree but I'm not sure the best way to handle this. compiler-rt and libcxxabi both already use LLVM_ENABLE_32BITS and they are libraries intended for the target. Do you have a suggestion about how to handle this?

jroelofs added inline comments.Jun 16 2015, 10:06 AM
test/lit.site.cfg.in
10

Maybe we ought to detect the case when target == host, and use LLVM_ENABLE_32BITS as the default in that case, otherwise force the user to specify it (they're cross compiling anyway, so it doesn't hurt them to specify more things).

To do that, I'd keep the name LIBCXX_BUILD_32_BITS, and put the detection stuff in some CMake goop. Then fix libcxxabi to match libcxx. Compiler_rt, too.

EricWF abandoned this revision.Jul 17 2015, 1:07 PM

Abandoning in favor of D11308.