OSDN Git Service

[CMake] Introduce LLVM_TARGET_TRIPLE_ENV as an option to override LLVM_DEFAULT_TARGET...
authorNAKAMURA Takumi <geek4civic@gmail.com>
Sat, 17 Jun 2017 03:19:08 +0000 (03:19 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Sat, 17 Jun 2017 03:19:08 +0000 (03:19 +0000)
commitb903fddc562ccc622cabc4f08f5df2af90ceb251
tree321e5dba513b5de40c388a953611abf26e653670
parent91d2a849ddaeed7399cfb61d07d80c2d492ec02a
[CMake] Introduce LLVM_TARGET_TRIPLE_ENV as an option to override LLVM_DEFAULT_TARGET_TRIPLE at runtime.

No behavior is changed if LLVM_TARGET_TRIPLE_ENV is blank or undefined.

If LLVM_TARGET_TRIPLE_ENV is "TEST_TARGET_TRIPLE" and $TEST_TARGET_TRIPLE is not blank,
llvm::sys::getDefaultTargetTriple() returns $TEST_TARGET_TRIPLE.
Lit resets config.target_triple and config.environment[LLVM_TARGET_TRIPLE_ENV] to change the default target.

Without changing LLVM_DEFAULT_TARGET_TRIPLE nor rebuilding, lit can be run;

  TEST_TARGET_TRIPLE=i686-pc-win32 bin/llvm-lit -sv path/to/test/
  TEST_TARGET_TRIPLE=i686-pc-win32 ninja check-clang-tools

Differential Revision: https://reviews.llvm.org/D33662

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305632 91177308-0d34-0410-b5e6-96231b3b80d8
CMakeLists.txt
cmake/modules/AddLLVM.cmake
include/llvm/Config/config.h.cmake
lib/Support/Unix/Host.inc
lib/Support/Windows/Host.inc