1
0

Package.swift 1.5 KB

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