================
@@ -293,6 +293,7 @@ option(LIBCXX_ENABLE_THREADS "Build libc++ with support for 
threads." ON)
 option(LIBCXX_ENABLE_MONOTONIC_CLOCK
   "Build libc++ with support for a monotonic clock.
    This option may only be set to OFF when LIBCXX_ENABLE_THREADS=OFF." ON)
+option(LIBCXX_USE_LLVM_LIBC "Build libc++ against LLVM libc." OFF)
----------------
petrhosek wrote:

I introduced `LIBCXX_LIBC` which currently accepts `system` or `llvm-libc`. 
`system` is currently no-op but that can be expanded later. In the future we 
may also want to introduce additional options e.g. `musl` replacing the 
existing `LIBCXX_HAS_MUSL_LIBC` option but I'd prefer to do it in a separate 
change. 

I'm not sure if it's better to set the `-nostdlibinc` and `-nolibc` on the libc 
side (as interface flags on the targets) or on the libc++ side (as interface 
flags on the proxy targets), I can see an argument for doing either way. Right 
now I set those on the libc side which has the upside of not needing to 
duplicate those flags in libunwind and libc++abi which should eventually 
support LLVM libc as well.

In the future we'll probably want to move `HandleLibC.cmake` to the top-level 
`cmake/Modules` directory so they can be shared by libc++abi and libunwind, 
although we'll need to rethink the target and variables names because the 
`LIBCXX_` and `libcxx-` prefix is undesirable (maybe we can use `RUNTIMES_` and 
`runtimes-`)?

https://github.com/llvm/llvm-project/pull/99287
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to