From b025dfffd0714d25d13d3dd06783f59cd8eef207 Mon Sep 17 00:00:00 2001 From: David Truby Date: Thu, 1 May 2025 15:04:08 +0100 Subject: [PATCH] [flang] Move LLVM_ENABLE_RUNTIMES definition above uses This fixes an issue where flang-rt was not getting automatically added to LLVM_ENABLE_RUNTIMES because LLVM_ENABLE_RUNTIMES had not been defined yet. --- llvm/CMakeLists.txt | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index dd9040400530b..47cbea3d0e872 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -138,6 +138,23 @@ foreach(proj ${LLVM_ENABLE_PROJECTS}) endif() endforeach() +# Select the runtimes to build +# +# As we migrate runtimes to using the bootstrapping build, the set of default runtimes +# should grow as we remove those runtimes from LLVM_ENABLE_PROJECTS above. +set(LLVM_DEFAULT_RUNTIMES "libcxx;libcxxabi;libunwind") +set(LLVM_SUPPORTED_RUNTIMES "libc;libunwind;libcxxabi;pstl;libcxx;compiler-rt;openmp;llvm-libgcc;offload;flang-rt") +set(LLVM_ENABLE_RUNTIMES "" CACHE STRING + "Semicolon-separated list of runtimes to build, or \"all\" (${LLVM_DEFAULT_RUNTIMES}). Supported runtimes are ${LLVM_SUPPORTED_RUNTIMES}.") +if(LLVM_ENABLE_RUNTIMES STREQUAL "all") + set(LLVM_ENABLE_RUNTIMES ${LLVM_DEFAULT_RUNTIMES}) +endif() +foreach(proj IN LISTS LLVM_ENABLE_RUNTIMES) + if (NOT "${proj}" IN_LIST LLVM_SUPPORTED_RUNTIMES) + message(FATAL_ERROR "Runtime \"${proj}\" is not a supported runtime. Supported runtimes are: ${LLVM_SUPPORTED_RUNTIMES}") + endif() +endforeach() + if ("flang" IN_LIST LLVM_ENABLE_PROJECTS) if (NOT "mlir" IN_LIST LLVM_ENABLE_PROJECTS) message(STATUS "Enabling MLIR as a dependency to flang") @@ -190,23 +207,6 @@ if ("flang-rt" IN_LIST LLVM_ENABLE_RUNTIMES) endif () endif () -# Select the runtimes to build -# -# As we migrate runtimes to using the bootstrapping build, the set of default runtimes -# should grow as we remove those runtimes from LLVM_ENABLE_PROJECTS above. -set(LLVM_DEFAULT_RUNTIMES "libcxx;libcxxabi;libunwind") -set(LLVM_SUPPORTED_RUNTIMES "libc;libunwind;libcxxabi;pstl;libcxx;compiler-rt;openmp;llvm-libgcc;offload;flang-rt") -set(LLVM_ENABLE_RUNTIMES "" CACHE STRING - "Semicolon-separated list of runtimes to build, or \"all\" (${LLVM_DEFAULT_RUNTIMES}). Supported runtimes are ${LLVM_SUPPORTED_RUNTIMES}.") -if(LLVM_ENABLE_RUNTIMES STREQUAL "all") - set(LLVM_ENABLE_RUNTIMES ${LLVM_DEFAULT_RUNTIMES}) -endif() -foreach(proj IN LISTS LLVM_ENABLE_RUNTIMES) - if (NOT "${proj}" IN_LIST LLVM_SUPPORTED_RUNTIMES) - message(FATAL_ERROR "Runtime \"${proj}\" is not a supported runtime. Supported runtimes are: ${LLVM_SUPPORTED_RUNTIMES}") - endif() -endforeach() - # Set a shorthand option to enable the GPU build of the 'libc' project. option(LIBC_GPU_BUILD "Enable the 'libc' project targeting the GPU" OFF) if(LIBC_GPU_BUILD)