@@ -168,6 +168,7 @@ endfunction()
168168# SWIFT_SDK_${prefix}_IS_SIMULATOR Whether this is a simulator target.
169169# SWIFT_SDK_${prefix}_ARCH_${ARCH}_TRIPLE Triple name
170170# SWIFT_SDK_${prefix}_ARCH_${ARCH}_MODULE Module triple name for this SDK
171+ # SWIFT_SDK_${prefix}_USE_BUILD_ID Whether to pass --build-id to the linker
171172macro (configure_sdk_darwin
172173 prefix name deployment_version xcrun_name
173174 triple_name module_name architectures)
@@ -216,6 +217,9 @@ macro(configure_sdk_darwin
216217 set (SWIFT_SDK_${prefix} _STATIC_ONLY FALSE )
217218 get_threading_package(${prefix} "darwin" SWIFT_SDK_${prefix} _THREADING_PACKAGE)
218219
220+ # On Darwin we get UUIDs automatically, without the --build-id flag
221+ set (SWIFT_SDK_${prefix} _USE_BUILD_ID FALSE )
222+
219223 set (SWIFT_SDK_${prefix} _ARCHITECTURES ${architectures} )
220224 if (SWIFT_DARWIN_SUPPORTED_ARCHS)
221225 list_intersect(
@@ -335,6 +339,15 @@ macro(configure_sdk_unix name architectures)
335339 set (SWIFT_SDK_${prefix} _STATIC_ONLY FALSE )
336340 endif ()
337341
342+ if ("${prefix} " STREQUAL "LINUX"
343+ OR "${prefix} " STREQUAL "ANDROID"
344+ OR "${prefix} " STREQUAL "FREEBSD"
345+ OR "${prefix} " STREQUAL "OPENBSD" )
346+ set (SWIFT_SDK_${prefix} _USE_BUILD_ID TRUE )
347+ else ()
348+ set (SWIFT_SDK_${prefix} _USE_BUILD_ID FALSE )
349+ endif ()
350+
338351 # GCC on Linux is usually located under `/usr`.
339352 # However, Ubuntu 20.04 ships with another GCC installation under `/`, which
340353 # does not include libstdc++. Swift build scripts pass `--sysroot=/` to
@@ -494,6 +507,7 @@ macro(configure_sdk_windows name environment architectures)
494507 set (SWIFT_SDK_${prefix} _IMPORT_LIBRARY_SUFFIX ".lib" )
495508 set (SWIFT_SDK_${prefix} _STATIC_LINKING_SUPPORTED FALSE )
496509 set (SWIFT_SDK_${prefix} _STATIC_ONLY FALSE )
510+ set (SWIFT_SDK_${prefix} _USE_BUILD_ID FALSE )
497511 get_threading_package(${prefix} "win32" SWIFT_SDK_${prefix} _THREADING_PACKAGE)
498512
499513 foreach (arch ${architectures} )
0 commit comments