Skip to content

Commit 23a868e

Browse files
authored
Merge pull request swiftlang#24382 from Rostepher/usr-lib-install-name-dir
[Build System: CMake] Update the default install_name_dir to /usr/lib/swift for the standard library and overlays.
2 parents e72242a + dfb2d31 commit 23a868e

File tree

12 files changed

+35
-12
lines changed

12 files changed

+35
-12
lines changed

CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,9 +262,15 @@ option(SWIFT_RUNTIME_CRASH_REPORTER_CLIENT
262262
set(SWIFT_DARWIN_XCRUN_TOOLCHAIN "XcodeDefault" CACHE STRING
263263
"The name of the toolchain to pass to 'xcrun'")
264264

265-
set(SWIFT_DARWIN_STDLIB_INSTALL_NAME_DIR "@rpath" CACHE STRING
265+
set(SWIFT_DARWIN_STDLIB_INSTALL_NAME_DIR "/usr/lib/swift" CACHE STRING
266266
"The directory of the install_name for standard library dylibs")
267267

268+
# We don't want to use the same install_name_dir as the standard library which
269+
# will be installed in /usr/lib/swift. These private libraries should continue
270+
# to use @rpath for now.
271+
set(SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR "@rpath" CACHE STRING
272+
"The directory of the install_name for the private standard library dylibs")
273+
268274
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_OSX "10.9" CACHE STRING
269275
"Minimum deployment target version for OS X")
270276

cmake/modules/AddSwift.cmake

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -744,6 +744,7 @@ function(_add_swift_library_single target name)
744744
DEPLOYMENT_VERSION_TVOS
745745
DEPLOYMENT_VERSION_WATCHOS
746746
INSTALL_IN_COMPONENT
747+
DARWIN_INSTALL_NAME_DIR
747748
MODULE_TARGET
748749
SDK)
749750
set(SWIFTLIB_SINGLE_multiple_parameter_options
@@ -1057,6 +1058,10 @@ function(_add_swift_library_single target name)
10571058
set(install_name_dir "@rpath")
10581059
endif()
10591060

1061+
if(SWIFTLIB_SINGLE_DARWIN_INSTALL_NAME_DIR)
1062+
set(install_name_dir "${SWIFTLIB_SINGLE_DARWIN_INSTALL_NAME_DIR}")
1063+
endif()
1064+
10601065
set_target_properties("${target}"
10611066
PROPERTIES
10621067
INSTALL_NAME_DIR "${install_name_dir}")
@@ -1609,7 +1614,8 @@ function(add_swift_target_library name)
16091614
DEPLOYMENT_VERSION_OSX
16101615
DEPLOYMENT_VERSION_TVOS
16111616
DEPLOYMENT_VERSION_WATCHOS
1612-
INSTALL_IN_COMPONENT)
1617+
INSTALL_IN_COMPONENT
1618+
DARWIN_INSTALL_NAME_DIR)
16131619
set(SWIFTLIB_multiple_parameter_options
16141620
C_COMPILE_FLAGS
16151621
DEPENDS
@@ -1910,6 +1916,7 @@ function(add_swift_target_library name)
19101916
${SWIFTLIB_TARGET_LIBRARY_keyword}
19111917
${SWIFTLIB_FORCE_BUILD_OPTIMIZED_keyword}
19121918
${SWIFTLIB_NOSWIFTRT_keyword}
1919+
DARWIN_INSTALL_NAME_DIR "${SWIFTLIB_DARWIN_INSTALL_NAME_DIR}"
19131920
INSTALL_IN_COMPONENT "${SWIFTLIB_INSTALL_IN_COMPONENT}"
19141921
DEPLOYMENT_VERSION_OSX "${SWIFTLIB_DEPLOYMENT_VERSION_OSX}"
19151922
DEPLOYMENT_VERSION_IOS "${SWIFTLIB_DEPLOYMENT_VERSION_IOS}"

stdlib/private/OSLog/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ add_swift_target_library(swiftOSLogPrototype
1111
SWIFT_MODULE_DEPENDS_TVOS Darwin os
1212
SWIFT_MODULE_DEPENDS_WATCHOS Darwin os
1313
TARGET_SDKS ALL_APPLE_PLATFORMS
14-
INSTALL_IN_COMPONENT never_install)
14+
INSTALL_IN_COMPONENT never_install
15+
DARWIN_INSTALL_NAME_DIR "${SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR}")

stdlib/private/RuntimeUnittest/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ add_swift_target_library(swiftRuntimeUnittest ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES
1414
SWIFT_MODULE_DEPENDS_HAIKU Glibc
1515
SWIFT_COMPILE_FLAGS ${swift_stdlib_unittest_compile_flags}
1616
TARGET_SDKS ALL_POSIX_PLATFORMS
17-
INSTALL_IN_COMPONENT stdlib-experimental)
17+
INSTALL_IN_COMPONENT stdlib-experimental
18+
DARWIN_INSTALL_NAME_DIR "${SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR}")
1819

stdlib/private/StdlibCollectionUnittest/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,6 @@ add_swift_target_library(swiftStdlibCollectionUnittest ${SWIFT_STDLIB_LIBRARY_BU
2626
SWIFT_MODULE_DEPENDS_HAIKU Glibc
2727
SWIFT_COMPILE_FLAGS ${swift_stdlib_unittest_compile_flags}
2828
TARGET_SDKS ALL_POSIX_PLATFORMS
29-
INSTALL_IN_COMPONENT stdlib-experimental)
29+
INSTALL_IN_COMPONENT stdlib-experimental
30+
DARWIN_INSTALL_NAME_DIR "${SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR}")
3031

stdlib/private/StdlibUnicodeUnittest/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@ add_swift_target_library(swiftStdlibUnicodeUnittest ${SWIFT_STDLIB_LIBRARY_BUILD
1515
SWIFT_MODULE_DEPENDS_HAIKU Glibc
1616
SWIFT_COMPILE_FLAGS ${swift_stdlib_unittest_compile_flags}
1717
TARGET_SDKS ALL_POSIX_PLATFORMS
18-
INSTALL_IN_COMPONENT stdlib-experimental)
18+
INSTALL_IN_COMPONENT stdlib-experimental
19+
DARWIN_INSTALL_NAME_DIR "${SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR}")
1920

stdlib/private/StdlibUnittest/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ add_swift_target_library(swiftStdlibUnittest ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES}
4242
SWIFT_MODULE_DEPENDS_HAIKU Glibc
4343
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT WinSDK
4444
SWIFT_COMPILE_FLAGS ${swift_stdlib_unittest_compile_flags}
45-
INSTALL_IN_COMPONENT stdlib-experimental)
45+
INSTALL_IN_COMPONENT stdlib-experimental
46+
DARWIN_INSTALL_NAME_DIR "${SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR}")
4647
set_source_files_properties(InspectValue.cpp PROPERTIES COMPILE_FLAGS -std=c++14)
4748

stdlib/private/StdlibUnittestFoundationExtras/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ add_swift_target_library(swiftStdlibUnittestFoundationExtras ${SWIFT_STDLIB_LIBR
55
UnavailableFoundationMethodThunks.mm
66

77
SWIFT_MODULE_DEPENDS Foundation StdlibUnittest
8-
INSTALL_IN_COMPONENT stdlib-experimental)
8+
INSTALL_IN_COMPONENT stdlib-experimental
9+
DARWIN_INSTALL_NAME_DIR "${SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR}")
910

stdlib/private/SwiftPrivate/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,6 @@ add_swift_target_library(swiftSwiftPrivate ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} I
1717

1818
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT WinSDK
1919
SWIFT_COMPILE_FLAGS ${swift_swiftprivate_compile_flags}
20-
INSTALL_IN_COMPONENT stdlib-experimental)
20+
INSTALL_IN_COMPONENT stdlib-experimental
21+
DARWIN_INSTALL_NAME_DIR "${SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR}")
2122

stdlib/private/SwiftPrivateLibcExtras/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ add_swift_target_library(swiftSwiftPrivateLibcExtras ${SWIFT_STDLIB_LIBRARY_BUIL
1818
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
1919
SWIFT_MODULE_DEPENDS_HAIKU Glibc
2020
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT WinSDK
21-
INSTALL_IN_COMPONENT stdlib-experimental)
21+
INSTALL_IN_COMPONENT stdlib-experimental
22+
DARWIN_INSTALL_NAME_DIR "${SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR}")

stdlib/private/SwiftPrivateThreadExtras/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@ add_swift_target_library(swiftSwiftPrivateThreadExtras ${SWIFT_STDLIB_LIBRARY_BU
1616
SWIFT_MODULE_DEPENDS_HAIKU Glibc
1717
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT WinSDK
1818
SWIFT_COMPILE_FLAGS
19-
INSTALL_IN_COMPONENT stdlib-experimental)
19+
INSTALL_IN_COMPONENT stdlib-experimental
20+
DARWIN_INSTALL_NAME_DIR "${SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR}")
2021

stdlib/private/SwiftReflectionTest/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ if (SWIFT_INCLUDE_TESTS)
44
SwiftReflectionTest.swift
55
SWIFT_MODULE_DEPENDS Darwin
66
TARGET_SDKS ALL_APPLE_PLATFORMS
7-
INSTALL_IN_COMPONENT stdlib-experimental)
7+
INSTALL_IN_COMPONENT stdlib-experimental
8+
DARWIN_INSTALL_NAME_DIR "${SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR}")
89

910
foreach(SDK ${SWIFT_SDKS})
1011
if("${SDK}" IN_LIST SWIFT_APPLE_PLATFORMS)

0 commit comments

Comments
 (0)