| 43 | } |
| 44 | |
| 45 | function calculateLibraries() { |
| 46 | // Core system libraries (always linked against) |
| 47 | let libraries = [ |
| 48 | 'libint53.js', |
| 49 | 'libcore.js', |
| 50 | 'libsigs.js', |
| 51 | 'libccall.js', |
| 52 | 'libaddfunction.js', |
| 53 | 'libgetvalue.js', |
| 54 | 'libmath.js', |
| 55 | 'libpath.js', |
| 56 | 'libstrings.js', |
| 57 | 'libhtml5.js', |
| 58 | 'libstack_trace.js', |
| 59 | 'libwasi.js', |
| 60 | 'libeventloop.js', |
| 61 | 'libpromise.js', |
| 62 | ]; |
| 63 | |
| 64 | if (LINK_AS_CXX) { |
| 65 | if (DISABLE_EXCEPTION_THROWING && !WASM_EXCEPTIONS) { |
| 66 | libraries.push('libexceptions_stub.js'); |
| 67 | } else { |
| 68 | libraries.push('libexceptions.js'); |
| 69 | } |
| 70 | } |
| 71 | |
| 72 | if (!MINIMAL_RUNTIME) { |
| 73 | libraries.push('libbrowser.js'); |
| 74 | libraries.push('libwget.js'); |
| 75 | } |
| 76 | |
| 77 | if (!STANDALONE_WASM) { |
| 78 | libraries.push('libtime.js'); |
| 79 | } |
| 80 | |
| 81 | if (SUPPORT_BASE64_EMBEDDING || ENVIRONMENT_MAY_BE_SHELL) { |
| 82 | libraries.push('libbase64.js'); |
| 83 | } |
| 84 | |
| 85 | if (AUTODEBUG) { |
| 86 | libraries.push('libautodebug.js'); |
| 87 | } |
| 88 | |
| 89 | if (!WASMFS) { |
| 90 | libraries.push('libsyscall.js'); |
| 91 | } |
| 92 | |
| 93 | if (MAIN_MODULE) { |
| 94 | libraries.push('libdylink.js'); |
| 95 | } |
| 96 | |
| 97 | if (FILESYSTEM) { |
| 98 | libraries.push('libfs_shared.js'); |
| 99 | if (WASMFS) { |
| 100 | libraries.push( |
| 101 | 'libwasmfs.js', |
| 102 | 'libwasmfs_js_file.js', |