~/Workshop/cl-sources/ecl/ecl-emscripten $ ~/Workshop/cl-sources/ecl/ecl-emscripten $ ls COPYING asdf.fas ecl-cdb.fas ecl.js libasdf.a libserve-event.a serve-event.fas LICENSE build-stamp ecl-config ecl.wasm libecl-cdb.a package-locks.asd share TAGS dpp.html ecl-help.asd ecl_min.html libecl-help.a package-locks.fas target-info.lsp alexandria ecl ecl-help.fas encodings libecl.so prebuilt-asdf.asd alexandria.wasm ecl-cdb.asd ecl.html help.doc libpackage-locks.a serve-event.asd ~/Workshop/cl-sources/ecl/ecl-emscripten $ file alexandria alexandria: JavaScript source, Unicode text, UTF-8 text, with very long lines (401) ~/Workshop/cl-sources/ecl/ecl-emscripten $ file alexandria.wasm alexandria.wasm: WebAssembly (wasm) binary module version 0x1 (MVP) ~/Workshop/cl-sources/ecl/ecl-emscripten $ cat ../hacks/cc-test.lisp (in-package "CL-USER") ;;; smoke-test (with-compilation-unit (:target "/home/jack/Workshop/cl-sources/ecl/ecl-emscripten/target-info.lsp") (compile-file "/home/jack/Workshop/cl-sources/ecl/hacks/files/smoke.lisp")) (progn (setf (slot-value (asdf:make-operation :compile-op) 'asdf:selfward-operation) 'asdf:prepare-source-op) #+ (or) (setf asdf:*load-system-operation* 'asdf:load-source-op) ;not needed (asdf:disable-output-translations) ; disable cache ) (with-compilation-unit (:target "/home/jack/Workshop/cl-sources/ecl/ecl-emscripten/target-info.lsp") (asdf:compile-system "alexandria")) (with-compilation-unit (:target "/home/jack/Workshop/cl-sources/ecl/ecl-emscripten/target-info.lsp") (let ((workdir "/home/jack/Workshop/cl-sources/ecl/hacks/files/")) (asdf:make-build "alexandria" :type :program :monolithic t :epilogue-code '(progn (format t "Hello world! ~a~%" (alexandria:iota 4)) (si:exit)) :move-here workdir))) ~/Workshop/cl-sources/ecl/ecl-emscripten $ node alexandria warning: unsupported syscall: __syscall_prlimit64 Hello world! (0 1 2 3) program exited (with status: 0), but keepRuntimeAlive() is set (counter=0) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)