2019-07-19 15:12:49 +03:00
|
|
|
TARGET = sqlite3
|
2023-03-14 17:01:39 +02:00
|
|
|
CC = ./wasi-sdk/bin/clang
|
|
|
|
SYSROOT = ./wasi-sdk/share/wasi-sysroot
|
2020-04-17 19:19:02 +03:00
|
|
|
TARGET_TRIPLE = wasm32-wasi
|
2021-03-04 14:04:48 +03:00
|
|
|
CFLAGS = -fvisibility=hidden
|
2020-09-17 21:20:05 +03:00
|
|
|
SDK = sdk/logger.h
|
2021-03-04 14:04:48 +03:00
|
|
|
LDFLAGS = -Wl,--demangle,--allow-undefined
|
2019-08-17 17:06:23 +03:00
|
|
|
EXPORT_FUNCS = \
|
|
|
|
--export=allocate,$\
|
2021-04-12 00:15:26 +03:00
|
|
|
--export=release_objects,$\
|
2020-09-14 21:00:27 +03:00
|
|
|
--export=set_result_size,$\
|
|
|
|
--export=set_result_ptr,$\
|
|
|
|
--export=get_result_size,$\
|
|
|
|
--export=get_result_ptr,$\
|
2020-09-17 21:20:05 +03:00
|
|
|
--export=sqlite3_open_v2_,$\
|
|
|
|
--export=sqlite3_close,$\
|
|
|
|
--export=sqlite3_prepare_v2_,$\
|
|
|
|
--export=sqlite3_exec_,$\
|
|
|
|
--export=sqlite3_libversion_number,$\
|
|
|
|
--export=sqlite3_total_changes,$\
|
|
|
|
--export=sqlite3_changes,$\
|
|
|
|
--export=sqlite3_busy_timeout,$\
|
|
|
|
--export=sqlite3_errmsg_,$\
|
|
|
|
--export=sqlite3_errcode,$\
|
|
|
|
--export=sqlite3_column_type,$\
|
|
|
|
--export=sqlite3_column_name_,$\
|
|
|
|
--export=sqlite3_step,$\
|
|
|
|
--export=sqlite3_reset,$\
|
2021-04-22 19:48:39 +03:00
|
|
|
--export=sqlite3_bind_blob,$\
|
2020-09-17 21:20:05 +03:00
|
|
|
--export=sqlite3_bind_double,$\
|
|
|
|
--export=sqlite3_bind_int64,$\
|
2021-04-12 11:40:33 +03:00
|
|
|
--export=sqlite3_bind_text,$\
|
2020-09-17 21:20:05 +03:00
|
|
|
--export=sqlite3_bind_null,$\
|
|
|
|
--export=sqlite3_column_count,$\
|
|
|
|
--export=sqlite3_column_double,$\
|
|
|
|
--export=sqlite3_column_int64,$\
|
|
|
|
--export=sqlite3_column_blob_,$\
|
|
|
|
--export=sqlite3_column_bytes,$\
|
2023-02-24 00:41:00 +03:00
|
|
|
--export=sqlite3_soft_heap_limit64,$\
|
|
|
|
--export=sqlite3_hard_heap_limit64,$\
|
2020-09-17 21:20:05 +03:00
|
|
|
--export=sqlite3_finalize
|
2019-08-17 17:06:23 +03:00
|
|
|
SQLITE_SRC = \
|
|
|
|
src/alter.c\
|
|
|
|
src/analyze.c\
|
|
|
|
src/attach.c\
|
|
|
|
src/auth.c\
|
|
|
|
src/backup.c\
|
|
|
|
src/bitvec.c\
|
|
|
|
src/btmutex.c\
|
|
|
|
src/btree.c\
|
|
|
|
src/build.c\
|
|
|
|
src/callback.c\
|
|
|
|
src/complete.c\
|
|
|
|
src/ctime.c\
|
|
|
|
src/date.c\
|
2021-03-03 15:07:51 +03:00
|
|
|
src/demo_os.c\
|
|
|
|
src/demo_vfs.c\
|
2019-08-17 17:06:23 +03:00
|
|
|
src/dbpage.c\
|
|
|
|
src/dbstat.c\
|
|
|
|
src/delete.c\
|
|
|
|
src/expr.c\
|
|
|
|
src/fault.c\
|
|
|
|
src/fkey.c\
|
|
|
|
src/fts3.c\
|
|
|
|
src/fts3_write.c\
|
|
|
|
src/fts3_aux.c\
|
|
|
|
src/fts3_expr.c\
|
|
|
|
src/fts3_hash.c\
|
|
|
|
src/fts3_icu.c\
|
|
|
|
src/fts3_porter.c\
|
|
|
|
src/fts3_snippet.c\
|
|
|
|
src/fts3_tokenize_vtab.c\
|
|
|
|
src/fts3_tokenizer.c\
|
|
|
|
src/fts3_tokenizer1.c\
|
|
|
|
src/fts3_unicode.c\
|
|
|
|
src/fts3_unicode2.c\
|
|
|
|
src/fts5.c\
|
|
|
|
src/func.c\
|
|
|
|
src/global.c\
|
|
|
|
src/hash.c\
|
|
|
|
src/insert.c\
|
2023-02-13 13:19:43 +00:00
|
|
|
src/json.c\
|
2019-08-17 17:06:23 +03:00
|
|
|
src/legacy.c\
|
|
|
|
src/loadext.c\
|
|
|
|
src/main.c\
|
|
|
|
src/malloc.c\
|
|
|
|
src/memdb.c\
|
|
|
|
src/mem0.c\
|
|
|
|
src/mem1.c\
|
|
|
|
src/mem2.c\
|
|
|
|
src/memjournal.c\
|
|
|
|
src/notify.c\
|
|
|
|
src/opcodes.c\
|
|
|
|
src/os.c\
|
|
|
|
src/pager.c\
|
|
|
|
src/parse.c\
|
|
|
|
src/pcache.c\
|
|
|
|
src/pcache1.c\
|
|
|
|
src/pragma.c\
|
|
|
|
src/prepare.c\
|
|
|
|
src/printf.c\
|
|
|
|
src/random.c\
|
|
|
|
src/resolve.c\
|
|
|
|
src/rowset.c\
|
|
|
|
src/rtree.c\
|
|
|
|
src/select.c\
|
|
|
|
src/sqlite3session.c\
|
|
|
|
src/status.c\
|
|
|
|
src/stmt.c\
|
|
|
|
src/table.c\
|
|
|
|
src/tokenize.c\
|
|
|
|
src/treeview.c\
|
|
|
|
src/trigger.c\
|
|
|
|
src/update.c\
|
|
|
|
src/upsert.c\
|
|
|
|
src/userauth.c\
|
|
|
|
src/utf.c\
|
|
|
|
src/util.c\
|
|
|
|
src/vacuum.c\
|
|
|
|
src/vdbe.c\
|
|
|
|
src/vdbeapi.c\
|
|
|
|
src/vdbeaux.c\
|
|
|
|
src/vdbeblob.c\
|
|
|
|
src/vdbemem.c\
|
|
|
|
src/vdbesort.c\
|
|
|
|
src/vdbetrace.c\
|
2023-02-13 13:19:43 +00:00
|
|
|
src/vdbevtab.c\
|
2019-08-17 17:06:23 +03:00
|
|
|
src/vtab.c\
|
|
|
|
src/wal.c\
|
|
|
|
src/walker.c\
|
|
|
|
src/where.c\
|
|
|
|
src/wherecode.c\
|
|
|
|
src/whereexpr.c\
|
|
|
|
src/window.c
|
2019-07-19 15:12:49 +03:00
|
|
|
WRAPPER_SRC = src/wrapper.c
|
2019-08-17 17:06:23 +03:00
|
|
|
SQLITE_FLAGS = \
|
|
|
|
-DSQLITE_CORE\
|
|
|
|
-D_HAVE_SQLITE_CONFIG_H\
|
|
|
|
-DENABLE_LOG\
|
|
|
|
-DBUILD_sqlite\
|
|
|
|
-DNDEBUG\
|
2021-03-03 15:07:51 +03:00
|
|
|
-DSQLITE_OS_UNIX\
|
2019-08-17 17:06:23 +03:00
|
|
|
-DSQLITE_THREADSAFE=0\
|
|
|
|
-DHAVE_READLINE=0\
|
|
|
|
-DHAVE_EDITLINE=0\
|
|
|
|
-DSQLITE_OMIT_LOAD_EXTENSION\
|
|
|
|
-DSQLITE_ENABLE_FTS5\
|
|
|
|
-DSQLITE_ENABLE_RTREE\
|
|
|
|
-DSQLITE_ENABLE_EXPLAIN_COMMENTS\
|
|
|
|
-DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION\
|
|
|
|
-DSQLITE_ENABLE_STMTVTAB\
|
|
|
|
-DSQLITE_ENABLE_DBPAGE_VTAB\
|
|
|
|
-DSQLITE_ENABLE_DBSTAT_VTAB\
|
|
|
|
-DSQLITE_ENABLE_OFFSET_SQL_FUNC\
|
|
|
|
-DSQLITE_ENABLE_DESERIALIZE\
|
|
|
|
-DSQLITE_INTROSPECTION_PRAGMAS\
|
2021-04-12 12:30:51 +03:00
|
|
|
-DSQLITE_OMIT_POPEN\
|
|
|
|
-DCVECTOR_LOGARITHMIC_GROWTH
|
2019-07-19 15:12:49 +03:00
|
|
|
|
|
|
|
.PHONY: default all clean
|
|
|
|
|
|
|
|
default: $(TARGET)
|
|
|
|
all: default
|
|
|
|
|
2020-04-17 23:19:01 +03:00
|
|
|
$(TARGET): $(SQLITE_SRC) $(WRAPPER_SRC)
|
2019-08-14 01:20:56 +03:00
|
|
|
$(CC) -O3 --sysroot=$(SYSROOT) --target=$(TARGET_TRIPLE) $(SQLITE_FLAGS) $(CFLAGS) $(LDFLAGS) -Wl,$(EXPORT_FUNCS) $^ -o $@.wasm
|
2023-03-14 17:01:39 +02:00
|
|
|
marine set version -i ./sqlite3.wasm -v $(shell cat version.txt)
|
|
|
|
marine set it -i ./sqlite3.wasm -w sqlite3.wit
|
2019-07-19 15:12:49 +03:00
|
|
|
|
|
|
|
.PRECIOUS: $(TARGET)
|
|
|
|
|
|
|
|
clean:
|
2020-04-17 23:19:01 +03:00
|
|
|
-rm -f $(TARGET).wasm $(TARGET).wat
|