From 9410a60f6ff05936749f99d3bbf22f05568f4f74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Canna=C3=B2?= Date: Sat, 7 Feb 2026 13:33:42 +0100 Subject: [PATCH] build: make Rust toolchain optional, only required for PROXYSQLGENAI - Rust/cargo checks now only run when PROXYSQLGENAI=1 - sqlite3 target now only depends on GenAI extensions (vec.o, libsqlite_rembed.a) when PROXYSQLGENAI is enabled - Removed duplicate target definitions for sqlite-vec and sqlite-rembed --- deps/Makefile | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/deps/Makefile b/deps/Makefile index 41566b9ce..467b82e0a 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -4,14 +4,16 @@ PROXYSQL_PATH := $(shell while [ ! -f ./src/proxysql_global.cpp ]; do cd ..; don include $(PROXYSQL_PATH)/include/makefiles_vars.mk -# Rust toolchain detection +# Rust toolchain detection (only needed for PROXYSQLGENAI) +ifeq ($(PROXYSQLGENAI),1) RUSTC := $(shell which rustc 2>/dev/null) CARGO := $(shell which cargo 2>/dev/null) ifndef RUSTC -$(error "rustc not found. Please install Rust toolchain") +$(error "rustc not found. Please install Rust toolchain (required for PROXYSQLGENAI)") endif ifndef CARGO -$(error "cargo not found. Please install Rust toolchain") +$(error "cargo not found. Please install Rust toolchain (required for PROXYSQLGENAI)") +endif endif # SQLite environment variables for sqlite-rembed build @@ -285,7 +287,17 @@ sqlite3/libsqlite_rembed.a: sqlite3/sqlite-rembed-0.0.1-alpha.9.tar.gz cd sqlite3/sqlite-rembed-source && SQLITE3_INCLUDE_DIR=$(SQLITE3_INCLUDE_DIR) SQLITE3_LIB_DIR=$(SQLITE3_LIB_DIR) SQLITE3_STATIC=1 $(CARGO) build --release --features=sqlite-loadable/static --lib cp sqlite3/sqlite-rembed-source/target/release/libsqlite_rembed.a sqlite3/libsqlite_rembed.a +ifeq ($(PROXYSQLGENAI),1) sqlite3: sqlite3/sqlite3/sqlite3.o sqlite3/sqlite3/vec.o sqlite3/libsqlite_rembed.a +else +sqlite3: sqlite3/sqlite3/sqlite3.o +endif + +# sqlite-vec: Vector similarity search extension (for GenAI) +sqlite-vec: sqlite3/sqlite3/vec.o + +# sqlite-rembed: Remote embedding extension (Rust-based, for GenAI) +sqlite-rembed: sqlite3/libsqlite_rembed.a libconfig/libconfig/out/libconfig++.a: @@ -375,24 +387,6 @@ libscram/lib/libscram.a:postgresql/postgresql/src/interfaces/libpq/libpq.a libscram: libscram/lib/libscram.a -# sqlite-vec: Vector similarity search extension (for GenAI) -sqlite3/sqlite3/vec.o: sqlite3/sqlite3/sqlite3.o - cd sqlite3/sqlite3 && cp ../sqlite-vec-source/sqlite-vec.c . && cp ../sqlite-vec-source/sqlite-vec.h . - cd sqlite3/sqlite3 && ${CC} ${MYCFLAGS} -fPIC -c -o vec.o sqlite-vec.c -DSQLITE_CORE -DSQLITE_VEC_STATIC -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_DLL=1 - -sqlite-vec: sqlite3/sqlite3/vec.o - -# sqlite-rembed: Remote embedding extension (Rust-based, for GenAI) -sqlite3/libsqlite_rembed.a: sqlite3/sqlite-rembed-0.0.1-alpha.9.tar.gz - cd sqlite3 && rm -rf sqlite-rembed-*/ sqlite-rembed-source/ || true - cd sqlite3 && tar -zxf sqlite-rembed-0.0.1-alpha.9.tar.gz - mv sqlite3/sqlite-rembed-0.0.1-alpha.9 sqlite3/sqlite-rembed-source - cd sqlite3/sqlite-rembed-source && SQLITE3_INCLUDE_DIR=$(SQLITE3_INCLUDE_DIR) SQLITE3_LIB_DIR=$(SQLITE3_LIB_DIR) SQLITE3_STATIC=1 $(CARGO) build --release --features=sqlite-loadable/static --lib - cp sqlite3/sqlite-rembed-source/target/release/libsqlite_rembed.a sqlite3/libsqlite_rembed.a - -sqlite-rembed: sqlite3/libsqlite_rembed.a - - ### clean targets cleanpart: