Skip to content

Commit 6d6b63a

Browse files
committed
Update Windows LLAMA build flags and XCFramework target build script
1 parent 5fecc37 commit 6d6b63a

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

Makefile

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,12 @@ else ifeq ($(PLATFORM),ios-sim)
152152
LDFLAGS := -dynamiclib -isysroot $(SDK) -arch arm64 -arch x86_64 -miphonesimulator-version-min=14.0 -framework Security
153153
endif
154154

155-
# Base llama.cpp cmake options
155+
# Base llama.cpp cmake options (minimal build - no curl, httplib, server, rpc)
156156
LLAMA_OPTIONS := $(LLAMA) \
157157
-DCMAKE_BUILD_TYPE=Release \
158158
-DBUILD_SHARED_LIBS=OFF \
159159
-DLLAMA_CURL=OFF \
160+
-DLLAMA_HTTPLIB=OFF \
160161
-DLLAMA_BUILD_EXAMPLES=OFF \
161162
-DLLAMA_BUILD_TESTS=OFF \
162163
-DLLAMA_BUILD_TOOLS=OFF \
@@ -200,8 +201,8 @@ ifeq ($(OMIT_LOCAL_ENGINE),0)
200201
else ifeq ($(PLATFORM),linux)
201202
LLAMA_OPTIONS += -DGGML_NATIVE=OFF -DGGML_OPENMP=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
202203
else ifeq ($(PLATFORM),windows)
203-
# Target Windows 8+ for CreateFile2 support in cpp-httplib
204-
LLAMA_OPTIONS += -DGGML_NATIVE=OFF -DGGML_OPENMP=OFF -DCMAKE_CXX_FLAGS="-D_WIN32_WINNT=0x0602"
204+
# Target Windows 7+ (0x0601) - llama.cpp core doesn't need newer APIs
205+
LLAMA_OPTIONS += -DGGML_NATIVE=OFF -DGGML_OPENMP=OFF -DCMAKE_CXX_FLAGS="-D_WIN32_WINNT=0x0601"
205206
LDFLAGS := -shared -lbcrypt -static-libgcc -Wl,--push-state,-Bstatic,-lstdc++,-lwinpthread,--pop-state
206207
else ifeq ($(PLATFORM),android)
207208
# Android NDK cmake toolchain
@@ -467,16 +468,16 @@ xcframework:
467468
rm -rf $(BUILD_DIR) && MAKEFLAGS= $(MAKE) PLATFORM=macos OMIT_LOCAL_ENGINE=1 && \
468469
mv $(DIST_DIR)/memory.dylib $(DIST_DIR)/macos_remote.dylib
469470
$(call create_xcframework,_remote,memory-remote)
470-
@# Build local variant (llama.cpp only) - need distclean between platforms to rebuild llama.cpp
471-
rm -rf $(DIST_DIR) && MAKEFLAGS= $(MAKE) distclean && MAKEFLAGS= $(MAKE) PLATFORM=ios OMIT_REMOTE_ENGINE=1 $(XCFRAMEWORK_LLAMA) && \
471+
@# Build local variant (llama.cpp only) - need to clear llama.cpp build between platforms
472+
rm -rf $(BUILD_DIR) $(LLAMA_BUILD) && MAKEFLAGS= $(MAKE) PLATFORM=ios OMIT_REMOTE_ENGINE=1 $(XCFRAMEWORK_LLAMA) && \
472473
mv $(DIST_DIR)/memory.dylib $(DIST_DIR)/ios_local.dylib && \
473474
rm -rf $(BUILD_DIR) $(LLAMA_BUILD) && MAKEFLAGS= $(MAKE) PLATFORM=ios-sim OMIT_REMOTE_ENGINE=1 $(XCFRAMEWORK_LLAMA) && \
474475
mv $(DIST_DIR)/memory.dylib $(DIST_DIR)/ios-sim_local.dylib && \
475476
rm -rf $(BUILD_DIR) $(LLAMA_BUILD) && MAKEFLAGS= $(MAKE) PLATFORM=macos OMIT_REMOTE_ENGINE=1 $(XCFRAMEWORK_LLAMA) && \
476477
mv $(DIST_DIR)/memory.dylib $(DIST_DIR)/macos_local.dylib
477478
$(call create_xcframework,_local,memory-local)
478-
@# Build full variant (both) - need distclean between platforms to rebuild llama.cpp
479-
rm -rf $(DIST_DIR) && MAKEFLAGS= $(MAKE) distclean && MAKEFLAGS= $(MAKE) PLATFORM=ios $(XCFRAMEWORK_LLAMA) && \
479+
@# Build full variant (both) - need to clear llama.cpp build between platforms
480+
rm -rf $(BUILD_DIR) $(LLAMA_BUILD) && MAKEFLAGS= $(MAKE) PLATFORM=ios $(XCFRAMEWORK_LLAMA) && \
480481
mv $(DIST_DIR)/memory.dylib $(DIST_DIR)/ios_full.dylib && \
481482
rm -rf $(BUILD_DIR) $(LLAMA_BUILD) && MAKEFLAGS= $(MAKE) PLATFORM=ios-sim $(XCFRAMEWORK_LLAMA) && \
482483
mv $(DIST_DIR)/memory.dylib $(DIST_DIR)/ios-sim_full.dylib && \

0 commit comments

Comments
 (0)