Swift: Fix Windows build

Adds some flags for Swift's LLVM compiler to succeed on Windows.

Related: https://github.com/llvm/llvm-project/issues/40056

Signed-off-by: kingbri <bdashore3@proton.me>
This commit is contained in:
kingbri 2024-07-28 21:20:12 -04:00
parent 6eeaeba126
commit aac0c69dda

View file

@ -18,7 +18,7 @@ var sources = [
var resources: [Resource] = []
var linkerSettings: [LinkerSetting] = []
var cSettings: [CSetting] = [
var cSettings: [CSetting] = [
.unsafeFlags(["-Wno-shorten-64-to-32", "-O3", "-DNDEBUG"]),
.unsafeFlags(["-fno-objc-arc"]),
// NOTE: NEW_LAPACK will required iOS version 16.4+
@ -27,6 +27,8 @@ var cSettings: [CSetting] = [
// .define("ACCELERATE_NEW_LAPACK"),
// .define("ACCELERATE_LAPACK_ILP64")
]
var cxxSettings: [CXXSetting] = []
var cxxStandard: CXXLanguageStandard = .cxx11
#if canImport(Darwin)
sources.append("ggml/src/ggml-metal.m")
@ -44,6 +46,14 @@ cSettings.append(
cSettings.append(.define("_GNU_SOURCE"))
#endif
#if canImport(WinSDK)
// See https://github.com/llvm/llvm-project/issues/40056
cxxSettings.append(.unsafeFlags(["-Xclang", "-fno-split-cold-code"]))
// MSVC errors below C++ 14
cxxStandard = .cxx14
#endif
let package = Package(
name: "llama",
platforms: [
@ -75,5 +85,5 @@ let package = Package(
linkerSettings: linkerSettings
)
],
cxxLanguageStandard: .cxx11
cxxLanguageStandard: cxxStandard
)