add 'shared wasi' to build.bqn; redirect all wasm targets to build.bqn
This commit is contained in:
parent
2f59dec8b7
commit
21ed8f77a7
@ -165,8 +165,12 @@ po ← { # parsed options
|
||||
tui ⇐ ¬GetOpt "notui"
|
||||
{𝕊: _verboseLog ↩ {Log𝕨𝔽𝕩⋄𝕩}}⍟⊢ verbose⇐GetOpt "verbose"
|
||||
|
||||
Max1 ← {𝕩 {𝕊: a‿b←2↑𝕩/𝕨 ⋄ ∾⟨"Error: '",a,"' and '",b,"' cannot both be enabled"⟩}_assert_(1≥+´) GetOpt¨ 𝕩}
|
||||
Max1 "REPLXX"‿"shared"‿"wasi"‿"emcc"
|
||||
ErrBoth ← {a‿b: ∾⟨"Error: '",a,"' and '",b,"' cannot both be enabled"⟩}
|
||||
Max1 ← {𝕩 ErrBoth∘(2↑/˜) _assert_(1≥+´) GetOpt¨ 𝕩}
|
||||
NotWith ← {¬GetOpt 𝕨?@; ErrBoth∘(𝕨⋈0⊑/⟜𝕩) _assert_(¬∨´) GetOpt¨ 𝕩}
|
||||
|
||||
Max1 "REPLXX"‿"wasi"‿"emcc"
|
||||
"shared" NotWith "REPLXX"‿"emcc"
|
||||
|
||||
|
||||
shared ← GetOpt "shared"
|
||||
@ -176,7 +180,7 @@ po ← { # parsed options
|
||||
usz ⇐ •ParseFloat GetOpt "usz"
|
||||
{𝕊: "Error: usz can only be 32 or 64"}_assert_⊢ ⊑usz∊32‿64
|
||||
versionName ← {compat ∧ shared? @; "0"⊸≡◶⊢‿@ GetOpt "v"}
|
||||
{𝕊: "Error: Specifying version for shared build is useless"}_assert_¬ shared ∧ versionName≢@
|
||||
{𝕊: "Error: Specifying version for shared build is useless"}_assert_¬ shared ∧ versionName≢""
|
||||
wasm ⇐ wasi∨emcc
|
||||
|
||||
cc ← {emcc? "emcc"; "clang"} DOpt "CC"
|
||||
@ -308,7 +312,7 @@ po ← { # parsed options
|
||||
singeliFlags ← GetOpt "sf"
|
||||
|
||||
Linker ⇐ { 𝕊:
|
||||
rdynamic ← exportSymbols ∧ ¬windows
|
||||
rdynamic ← (¬wasi) ∧ exportSymbols ∧ ¬windows
|
||||
args ← ⟨{replxx? cxx; cc} DOpt "LD"⟩
|
||||
args∾↩ defLibs / ⟨"-lm"⟩
|
||||
args∾↩ ⟨⟩ DOpt "LD_LIBS"
|
||||
@ -317,12 +321,13 @@ po ← { # parsed options
|
||||
args∾↩ GetOpt "lf"
|
||||
args∾↩ GetOpt "CCFLAGS"
|
||||
args∾↩ GetOpt "LDFLAGS"
|
||||
args∾↩ ( wasi) / ⟨"-lwasi-emulated-mman", "--target=wasm32-wasi", "-Wl,-z,stack-size=8388608", "-Wl,--initial-memory=67108864"⟩
|
||||
args∾↩ ( emcc) / ⟨"-s", "EXPORTED_FUNCTIONS=_main,_cbqn_runLine,_cbqn_evalSrc", "-s", "EXPORTED_RUNTIME_METHODS=ccall,cwrap", "-s", "ALLOW_MEMORY_GROWTH=1"⟩
|
||||
args∾↩ ( wasi) / ⟨"-lwasi-emulated-mman", "--target=wasm32-wasi", "-Wl,-z,stack-size=8388608", "-Wl,--initial-memory=67108864"⟩
|
||||
args∾↩ (shared ∧ wasi) / ⟨"-mexec-model=reactor", "-Wl,--export-dynamic", "-Wl,--export=malloc", "-Wl,--export=free"⟩
|
||||
args∾↩ (shared ∧¬wasi) / ⟨"-shared"⟩
|
||||
args∾↩ ( rdynamic) / ⟨"-rdynamic"⟩
|
||||
args∾↩ ( ¬pie) / ⟨"-no-pie"⟩
|
||||
args∾↩ ((¬wasm)∧ ¬pie) / ⟨"-no-pie"⟩
|
||||
args∾↩ (pie ∧ ¬shared) / ⟨"-fPIE", "-pie"⟩
|
||||
args∾↩ ( shared) / ⟨"-shared"⟩
|
||||
args∾↩ ( windows) / ⟨"-lpthread"⟩
|
||||
args ↩ args (¬∘∊/⊣) GetOpt "rm_lf"
|
||||
{"linker: "∾•Repr 𝕩} _verboseLog args
|
||||
|
||||
6
makefile
6
makefile
@ -20,11 +20,11 @@ rtverify:
|
||||
heapverify:
|
||||
@"${MAKE}" i_singeli=0 i_t=heapverify i_f="-DDEBUG -g -DHEAP_VERIFY" run_incremental_0
|
||||
wasi-o3:
|
||||
@"${MAKE}" i_singeli=0 i_t=wasi_o3 i_OUTPUT_DEF=BQN.wasm i_f="-DWASM -DWASI -DNO_MMAP -O3 -DCATCH_ERRORS=0 -D_WASI_EMULATED_MMAN --target=wasm32-wasi" i_lf="-lwasi-emulated-mman --target=wasm32-wasi -Wl,-z,stack-size=8388608 -Wl,--initial-memory=67108864" i_LIBS_LD= i_PIE= i_FFI=0 run_incremental_0
|
||||
@"${MAKE}" to-bqn-build REPLXX=0 i_build_opts="wasi"
|
||||
wasi-reactor-o3:
|
||||
@"${MAKE}" i_singeli=0 i_t=wasi_o3 i_SHARED=1 i_OUTPUT_DEF=BQN.wasm i_f="-DWASM -DWASI -DNO_MMAP -O3 -DCATCH_ERRORS=0 -D_WASI_EMULATED_MMAN --target=wasm32-wasi" i_lf="-lwasi-emulated-mman --target=wasm32-wasi -Wl,-z,stack-size=8388608 -Wl,--initial-memory=67108864 -mexec-model=reactor -Wl,--export-dynamic -Wl,--export=malloc -Wl,--export=free" i_LIBS_LD= i_PIE= i_FFI=0 run_incremental_0
|
||||
@"${MAKE}" to-bqn-build REPLXX=0 i_build_opts="wasi" i_SHARED=1
|
||||
emcc-o3:
|
||||
@"${MAKE}" i_singeli=0 i_t=emcc_o3 i_OUTPUT_DEF=. i_emcc=1 CC=emcc i_f='-DWASM -DEMCC -O3' i_lf='-s EXPORTED_FUNCTIONS=_main,_cbqn_runLine,_cbqn_evalSrc -s EXPORTED_RUNTIME_METHODS=ccall,cwrap -s ALLOW_MEMORY_GROWTH=1' i_FFI=0 run_incremental_0
|
||||
@"${MAKE}" to-bqn-build REPLXX=0 i_build_opts="emcc"
|
||||
for-build:
|
||||
@"${MAKE}" i_singeli=0 i_CC=cc REPLXX=0 i_t=forbuild i_f="-O2 -DFOR_BUILD" i_FFI=0 i_OUTPUT_DEF=build/obj2/for_build2 run_incremental_0
|
||||
for-bootstrap:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user