diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2025-05-23 17:06:02 +0200 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2025-05-23 17:06:02 +0200 |
| commit | ecb04c6b7fbf5d06c2fdce5128e83575cac2bd21 (patch) | |
| tree | 3946a99938c10b61f7822c715771c3529400cebc /build | |
| parent | c6a77f30f64be73a5e55e06336975f2ecfbb2324 (diff) | |
| download | nissy-core-ecb04c6b7fbf5d06c2fdce5128e83575cac2bd21.tar.gz nissy-core-ecb04c6b7fbf5d06c2fdce5128e83575cac2bd21.zip | |
Web version (work in progress)
Diffstat (limited to '')
| -rwxr-xr-x | build | 34 |
1 files changed, 22 insertions, 12 deletions
| @@ -129,9 +129,12 @@ CPPFLAGS="-std=c++20 -pthread" | |||
| 129 | # Build flags for emscripten (WASM target) | 129 | # Build flags for emscripten (WASM target) |
| 130 | WASMCFLAGS="-std=c11 -fPIC -D_POSIX_C_SOURCE=199309L -pthread" | 130 | WASMCFLAGS="-std=c11 -fPIC -D_POSIX_C_SOURCE=199309L -pthread" |
| 131 | WASMMFLAGS="-DTHREADS=$THREADS -DWASMSIMD" | 131 | WASMMFLAGS="-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" | ||
| 132 | WASMLINKFLAGS="--no-entry -sEXPORT_NAME='Nissy' -sMODULARIZE \ | 135 | WASMLINKFLAGS="--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 | ||
| 136 | if (command -v "python3-config" >/dev/null 2>&1) ; then | 139 | if (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 | ||
| 208 | build_clean() { | 211 | build_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 | ||
| 213 | build_nissy() { | 216 | build_nissy() { |
| @@ -233,7 +236,7 @@ build_sharedlib() { | |||
| 233 | } | 236 | } |
| 234 | 237 | ||
| 235 | build_shell() { | 238 | build_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 | ||
| 277 | dotest() { | 287 | dotest() { |
| @@ -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 | ||
| 329 | build_webtest() { | 339 | build_webtest() { |
