@@ -18,7 +18,7 @@ var sources = [
18
18
19
19
var resources : [ Resource ] = [ ]
20
20
var linkerSettings : [ LinkerSetting ] = [ ]
21
- var cSettings : [ CSetting ] = [
21
+ var cSettings : [ CSetting ] = [
22
22
. unsafeFlags( [ " -Wno-shorten-64-to-32 " , " -O3 " , " -DNDEBUG " ] ) ,
23
23
. unsafeFlags( [ " -fno-objc-arc " ] ) ,
24
24
// NOTE: NEW_LAPACK will required iOS version 16.4+
@@ -27,6 +27,8 @@ var cSettings: [CSetting] = [
27
27
// .define("ACCELERATE_NEW_LAPACK"),
28
28
// .define("ACCELERATE_LAPACK_ILP64")
29
29
]
30
+ var cxxSettings : [ CXXSetting ] = [ ]
31
+ var cxxStandard : CXXLanguageStandard = . cxx11
30
32
31
33
#if canImport(Darwin)
32
34
sources. append ( " ggml/src/ggml-metal.m " )
@@ -44,6 +46,14 @@ cSettings.append(
44
46
cSettings. append ( . define( " _GNU_SOURCE " ) )
45
47
#endif
46
48
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
+
47
57
let package = Package (
48
58
name: " llama " ,
49
59
platforms: [
@@ -75,5 +85,5 @@ let package = Package(
75
85
linkerSettings: linkerSettings
76
86
)
77
87
] ,
78
- cxxLanguageStandard: . cxx11
88
+ cxxLanguageStandard: cxxStandard
79
89
)
0 commit comments