[libc-commits] [libc] [libc] Add baremetal minor archive support. (PR #203015)
Petr Hosek via libc-commits
libc-commits at lists.llvm.org
Thu Jun 11 00:38:29 PDT 2026
================
@@ -1,15 +1,40 @@
+set(libc_subarchive_entrypoints "")
+if(ENABLE_LLVM_LIBC_MINOR_VARIANT)
+ if(NOT LIBC_TARGET_OS_IS_BAREMETAL)
+ message(FATAL_ERROR
+ "ENABLE_LLVM_LIBC_MINOR_VARIANT is only supported on baremetal targets.")
+ endif()
+ if(NOT LLVM_LIBC_SUBARCHIVE_NAME)
+ message(FATAL_ERROR
+ "ENABLE_LLVM_LIBC_MINOR_VARIANT requires LLVM_LIBC_SUBARCHIVE_NAME to be set.")
+ endif()
+endif()
+
set(libc_archive_targets "")
set(libc_archive_names "")
set(libc_archive_entrypoint_lists "")
-if(LLVM_LIBC_FULL_BUILD)
- list(APPEND libc_archive_names c m mvec)
- list(APPEND libc_archive_targets libc libm libmvec)
- list(APPEND libc_archive_entrypoint_lists
- TARGET_LIBC_ENTRYPOINTS TARGET_LIBM_ENTRYPOINTS TARGET_LIBMVEC_ENTRYPOINTS)
+if(NOT ENABLE_LLVM_LIBC_MINOR_VARIANT)
----------------
petrhosek wrote:
The name should be `LLVM_LIBC_ENABLE_MINOR_VARIANT` to match the existing pattern and it should be defined as an option https://github.com/llvm/llvm-project/blob/main/libc/CMakeLists.txt.
Personally, for `if ... else` cases I usually prefer leading with the positive case:
```
if(LLVM_LIBC_ENABLE_MINOR_VARIANT)
...
else()
...
endif()
```
https://github.com/llvm/llvm-project/pull/203015
More information about the libc-commits
mailing list