[Lldb-commits] [PATCH] D57194: [CMake] Use llvm-tblgen from NATIVE LLVM build when cross-compiling
Alex Langford via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Jan 24 14:18:52 PST 2019
xiaobai created this revision.
xiaobai added reviewers: compnerd, sgraenitz.
Herald added a subscriber: mgorny.
When cross-compiling LLDB, we want to use llvm-tblgen built for the
host, not the target.
https://reviews.llvm.org/D57194
Files:
cmake/modules/LLDBStandalone.cmake
Index: cmake/modules/LLDBStandalone.cmake
===================================================================
--- cmake/modules/LLDBStandalone.cmake
+++ cmake/modules/LLDBStandalone.cmake
@@ -25,8 +25,29 @@
set(LLVM_BINARY_DIR ${LLVM_BUILD_BINARY_DIR} CACHE PATH "Path to LLVM build tree")
set(LLVM_EXTERNAL_LIT ${LLVM_TOOLS_BINARY_DIR}/llvm-lit CACHE PATH "Path to llvm-lit")
- find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR}
- NO_DEFAULT_PATH)
+ if(CMAKE_CROSSCOMPILING)
+ set(LLVM_NATIVE_BUILD "${LLDB_PATH_TO_LLVM_BUILD}/NATIVE")
+ if (NOT EXISTS "${LLVM_NATIVE_BUILD}")
+ message(FATAL_ERROR
+ "Attempting to cross-compile LLDB standalone but no native LLVM build
+ found. Please cross-compile LLVM as well.")
+ endif()
+
+ if (CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
+ set(HOST_EXECUTABLE_SUFFIX ".exe")
+ endif()
+
+ if (NOT CMAKE_CONFIGURATION_TYPES)
+ set(LLVM_TABLEGEN_EXE
+ "${LLVM_NATIVE_BUILD}/bin/llvm-tblgen${HOST_EXECUTABLE_SUFFIX}")
+ else()
+ set(LLVM_TABLEGEN_EXE
+ "${LLVM_NATIVE_BUILD}/Release/bin/llvm-tblgen${HOST_EXECUTABLE_SUFFIX}")
+ endif()
+ else()
+ find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR}
+ NO_DEFAULT_PATH)
+ endif()
# They are used as destination of target generators.
set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57194.183399.patch
Type: text/x-patch
Size: 1434 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190124/52efbd43/attachment.bin>
More information about the lldb-commits
mailing list