@@ -799,11 +799,11 @@ function(add_swift_target_library_single target name)
799
799
"${SWIFT_SDK_MACCATALYST_LIB_SUBDIR} /${SWIFTLIB_SINGLE_ARCHITECTURE} " )
800
800
endif ()
801
801
802
- if ("${SWIFTLIB_SINGLE_BOOTSTRAPPING} " STREQUAL "" )
802
+ if ("${SWIFTLIB_SINGLE_BOOTSTRAPPING} " STREQUAL "" OR NOT SWIFTLIB_SINGLE_SDK IN_LIST SWIFT_DARWIN_PLATFORMS )
803
803
set (output_sub_dir ${SWIFTLIB_SINGLE_SUBDIR} )
804
804
else ()
805
805
# In the bootstrapping builds, we only have the single host architecture.
806
- # So generated the library directly in the parent SDK specific directory
806
+ # So generate the Darwin library directly in the parent SDK specific directory
807
807
# (avoiding to lipo/copy the library).
808
808
set (output_sub_dir ${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _LIB_SUBDIR})
809
809
endif ()
@@ -1253,11 +1253,12 @@ function(add_swift_target_library_single target name)
1253
1253
${SWIFTLIB_SINGLE_C_COMPILE_FLAGS} "-DSWIFT_TARGET_LIBRARY_NAME=${name} " )
1254
1254
set (link_flags ${SWIFTLIB_SINGLE_LINK_FLAGS} )
1255
1255
1256
- set (library_search_subdir "${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _LIB_SUBDIR}" )
1257
1256
set (library_search_directories
1258
1257
"${lib_dir} /${output_sub_dir} "
1259
- "${SWIFT_NATIVE_SWIFT_TOOLS_PATH} /../lib/swift/${SWIFTLIB_SINGLE_SUBDIR} "
1260
- "${SWIFT_NATIVE_SWIFT_TOOLS_PATH} /../lib/swift/${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _LIB_SUBDIR}" )
1258
+ "${SWIFT_NATIVE_SWIFT_TOOLS_PATH} /../lib/swift/${SWIFTLIB_SINGLE_SUBDIR} " )
1259
+ if ("${SWIFTLIB_SINGLE_SDK} " IN_LIST SWIFT_DARWIN_PLATFORMS)
1260
+ list (APPEND library_search_directories "${SWIFT_NATIVE_SWIFT_TOOLS_PATH} /../lib/swift/${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _LIB_SUBDIR}" )
1261
+ endif ()
1261
1262
1262
1263
# In certain cases when building, the environment variable SDKROOT is set to override
1263
1264
# where the sdk root is located in the system. If that environment variable has been
@@ -1483,8 +1484,10 @@ function(add_swift_target_library_single target name)
1483
1484
endif ()
1484
1485
set (library_search_directories
1485
1486
"${search_base_dir} /${SWIFTLIB_SINGLE_SUBDIR} "
1486
- "${SWIFT_NATIVE_SWIFT_TOOLS_PATH} /../lib/swift/${SWIFTLIB_SINGLE_SUBDIR} "
1487
- "${SWIFT_NATIVE_SWIFT_TOOLS_PATH} /../lib/swift/${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _LIB_SUBDIR}" )
1487
+ "${SWIFT_NATIVE_SWIFT_TOOLS_PATH} /../lib/swift/${SWIFTLIB_SINGLE_SUBDIR} " )
1488
+ if ("${SWIFTLIB_SINGLE_SDK} " IN_LIST SWIFT_DARWIN_PLATFORMS)
1489
+ list (APPEND library_search_directories "${SWIFT_NATIVE_SWIFT_TOOLS_PATH} /../lib/swift/${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK} _LIB_SUBDIR}" )
1490
+ endif ()
1488
1491
target_link_directories (${target_static} PRIVATE
1489
1492
${library_search_directories} )
1490
1493
target_link_libraries ("${target_static} " PRIVATE
@@ -2373,8 +2376,10 @@ function(add_swift_target_library name)
2373
2376
if (SWIFTLIB_BACK_DEPLOYMENT_LIBRARY)
2374
2377
# Back-deployment libraries get installed into a versioned directory.
2375
2378
set (install_dest "lib${LLVM_LIBDIR_SUFFIX} /${resource_dir} -${SWIFTLIB_BACK_DEPLOYMENT_LIBRARY} /${resource_dir_sdk_subdir} " )
2376
- else ( )
2379
+ elseif (sdk STREQUAL WINDOWS OR sdk IN_LIST SWIFT_DARWIN_PLATFORMS )
2377
2380
set (install_dest "lib${LLVM_LIBDIR_SUFFIX} /${resource_dir} /${resource_dir_sdk_subdir} " )
2381
+ else ()
2382
+ set (install_dest "lib${LLVM_LIBDIR_SUFFIX} /${resource_dir} /${resource_dir_sdk_subdir} /${SWIFT_PRIMARY_VARIANT_ARCH} " )
2378
2383
endif ()
2379
2384
2380
2385
swift_install_in_component(FILES "${UNIVERSAL_LIBRARY_NAME} "
@@ -2450,6 +2455,10 @@ function(add_swift_target_library name)
2450
2455
"${name} -${library_subdir} -static" )
2451
2456
set (UNIVERSAL_LIBRARY_NAME
2452
2457
"${universal_subdir} /${library_subdir} /${CMAKE_STATIC_LIBRARY_PREFIX}${name}${CMAKE_STATIC_LIBRARY_SUFFIX} " )
2458
+ set (install_dest "lib${LLVM_LIBDIR_SUFFIX} /${install_subdir} /${resource_dir_sdk_subdir} " )
2459
+ if (NOT sdk STREQUAL WINDOWS AND NOT sdk IN_LIST SWIFT_DARWIN_PLATFORMS)
2460
+ set (install_dest "${install_dest} /${SWIFT_PRIMARY_VARIANT_ARCH} " )
2461
+ endif ()
2453
2462
_add_swift_lipo_target(SDK
2454
2463
${sdk}
2455
2464
TARGET
@@ -2459,7 +2468,7 @@ function(add_swift_target_library name)
2459
2468
${THIN_INPUT_TARGETS_STATIC} )
2460
2469
add_dependencies (${SWIFTLIB_INSTALL_IN_COMPONENT} ${lipo_target_static} )
2461
2470
swift_install_in_component(FILES "${UNIVERSAL_LIBRARY_NAME} "
2462
- DESTINATION "lib ${LLVM_LIBDIR_SUFFIX} / ${install_subdir} / ${resource_dir_sdk_subdir } "
2471
+ DESTINATION "${install_dest } "
2463
2472
PERMISSIONS
2464
2473
OWNER_READ OWNER_WRITE
2465
2474
GROUP_READ
@@ -2533,6 +2542,10 @@ function(_add_swift_target_executable_single name)
2533
2542
# Prepare linker search directories.
2534
2543
set (library_search_directories
2535
2544
"${SWIFTLIB_DIR} /${SWIFT_SDK_${SWIFTEXE_SINGLE_SDK} _LIB_SUBDIR}" )
2545
+ if (NOT ${SWIFTEXE_SINGLE_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS AND NOT ${SWIFTEXE_SINGLE_SDK} STREQUAL WINDOWS)
2546
+ set (library_search_directories
2547
+ "${library_search_directories} /${SWIFTEXE_SINGLE_ARCHITECTURE} " )
2548
+ endif ()
2536
2549
2537
2550
# Add variant-specific flags.
2538
2551
_add_target_variant_c_compile_flags(
0 commit comments