1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| // swift-tools-version: 5.5
|
| import PackageDescription
|
| let package = Package(
| name: "ggml",
| platforms: [
| .macOS(.v12),
| .iOS(.v14),
| .watchOS(.v4),
| .tvOS(.v14)
| ],
| products: [
| .library(name: "ggml", targets: ["ggml"]),
| ],
| targets: [
| .target(
| name: "ggml",
| path: ".",
| exclude: [],
| sources: [
| "src/ggml.c",
| "src/ggml-alloc.c",
| "src/ggml-backend.c",
| "src/ggml-quants.c",
| "src/ggml-metal.m",
| ],
| resources: [
| .process("src/ggml-metal.metal")
| ],
| publicHeadersPath: "include/ggml",
| cSettings: [
| .unsafeFlags(["-Wno-shorten-64-to-32", "-O3", "-DNDEBUG"]),
| .define("GGML_USE_ACCELERATE"),
| .unsafeFlags(["-fno-objc-arc"]),
| .define("GGML_USE_METAL"),
| // NOTE: NEW_LAPACK will required iOS version 16.4+
| // We should consider add this in the future when we drop support for iOS 14
| // (ref: ref: https://developer.apple.com/documentation/accelerate/1513264-cblas_sgemm?language=objc)
| // .define("ACCELERATE_NEW_LAPACK"),
| // .define("ACCELERATE_LAPACK_ILP64")
| ],
| linkerSettings: [
| .linkedFramework("Accelerate")
| ]
| )
| ],
| cxxLanguageStandard: .cxx11
| )
|
|