diff options
author | Vedant Kumar <vsk@apple.com> | 2019-10-28 11:35:36 -0700 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2019-10-28 15:34:39 -0700 |
commit | 82d3ba87d06f9e2abc6e27d8799587d433c56630 (patch) | |
tree | ac268d6fc038ba7f310f89c34a6b427c44bc062f /lldb/tools/debugserver | |
parent | dfece0a108a71b493bb92f135f68c59fd1d85c06 (diff) | |
download | bcm5719-llvm-82d3ba87d06f9e2abc6e27d8799587d433c56630.tar.gz bcm5719-llvm-82d3ba87d06f9e2abc6e27d8799587d433c56630.zip |
[debugserver] Detect arch from LLVM_DEFAULT_TARGET_TRIPLE
The debugserver build needs to conditionally include files depending on the
target architecture.
Switch on the architecture specified by LLVM_DEFAULT_TARGET_TRIPLE, as
the llvm and swift build systems use this variable to identify the
target (the latter, indirectly, through LLVM_HOST_TRIPLE).
It would be possible to switch on CMAKE_OSX_ARCHITECTURES, but the swift
build does not provide it, preferring instead to pass arch-specific
CFLAGS etc explicitly. Switching on LLVM_HOST_TRIPLE is also an option,
but it breaks down when cross-compiling.
Differential Revision: https://reviews.llvm.org/D69523
Diffstat (limited to 'lldb/tools/debugserver')
-rw-r--r-- | lldb/tools/debugserver/source/MacOSX/CMakeLists.txt | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/lldb/tools/debugserver/source/MacOSX/CMakeLists.txt b/lldb/tools/debugserver/source/MacOSX/CMakeLists.txt index 7ad4a06a4d3..6d8e1ee449e 100644 --- a/lldb/tools/debugserver/source/MacOSX/CMakeLists.txt +++ b/lldb/tools/debugserver/source/MacOSX/CMakeLists.txt @@ -1,14 +1,28 @@ -if("${CMAKE_OSX_ARCHITECTURES}" MATCHES ".*arm.*") +# The debugserver build needs to conditionally include files depending on the +# target architecture. +# +# Switch on the architecture specified by LLVM_DEFAULT_TARGET_TRIPLE, as +# the llvm and swift build systems use this variable to identify the +# target (the latter, indirectly, through LLVM_HOST_TRIPLE). +# +# It would be possible to switch on CMAKE_OSX_ARCHITECTURES, but the swift +# build does not provide it, preferring instead to pass arch-specific +# CFLAGS etc explicitly. Switching on LLVM_HOST_TRIPLE is also an option, +# but it breaks down when cross-compiling. + +string(REGEX MATCH "^[^-]*" LLDB_DEBUGSERVER_ARCH ${LLVM_DEFAULT_TARGET_TRIPLE}) + +if("${LLDB_DEBUGSERVER_ARCH}" MATCHES ".*arm.*") list(APPEND SOURCES arm/DNBArchImpl.cpp arm64/DNBArchImplARM64.cpp) include_directories(${CURRENT_SOURCE_DIR}/arm ${CURRENT_SOURCE_DIR}/arm64) endif() -if(NOT CMAKE_OSX_ARCHITECTURES OR "${CMAKE_OSX_ARCHITECTURES}" MATCHES ".*86.*") +if(NOT LLDB_DEBUGSERVER_ARCH OR "${LLDB_DEBUGSERVER_ARCH}" MATCHES ".*86.*") list(APPEND SOURCES i386/DNBArchImplI386.cpp x86_64/DNBArchImplX86_64.cpp) include_directories(${CURRENT_SOURCE_DIR}/i386 ${CURRENT_SOURCE_DIR}/x86_64) endif() -if("${CMAKE_OSX_ARCHITECTURES}" MATCHES ".*ppc.*") +if("${LLDB_DEBUGSERVER_ARCH}" MATCHES ".*ppc.*") list(APPEND SOURCES ppc/DNBArchImpl.cpp) include_directories(${CURRENT_SOURCE_DIR}/ppc) endif() |