From bb0212929e36732585f0b43f9b0301af51953667 Mon Sep 17 00:00:00 2001 From: Mehdi Amini Date: Tue, 2 Feb 2021 18:47:10 +0000 Subject: [PATCH] Fix CMake LLVM_TARGETS_TO_BUILD "Native" option to work with JIT LLVM_TARGETS_TO_BUILD accepts both "host" or "Native" for auto-selecting the target from the environment. However the way "Native" was plumbed would lead to the JIT environment being disabled. This patch is making "Native" works just as "host". Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D95837 --- llvm/CMakeLists.txt | 4 ---- llvm/cmake/config-ix.cmake | 16 +++++++++------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index 40be7a8559320..1affc289e64b3 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -669,10 +669,6 @@ set(LLVM_PROFDATA_FILE "" CACHE FILEPATH # first cmake run include(config-ix) -string(REPLACE "Native" ${LLVM_NATIVE_ARCH} - LLVM_TARGETS_TO_BUILD "${LLVM_TARGETS_TO_BUILD}") -list(REMOVE_DUPLICATES LLVM_TARGETS_TO_BUILD) - # By default, we target the host, but this can be overridden at CMake # invocation time. set(LLVM_DEFAULT_TARGET_TRIPLE "${LLVM_HOST_TRIPLE}" CACHE STRING diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake index 818fafbce1486..1f4b52df8b653 100644 --- a/llvm/cmake/config-ix.cmake +++ b/llvm/cmake/config-ix.cmake @@ -453,13 +453,15 @@ else () message(FATAL_ERROR "Unknown architecture ${LLVM_NATIVE_ARCH}") endif () -# If build targets includes "host", then replace with native architecture. -list(FIND LLVM_TARGETS_TO_BUILD "host" idx) -if( NOT idx LESS 0 ) - list(REMOVE_AT LLVM_TARGETS_TO_BUILD ${idx}) - list(APPEND LLVM_TARGETS_TO_BUILD ${LLVM_NATIVE_ARCH}) - list(REMOVE_DUPLICATES LLVM_TARGETS_TO_BUILD) -endif() +# If build targets includes "host" or "Native", then replace with native architecture. +foreach (NATIVE_KEYWORD host Native) + list(FIND LLVM_TARGETS_TO_BUILD ${NATIVE_KEYWORD} idx) + if( NOT idx LESS 0 ) + list(REMOVE_AT LLVM_TARGETS_TO_BUILD ${idx}) + list(APPEND LLVM_TARGETS_TO_BUILD ${LLVM_NATIVE_ARCH}) + list(REMOVE_DUPLICATES LLVM_TARGETS_TO_BUILD) + endif() +endforeach() list(FIND LLVM_TARGETS_TO_BUILD ${LLVM_NATIVE_ARCH} NATIVE_ARCH_IDX) if (NATIVE_ARCH_IDX EQUAL -1)