Skip to content

Commit 4f59f05

Browse files
futurejonesaciidgh
authored andcommitted
Added support for arm64/aarch64
Added support for arm64/aarch64 Added triples for currently supported machines Fixed incorrect armv7 triple Refactored os and arch dif's
1 parent b669afc commit 4f59f05

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

Sources/Build/Triple.swift

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,10 @@ public struct Triple {
3232

3333
public enum Arch: String {
3434
case x86_64
35-
case armv7
35+
case ppc64le
3636
case s390x
37-
case powerpc64le
37+
case aarch64
38+
case armv7
3839
case arm
3940
}
4041

@@ -106,20 +107,26 @@ public struct Triple {
106107
}
107108

108109
public static let macOS = try! Triple("x86_64-apple-macosx10.10")
109-
public static let linux = try! Triple("x86_64-unknown-linux")
110+
public static let x86Linux = try! Triple("x86_64-unknown-linux")
110111
public static let ppc64leLinux = try! Triple("powerpc64le-unknown-linux")
111-
public static let armLinux = try! Triple("arm-linux-gnueabihf")
112+
public static let s390xLinux = try! Triple("s390x-unknown-linux")
113+
public static let arm64Linux = try! Triple("aarch64-unknown-linux")
114+
public static let armLinux = try! Triple("armv7-unknown-linux-gnueabihf")
112115
public static let android = try! Triple("armv7-unknown-linux-androideabi")
113116

114117
#if os(macOS)
115118
public static let hostTriple: Triple = .macOS
116-
#elseif os(Linux) && arch(s390x)
117-
public static let hostTriple: Triple = try! Triple("s390x-unknown-linux")
118-
#elseif os(Linux) && arch(powerpc64le)
119-
public static let hostTriple: Triple = .ppc64leLinux
120-
#elseif os(Linux) && arch(arm)
121-
public static let hostTriple: Triple = .armLinux
122-
#else
123-
public static let hostTriple: Triple = .linux
119+
#elseif os(Linux)
120+
#if arch(x86_64)
121+
public static let hostTriple: Triple = .x86Linux
122+
#elseif arch(powerpc64le)
123+
public static let hostTriple: Triple = .ppc64leLinux
124+
#elseif arch(s390x)
125+
public static let hostTriple: Triple = .s390xLinux
126+
#elseif arch(arm64)
127+
public static let hostTriple: Triple = .arm64Linux
128+
#elseif arch(arm)
129+
public static let hostTriple: Triple = .armLinux
130+
#endif
124131
#endif
125132
}

0 commit comments

Comments
 (0)