forked from OSchip/llvm-project
[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
This commit is contained in:
parent
dfece0a108
commit
82d3ba87d0
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue