Skip to content

Commit aac0c69

Browse files
committed
Swift: Fix Windows build
Adds some flags for Swift's LLVM compiler to succeed on Windows. Related: llvm/llvm-project#40056 Signed-off-by: kingbri <[email protected]>
1 parent 6eeaeba commit aac0c69

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

Package.swift

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ var sources = [
1818

1919
var resources: [Resource] = []
2020
var linkerSettings: [LinkerSetting] = []
21-
var cSettings: [CSetting] = [
21+
var cSettings: [CSetting] = [
2222
.unsafeFlags(["-Wno-shorten-64-to-32", "-O3", "-DNDEBUG"]),
2323
.unsafeFlags(["-fno-objc-arc"]),
2424
// NOTE: NEW_LAPACK will required iOS version 16.4+
@@ -27,6 +27,8 @@ var cSettings: [CSetting] = [
2727
// .define("ACCELERATE_NEW_LAPACK"),
2828
// .define("ACCELERATE_LAPACK_ILP64")
2929
]
30+
var cxxSettings: [CXXSetting] = []
31+
var cxxStandard: CXXLanguageStandard = .cxx11
3032

3133
#if canImport(Darwin)
3234
sources.append("ggml/src/ggml-metal.m")
@@ -44,6 +46,14 @@ cSettings.append(
4446
cSettings.append(.define("_GNU_SOURCE"))
4547
#endif
4648

49+
#if canImport(WinSDK)
50+
// See https://github.com/llvm/llvm-project/issues/40056
51+
cxxSettings.append(.unsafeFlags(["-Xclang", "-fno-split-cold-code"]))
52+
53+
// MSVC errors below C++ 14
54+
cxxStandard = .cxx14
55+
#endif
56+
4757
let package = Package(
4858
name: "llama",
4959
platforms: [
@@ -75,5 +85,5 @@ let package = Package(
7585
linkerSettings: linkerSettings
7686
)
7787
],
78-
cxxLanguageStandard: .cxx11
88+
cxxLanguageStandard: cxxStandard
7989
)

0 commit comments

Comments
 (0)