mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-11-03 09:22:01 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
// swift-tools-version:5.3
 | 
						|
 | 
						|
import PackageDescription
 | 
						|
 | 
						|
#if arch(arm) || arch(arm64)
 | 
						|
let platforms: [SupportedPlatform]? = [
 | 
						|
    .macOS(.v11),
 | 
						|
    .iOS(.v14),
 | 
						|
    .watchOS(.v4),
 | 
						|
    .tvOS(.v14)
 | 
						|
]
 | 
						|
let exclude: [String] = []
 | 
						|
let additionalSources: [String] = ["ggml-metal.m", "ggml-metal.metal"]
 | 
						|
let additionalSettings: [CSetting] = [
 | 
						|
    .unsafeFlags(["-fno-objc-arc"]),
 | 
						|
    .define("GGML_SWIFT"),
 | 
						|
    .define("GGML_USE_METAL")
 | 
						|
]
 | 
						|
#else
 | 
						|
let platforms: [SupportedPlatform]? = nil
 | 
						|
let exclude: [String] = ["ggml-metal.metal"]
 | 
						|
let additionalSources: [String] = []
 | 
						|
let additionalSettings: [CSetting] = []
 | 
						|
#endif
 | 
						|
 | 
						|
let package = Package(
 | 
						|
    name: "llama",
 | 
						|
    platforms: platforms,
 | 
						|
    products: [
 | 
						|
        .library(name: "llama", targets: ["llama"]),
 | 
						|
    ],
 | 
						|
    targets: [
 | 
						|
        .target(
 | 
						|
            name: "llama",
 | 
						|
            path: ".",
 | 
						|
            exclude: exclude,
 | 
						|
            sources: [
 | 
						|
                "ggml.c",
 | 
						|
                "llama.cpp",
 | 
						|
                "ggml-alloc.c",
 | 
						|
                "k_quants.c",
 | 
						|
            ] + additionalSources,
 | 
						|
            publicHeadersPath: "spm-headers",
 | 
						|
            cSettings: [
 | 
						|
                .unsafeFlags(["-Wno-shorten-64-to-32"]),
 | 
						|
                .define("GGML_USE_K_QUANTS"),
 | 
						|
                .define("GGML_USE_ACCELERATE"),
 | 
						|
                .define("ACCELERATE_NEW_LAPACK"),
 | 
						|
                .define("ACCELERATE_LAPACK_ILP64")
 | 
						|
            ] + additionalSettings,
 | 
						|
            linkerSettings: [
 | 
						|
                .linkedFramework("Accelerate")
 | 
						|
            ]
 | 
						|
        )
 | 
						|
    ],
 | 
						|
    cxxLanguageStandard: .cxx11
 | 
						|
)
 |