Spaces:
Runtime error
Runtime error
// swift-tools-version:5.5 | |
import PackageDescription | |
var sources = [ | |
"src/llama.cpp", | |
"src/llama-vocab.cpp", | |
"src/llama-grammar.cpp", | |
"src/llama-sampling.cpp", | |
"src/unicode.cpp", | |
"src/unicode-data.cpp", | |
"ggml/src/ggml.c", | |
"ggml/src/ggml-cpu.c", | |
"ggml/src/ggml-alloc.c", | |
"ggml/src/ggml-backend.cpp", | |
"ggml/src/ggml-quants.c", | |
"ggml/src/ggml-aarch64.c", | |
] | |
var resources: [Resource] = [] | |
var linkerSettings: [LinkerSetting] = [] | |
var cSettings: [CSetting] = [ | |
.unsafeFlags(["-Wno-shorten-64-to-32", "-O3", "-DNDEBUG"]), | |
.unsafeFlags(["-fno-objc-arc"]), | |
// 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") | |
] | |
#if canImport(Darwin) | |
sources.append("ggml/src/ggml-metal.m") | |
resources.append(.process("ggml/src/ggml-metal.metal")) | |
linkerSettings.append(.linkedFramework("Accelerate")) | |
cSettings.append( | |
contentsOf: [ | |
.define("GGML_USE_ACCELERATE"), | |
.define("GGML_USE_METAL") | |
] | |
) | |
#endif | |
#if os(Linux) | |
cSettings.append(.define("_GNU_SOURCE")) | |
#endif | |
let package = Package( | |
name: "llama", | |
platforms: [ | |
.macOS(.v12), | |
.iOS(.v14), | |
.watchOS(.v4), | |
.tvOS(.v14) | |
], | |
products: [ | |
.library(name: "llama", targets: ["llama"]), | |
], | |
targets: [ | |
.target( | |
name: "llama", | |
path: ".", | |
exclude: [ | |
"cmake", | |
"examples", | |
"scripts", | |
"models", | |
"tests", | |
"CMakeLists.txt", | |
"Makefile" | |
], | |
sources: sources, | |
resources: resources, | |
publicHeadersPath: "spm-headers", | |
cSettings: cSettings, | |
linkerSettings: linkerSettings | |
) | |
], | |
cxxLanguageStandard: .cxx11 | |
) | |