Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Sources/SWBCore/Settings/BuiltinMacros.swift
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ public final class BuiltinMacros {
public static let HOST_TARGETED_PLATFORM_NAME = BuiltinMacros.declareStringMacro("HOST_TARGETED_PLATFORM_NAME")
public static let SUPPORTS_MACCATALYST = BuiltinMacros.declareBooleanMacro("SUPPORTS_MACCATALYST")
public static let SUPPORTS_ON_DEMAND_RESOURCES = BuiltinMacros.declareBooleanMacro("SUPPORTS_ON_DEMAND_RESOURCES")
public static let __ORIGINAL_SDK_DEFINED_LLVM_TARGET_TRIPLE_SYS = BuiltinMacros.declareStringMacro("__ORIGINAL_SDK_DEFINED_LLVM_TARGET_TRIPLE_SYS")
public static let SWIFT_PLATFORM_TARGET_PREFIX = BuiltinMacros.declareStringMacro("SWIFT_PLATFORM_TARGET_PREFIX")
public static let TVOS_DEPLOYMENT_TARGET = BuiltinMacros.declareStringMacro("TVOS_DEPLOYMENT_TARGET")
public static let VALID_ARCHS = BuiltinMacros.declareStringListMacro("VALID_ARCHS")
Expand Down Expand Up @@ -2279,6 +2280,7 @@ public final class BuiltinMacros {
SWIFT_SYSTEM_INCLUDE_PATHS,
PACKAGE_RESOURCE_BUNDLE_NAME,
PACKAGE_RESOURCE_TARGET_KIND,
__ORIGINAL_SDK_DEFINED_LLVM_TARGET_TRIPLE_SYS,
SWIFT_PLATFORM_TARGET_PREFIX,
USE_SWIFT_RESPONSE_FILE, // remove in rdar://53000820
SWIFT_INSTALL_MODULE,
Expand Down
6 changes: 5 additions & 1 deletion Sources/SWBCore/Settings/Settings.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2524,6 +2524,7 @@ private class SettingsBuilder {
}

if let llvmTargetTripleSys = variant.llvmTargetTripleSys {
sdkTable.push(BuiltinMacros.__ORIGINAL_SDK_DEFINED_LLVM_TARGET_TRIPLE_SYS, literal: llvmTargetTripleSys)
sdkTable.push(BuiltinMacros.SWIFT_PLATFORM_TARGET_PREFIX, literal: llvmTargetTripleSys)
}

Expand Down Expand Up @@ -4101,7 +4102,10 @@ private class SettingsBuilder {
// setting will primarily be used to support building Swift modules for deprecated (or at least unsupported)
// architectures.
let originalModuleOnlyArchs = scope.evaluate(BuiltinMacros.SWIFT_MODULE_ONLY_ARCHS)
let moduleOnlyArchs = onlyActiveArchApplied ? [] : originalModuleOnlyArchs
// Detect discouraged overrides of SWIFT_PLATFORM_TARGET_PREFIX and use this as a signal to suppress
// module only architectures
let tripleOverridesApplied = scope.evaluate(BuiltinMacros.SWIFT_PLATFORM_TARGET_PREFIX) != scope.evaluate(BuiltinMacros.__ORIGINAL_SDK_DEFINED_LLVM_TARGET_TRIPLE_SYS)
let moduleOnlyArchs = (onlyActiveArchApplied || tripleOverridesApplied) ? [] : originalModuleOnlyArchs
.filter { validArchs.contains($0) }
.filter { !excludedArchs.contains($0) }
.filter { !effectiveArchs.contains($0) }
Expand Down
Loading