summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-c-test
diff options
context:
space:
mode:
authorChris Bieneman <beanz@apple.com>2014-12-18 21:03:49 +0000
committerChris Bieneman <beanz@apple.com>2014-12-18 21:03:49 +0000
commit9ef9c1144a7094c82f5a590b8969ca7975146e1b (patch)
treeb16063e42f12ec2f55067bee9f1a84233dde4455 /llvm/tools/llvm-c-test
parentb743a8034f28576973250682863472ccf6c04f04 (diff)
downloadbcm5719-llvm-9ef9c1144a7094c82f5a590b8969ca7975146e1b.tar.gz
bcm5719-llvm-9ef9c1144a7094c82f5a590b8969ca7975146e1b.zip
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
Diffstat (limited to 'llvm/tools/llvm-c-test')
-rw-r--r--llvm/tools/llvm-c-test/CMakeLists.txt24
1 files changed, 21 insertions, 3 deletions
diff --git a/llvm/tools/llvm-c-test/CMakeLists.txt b/llvm/tools/llvm-c-test/CMakeLists.txt
index 989678b5a15..baf970a0278 100644
--- a/llvm/tools/llvm-c-test/CMakeLists.txt
+++ b/llvm/tools/llvm-c-test/CMakeLists.txt
@@ -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()
OpenPOWER on IntegriCloud