mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 00:11:00 +00:00
Supports building with a list of targets that does not contain
X86. Fixes PR9533. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128154 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d662576671
commit
db3480c432
@ -81,6 +81,9 @@ set(LLVM_ALL_TARGETS
|
||||
XCore
|
||||
)
|
||||
|
||||
# List of targets with JIT support:
|
||||
set(LLVM_TARGETS_WITH_JIT X86 PowerPC ARM)
|
||||
|
||||
if( MSVC )
|
||||
set(LLVM_TARGETS_TO_BUILD X86
|
||||
CACHE STRING "Semicolon-separated list of targets to build, or \"all\".")
|
||||
|
@ -321,24 +321,19 @@ elseif (LLVM_NATIVE_ARCH MATCHES "xcore")
|
||||
elseif (LLVM_NATIVE_ARCH MATCHES "msp430")
|
||||
set(LLVM_NATIVE_ARCH MSP430)
|
||||
else ()
|
||||
message(STATUS
|
||||
"Unknown architecture ${LLVM_NATIVE_ARCH}; lli will not JIT code")
|
||||
set(LLVM_NATIVE_ARCH)
|
||||
message(FATAL_ERROR "Unknown architecture ${LLVM_NATIVE_ARCH}")
|
||||
endif ()
|
||||
|
||||
if (LLVM_NATIVE_ARCH)
|
||||
list(FIND LLVM_TARGETS_TO_BUILD ${LLVM_NATIVE_ARCH} NATIVE_ARCH_IDX)
|
||||
if (NATIVE_ARCH_IDX EQUAL -1)
|
||||
message(STATUS
|
||||
"Native target ${LLVM_NATIVE_ARCH} is not selected; lli will not JIT code")
|
||||
set(LLVM_NATIVE_ARCH)
|
||||
else ()
|
||||
message(STATUS "Native target architecture is ${LLVM_NATIVE_ARCH}")
|
||||
set(LLVM_NATIVE_TARGET LLVMInitialize${LLVM_NATIVE_ARCH}Target)
|
||||
set(LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo)
|
||||
set(LLVM_NATIVE_ASMPRINTER LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter)
|
||||
endif ()
|
||||
endif()
|
||||
list(FIND LLVM_TARGETS_TO_BUILD ${LLVM_NATIVE_ARCH} NATIVE_ARCH_IDX)
|
||||
if (NATIVE_ARCH_IDX EQUAL -1)
|
||||
message(STATUS
|
||||
"Native target ${LLVM_NATIVE_ARCH} is not selected; lli will not JIT code")
|
||||
else ()
|
||||
message(STATUS "Native target architecture is ${LLVM_NATIVE_ARCH}")
|
||||
set(LLVM_NATIVE_TARGET LLVMInitialize${LLVM_NATIVE_ARCH}Target)
|
||||
set(LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo)
|
||||
set(LLVM_NATIVE_ASMPRINTER LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter)
|
||||
endif ()
|
||||
|
||||
if( MINGW )
|
||||
set(HAVE_LIBIMAGEHLP 1)
|
||||
|
@ -64,15 +64,22 @@ function(explicit_map_components_to_libraries out_libs)
|
||||
string(TOUPPER "${llvm_libs}" capitalized_libs)
|
||||
|
||||
# Expand some keywords:
|
||||
list(FIND LLVM_TARGETS_TO_BUILD "${LLVM_NATIVE_ARCH}" have_native_backend)
|
||||
list(FIND link_components "engine" engine_required)
|
||||
if( NOT engine_required STREQUAL "-1" )
|
||||
# TODO: as we assume we are on X86, this is `jit'.
|
||||
list(APPEND link_components "jit")
|
||||
list(APPEND link_components "native")
|
||||
if( NOT engine_required EQUAL -1 )
|
||||
list(FIND LLVM_TARGETS_WITH_JIT "${LLVM_NATIVE_ARCH}" have_jit)
|
||||
if( NOT have_native_backend EQUAL -1 AND NOT have_jit EQUAL -1 )
|
||||
list(APPEND link_components "jit")
|
||||
list(APPEND link_components "native")
|
||||
else()
|
||||
list(APPEND link_components "interpreter")
|
||||
endif()
|
||||
endif()
|
||||
list(FIND link_components "native" native_required)
|
||||
if( NOT native_required STREQUAL "-1" )
|
||||
list(APPEND link_components "X86")
|
||||
if( NOT native_required EQUAL -1 )
|
||||
if( NOT have_native_backend EQUAL -1 )
|
||||
list(APPEND link_components ${LLVM_NATIVE_ARCH})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Translate symbolic component names to real libraries:
|
||||
|
Loading…
Reference in New Issue
Block a user