Skip to content

Commit 6cc3ff1

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 6cc3ff1

File tree

5 files changed

+7
-14
lines changed

5 files changed

+7
-14
lines changed

CMakeLists.txt

+6
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,12 @@ else()
212212
"/clang:-fcf-runtime-abi=swift")
213213
endif()
214214

215+
set(INSTALL_REMOVE_ENVIRONMENT_RPATH ON)
216+
set(CMAKE_INSTALL_RPATH "$ORIGIN")
217+
if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD|DragonFlyBSD")
218+
add_link_options("LINKER:-z,origin")
219+
endif()
220+
215221
if(CMAKE_BUILD_TYPE STREQUAL Debug)
216222
list(APPEND _Foundation_common_build_flags
217223
"-DDEBUG")

Sources/Foundation/CMakeLists.txt

-4
Original file line numberDiff line numberDiff line change
@@ -164,10 +164,6 @@ if(NOT BUILD_SHARED_LIBS)
164164
"SHELL:$<$<COMPILE_LANGUAGE:Swift>:-Xfrontend -public-autolink-library -Xfrontend swiftSynchronization>")
165165
endif()
166166

167-
set_target_properties(Foundation PROPERTIES
168-
INSTALL_RPATH "$ORIGIN"
169-
INSTALL_REMOVE_ENVIRONMENT_RPATH ON)
170-
171167
if(dispatch_FOUND)
172168
set_target_properties(Foundation PROPERTIES
173169
BUILD_RPATH "$<TARGET_FILE_DIR:swiftDispatch>")

Sources/FoundationNetworking/CMakeLists.txt

-4
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,6 @@ if(NOT BUILD_SHARED_LIBS)
7373

7474
endif()
7575

76-
set_target_properties(FoundationNetworking PROPERTIES
77-
INSTALL_RPATH "$ORIGIN"
78-
INSTALL_REMOVE_ENVIRONMENT_RPATH ON)
79-
8076
if(LINKER_SUPPORTS_BUILD_ID)
8177
target_link_options(FoundationNetworking PRIVATE "LINKER:--build-id=sha1")
8278
endif()

Sources/FoundationXML/CMakeLists.txt

-4
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,6 @@ if(NOT BUILD_SHARED_LIBS)
4646

4747
endif()
4848

49-
set_target_properties(FoundationXML PROPERTIES
50-
INSTALL_RPATH "$ORIGIN"
51-
INSTALL_REMOVE_ENVIRONMENT_RPATH ON)
52-
5349
if(LINKER_SUPPORTS_BUILD_ID)
5450
target_link_options(FoundationXML PRIVATE "LINKER:--build-id=sha1")
5551
endif()

Sources/plutil/CMakeLists.txt

+1-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ target_link_libraries(plutil PRIVATE
1919
Foundation)
2020

2121
set_target_properties(plutil PROPERTIES
22-
INSTALL_RPATH "$ORIGIN/../lib/swift/${SWIFT_SYSTEM_NAME}"
23-
INSTALL_REMOVE_ENVIRONMENT_RPATH ON)
22+
INSTALL_RPATH "$ORIGIN/../lib/swift/${SWIFT_SYSTEM_NAME}")
2423

2524
set_property(GLOBAL APPEND PROPERTY Foundation_EXPORTS plutil)
2625
install(TARGETS plutil

0 commit comments

Comments
 (0)