@@ -18,6 +18,26 @@ import PackageLoading
1818
1919@testable import Build
2020
21+ #if os(macOS)
22+ let defaultTargetTriple : String = " x86_64-apple-macosx10.10 "
23+ #elseif os(Windows)
24+ let defaultTargetTriple : String = " x86_64-unknown-windows-msvc "
25+ #elseif os(Linux)
26+ #if arch(x86_64)
27+ let defaultTargetTriple : String = " x86_64-unknown-linux "
28+ #elseif arch(i386)
29+ let defaultTargetTriple : String = " i386-unknown-linux "
30+ #elseif arch(powerpc64le)
31+ let defaultTargetTriple : String = " ppc64le-unknown-linux "
32+ #elseif arch(s390x)
33+ let defaultTargetTriple : String = " s390x-unknown-linux "
34+ #elseif arch(arm64)
35+ let defaultTargetTriple : String = " aarch64-unknown-linux "
36+ #elseif arch(arm)
37+ let defaultTargetTriple : String = " armv7-unknown-linux-gnueabihf "
38+ #endif
39+ #endif
40+
2141private struct MockToolchain : Toolchain {
2242 let swiftCompiler = AbsolutePath ( " /fake/path/to/swiftc " )
2343 let extraCCFlags : [ String ] = [ ]
@@ -270,9 +290,9 @@ final class BuildPlanTests: XCTestCase {
270290 var args : [ String ] = [ ]
271291
272292 #if os(macOS)
273- args += [ " -fobjc-arc " , " -target " , " x86_64-apple-macosx10.10 " ]
293+ args += [ " -fobjc-arc " , " -target " , defaultTargetTriple ]
274294 #else
275- args += [ " -target " , " x86_64-unknown-linux " ]
295+ args += [ " -target " , defaultTargetTriple ]
276296 #endif
277297
278298 args += [ " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " ]
@@ -286,9 +306,9 @@ final class BuildPlanTests: XCTestCase {
286306 args = [ ]
287307
288308 #if os(macOS)
289- args += [ " -fobjc-arc " , " -target " , " x86_64-apple-macosx10.10 " ]
309+ args += [ " -fobjc-arc " , " -target " , defaultTargetTriple ]
290310 #else
291- args += [ " -target " , " x86_64-unknown-linux " ]
311+ args += [ " -target " , defaultTargetTriple ]
292312 #endif
293313
294314 args += [ " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " ]
@@ -411,9 +431,9 @@ final class BuildPlanTests: XCTestCase {
411431 var args : [ String ] = [ ]
412432
413433 #if os(macOS)
414- args += [ " -fobjc-arc " , " -target " , " x86_64-apple-macosx10.10 " ]
434+ args += [ " -fobjc-arc " , " -target " , defaultTargetTriple ]
415435 #else
416- args += [ " -target " , " x86_64-unknown-linux " ]
436+ args += [ " -target " , defaultTargetTriple ]
417437 #endif
418438
419439 args += [ " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " ]
@@ -834,18 +854,18 @@ final class BuildPlanTests: XCTestCase {
834854
835855 let exe = try result. target ( for: " exe " ) . clangTarget ( )
836856 #if os(macOS)
837- XCTAssertEqual ( exe. basicArguments ( ) , [ " -fobjc-arc " , " -target " , " x86_64-apple-macosx10.10 " , " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " , " -fblocks " , " -fmodules " , " -fmodule-name=exe " , " -I " , " /Pkg/Sources/exe/include " , " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ] )
857+ XCTAssertEqual ( exe. basicArguments ( ) , [ " -fobjc-arc " , " -target " , defaultTargetTriple , " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " , " -fblocks " , " -fmodules " , " -fmodule-name=exe " , " -I " , " /Pkg/Sources/exe/include " , " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ] )
838858 #else
839- XCTAssertEqual ( exe. basicArguments ( ) , [ " -target " , " x86_64-unknown-linux " , " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " , " -fblocks " , " -fmodules " , " -fmodule-name=exe " , " -I " , " /Pkg/Sources/exe/include " , " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ] )
859+ XCTAssertEqual ( exe. basicArguments ( ) , [ " -target " , defaultTargetTriple , " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " , " -fblocks " , " -fmodules " , " -fmodule-name=exe " , " -I " , " /Pkg/Sources/exe/include " , " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ] )
840860 #endif
841861 XCTAssertEqual ( exe. objects, [ AbsolutePath ( " /path/to/build/debug/exe.build/main.c.o " ) ] )
842862 XCTAssertEqual ( exe. moduleMap, nil )
843863
844864 let lib = try result. target ( for: " lib " ) . clangTarget ( )
845865 #if os(macOS)
846- XCTAssertEqual ( lib. basicArguments ( ) , [ " -fobjc-arc " , " -target " , " x86_64-apple-macosx10.10 " , " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " , " -fblocks " , " -fmodules " , " -fmodule-name=lib " , " -I " , " /Pkg/Sources/lib/include " , " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ] )
866+ XCTAssertEqual ( lib. basicArguments ( ) , [ " -fobjc-arc " , " -target " , defaultTargetTriple , " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " , " -fblocks " , " -fmodules " , " -fmodule-name=lib " , " -I " , " /Pkg/Sources/lib/include " , " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ] )
847867 #else
848- XCTAssertEqual ( lib. basicArguments ( ) , [ " -target " , " x86_64-unknown-linux " , " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " , " -fblocks " , " -fmodules " , " -fmodule-name=lib " , " -I " , " /Pkg/Sources/lib/include " , " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ] )
868+ XCTAssertEqual ( lib. basicArguments ( ) , [ " -target " , defaultTargetTriple , " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " , " -fblocks " , " -fmodules " , " -fmodule-name=lib " , " -I " , " /Pkg/Sources/lib/include " , " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ] )
849869 #endif
850870 XCTAssertEqual ( lib. objects, [ AbsolutePath ( " /path/to/build/debug/lib.build/lib.cpp.o " ) ] )
851871 XCTAssertEqual ( lib. moduleMap, AbsolutePath ( " /path/to/build/debug/lib.build/module.modulemap " ) )
@@ -1155,17 +1175,16 @@ final class BuildPlanTests: XCTestCase {
11551175 #if os(macOS)
11561176 XCTAssertMatch ( aTarget, [ " -target " , " x86_64-apple-macosx10.13 " , . anySequence] )
11571177 #else
1158- XCTAssertMatch ( aTarget, [ " -target " , " x86_64-unknown-linux " , . anySequence] )
1178+ XCTAssertMatch ( aTarget, [ . equal ( " -target " ) , . equal ( defaultTargetTriple ) , . anySequence] )
11591179 #endif
11601180
11611181 let bTarget = try result. target ( for: " BTarget " ) . swiftTarget ( ) . compileArguments ( )
11621182 #if os(macOS)
11631183 XCTAssertMatch ( bTarget, [ " -target " , " x86_64-apple-macosx10.12 " , . anySequence] )
11641184 #else
1165- XCTAssertMatch ( bTarget, [ " -target " , " x86_64-unknown-linux " , . anySequence] )
1185+ XCTAssertMatch ( bTarget, [ . equal ( " -target " ) , . equal ( defaultTargetTriple ) , . anySequence] )
11661186 #endif
11671187 }
1168-
11691188 func testPlatformsValidation( ) throws {
11701189 let fileSystem = InMemoryFileSystem ( emptyFiles:
11711190 " /A/Sources/ATarget/foo.swift " ,
0 commit comments