Allow host triple to be correctly overridden in CMake builds
authorTim Northover <Tim.Northover@arm.com>
Sat, 4 May 2013 07:36:23 +0000 (07:36 +0000)
committerTim Northover <Tim.Northover@arm.com>
Sat, 4 May 2013 07:36:23 +0000 (07:36 +0000)
The intended semantics mirror autoconf, where the user is able to
specify a host triple, but if it's left to the build system then
"config.guess" is invoked for the default.

This also renames the LLVM_HOSTTRIPLE define to LLVM_HOST_TRIPLE to
fit in with the style of the surrounding defines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181112 91177308-0d34-0410-b5e6-96231b3b80d8

autoconf/configure.ac
cmake/config-ix.cmake
configure
include/llvm/Config/config.h.cmake
include/llvm/Config/config.h.in
include/llvm/Config/llvm-config.h.cmake
include/llvm/Config/llvm-config.h.in
lib/Support/Host.cpp
test/Makefile
test/lit.site.cfg.in

index d1c740fa191ad672e1505387ed51bb681f989f30..438b283d199f80f8a7ae7576d476f54ad5c6c321 100644 (file)
@@ -1777,7 +1777,7 @@ AC_DEFINE_UNQUOTED(LLVM_MANDIR, "$LLVM_MANDIR",
                    [Installation directory for man pages])
 AC_DEFINE_UNQUOTED(LLVM_CONFIGTIME, "$LLVM_CONFIGTIME",
                    [Time at which LLVM was configured])
-AC_DEFINE_UNQUOTED(LLVM_HOSTTRIPLE, "$host",
+AC_DEFINE_UNQUOTED(LLVM_HOST_TRIPLE, "$host",
                    [Host triple LLVM will be executed on])
 AC_DEFINE_UNQUOTED(LLVM_DEFAULT_TARGET_TRIPLE, "$target",
                    [Target triple LLVM will generate code for by default])
index 94916b83dc20b35f448c92e9d3f05d0193fe8934..11c6344a1c80f633d7e47b547ee7698c7fd72965 100755 (executable)
@@ -340,12 +340,13 @@ if (CMAKE_COMPILER_IS_GNUCXX)
   endif()
 endif()
 
-include(GetHostTriple)
-get_host_triple(LLVM_HOST_TRIPLE)
-
 # By default, we target the host, but this can be overridden at CMake
 # invocation time.
-set(LLVM_HOSTTRIPLE "${LLVM_HOST_TRIPLE}")
+include(GetHostTriple)
+get_host_triple(LLVM_INFERRED_HOST_TRIPLE)
+
+set(LLVM_HOST_TRIPLE "${LLVM_INFERRED_HOST_TRIPLE}" CACHE STRING
+    "Host on which LLVM binaries will run")
 
 # Determine the native architecture.
 string(TOLOWER "${LLVM_TARGET_ARCH}" LLVM_NATIVE_ARCH)
index 9225f41833e6cedd3e989cf8f81135b74db9a15b..b52ae4471d017e13e64952e1802b2ff2c37c600e 100755 (executable)
--- a/configure
+++ b/configure
@@ -22375,7 +22375,7 @@ _ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
-#define LLVM_HOSTTRIPLE "$host"
+#define LLVM_HOST_TRIPLE "$host"
 _ACEOF
 
 
index 93c2582ae23526ed582c6f2c00717f1304c44b70..32d192e45523cda6f27f320008b2655fc0c2d20b 100644 (file)
 #cmakedefine01 LLVM_HAS_ATOMICS
 
 /* Host triple LLVM will be executed on */
-#cmakedefine LLVM_HOSTTRIPLE "${LLVM_HOSTTRIPLE}"
+#cmakedefine LLVM_HOST_TRIPLE "${LLVM_HOST_TRIPLE}"
 
 /* Installation directory for include files */
 #cmakedefine LLVM_INCLUDEDIR "${LLVM_INCLUDEDIR}"
index 7fa00b8a0308b186adb02d6ee7ce5914fc38b239..950e66f27503fb2262b23d5b27871d5d98594ddc 100644 (file)
 #undef LLVM_HAS_ATOMICS
 
 /* Host triple LLVM will be executed on */
-#undef LLVM_HOSTTRIPLE
+#undef LLVM_HOST_TRIPLE
 
 /* Installation directory for include files */
 #undef LLVM_INCLUDEDIR
index eda17ee4a62b5c76178ea73c8f88490f0a153e95..c6f2bef210dab565d5a75742f7519c91feb80679 100644 (file)
@@ -41,7 +41,7 @@
 #cmakedefine01 LLVM_HAS_ATOMICS
 
 /* Host triple LLVM will be executed on */
-#cmakedefine LLVM_HOSTTRIPLE "${LLVM_HOSTTRIPLE}"
+#cmakedefine LLVM_HOST_TRIPLE "${LLVM_HOST_TRIPLE}"
 
 /* Installation directory for include files */
 #cmakedefine LLVM_INCLUDEDIR "${LLVM_INCLUDEDIR}"
index af3a324855258dbf827bbcc0ef1c48d5c6565123..a5209fa9b28307888d818651e7fcd8c018af9074 100644 (file)
@@ -41,7 +41,7 @@
 #undef LLVM_HAS_ATOMICS
 
 /* Host triple LLVM will be executed on */
-#undef LLVM_HOSTTRIPLE
+#undef LLVM_HOST_TRIPLE
 
 /* Installation directory for include files */
 #undef LLVM_INCLUDEDIR
index 8657abc1be2618e3acfc39fe1461ce55c8e7989c..a7c7a95800591bd2ec43b80a45e1ad0cf40f5faf 100644 (file)
@@ -613,7 +613,7 @@ bool sys::getHostCPUFeatures(StringMap<bool> &Features){
 #endif
 
 std::string sys::getProcessTriple() {
-  Triple PT(LLVM_HOSTTRIPLE);
+  Triple PT(LLVM_HOST_TRIPLE);
 
   if (sizeof(void *) == 8 && PT.isArch32Bit())
     PT = PT.get64BitArchVariant();
index 2213319df8116faf5e217968226f32d55d96fdfd..88573c552386d2251c137ce76ca40949b9a79dc1 100644 (file)
@@ -125,7 +125,7 @@ endif
 
 lit.site.cfg: FORCE
        @echo "Making LLVM 'lit.site.cfg' file..."
-       @$(ECHOPATH) s=@LLVM_HOSTTRIPLE@=$(HOST_TRIPLE)=g > lit.tmp
+       @$(ECHOPATH) s=@LLVM_HOST_TRIPLE@=$(HOST_TRIPLE)=g > lit.tmp
        @$(ECHOPATH) s=@TARGET_TRIPLE@=$(TARGET_TRIPLE)=g >> lit.tmp
        @$(ECHOPATH) s=@LLVM_SOURCE_DIR@=$(LLVM_SRC_ROOT)=g >> lit.tmp
        @$(ECHOPATH) s=@LLVM_BINARY_DIR@=$(LLVM_OBJ_ROOT)=g >> lit.tmp
index 3a680b2812675f31cb49d7c6f8308c6c76c1d6a2..1ae99eb02496c2f175b6b46eb93c333115bcc94c 100644 (file)
@@ -1,6 +1,6 @@
 ## Autogenerated by LLVM/Clang configuration.
 # Do not edit!
-config.host_triple = "@LLVM_HOSTTRIPLE@"
+config.host_triple = "@LLVM_HOST_TRIPLE@"
 config.target_triple = "@TARGET_TRIPLE@"
 config.llvm_src_root = "@LLVM_SOURCE_DIR@"
 config.llvm_obj_root = "@LLVM_BINARY_DIR@"