From 29aca777748f78011f81d8c05c5c2b6270b5b5a9 Mon Sep 17 00:00:00 2001 From: Oscar Franco Date: Wed, 24 Dec 2025 05:39:32 -0400 Subject: [PATCH 1/4] Support android 16kb pages --- .github/workflows/release.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 1f753a63..2292a88e 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -133,7 +133,9 @@ jobs: make CC=${{ matrix.platforms.cc }} \ AR=llvm-ar \ RANLIB=llvm-ranlib \ - STRIP=llvm-strip loadable + STRIP=llvm-strip \ + CFLAGS="-Wl,-z,max-page-size=16384" \ + loadable - uses: actions/upload-artifact@v4 with: name: sqlite-vec-${{ matrix.platforms.name }}-extension From 3e554778832ff713a07ca2507ab35edb461519d3 Mon Sep 17 00:00:00 2001 From: Oscar Franco Date: Mon, 29 Dec 2025 06:25:26 -0400 Subject: [PATCH 2/4] Move 16kb page size to LDFLAGS --- .github/workflows/release.yaml | 2 +- Makefile | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 2292a88e..ab9db941 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -134,7 +134,7 @@ jobs: AR=llvm-ar \ RANLIB=llvm-ranlib \ STRIP=llvm-strip \ - CFLAGS="-Wl,-z,max-page-size=16384" \ + LDFLAGS="-Wl,-z,max-page-size=16384" \ loadable - uses: actions/upload-artifact@v4 with: diff --git a/Makefile b/Makefile index 43e1d980..7e888684 100644 --- a/Makefile +++ b/Makefile @@ -99,11 +99,16 @@ $(TARGET_LOADABLE): sqlite-vec.c sqlite-vec.h $(prefix) -Ivendor/ \ -O3 \ $(CFLAGS) \ + $(LDFLAGS) \ $< -o $@ $(TARGET_STATIC): sqlite-vec.c sqlite-vec.h $(prefix) $(OBJS_DIR) - $(CC) -Ivendor/ $(CFLAGS) -DSQLITE_CORE -DSQLITE_VEC_STATIC \ - -O3 -c $< -o $(OBJS_DIR)/vec.o + $(CC) \ + -Ivendor/ \ + $(CFLAGS) \ + $(LDFLAGS) \ + -DSQLITE_CORE -DSQLITE_VEC_STATIC \ + -O3 -c $< -o $(OBJS_DIR)/vec.o $(AR) rcs $@ $(OBJS_DIR)/vec.o $(TARGET_STATIC_H): sqlite-vec.h $(prefix) @@ -138,14 +143,14 @@ $(LIBS_DIR)/sqlite-vec.a: $(OBJS_DIR)/sqlite-vec.o $(LIBS_DIR) $(TARGET_CLI): sqlite-vec.h $(LIBS_DIR)/sqlite-vec.a $(LIBS_DIR)/shell.a $(LIBS_DIR)/sqlite3.a examples/sqlite3-cli/core_init.c $(prefix) $(CC) -g3 \ - -Ivendor/ -I./ \ - -DSQLITE_CORE \ - -DSQLITE_VEC_STATIC \ - -DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_FTS4 \ - -DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS \ - -DSQLITE_EXTRA_INIT=core_init \ - $(CFLAGS) \ - -ldl -lm \ + -Ivendor/ -I./ \ + -DSQLITE_CORE \ + -DSQLITE_VEC_STATIC \ + -DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_FTS4 \ + -DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS \ + -DSQLITE_EXTRA_INIT=core_init \ + $(CFLAGS) \ + -ldl -lm \ examples/sqlite3-cli/core_init.c $(LIBS_DIR)/shell.a $(LIBS_DIR)/sqlite3.a $(LIBS_DIR)/sqlite-vec.a -o $@ From 5855bc03b6f0d0c1d45b0a4c8088740805711ec2 Mon Sep 17 00:00:00 2001 From: Oscar Franco Date: Mon, 29 Dec 2025 06:58:50 -0400 Subject: [PATCH 3/4] Revert "Move 16kb page size to LDFLAGS" This reverts commit 3e554778832ff713a07ca2507ab35edb461519d3. --- .github/workflows/release.yaml | 2 +- Makefile | 25 ++++++++++--------------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index ab9db941..2292a88e 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -134,7 +134,7 @@ jobs: AR=llvm-ar \ RANLIB=llvm-ranlib \ STRIP=llvm-strip \ - LDFLAGS="-Wl,-z,max-page-size=16384" \ + CFLAGS="-Wl,-z,max-page-size=16384" \ loadable - uses: actions/upload-artifact@v4 with: diff --git a/Makefile b/Makefile index 7e888684..43e1d980 100644 --- a/Makefile +++ b/Makefile @@ -99,16 +99,11 @@ $(TARGET_LOADABLE): sqlite-vec.c sqlite-vec.h $(prefix) -Ivendor/ \ -O3 \ $(CFLAGS) \ - $(LDFLAGS) \ $< -o $@ $(TARGET_STATIC): sqlite-vec.c sqlite-vec.h $(prefix) $(OBJS_DIR) - $(CC) \ - -Ivendor/ \ - $(CFLAGS) \ - $(LDFLAGS) \ - -DSQLITE_CORE -DSQLITE_VEC_STATIC \ - -O3 -c $< -o $(OBJS_DIR)/vec.o + $(CC) -Ivendor/ $(CFLAGS) -DSQLITE_CORE -DSQLITE_VEC_STATIC \ + -O3 -c $< -o $(OBJS_DIR)/vec.o $(AR) rcs $@ $(OBJS_DIR)/vec.o $(TARGET_STATIC_H): sqlite-vec.h $(prefix) @@ -143,14 +138,14 @@ $(LIBS_DIR)/sqlite-vec.a: $(OBJS_DIR)/sqlite-vec.o $(LIBS_DIR) $(TARGET_CLI): sqlite-vec.h $(LIBS_DIR)/sqlite-vec.a $(LIBS_DIR)/shell.a $(LIBS_DIR)/sqlite3.a examples/sqlite3-cli/core_init.c $(prefix) $(CC) -g3 \ - -Ivendor/ -I./ \ - -DSQLITE_CORE \ - -DSQLITE_VEC_STATIC \ - -DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_FTS4 \ - -DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS \ - -DSQLITE_EXTRA_INIT=core_init \ - $(CFLAGS) \ - -ldl -lm \ + -Ivendor/ -I./ \ + -DSQLITE_CORE \ + -DSQLITE_VEC_STATIC \ + -DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_FTS4 \ + -DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS \ + -DSQLITE_EXTRA_INIT=core_init \ + $(CFLAGS) \ + -ldl -lm \ examples/sqlite3-cli/core_init.c $(LIBS_DIR)/shell.a $(LIBS_DIR)/sqlite3.a $(LIBS_DIR)/sqlite-vec.a -o $@ From 5881f2f999d7ff947c0e8a98f64457844fce7d6b Mon Sep 17 00:00:00 2001 From: Oscar Franco Date: Mon, 29 Dec 2025 07:12:06 -0400 Subject: [PATCH 4/4] Correctly pass LDFLAGS --- .github/workflows/release.yaml | 2 +- Makefile | 29 ++++++++++++++++------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 2292a88e..ab9db941 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -134,7 +134,7 @@ jobs: AR=llvm-ar \ RANLIB=llvm-ranlib \ STRIP=llvm-strip \ - CFLAGS="-Wl,-z,max-page-size=16384" \ + LDFLAGS="-Wl,-z,max-page-size=16384" \ loadable - uses: actions/upload-artifact@v4 with: diff --git a/Makefile b/Makefile index 43e1d980..0d4a8d9a 100644 --- a/Makefile +++ b/Makefile @@ -28,14 +28,13 @@ endif ifdef CONFIG_LINUX LOADABLE_EXTENSION=so -CFLAGS += -lm +LDLIBS += -lm endif ifdef CONFIG_WINDOWS LOADABLE_EXTENSION=dll endif - ifdef python PYTHON=$(python) else @@ -99,11 +98,15 @@ $(TARGET_LOADABLE): sqlite-vec.c sqlite-vec.h $(prefix) -Ivendor/ \ -O3 \ $(CFLAGS) \ - $< -o $@ + $< -o $@ \ + $(LDFLAGS) $(LDLIBS) $(TARGET_STATIC): sqlite-vec.c sqlite-vec.h $(prefix) $(OBJS_DIR) - $(CC) -Ivendor/ $(CFLAGS) -DSQLITE_CORE -DSQLITE_VEC_STATIC \ - -O3 -c $< -o $(OBJS_DIR)/vec.o + $(CC) \ + -Ivendor/ \ + $(CFLAGS) \ + -DSQLITE_CORE -DSQLITE_VEC_STATIC \ + -O3 -c $< -o $(OBJS_DIR)/vec.o $(AR) rcs $@ $(OBJS_DIR)/vec.o $(TARGET_STATIC_H): sqlite-vec.h $(prefix) @@ -138,14 +141,14 @@ $(LIBS_DIR)/sqlite-vec.a: $(OBJS_DIR)/sqlite-vec.o $(LIBS_DIR) $(TARGET_CLI): sqlite-vec.h $(LIBS_DIR)/sqlite-vec.a $(LIBS_DIR)/shell.a $(LIBS_DIR)/sqlite3.a examples/sqlite3-cli/core_init.c $(prefix) $(CC) -g3 \ - -Ivendor/ -I./ \ - -DSQLITE_CORE \ - -DSQLITE_VEC_STATIC \ - -DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_FTS4 \ - -DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS \ - -DSQLITE_EXTRA_INIT=core_init \ - $(CFLAGS) \ - -ldl -lm \ + -Ivendor/ -I./ \ + -DSQLITE_CORE \ + -DSQLITE_VEC_STATIC \ + -DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_FTS4 \ + -DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS \ + -DSQLITE_EXTRA_INIT=core_init \ + $(CFLAGS) \ + -ldl -lm \ examples/sqlite3-cli/core_init.c $(LIBS_DIR)/shell.a $(LIBS_DIR)/sqlite3.a $(LIBS_DIR)/sqlite-vec.a -o $@