better multimodules support for Rust backend

This commit is contained in:
vms 2019-08-14 17:58:50 +03:00
parent dddce7bf93
commit 24978af696
3 changed files with 22 additions and 2 deletions

View File

@ -4,7 +4,7 @@ SYSROOT = /opt/wasi-sdk/share/wasi-sysroot
TARGET_TRIPLE = wasm32-unknown-wasi
CFLAGS = -nostartfiles -fvisibility=hidden
LDFLAGS = -Wl,--no-entry,--demangle,--allow-undefined
EXPORT_FUNCS = --export=allocate,--export=deallocate,--export=invoke,--export=load,--export=store
EXPORT_FUNCS = --export=allocate,--export=deallocate,--export=invoke,--export=load,--export=store,--export=sqlite_allocate,--export=sqlite_deallocate,--export=sqlite_invoke,--export=sqlite_load,--export=sqlite_store
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 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 src/json1.c 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 src/vtab.c src/wal.c src/walker.c src/where.c src/wherecode.c src/whereexpr.c src/window.c
WRAPPER_SRC = src/wrapper.c
SQLITE_FLAGS = -DSQLITE_CORE -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -DSQLITE_THREADSAFE=0 -DHAVE_READLINE=0 -DHAVE_EDITLINE=0 -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_ENABLE_JSON1 -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 -DSQLITE_OMIT_POPEN

View File

@ -1,6 +1,6 @@
# SQLite
Sqlite fork ported to WebAssembly.
Sqlite fork ported to WebAssembly and adapted for the Fluence network.
# How to build

View File

@ -19,18 +19,34 @@ void store(char *ptr, unsigned char byte) {
*ptr = byte;
}
void sqlite_store(char *ptr, unsigned char byte) {
store(ptr, byte);
}
unsigned char load(const unsigned char *ptr) {
return *ptr;
}
unsigned char sqlite_load(const unsigned char *ptr) {
return load(ptr);
}
void* allocate(size_t size) {
return malloc(size + 1);
}
void* sqlite_allocate(size_t size) {
return allocate(size);
}
void deallocate(void *ptr, int size) {
free(ptr);
}
void sqlite_deallocate(void *ptr, int size) {
deallocate(ptr, size);
}
char *write_response(char *response, int response_size) {
char *result_response = allocate(response_size + 4);
@ -151,3 +167,7 @@ const char *invoke(char *request, int request_size) {
return response;
}
const char *sqlite_invoke(char *request, int request_size) {
return invoke(request, request_size);
}