File tree 4 files changed +42
-21
lines changed
4 files changed +42
-21
lines changed Original file line number Diff line number Diff line change @@ -19,10 +19,9 @@ lto = true
19
19
20
20
[profile .wasm ]
21
21
inherits = " release"
22
- # Enabling LTO in WASM build gives:
23
- # warning: Linking globals named '__rust_alloc_error_handler': symbol multiply defined!
24
- # error: failed to load bitcode of module "sgnxivc9sns8d6t":
25
- lto = false
22
+
23
+ [profile .wasm_asyncify ]
24
+ inherits = " wasm"
26
25
27
26
[workspace .package ]
28
27
version = " 0.3.0"
Original file line number Diff line number Diff line change @@ -31,27 +31,10 @@ fn panic(_info: &core::panic::PanicInfo) -> ! {
31
31
#[ lang = "eh_personality" ]
32
32
extern "C" fn eh_personality ( ) { }
33
33
34
- #[ cfg( target_family = "wasm" ) ]
35
- #[ no_mangle]
36
- pub fn __rust_alloc_error_handler ( _: core:: alloc:: Layout ) -> ! {
37
- core:: intrinsics:: abort ( )
38
- }
39
-
40
- #[ cfg( target_family = "wasm" ) ]
41
- #[ no_mangle]
42
- static __rust_alloc_error_handler_should_panic: u8 = 0 ;
43
-
44
34
#[ cfg( target_family = "wasm" ) ]
45
35
#[ no_mangle]
46
36
static _CLOCK_PROCESS_CPUTIME_ID: i32 = 1 ;
47
37
48
38
#[ cfg( target_family = "wasm" ) ]
49
39
#[ no_mangle]
50
40
static _CLOCK_THREAD_CPUTIME_ID: i32 = 1 ;
51
-
52
- // Not used, but must be defined in some cases. Most notably when using native sqlite3 and loading
53
- // the extension.
54
- // #[allow(non_upper_case_globals)]
55
- // #[no_mangle]
56
- // pub static mut _Unwind_Resume: *mut core::ffi::c_void = core::ptr::null_mut();
57
-
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ set -e
3
+
4
+ # Normal build
5
+ # target/wasm32-unknown-emscripten/wasm/powersync.wasm
6
+ RUSTFLAGS=" -C link-arg=-sSIDE_MODULE=2" \
7
+ cargo build \
8
+ -p powersync_loadable \
9
+ --profile wasm \
10
+ --no-default-features \
11
+ --features " powersync_core/static powersync_core/omit_load_extension sqlite_nostd/omit_load_extension" \
12
+ -Z build-std=panic_abort,core,alloc \
13
+ --target wasm32-unknown-emscripten
14
+
15
+
16
+ # Asyncify
17
+ # target/wasm32-unknown-emscripten/wasm_asyncify/powersync.wasm
18
+ RUSTFLAGS=" -C link-arg=-sSIDE_MODULE=2 -C link-arg=-sASYNCIFY=1 -C link-arg=-sJSPI_IMPORTS=@wasm/asyncify_imports.json" \
19
+ cargo build \
20
+ -p powersync_loadable \
21
+ --profile wasm_asyncify \
22
+ --no-default-features \
23
+ --features " powersync_core/static powersync_core/omit_load_extension sqlite_nostd/omit_load_extension" \
24
+ -Z build-std=panic_abort,core,alloc \
25
+ --target wasm32-unknown-emscripten
Original file line number Diff line number Diff line change
1
+ [
2
+ " sqlite3_close" ,
3
+ " sqlite3_finalize" ,
4
+ " sqlite3_open_v2" ,
5
+ " sqlite3_prepare" ,
6
+ " sqlite3_prepare16" ,
7
+ " sqlite3_prepare_v2" ,
8
+ " sqlite3_prepare16_v2" ,
9
+ " sqlite3_prepare_v3" ,
10
+ " sqlite3_prepare16_v3" ,
11
+ " sqlite3_reset" ,
12
+ " sqlite3_step" ,
13
+ " sqlite3_exec"
14
+ ]
You can’t perform that action at this time.
0 commit comments