Skip to content

Commit eebaecd

Browse files
committed
Add -z,origin linker flag on OpenBSD.
This is required for $ORIGIN rpath processing here (without having to fiddle with workarounds like LD_LIBRARY_PATH).
1 parent af2ecd8 commit eebaecd

File tree

4 files changed

+16
-0
lines changed

4 files changed

+16
-0
lines changed

Sources/Foundation/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,10 @@ set_target_properties(Foundation PROPERTIES
168168
INSTALL_RPATH "$ORIGIN"
169169
INSTALL_REMOVE_ENVIRONMENT_RPATH ON)
170170

171+
if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
172+
target_link_options(Foundation PRIVATE "LINKER:-z,origin")
173+
endif()
174+
171175
if(dispatch_FOUND)
172176
set_target_properties(Foundation PROPERTIES
173177
BUILD_RPATH "$<TARGET_FILE_DIR:swiftDispatch>")

Sources/FoundationNetworking/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ set_target_properties(FoundationNetworking PROPERTIES
7777
INSTALL_RPATH "$ORIGIN"
7878
INSTALL_REMOVE_ENVIRONMENT_RPATH ON)
7979

80+
if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
81+
target_link_options(Foundation PRIVATE "LINKER:-z,origin")
82+
endif()
83+
8084
if(LINKER_SUPPORTS_BUILD_ID)
8185
target_link_options(FoundationNetworking PRIVATE "LINKER:--build-id=sha1")
8286
endif()

Sources/FoundationXML/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ set_target_properties(FoundationXML PROPERTIES
5050
INSTALL_RPATH "$ORIGIN"
5151
INSTALL_REMOVE_ENVIRONMENT_RPATH ON)
5252

53+
if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
54+
target_link_options(Foundation PRIVATE "LINKER:-z,origin")
55+
endif()
56+
5357
if(LINKER_SUPPORTS_BUILD_ID)
5458
target_link_options(FoundationXML PRIVATE "LINKER:--build-id=sha1")
5559
endif()

Sources/plutil/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ set_target_properties(plutil PROPERTIES
2222
INSTALL_RPATH "$ORIGIN/../lib/swift/${SWIFT_SYSTEM_NAME}"
2323
INSTALL_REMOVE_ENVIRONMENT_RPATH ON)
2424

25+
if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
26+
target_link_options(Foundation PRIVATE "LINKER:-z,origin")
27+
endif()
28+
2529
set_property(GLOBAL APPEND PROPERTY Foundation_EXPORTS plutil)
2630
install(TARGETS plutil
2731
DESTINATION ${CMAKE_INSTALL_BINDIR})

0 commit comments

Comments
 (0)