diff --git a/llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn b/llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn index b4b77edf3d1f6b..225c11a28b0f3b 100644 --- a/llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn +++ b/llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn @@ -329,13 +329,6 @@ write_cmake_config("llvm-config") { "LLVM_HAVE_TF_API=", "LLVM_HOST_TRIPLE=$llvm_current_triple", "LLVM_NATIVE_ARCH=$native_target", - "LLVM_NATIVE_ASMPARSER=1", - "LLVM_NATIVE_ASMPRINTER=1", - "LLVM_NATIVE_DISASSEMBLER=1", - "LLVM_NATIVE_TARGET=1", - "LLVM_NATIVE_TARGETINFO=1", - "LLVM_NATIVE_TARGETMC=1", - "LLVM_NATIVE_TARGETMCA=1", "LLVM_UNREACHABLE_OPTIMIZE=1", "LLVM_USE_INTEL_JITEVENTS=", "LLVM_USE_OPROFILE=", @@ -347,6 +340,28 @@ write_cmake_config("llvm-config") { "PACKAGE_VERSION=${llvm_version}git", ] + if (llvm_build_native) { + values += [ + "LLVM_NATIVE_ASMPARSER=1", + "LLVM_NATIVE_ASMPRINTER=1", + "LLVM_NATIVE_DISASSEMBLER=1", + "LLVM_NATIVE_TARGET=1", + "LLVM_NATIVE_TARGETINFO=1", + "LLVM_NATIVE_TARGETMC=1", + "LLVM_NATIVE_TARGETMCA=1", + ] + } else { + values += [ + "LLVM_NATIVE_ASMPARSER=", + "LLVM_NATIVE_ASMPRINTER=", + "LLVM_NATIVE_DISASSEMBLER=", + "LLVM_NATIVE_TARGET=", + "LLVM_NATIVE_TARGETINFO=", + "LLVM_NATIVE_TARGETMC=", + "LLVM_NATIVE_TARGETMCA=", + ] + } + if (current_os == "win") { values += [ "HAVE_SYSEXITS_H=", diff --git a/llvm/utils/gn/secondary/llvm/lib/Target/targets.gni b/llvm/utils/gn/secondary/llvm/lib/Target/targets.gni index 699b01fbba9a78..f5048f2824a91d 100644 --- a/llvm/utils/gn/secondary/llvm/lib/Target/targets.gni +++ b/llvm/utils/gn/secondary/llvm/lib/Target/targets.gni @@ -26,18 +26,21 @@ llvm_all_targets = [ "X86", ] +# FIXME: This should be based off target_cpu once cross compiles work. +if (host_cpu == "arm64") { + native_target = "AArch64" +} else if (host_cpu == "arm") { + native_target = "ARM" +} else if (host_cpu == "ppc" || host_cpu == "ppc64") { + native_target = "PowerPC" +} else if (host_cpu == "x86" || host_cpu == "x64") { + native_target = "X86" +} else { + assert(false, "add your host_cpu above") +} + if (llvm_targets_to_build == "host") { - if (host_cpu == "arm64") { - llvm_targets_to_build = [ "AArch64" ] - } else if (host_cpu == "arm") { - llvm_targets_to_build = [ "ARM" ] - } else if (host_cpu == "ppc" || host_cpu == "ppc64") { - llvm_targets_to_build = [ "PowerPC" ] - } else if (host_cpu == "x86" || host_cpu == "x64") { - llvm_targets_to_build = [ "X86" ] - } else { - assert(false, "add your host_cpu above") - } + llvm_targets_to_build = [ native_target ] } else if (llvm_targets_to_build == "all") { llvm_targets_to_build = llvm_all_targets } @@ -54,7 +57,11 @@ llvm_build_PowerPC = false llvm_build_SystemZ = false llvm_build_WebAssembly = false llvm_build_X86 = false +llvm_build_native = false foreach(target, llvm_targets_to_build) { + if (target == native_target) { + llvm_build_native = true + } if (target == "AArch64") { llvm_build_AArch64 = true } else if (target == "AMDGPU") { @@ -87,19 +94,6 @@ foreach(target, llvm_targets_to_build) { } } -# FIXME: This should be based off target_cpu once cross compiles work. -if (host_cpu == "arm64") { - native_target = "AArch64" -} else if (host_cpu == "arm") { - native_target = "ARM" -} else if (host_cpu == "ppc" || host_cpu == "ppc64") { - native_target = "PowerPC" -} else if (host_cpu == "x86" || host_cpu == "x64") { - native_target = "X86" -} else { - assert(false, "Unsuppored host_cpu '$host_cpu'.") -} - supported_android_toolchains = [] if (android_ndk_path != "") {