<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/83899>83899</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [toolchain] runtime options are not used in bootstrap build
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Febbe
      </td>
    </tr>
</table>

<pre>
    When I try to create a toolchain for an RISC-V via the bootstrap build, I get the following warning:

```
CMake Warning:
  Manually-specified variables were not used by the project:

    LIBCXXABI_USE_LLVM_UNWINDER
 LIBCXX_ENABLE_FILESYSTEM
    LIBCXX_ENABLE_SHARED
 LIBCXX_ENABLE_STATIC_ABI_LIBRARY
    LIBCXX_ENABLE_TIME_ZONE_DATABASE
 ```
 
 The configure step also fails, because
 ```
 CMake Error at /scratch/fk68vatu/dexie_freertos_clang/libcxxabi/CMakeLists.txt:51 (message):
  LIBCXXABI_USE_LLVM_UNWINDER is set to ON, but libunwind is not specified in
  LLVM_ENABLE_RUNTIMES.
 ```
 
 Used llvm: release/18.x()
 
 Even I added the cmake variable to the build script:
 
 ```
 cmake -S llvm -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$TOOLCHAIN_DIR \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DLLVM_TARGETS_TO_BUILD=RISCV \
-DLLVM_STATIC_LINK_CXX_STDLIB=ON \
-DLLVM_TARGET_ARCH="riscv32;riscv64" \
-DLLVM_DEFAULT_TARGET_TRIPLE=riscv32-unknown-unknown-elf \
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi" \
-DLLVM_RUNTIME_TARGETS="riscv32-unknown-unknown-elf;riscv64-unknown-unknown-elf" \
-DLLVM_BUILTIN_TARGETS="riscv32-unknown-unknown-elf;riscv64-unknown-unknown-elf" \
-DBUILD_SHARED_LIBS=OFF \
-DLLVM_BUILD_TESTS=False \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_TERMINFO=OFF \
-DLLVM_ENABLE_DUMP=ON \
-DLIBCXX_ENABLE_SHARED=OFF \
-DLIBCXX_ENABLE_FILESYSTEM=OFF \
-DLIBCXX_ENABLE_TIME_ZONE_DATABASE=OFF \
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \
-DBUILTINS_riscv32-unknown-unknown-elf_CMAKE_SYSTEM_NAME=Generic \
-DBUILTINS_riscv64-unknown-unknown-elf_CMAKE_SYSTEM_NAME=Generic \
-DRUNTIMES_riscv32-unknown-unknown-elf_CMAKE_SYSTEM_NAME=Generic \
-DRUNTIMES_riscv64-unknown-unknown-elf_CMAKE_SYSTEM_NAME=Generic \
-DBUILTINS_riscv32-unknown-unknown-elf_COMPILER_RT_BAREMETAL_BUILD=ON \
-DRUNTIMES_riscv32-unknown-unknown-elf_COMPILER_RT_BUILD_LIBFUZZER=OFF \
-DRUNTIMES_riscv32-unknown-unknown-elf_COMPILER_RT_BUILD_MEMPROF=OFF \
-DRUNTIMES_riscv32-unknown-unknown-elf_COMPILER_RT_BUILD_PROFILE=OFF \
-DRUNTIMES_riscv32-unknown-unknown-elf_COMPILER_RT_BUILD_SANITIZERS=OFF \
-DRUNTIMES_riscv32-unknown-unknown-elf_COMPILER_RT_BUILD_XRAY=OFF \
-DBUILTINS_riscv64-unknown-unknown-elf_COMPILER_RT_BAREMETAL_BUILD=ON \
-DRUNTIMES_riscv64-unknown-unknown-elf_COMPILER_RT_BUILD_LIBFUZZER=OFF \
-DRUNTIMES_riscv64-unknown-unknown-elf_COMPILER_RT_BUILD_MEMPROF=OFF \
-DRUNTIMES_riscv64-unknown-unknown-elf_COMPILER_RT_BUILD_PROFILE=OFF \
-DRUNTIMES_riscv64-unknown-unknown-elf_COMPILER_RT_BUILD_SANITIZERS=OFF \
-DRUNTIMES_riscv64-unknown-unknown-elf_COMPILER_RT_BUILD_XRAY=OFF \
 ```

This is very unexpected, since this is neither documented nor neither should the main project fail to pass those variables.
If there is any cache or option variable in the subproject, which is defined in the super project, it should be passed.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0V12TmkwT_TV406Xlgq564QUKJLxB3AJMdveGGqCVSXCwZob9-PdvDaD7hYnPPnmqUmKW7jNnTp8Zu4kQdMcQ59p4oY2tHqlkXvK5g0mCvaTMnuc_cmTgguTPIEtIORKJQECWZZHmhDLYlhwIg8ANl_3v8EAJyBwhKUspJCcHSCpaZJq-BBd2KOuX27IoykfKdvBIOKNspxmmNrS04fHzetj-q_-7XJFfCD_ehQKsCKtIUTz3xQFTuqWYwQPhlCQFCnhEjsBKCZXADJLneuEDL39iKt8tBwDguYvl7a25cONNaMee930Vb_wfrm_ZQRvURMS2by48O3Zczw7vwshevcc4RoRfzcC2OpPDyIzcZaxW89xFYAZ350Aid2XH92vfji0zMhdmaLeR7ySC9hHlCGnJtnRXcQQh8QCkECVsCS2EKkKCKakEnkFplLY5VzWVoOmOSDmRaa7pzvbX9fSByErTnQyfKMZbjshlKeK0IGyn6U5Bk_TpiSRU050ayaNCioF8UoKPr0DTp3sUguxQ02ev6vgb7YEKEMo1Jaz9mn8loaBJxR4py9RbVeKX-lN2AlUwrYrBxldChoPfi7dRTimKh71mmMCxQCJQ052r6eBJ06eK85tw-6E-GSTLMKvdle6VekcLKs71SVD-B5FyengxHpxh0kD0w5oG9Bdtdv8L-JT9JKCNl01k31quzG92vNi4nhVHdze2ZlhBw_ljlOuHkel58U1gO-6tZliaPorWa2_51XT92HKD1ymvlbsJ1v-zl1FYp-hNoY1FoQ60_iEnMoMvdhTG0bqhpRi54fL7h8DW_57rf4uV2cPI8tyFZlhr_wxobAbLrw0JTkX6YOiasai_XY-6qFi2Y2686JgdBe6NpxRqk_sV-8XKR3Z6YrE9J8HRPK0E5f5AC-R9LpUQteNPX2rrfyTTIhz1ebONLiYvW-t827GCkjty_f9mhcZizXWm7isFv3acThJWHNlhTcAhxVsnvtE0itzuch_vPTtYub6zPrNUG2VtVjcfYbpu4Y8w527zP0R2XMhnMrp_S_4A3_HL8H5_ba3D-Df1jZtj32wp9s2VYvkFGXKansfqdsOlWMdz8jd4vcX6d7wu02u9unE9O4iDKF6Ygb2yI9M73WJvC3DZRl8D1gfDcxfO5v6-ywOfRFzZq5tg7fw1PAXmeh2G_iReaPpu5N7bQceN8UnI28C8-wh2mY0_XeJLAP9ZiS9GvLDEF-NdWOKL8S4v8cWQXSV-3yc1n1FOhWoBH5A_Q8Xw6YCpxHrWEJSlCLINYEhljhyyMq32yCRmwEp--rPIy6poWri9mmjaKaFumlUXdyBCgMxL8dLcibaVdLcqjaNahbBnSEmaI5QcyoOkJXtpBimr8UWVHGcQfQmPOU1zlZrhlrK6fW2jDsjhVSCVR5IJ1nQwG_SyuZHNjBnp4fxqMpyNp1fGaNLL59fJZKQns-nsepLMsnQ8m231yXabGgnqM5xNenSuD_XR0BiOrmYjXZ8MRhMjG0-m44QkV-nMmGqjIe4JLQaqCx2UfNejQlQ4nxrT2axXkAQLUU-Mus7wEeqXmq6rAZLPVU4_qXZCGw2LegA4oUgqi3rUPE2P2tgCXjFJ99hKJoC8Htwoez9K9ipezHMpD0J107qj6c6OyrxKBmm5V1OIauCbR_8koVNzFJru1Hv4fwAAAP___ViT5Q">