[PATCH] D130158: [llvm] [cmake] Skip driver-related code unless LLVM_TOOL_LLVM_DRIVER_BUILD
Michał Górny via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 20 03:56:37 PDT 2022
mgorny created this revision.
mgorny added reviewers: abrachet, beanz, MaskRay.
Herald added a subscriber: StephenFan.
Herald added a project: All.
mgorny requested review of this revision.
Herald added a project: LLVM.
Disable the code responsible for preparing object libraries
for the driver and filling `LLVM_DRIVER_*` properties
if `LLVM_TOOL_LLVM_DRIVER_BUILD` is disabled. These properties are
consumed only by `tools/llvm-driver`, and so they are not used at all
if `LLVM_TOOL_LLVM_DRIVER_BUILD` is not enabled. At the same time,
the related code breaks standalone clang builds against LLVM built
with `LLVM_LINK_LLVM_DYLIB`.
https://reviews.llvm.org/D130158
Files:
llvm/cmake/modules/AddLLVM.cmake
Index: llvm/cmake/modules/AddLLVM.cmake
===================================================================
--- llvm/cmake/modules/AddLLVM.cmake
+++ llvm/cmake/modules/AddLLVM.cmake
@@ -871,7 +871,7 @@
list(APPEND LLVM_COMMON_DEPENDS ${ARG_DEPENDS})
# Generate objlib
- if(LLVM_ENABLE_OBJLIB OR ARG_GENERATE_DRIVER)
+ if(LLVM_ENABLE_OBJLIB OR (ARG_GENERATE_DRIVER AND LLVM_TOOL_LLVM_DRIVER_BUILD))
# Generate an obj library for both targets.
set(obj_name "obj.${name}")
add_library(${obj_name} OBJECT EXCLUDE_FROM_ALL
@@ -899,13 +899,15 @@
list(APPEND ALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}-driver.cpp)
- set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_COMPONENTS ${LLVM_LINK_COMPONENTS})
- set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_DEPS ${ARG_DEPENDS} ${LLVM_COMMON_DEPENDS})
- set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_OBJLIBS "${obj_name}")
-
- set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_TOOLS ${name})
- target_link_libraries(${obj_name} ${LLVM_PTHREAD_LIB})
- llvm_config(${obj_name} ${USE_SHARED} ${LLVM_LINK_COMPONENTS} )
+ if (LLVM_TOOL_LLVM_DRIVER_BUILD)
+ set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_COMPONENTS ${LLVM_LINK_COMPONENTS})
+ set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_DEPS ${ARG_DEPENDS} ${LLVM_COMMON_DEPENDS})
+ set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_OBJLIBS "${obj_name}")
+
+ set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_TOOLS ${name})
+ target_link_libraries(${obj_name} ${LLVM_PTHREAD_LIB})
+ llvm_config(${obj_name} ${USE_SHARED} ${LLVM_LINK_COMPONENTS} )
+ endif()
endif()
endmacro()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130158.446102.patch
Type: text/x-patch
Size: 1658 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220720/69c24f8f/attachment.bin>
More information about the llvm-commits
mailing list