aboutsummaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xbuild34
1 files changed, 22 insertions, 12 deletions
diff --git a/build b/build
index 0376656..b3f0800 100755
--- a/build
+++ b/build
@@ -129,9 +129,12 @@ CPPFLAGS="-std=c++20 -pthread"
129# Build flags for emscripten (WASM target) 129# Build flags for emscripten (WASM target)
130WASMCFLAGS="-std=c11 -fPIC -D_POSIX_C_SOURCE=199309L -pthread" 130WASMCFLAGS="-std=c11 -fPIC -D_POSIX_C_SOURCE=199309L -pthread"
131WASMMFLAGS="-DTHREADS=$THREADS -DWASMSIMD" 131WASMMFLAGS="-DTHREADS=$THREADS -DWASMSIMD"
132#WASMLINKFLAGS="--no-entry -sEXPORT_NAME='Nissy' -sMODULARIZE \
133# -sALLOW_MEMORY_GROWTH -sSTACK_SIZE=5MB -sPTHREAD_POOL_SIZE=$THREADS \
134# -sNODERAWFS -sASYNCIFY -sLINKABLE -sEXPORT_ALL"
132WASMLINKFLAGS="--no-entry -sEXPORT_NAME='Nissy' -sMODULARIZE \ 135WASMLINKFLAGS="--no-entry -sEXPORT_NAME='Nissy' -sMODULARIZE \
133 -sALLOW_MEMORY_GROWTH -sSTACK_SIZE=5MB -sPTHREAD_POOL_SIZE=$THREADS \ 136 -sALLOW_MEMORY_GROWTH -sSTACK_SIZE=5MB -sPTHREAD_POOL_SIZE=$THREADS \
134 -sLINKABLE -sEXPORT_ALL" 137 -sASYNCIFY -sLINKABLE -sEXPORT_ALL"
135 138
136if (command -v "python3-config" >/dev/null 2>&1) ; then 139if (command -v "python3-config" >/dev/null 2>&1) ; then
137 PYTHON3_INCLUDES="$(python3-config --includes)" 140 PYTHON3_INCLUDES="$(python3-config --includes)"
@@ -207,7 +210,7 @@ odflags() {
207 210
208build_clean() { 211build_clean() {
209 run rm -rf -- *.o *.so *.a run runtest runtool runcpp \ 212 run rm -rf -- *.o *.so *.a run runtest runtool runcpp \
210 web/nissy_web_module.* 213 web/nissy_web_module.* web/*.wasm web/http/*.mjs web/http/*.wasm
211} 214}
212 215
213build_nissy() { 216build_nissy() {
@@ -233,7 +236,7 @@ build_sharedlib() {
233} 236}
234 237
235build_shell() { 238build_shell() {
236 build_nissy 239 build_nissy || exit 1
237 run $CC $CFLAGS $WFLAGS $(odflags) -o run nissy.o shell/shell.c 240 run $CC $CFLAGS $WFLAGS $(odflags) -o run nissy.o shell/shell.c
238} 241}
239 242
@@ -243,7 +246,7 @@ build_python() {
243 echo "Cannot build python module" 246 echo "Cannot build python module"
244 exit 1 247 exit 1
245 fi 248 fi
246 build_nissy 249 build_nissy || exit 1
247 run $CC $CFLAGS $WFLAGS $PYTHON3_INCLUDES $(odflags) -shared \ 250 run $CC $CFLAGS $WFLAGS $PYTHON3_INCLUDES $(odflags) -shared \
248 -o nissy_python_module.so nissy.o python/nissy_module.c 251 -o nissy_python_module.so nissy.o python/nissy_module.c
249} 252}
@@ -255,7 +258,7 @@ build_cpp() {
255 echo "usage: ./build cpp FILES" 258 echo "usage: ./build cpp FILES"
256 fi 259 fi
257 260
258 build_nissy 261 build_nissy || exit 1
259 run $CXX -std=c++20 -o runcpp cpp/nissy.cpp nissy.o $@ 262 run $CXX -std=c++20 -o runcpp cpp/nissy.cpp nissy.o $@
260 run ./runcpp 263 run ./runcpp
261} 264}
@@ -265,13 +268,20 @@ build_web() {
265 validate_threads "$THREADS" 268 validate_threads "$THREADS"
266 validate_arch "$ARCH" 269 validate_arch "$ARCH"
267 270
271 obj="nissy_web_module"
272
268 run $EMCC $WASMCFLAGS $WFLAGS $WASMMFLAGS $(odflags) -c \ 273 run $EMCC $WASMCFLAGS $WFLAGS $WASMMFLAGS $(odflags) -c \
269 -o nissy.o src/nissy.c 274 -o nissy.o src/nissy.c || exit 1
270 run $EMCC -lembind -lidbfs.js -lnodefs.js \ 275 #run $EMCC -lembind -lidbfs.js -lnodefs.js -lnoderawfs.js \
276 # $CPPFLAGS $(odflags) $WASMLINKFLAGS \
277 # --js-library web/callback.js -o web/"$obj".mjs \
278 # cpp/nissy.cpp web/storage.cpp web/adapter.cpp nissy.o
279 run $EMCC -lembind -lidbfs.js \
271 $CPPFLAGS $(odflags) $WASMLINKFLAGS \ 280 $CPPFLAGS $(odflags) $WASMLINKFLAGS \
272 --js-library web/callback.js \ 281 --js-library web/callback.js -o web/"$obj".mjs \
273 -o web/nissy_web_module.mjs \ 282 cpp/nissy.cpp web/storage.cpp web/adapter.cpp nissy.o || exit 1
274 cpp/nissy.cpp web/adapter.cpp nissy.o 283 cp web/"$obj".mjs web/http
284 cp web/"$obj".wasm web/http
275} 285}
276 286
277dotest() { 287dotest() {
@@ -310,7 +320,7 @@ build_test_generic() {
310 shift 320 shift
311 fi 321 fi
312 debug="yes" 322 debug="yes"
313 build_$obj 323 build_$obj || exit 1
314 for t in test/*; do 324 for t in test/*; do
315 dotest || exit 1 325 dotest || exit 1
316 done 326 done
@@ -323,7 +333,7 @@ build_test() {
323 testbuild="$CC $CFLAGS $WFLAGS $DFLAGS $MFLAGS -o $testobj" 333 testbuild="$CC $CFLAGS $WFLAGS $DFLAGS $MFLAGS -o $testobj"
324 testrun="./$testobj" 334 testrun="./$testobj"
325 build_test_generic $@ 335 build_test_generic $@
326 rm runtest 336 rm -f runtest
327} 337}
328 338
329build_webtest() { 339build_webtest() {

Generated with cgit - Back to sebastiano.tronto.net