llvm-project/libc
John Ericson efeb501970 [cmake] Use `GNUInstallDirs` to support custom installation dirs.
This is the original patch in my GNUInstallDirs series, now last to merge as the final piece!

It arose as a new draft of D28234. I initially did the unorthodox thing of pushing to that when I wasn't the original author, but since I ended up

 - Using `GNUInstallDirs`, rather than mimicking it, as the original author was hesitant to do but others requested.

 - Converting all the packages, not just LLVM, effecting many more projects than LLVM itself.

I figured it was time to make a new revision.

I have used this patch series (and many back-ports) as the basis of https://github.com/NixOS/nixpkgs/pull/111487 for my distro (NixOS), which was merged last spring (2021). It looked like people were generally on board in D28234, but I make note of this here in case extra motivation is useful.

---

As pointed out in the original issue, a central tension is that LLVM already has some partial support for these sorts of things. Variables like `COMPILER_RT_INSTALL_PATH` have already been dealt with. Variables like `LLVM_LIBDIR_SUFFIX` however, will require further work, so that we may use `CMAKE_INSTALL_LIBDIR`.

These remaining items will be addressed in further patches. What is here is now rote and so we should get it out of the way before dealing more intricately with the remainder.

Reviewed By: #libunwind, #libc, #libc_abi, compnerd

Differential Revision: https://reviews.llvm.org/D99484
2022-01-15 01:08:35 +00:00
..
AOR_v20.02 Harmonize Python shebang 2020-07-16 21:53:45 +02:00
benchmarks [libc][obvious] fix formatting mistake 2021-12-22 11:40:08 -08:00
cmake/modules [libc] Add multithreading support for exhaustive testing and MPFRUtils. 2022-01-13 13:46:14 -05:00
config [libc] move strdup out of requiring SCUDO 2022-01-14 13:32:42 -08:00
docs [libc][clang-tidy] fix namespace check for externals 2021-11-30 11:44:24 -08:00
fuzzing [libc] apply new lint rules 2021-12-07 10:49:47 -08:00
include [libc][Obvious][NFC] A bunch of cosmetic cleanup. 2021-11-19 17:02:55 +00:00
lib [libc] add malloc funcs as external entrypoints 2021-10-27 10:21:01 -07:00
loader [libc][NFC] Move sys/mman entrypoints to the default build configs. 2022-01-11 16:51:10 +00:00
spec [libc] Implement correctly rounded log2f based on RLIBM library. 2022-01-14 12:40:49 -05:00
src [libc] Implement correctly rounded log2f based on RLIBM library. 2022-01-14 12:40:49 -05:00
test [libc] Implement correctly rounded log2f based on RLIBM library. 2022-01-14 12:40:49 -05:00
utils [libc] Implement correctly rounded log2f based on RLIBM library. 2022-01-14 12:40:49 -05:00
.clang-tidy [libc] Add a .clang-tidy file for the toplevel libc directory. 2021-12-09 00:19:25 +00:00
CMakeLists.txt [cmake] Use `GNUInstallDirs` to support custom installation dirs. 2022-01-15 01:08:35 +00:00
LICENSE.TXT Rename top-level LICENSE.txt files to LICENSE.TXT 2021-03-10 21:26:24 -08:00
README.txt

README.txt

LLVM libc
=========

This directory and its subdirectories contain source code for llvm-libc,
a retargetable implementation of the C standard library.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.