[libcxx-commits] [PATCH] D62060: Make libc++'s libc++abi discovery work in the monorepo layout

Nico Weber via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri May 17 12:29:29 PDT 2019


thakis marked 3 inline comments as done.
thakis added inline comments.


================
Comment at: libcxx/CMakeLists.txt:150
+  # is always there and LLVM_ENABLE_PROJECTS controls if it's built.
+  # In the old layout, libcxxabi is built if it merely exists.
+  if (NOT LIBCXX_STANDALONE_BUILD AND
----------------
smeenai wrote:
> This isn't quite true either. You could define `LLVM_TOOL_LIBCXXABI_BUILD` to `OFF` to prevent the build. It just defaulted to building instead of defaulting to not building.
Isn't `LLVM_TOOL_FOO_BUILD` for stuff that went into llvm/tools in the old layout, while libcxx(abi) is in llvm/projects? I don't see references to LLVM_TOOL_ in llvm/projects/CMakeLists.txt.


================
Comment at: libcxx/CMakeLists.txt:152
+  if (NOT LIBCXX_STANDALONE_BUILD AND
+      (LLVM_ENABLE_PROJECTS_USED OR NOT LLVM_ENABLE_PROJECTS STREQUAL ""))
+    if ("libcxxabi" IN_LIST LLVM_ENABLE_PROJECTS)
----------------
smeenai wrote:
> Why do we need to check both of these?
It's what http://llvm-cs.pcc.me.uk/CMakeLists.txt#114 does, but give the previous comment we probably don't need to check the _USED one.


================
Comment at: libcxx/CMakeLists.txt:153
+      (LLVM_ENABLE_PROJECTS_USED OR NOT LLVM_ENABLE_PROJECTS STREQUAL ""))
+    if ("libcxxabi" IN_LIST LLVM_ENABLE_PROJECTS)
+      set(LIBCXX_HAVE_LIBCXXABI_CHECKOUT_INTERNAL TRUE)
----------------
smeenai wrote:
> What about `LLVM_ENABLE_RUNTIMES`? I think this might break that ... CC @phosek 
What's the difference between LLVM_ENABLE_RUNTIMES and LLVM_ENABLE_PROJECTS? They seem redundant to me at first glance.

But I suppose this should become `if ("libcxxabi" IN_LIST LLVM_ENABLE_PROJECTS OR "libcxxabi" IN_LIST LLVM_ENABLE_RUNTIMES)`?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62060/new/

https://reviews.llvm.org/D62060





More information about the libcxx-commits mailing list