Skip to content

Commit cb56f40

Browse files
committed
fix(ios): fix builds for ios wrt new llama apis
1 parent 2229d2d commit cb56f40

File tree

3 files changed

+25
-3
lines changed

3 files changed

+25
-3
lines changed

bin/ldflags.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ if [[ "$host" = "Darwin" ]]; then
114114
ldflags+=("-framework" "UserNotifications")
115115
ldflags+=("-framework" "OSLog")
116116
ldflags+=("-ldl")
117+
ldflags+=("-lomp")
117118
ldflags+=("-lggml")
118119
ldflags+=("-lggml-cpu")
119120
ldflags+=("-lggml-base")

src/cli/main.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3066,7 +3066,7 @@ int main (int argc, char* argv[]) {
30663066
if (platform.mac && isForDesktop) {
30673067
log("preparing build for mac");
30683068

3069-
flags = "-std=c++2a -ObjC++ -v";
3069+
flags = "-std=c++2a -ObjC++ -v -fopenmp";
30703070
flags += " -framework UniformTypeIdentifiers";
30713071
flags += " -framework CoreBluetooth";
30723072
flags += " -framework CoreLocation";
@@ -3088,6 +3088,7 @@ int main (int argc, char* argv[]) {
30883088
flags += " -I" + prefixFile("include");
30893089
flags += " -L" + prefixFile("lib/" + platform.arch + "-desktop");
30903090
flags += " -lsocket-runtime";
3091+
flags += " -lomp";
30913092
flags += " -luv";
30923093
flags += " -lllama";
30933094
flags += " -lggml";

src/cli/templates.hh

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -679,19 +679,24 @@ constexpr auto gXCodeProject = R"ASCII(// !$*UTF8*$!
679679
680680
/* Begin PBXBuildFile section */
681681
{{__ios_native_extensions_build_context_sections}}
682+
034B592125768A7B005D0134 /* lib/default.metallib in Resources */ = {isa = PBXBuildFile; fileRef = 034B592025768A7B005D0134 /* lib/default.metallib */; };
682683
171C1C2B2AC38A70005F587F /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 171C1C2A2AC38A70005F587F /* CoreLocation.framework */; };
683684
179989D22A867B260041EDC1 /* UniformTypeIdentifiers.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 179989D12A867B260041EDC1 /* UniformTypeIdentifiers.framework */; };
684685
17A7F8F229358D220051D146 /* init.cc in Sources */ = {isa = PBXBuildFile; fileRef = 17A7F8EE29358D180051D146 /* init.cc */; };
685686
17A7F8F529358D430051D146 /* libsocket-runtime.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 17A7F8F329358D430051D146 /* libsocket-runtime.a */; };
686687
17A7F8F629358D430051D146 /* libuv.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 17A7F8F429358D430051D146 /* libuv.a */; };
687688
17A7F8F629358D4A0051D146 /* libllama.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 17A7F8F429358D430051D147 /* libllama.a */; };
689+
17E5B4C42D40623300C40EB2 /* libggml-base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 17E5B4BF2D40623200C40EB2 /* libggml-base.a */; };
690+
17E5B4C52D40623300C40EB2 /* libggml-cpu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 17E5B4C02D40623300C40EB2 /* libggml-cpu.a */; };
691+
17E5B4C62D40623300C40EB2 /* libggml-blas.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 17E5B4C12D40623300C40EB2 /* libggml-blas.a */; };
692+
17E5B4C72D40623300C40EB2 /* libggml-metal.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 17E5B4C22D40623300C40EB2 /* libggml-metal.a */; };
693+
17E5B4C82D40623300C40EB2 /* libggml.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 17E5B4C32D40623300C40EB2 /* libggml.a */; };
688694
17A7F8F729358D4D0051D146 /* main.o in Frameworks */ = {isa = PBXBuildFile; fileRef = 17A7F8F129358D180051D146 /* main.o */; };
689695
17C230BA28E9398700301440 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17C230B928E9398700301440 /* Foundation.framework */; };
690696
290F7EBF2768C49000486988 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 294A3C792763E9C6007B5B9A /* UIKit.framework */; };
691697
290F7F87276BC2B000486988 /* lib in Resources */ = {isa = PBXBuildFile; fileRef = 290F7F86276BC2B000486988 /* lib */; };
692698
29124C5D2761336B001832A0 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 29124C5B2761336B001832A0 /* LaunchScreen.storyboard */; };
693699
294A3C852764EAB7007B5B9A /* ui in Resources */ = {isa = PBXBuildFile; fileRef = 294A3C842764EAB7007B5B9A /* ui */; };
694-
034B592125768A7B005D0134 /* default.metallib in Resources */ = {isa = PBXBuildFile; fileRef = 034B592025768A7B005D0134 /* default.metallib */; };
695700
294A3CA02768C429007B5B9A /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 294A3C7B2763EA7F007B5B9A /* WebKit.framework */; };
696701
2996EDB22770BC1F00C672A0 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2996EDB12770BC1F00C672B1 /* Accelerate.framework */; };
697702
2996EDB22770BC1F00C672A1 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2996EDB12770BC1F00C672A1 /* Metal.framework */; };
@@ -712,12 +717,17 @@ constexpr auto gXCodeProject = R"ASCII(// !$*UTF8*$!
712717
17A7F8F429358D430051D146 /* libuv.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libuv.a; path = lib/libuv.a; sourceTree = "<group>"; };
713718
17A7F8F429358D430051D147 /* libllama.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libllama.a; path = lib/libllama.a; sourceTree = "<group>"; };
714719
17C230B928E9398700301440 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
720+
17E5B4BF2D40623200C40EB2 /* libggml-base.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libggml-base.a"; path = "lib/libggml-base.a"; sourceTree = "<group>"; };
721+
17E5B4C02D40623300C40EB2 /* libggml-cpu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libggml-cpu.a"; path = "lib/libggml-cpu.a"; sourceTree = "<group>"; };
722+
17E5B4C12D40623300C40EB2 /* libggml-blas.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libggml-blas.a"; path = "lib/libggml-blas.a"; sourceTree = "<group>"; };
723+
17E5B4C22D40623300C40EB2 /* libggml-metal.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libggml-metal.a"; path = "lib/libggml-metal.a"; sourceTree = "<group>"; };
724+
17E5B4C32D40623300C40EB2 /* libggml.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libggml.a; path = lib/libggml.a; sourceTree = "<group>"; };
715725
17E73FEE28FCD3360087604F /* libuv-ios.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libuv-ios.a"; path = "lib/libuv-ios.a"; sourceTree = "<group>"; };
716726
290F7F86276BC2B000486988 /* lib */ = {isa = PBXFileReference; lastKnownFileType = folder; path = lib; sourceTree = "<group>"; };
717727
29124C4A27613369001832A0 /* {{build_name}}.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "{{build_name}}.app"; sourceTree = BUILT_PRODUCTS_DIR; };
718728
29124C5C2761336B001832A0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
719729
29124C5E2761336B001832A0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
720-
034B592025768A7B005D0134 /* default.metallib */ = {isa = PBXFileReference; lastKnownFileType = "archive.metal-library"; path = "lib/default.metallib"; sourceTree = "<group>"; };
730+
034B592025768A7B005D0134 /* lib/default.metallib */ = {isa = PBXFileReference; lastKnownFileType = "archive.metal-library"; path = lib/default.metallib; sourceTree = "<group>"; };
721731
29124C5E2761336B001832A1 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
722732
294A3C792763E9C6007B5B9A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
723733
294A3C7B2763EA7F007B5B9A /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
@@ -737,6 +747,11 @@ constexpr auto gXCodeProject = R"ASCII(// !$*UTF8*$!
737747
buildActionMask = 2147483647;
738748
files = (
739749
{{__ios_native_extensions_build_ids}}
750+
17E5B4C42D40623300C40EB2 /* libggml-base.a in Frameworks */,
751+
17E5B4C52D40623300C40EB2 /* libggml-cpu.a in Frameworks */,
752+
17E5B4C62D40623300C40EB2 /* libggml-blas.a in Frameworks */,
753+
17E5B4C72D40623300C40EB2 /* libggml-metal.a in Frameworks */,
754+
17E5B4C82D40623300C40EB2 /* libggml.a in Frameworks */,
740755
171C1C2B2AC38A70005F587F /* CoreLocation.framework in Frameworks */,
741756
179989D22A867B260041EDC1 /* UniformTypeIdentifiers.framework in Frameworks */,
742757
17A7F8F529358D430051D146 /* libsocket-runtime.a in Frameworks */,
@@ -810,6 +825,11 @@ constexpr auto gXCodeProject = R"ASCII(// !$*UTF8*$!
810825
isa = PBXGroup;
811826
children = (
812827
{{__ios_native_extensions_build_refs}}
828+
17E5B4C32D40623300C40EB2 /* libggml.a */,
829+
17E5B4BF2D40623200C40EB2 /* libggml-base.a */,
830+
17E5B4C12D40623300C40EB2 /* libggml-blas.a */,
831+
17E5B4C02D40623300C40EB2 /* libggml-cpu.a */,
832+
17E5B4C22D40623300C40EB2 /* libggml-metal.a */,
813833
171C1C2A2AC38A70005F587F /* CoreLocation.framework */,
814834
179989D12A867B260041EDC1 /* UniformTypeIdentifiers.framework */,
815835
17A7F8F329358D430051D146 /* libsocket-runtime.a */,

0 commit comments

Comments
 (0)