Skip to content

Commit 7961b65

Browse files
committed
Update Makefile to enable static linking for Android builds and add debug symbol stripping to reduce target size
1 parent 7ab93a3 commit 7961b65

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

Makefile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,9 @@ else ifeq ($(PLATFORM),android)
8282
CC = $(BIN)/$(ARCH)-linux-android26-clang
8383
CXX = $(CC)++
8484
TARGET := $(DIST_DIR)/ai.so
85-
LDFLAGS += -shared
85+
LDFLAGS += -static-libstdc++ -shared
8686
LLAMA_OPTIONS += -DCMAKE_TOOLCHAIN_FILE=$(ANDROID_NDK)/build/cmake/android.toolchain.cmake -DANDROID_ABI=$(if $(filter aarch64,$(ARCH)),arm64-v8a,$(ARCH)) -DANDROID_PLATFORM=android-26 -DCMAKE_C_FLAGS="-march=$(if $(filter aarch64,$(ARCH)),armv8.7a,x86-64)" -DCMAKE_CXX_FLAGS="-march=$(if $(filter aarch64,$(ARCH)),armv8.7a,x86-64)" -DGGML_OPENMP=OFF -DGGML_LLAMAFILE=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
8787
WHISPER_OPTIONS += -DCMAKE_TOOLCHAIN_FILE=$(ANDROID_NDK)/build/cmake/android.toolchain.cmake -DANDROID_ABI=$(if $(filter aarch64,$(ARCH)),arm64-v8a,$(ARCH)) -DANDROID_PLATFORM=android-26 -DCMAKE_C_FLAGS="-march=$(if $(filter aarch64,$(ARCH)),armv8.7a,x86-64)" -DCMAKE_CXX_FLAGS="-march=$(if $(filter aarch64,$(ARCH)),armv8.7a,x86-64)" -DGGML_OPENMP=OFF -DGGML_LLAMAFILE=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
88-
8988
else ifeq ($(PLATFORM),ios)
9089
TARGET := $(DIST_DIR)/ai.dylib
9190
SDK := -isysroot $(shell xcrun --sdk iphoneos --show-sdk-path) -miphoneos-version-min=14.0
@@ -131,6 +130,10 @@ ifeq ($(PLATFORM),windows)
131130
# Generate import library for Windows
132131
dlltool -D $@ -d $(DEF_FILE) -l $(DIST_DIR)/ai.lib
133132
endif
133+
ifeq ($(PLATFORM),android)
134+
# Android strip debug symbols
135+
$(BIN)/llvm-strip --strip-unneeded $@
136+
endif
134137

135138
# Object files
136139
$(BUILD_DIR)/%.o: %.c

0 commit comments

Comments
 (0)