2023-10-10 11:31:13 +00:00
|
|
|
// swift-tools-version:5.5
|
2023-03-28 16:39:01 +00:00
|
|
|
|
|
|
|
import PackageDescription
|
|
|
|
|
|
|
|
let package = Package(
|
|
|
|
name: "llama",
|
2023-12-05 07:29:46 +00:00
|
|
|
platforms: [
|
|
|
|
.macOS(.v12),
|
|
|
|
.iOS(.v14),
|
|
|
|
.watchOS(.v4),
|
|
|
|
.tvOS(.v14)
|
|
|
|
],
|
2023-03-28 16:39:01 +00:00
|
|
|
products: [
|
|
|
|
.library(name: "llama", targets: ["llama"]),
|
|
|
|
],
|
2024-01-03 17:30:02 +00:00
|
|
|
dependencies: [
|
2024-01-11 19:58:28 +00:00
|
|
|
.package(url: "https://github.com/ggerganov/ggml.git", .branch("release"))
|
2024-01-03 17:30:02 +00:00
|
|
|
],
|
2023-03-28 16:39:01 +00:00
|
|
|
targets: [
|
|
|
|
.target(
|
|
|
|
name: "llama",
|
2024-01-03 17:30:02 +00:00
|
|
|
dependencies: ["ggml"],
|
2023-03-28 16:39:01 +00:00
|
|
|
path: ".",
|
2024-01-08 14:40:51 +00:00
|
|
|
exclude: ["ggml-metal.metal"],
|
2023-09-03 06:21:05 +00:00
|
|
|
sources: [
|
|
|
|
"llama.cpp",
|
2023-12-05 07:29:46 +00:00
|
|
|
],
|
2023-03-28 16:39:01 +00:00
|
|
|
publicHeadersPath: "spm-headers",
|
2023-09-03 06:21:05 +00:00
|
|
|
cSettings: [
|
2023-10-10 11:31:13 +00:00
|
|
|
.unsafeFlags(["-Wno-shorten-64-to-32", "-O3", "-DNDEBUG"]),
|
2023-12-05 07:29:46 +00:00
|
|
|
.define("GGML_USE_ACCELERATE"),
|
|
|
|
.unsafeFlags(["-fno-objc-arc"]),
|
|
|
|
.define("GGML_USE_METAL"),
|
2023-10-05 14:00:07 +00:00
|
|
|
// 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")
|
2023-12-05 07:29:46 +00:00
|
|
|
],
|
2023-04-05 10:44:24 +00:00
|
|
|
linkerSettings: [
|
|
|
|
.linkedFramework("Accelerate")
|
|
|
|
]
|
2023-09-09 09:12:10 +00:00
|
|
|
)
|
2023-03-28 16:39:01 +00:00
|
|
|
],
|
|
|
|
cxxLanguageStandard: .cxx11
|
|
|
|
)
|