From: Ashraful Islam Date: Wed, 3 Jan 2024 09:07:30 +0000 (-0600) Subject: swift : add Swift Package declaration (#674) X-Git-Tag: upstream/0.0.1642~1139 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=6fdcf6257e88633bcc7f8cf8b62d8e7c103f4d2d;p=pkg%2Fggml%2Fsources%2Fggml swift : add Swift Package declaration (#674) * feat: adds swift package declaration - allows importing ggml as package dependency in llama.cpp and whisper.cpp - resolves issues with duplicate symbol error when importing llama.cpp and whisper.cpp as package dependency * fixes the src paths in package.swift --- diff --git a/Package.swift b/Package.swift new file mode 100644 index 00000000..0c3313dd --- /dev/null +++ b/Package.swift @@ -0,0 +1,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 +)