X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=tools%2Fgold%2FCMakeLists.txt;h=2cc132ff78e4019d126c448b261b1ccbeb30d7ec;hb=7a88b655ccad0f128ea1a5e8ca433a8827a24ff3;hp=15ca8d7f8f6f18d637f2d54d973aff422f46c222;hpb=aa1fbb40ad432479972971cc877cb4109bd59649;p=oota-llvm.git diff --git a/tools/gold/CMakeLists.txt b/tools/gold/CMakeLists.txt index 15ca8d7f8f6..2cc132ff78e 100644 --- a/tools/gold/CMakeLists.txt +++ b/tools/gold/CMakeLists.txt @@ -1,7 +1,9 @@ -set(LLVM_BINUTILS_INCDIR "/usr/include" CACHE PATH +set(LLVM_BINUTILS_INCDIR "" CACHE PATH "PATH to binutils/include containing plugin-api.h for gold plugin.") -if( NOT EXISTS "${LLVM_BINUTILS_INCDIR}/plugin-api.h" ) +if( NOT LLVM_BINUTILS_INCDIR ) + # Nothing to say. +elseif( NOT EXISTS "${LLVM_BINUTILS_INCDIR}/plugin-api.h" ) message(STATUS "plugin-api.h not found. gold plugin excluded from the build.") else() include_directories( ${LLVM_BINUTILS_INCDIR} ) @@ -32,6 +34,13 @@ else() set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES exportsfile) - target_link_libraries(LLVMgold LTO -Wl,--version-script,exportsfile) + # Force re-linking when the exports file changes. Actually, it + # forces recompilation of gold-plugin.cpp. The LINK_DEPENDS target + # property only works for makefile-based generators. + set_property(SOURCE gold-plugin.cpp APPEND PROPERTY + OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/exportsfile) + + target_link_libraries(LLVMgold LTO + -Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/exportsfile) add_dependencies(LLVMgold gold_exports) endif()