[libcxx-commits] [libcxx] 069428b - [libc++] Set the target triple by default in the standalone build
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jul 26 12:04:56 PDT 2021
Author: Louis Dionne
Date: 2021-07-26T15:04:45-04:00
New Revision: 069428b6f73bdfb7bba13d461a2f57beb86b6aa7
URL: https://github.com/llvm/llvm-project/commit/069428b6f73bdfb7bba13d461a2f57beb86b6aa7
DIFF: https://github.com/llvm/llvm-project/commit/069428b6f73bdfb7bba13d461a2f57beb86b6aa7.diff
LOG: [libc++] Set the target triple by default in the standalone build
Even though the standalone build is deprecated, some people are still
relying on it (including libc++ itself for some configurations). Setting
the target triple will ensure that the build and the test suite behaves
consistently in the standalone and normal builds.
Differential Revision: https://reviews.llvm.org/D106800
Added:
Modified:
libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake
libcxx/utils/libcxx/test/dsl.py
libcxx/utils/libcxx/test/params.py
Removed:
################################################################################
diff --git a/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake b/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake
index a355fdf99863d..ad2820b324d70 100644
--- a/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake
+++ b/libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake
@@ -26,6 +26,12 @@ endif()
message(STATUS "Configuring for standalone build.")
+# By default, we target the host, but this can be overridden at CMake invocation time.
+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")
+set(LLVM_DEFAULT_TARGET_TRIPLE "${LLVM_HOST_TRIPLE}" CACHE STRING "Target triple used by default.")
+
# Add LLVM Functions --------------------------------------------------------
if (WIN32)
set(LLVM_ON_UNIX 0)
diff --git a/libcxx/utils/libcxx/test/dsl.py b/libcxx/utils/libcxx/test/dsl.py
index 64988e1609b31..3f2b5b7b33ecf 100644
--- a/libcxx/utils/libcxx/test/dsl.py
+++ b/libcxx/utils/libcxx/test/dsl.py
@@ -210,22 +210,6 @@ def featureTestMacros(config, flags=''):
allMacros = compilerMacros(config, flags)
return {m: int(v.rstrip('LlUu')) for (m, v) in allMacros.items() if m.startswith('__cpp_')}
- at _memoizeExpensiveOperation(lambda c: (c.substitutions, c.environment))
-def getHostTriple(config):
- """
- Returns the default triple of the compiler.
-
- TODO: This shouldn't be necessary here - ideally the user would always pass
- the triple as a parameter. This is done to support the legacy standalone
- builds, which don't set the triple.
- """
- with _makeConfigTest(config) as test:
- unparsedOutput, err, exitCode, timeoutInfo = _executeScriptInternal(test, [
- "%{cxx} %{flags} %{compile_flags} -dumpmachine"
- ])
- output = re.search(r"# command output:\n(.+)\n", unparsedOutput).group(1)
- return output
-
def _appendToSubstitution(substitutions, key, value):
return [(k, v + ' ' + value) if k == key else (k, v) for (k, v) in substitutions]
diff --git a/libcxx/utils/libcxx/test/params.py b/libcxx/utils/libcxx/test/params.py
index 21621aedb75c6..ee233e09406ac 100644
--- a/libcxx/utils/libcxx/test/params.py
+++ b/libcxx/utils/libcxx/test/params.py
@@ -53,7 +53,7 @@ def getStdFlag(cfg, std):
return None
DEFAULT_PARAMETERS = [
- Parameter(name='target_triple', type=str, default=getHostTriple,
+ Parameter(name='target_triple', type=str,
help="The target triple to compile the test suite for. This must be "
"compatible with the target that the tests will be run on.",
actions=lambda triple: filter(None, [
More information about the libcxx-commits
mailing list