forked from OSchip/llvm-project
Have llvm-c-test only use libLLVM if libLLVM has all the right components.
Summary: We should only have llvm-c-test use libLLVM if the library is built with the default set of components or if LLVM_DYLIB_COMPONENTS includes all the LLVM_LINK_COMPONENTS required for llvm-c-test. Making libLLVM always used causes build failures if libLLVM doesn't include all Reviewers: chapuni, ributzka Reviewed By: ributzka Subscribers: ributzka, llvm-commits Differential Revision: http://reviews.llvm.org/D6668 llvm-svn: 224541
This commit is contained in:
parent
b743a8034f
commit
9ef9c1144a
|
@ -7,7 +7,26 @@ set(LLVM_LINK_COMPONENTS
|
|||
Target
|
||||
)
|
||||
|
||||
if(TARGET LLVM)
|
||||
# We should only have llvm-c-test use libLLVM if libLLVM is built with the
|
||||
# default list of components. Using libLLVM with custom components can result in
|
||||
# build failures.
|
||||
|
||||
set (USE_LLVM_DYLIB FALSE)
|
||||
|
||||
if (TARGET LLVM)
|
||||
set (USE_LLVM_DYLIB TRUE)
|
||||
if (DEFINED LLVM_DYLIB_COMPONENTS)
|
||||
foreach(c in ${LLVM_LINK_COMPONENTS})
|
||||
list(FIND LLVM_DYLIB_COMPONENTS ${c} C_IDX)
|
||||
if (C_IDX EQUAL -1)
|
||||
set(USE_LLVM_DYLIB FALSE)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(USE_LLVM_DYLIB)
|
||||
set(LLVM_LINK_COMPONENTS)
|
||||
endif()
|
||||
|
||||
|
@ -26,7 +45,6 @@ add_llvm_tool(llvm-c-test
|
|||
targets.c
|
||||
)
|
||||
|
||||
# Use libLLVM.so if it is available.
|
||||
if(TARGET LLVM)
|
||||
if(USE_LLVM_DYLIB)
|
||||
target_link_libraries(llvm-c-test LLVM)
|
||||
endif()
|
||||
|
|
Loading…
Reference in New Issue