aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Lanza <nathan@lanza.io>2019-07-18 00:21:57 +0000
committerNathan Lanza <nathan@lanza.io>2019-07-18 00:21:57 +0000
commit0c6ad3d5d19f04f476a7b2d9202dee2e3a6e9f73 (patch)
tree8f2b5b823cddd5f677d39b34213971dc7da44ce9
parent68983321cc966018d2d0408f1abe920d332033df (diff)
downloadllvm-0c6ad3d5d19f04f476a7b2d9202dee2e3a6e9f73.zip
llvm-0c6ad3d5d19f04f476a7b2d9202dee2e3a6e9f73.tar.gz
llvm-0c6ad3d5d19f04f476a7b2d9202dee2e3a6e9f73.tar.bz2
[cmake] Add NATIVE build for cross compiling standalone builds
TableGen is a host tool and requires a native variant for every build. While building as a part of llvm this is trivial and llvm handles it. However, building standalone means that lldb has to handle this itself. Add a NATIVE build variant to enable this. llvm-svn: 366392
-rw-r--r--lldb/CMakeLists.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/lldb/CMakeLists.txt b/lldb/CMakeLists.txt
index 878faaa..6b1b672 100644
--- a/lldb/CMakeLists.txt
+++ b/lldb/CMakeLists.txt
@@ -39,6 +39,20 @@ if (NOT LLDB_DISABLE_PYTHON)
add_subdirectory(scripts)
endif ()
+if(CMAKE_CROSSCOMPILING AND LLDB_BUILT_STANDALONE)
+ set(LLVM_USE_HOST_TOOLS ON)
+ include(CrossCompile)
+ if (NOT LLDB_PATH_TO_NATIVE_LLVM_BUILD OR
+ NOT LLDB_PATH_TO_NATIVE_CLANG_BUILD)
+ message(FATAL_ERROR
+ "Crosscompiling standalone requires the variables LLDB_PATH_TO_NATIVE_{CLANG,LLVM}_BUILD
+ for building the native lldb-tblgen used during the build process.")
+ endif()
+ llvm_create_cross_target(lldb NATIVE "" Release
+ -DLLDB_PATH_TO_LLVM_BUILD=${LLDB_PATH_TO_NATIVE_LLVM_BUILD}
+ -DLLDB_PATH_TO_CLANG_BUILD=${LLDB_PATH_TO_NATIVE_CLANG_BUILD})
+endif()
+
add_subdirectory(utils/TableGen)
add_subdirectory(source)
add_subdirectory(tools)