@@ -132,7 +132,7 @@ CFLAGS.fuzzcheck-asan.fsanitize = @CFLAGS_ASAN_FSANITIZE@
132132
133133# Is the optional WebAssembly runtime library enabled?
134134#
135- OPT_WASM_RUNTIME ?= n
135+ OPT_WASM_RUNTIME ?= @OPT_WASM_RUNTIME@
136136#
137137# Intended to either be empty or be set to -g -DSQLITE_DEBUG=1.
138138#
@@ -364,3 +364,93 @@ version-info$(T.exe): $(TOP)/tool/version-info.c Makefile sqlite3.h
364364 $(T.link ) $(ST_OPT ) -o $@ $(TOP ) /tool/version-info.c
365365
366366include $(TOP ) /main.mk
367+
368+ # #######################################################################
369+ # libSQL compatibility targets. SQLite 3.48+ switched the canonical
370+ # build to autosetup and dropped the legacy libtool-based target names
371+ # that libSQL workflows still consume. Keep the old public make
372+ # surface as aliases around the new SQLite build products.
373+
374+ APITOP = $(TOP ) /crates
375+ WBTOP = $(TOP ) /crates/wasmtime-bindings
376+
377+ liblibsql.DLL = liblibsql$(T.dll )
378+ liblibsql.LIB = liblibsql$(T.lib )
379+
380+ ifeq ($(OPT_WASM_RUNTIME ) ,y)
381+ OPT_WASM_RUNTIME_LIBRARY_TARGET = liblibsql_wasm
382+ OPT_WASM_RUNTIME_INSTALL_TARGET = liblibsql_wasm_install
383+ OPT_STATIC_LIBLIBSQL_WASM = $(TOP ) /.libs/liblibsql_wasm.a
384+ else ifeq ($(OPT_WASM_RUNTIME),d)
385+ OPT_WASM_RUNTIME_LIBRARY_TARGET = liblibsql_wasm
386+ OPT_WASM_RUNTIME_INSTALL_TARGET = liblibsql_wasm_install
387+ OPT_STATIC_LIBLIBSQL_WASM =
388+ LDFLAGS.libsqlite3 += -L$(WBTOP ) /../target/release -llibsql_wasm
389+ else ifeq ($(OPT_WASM_RUNTIME),wasmedge)
390+ OPT_WASM_RUNTIME_LIBRARY_TARGET =
391+ OPT_WASM_RUNTIME_INSTALL_TARGET =
392+ OPT_STATIC_LIBLIBSQL_WASM =
393+ LDFLAGS.libsqlite3 += -lwasmedge
394+ else
395+ OPT_WASM_RUNTIME_LIBRARY_TARGET =
396+ OPT_WASM_RUNTIME_INSTALL_TARGET =
397+ OPT_STATIC_LIBLIBSQL_WASM =
398+ endif
399+
400+ sqlite3$(T.exe ) : $(OPT_WASM_RUNTIME_LIBRARY_TARGET )
401+ $(libsqlite3.DLL ) $(libsqlite3.LIB ) : $(OPT_WASM_RUNTIME_LIBRARY_TARGET )
402+
403+ libsql$(T.exe ) : sqlite3$(T.exe )
404+ cp sqlite3$(T.exe ) libsql$(T.exe )
405+
406+ all : libsql$(T.exe )
407+
408+ $(liblibsql.LIB ) : $(libsqlite3.LIB )
409+ cp $(libsqlite3.LIB ) $(liblibsql.LIB )
410+ mkdir -p .libs
411+ cp $(liblibsql.LIB ) .libs/$(liblibsql.LIB )
412+ cp $(libsqlite3.LIB ) .libs/$(libsqlite3.LIB )
413+ $(liblibsql.LIB ) -1 : $(liblibsql.LIB )
414+ $(liblibsql.LIB ) -0 $(liblibsql.LIB ) - :
415+
416+ $(liblibsql.DLL ) : $(libsqlite3.DLL )
417+ cp $(libsqlite3.DLL ) $(liblibsql.DLL )
418+ mkdir -p .libs
419+ cp $(liblibsql.DLL ) .libs/$(liblibsql.DLL )
420+ cp $(libsqlite3.DLL ) .libs/$(libsqlite3.DLL )
421+ $(liblibsql.DLL ) -1 : $(liblibsql.DLL )
422+ $(liblibsql.DLL ) -0 $(liblibsql.DLL ) - :
423+
424+ liblibsql_wasm :
425+ cd $(WBTOP ) && cargo build --release --lib
426+ mkdir -p $(TOP ) /.libs
427+ cp $(WBTOP ) /../target/release/liblibsql_wasm.* $(TOP ) /.libs/
428+
429+ liblibsql_wasm_install : liblibsql_wasm $(install-dir.lib )
430+ if [ -f " $( WBTOP) /../target/release/liblibsql_wasm.so" ]; then \
431+ $(INSTALL.noexec ) " $( WBTOP) /../target/release/liblibsql_wasm.so" " $( install-dir.lib) /liblibsql_wasm.so.0.0" ; \
432+ ln -fs liblibsql_wasm.so.0.0 " $( install-dir.lib) /liblibsql_wasm.so.0" ; \
433+ ln -fs liblibsql_wasm.so.0.0 " $( install-dir.lib) /liblibsql_wasm.so" ; \
434+ fi
435+ if [ -f " $( WBTOP) /../target/release/liblibsql_wasm.a" ]; then \
436+ $(INSTALL.noexec ) " $( WBTOP) /../target/release/liblibsql_wasm.a" " $( install-dir.lib) /liblibsql_wasm.a" ; \
437+ fi
438+
439+ liblibsql_install : $(install-dir.lib ) \
440+ $(liblibsql.LIB ) -$(ENABLE_LIB_STATIC ) \
441+ $(liblibsql.DLL ) -$(ENABLE_LIB_SHARED ) \
442+ $(OPT_WASM_RUNTIME_INSTALL_TARGET )
443+ if [ -f " $( liblibsql.LIB) " ]; then \
444+ $(INSTALL.noexec ) " $( liblibsql.LIB) " " $( install-dir.lib) " ; \
445+ fi
446+ if [ -f " $( liblibsql.DLL) " ]; then \
447+ $(INSTALL ) " $( liblibsql.DLL) " " $( install-dir.lib) " ; \
448+ fi
449+
450+ rusttest : sqlite3.h $(liblibsql.LIB )
451+ ( cd test/rust_suite; SQLITE3_STATIC=1 SQLITE3_INCLUDE_DIR=$( TOP) \
452+ LD_LIBRARY_PATH=$(TOP ) :$(TOP ) /.libs SQLITE3_LIB_DIR=$(TOP ) cargo test )
453+
454+ rusttestwasm : sqlite3.h $(liblibsql.LIB ) liblibsql_wasm
455+ ( cd test/rust_suite; SQLITE3_STATIC=1 SQLITE3_INCLUDE_DIR=$( TOP) \
456+ LD_LIBRARY_PATH=$(TOP ) :$(TOP ) /.libs SQLITE3_LIB_DIR=$(TOP ) cargo test --features wasm,udf )
0 commit comments