|
21 | 21 |
|
22 | 22 | Usage: |
23 | 23 |
|
24 | | - file_packager TARGET [--preload A [B..]] [--embed C [D..]] [--exclude E [F..]]] [--js-output=OUTPUT.js] [--no-force] [--use-preload-cache] [--indexedDB-name=EM_PRELOAD_CACHE] [--separate-metadata] [--lz4] [--use-preload-plugins] [--no-node] |
| 24 | + file_packager TARGET [--preload A [B..]] [--embed C [D..]] [--exclude E [F..]] [--js-output=OUTPUT.js] [--no-force] [--use-preload-cache] [--indexedDB-name=EM_PRELOAD_CACHE] [--separate-metadata] [--lz4] [--use-preload-plugins] [--no-node] [--help] |
25 | 25 |
|
26 | 26 | --preload , |
27 | 27 | --embed See emcc --help for more details on those options. |
@@ -129,7 +129,6 @@ def __init__(self): |
129 | 129 | self.use_preload_plugins = False |
130 | 130 | self.support_node = True |
131 | 131 | self.wasm64 = False |
132 | | - self.modularize = False |
133 | 132 |
|
134 | 133 |
|
135 | 134 | class DataFile: |
@@ -159,8 +158,7 @@ def has_hidden_attribute(filepath): |
159 | 158 | return False |
160 | 159 |
|
161 | 160 | try: |
162 | | - attrs = ctypes.windll.kernel32.GetFileAttributesW( |
163 | | - '%s' % filepath) |
| 161 | + attrs = ctypes.windll.kernel32.GetFileAttributesW(filepath) |
164 | 162 | assert attrs != -1 |
165 | 163 | result = bool(attrs & 2) |
166 | 164 | except Exception: |
@@ -320,8 +318,6 @@ def generate_object_file(data_files): |
320 | 318 | # A list of triples of: |
321 | 319 | # (file_name_ptr, file_data_size, file_data_ptr) |
322 | 320 | # The list in null terminate with a single 0 |
323 | | - .globl __emscripten_embedded_file_data |
324 | | - .export_name __emscripten_embedded_file_data, __emscripten_embedded_file_data |
325 | 321 | .section .rodata.__emscripten_embedded_file_data,"",@ |
326 | 322 | __emscripten_embedded_file_data: |
327 | 323 | .p2align {align} |
@@ -366,16 +362,26 @@ def main(): # noqa: C901, PLR0912, PLR0915 |
366 | 362 | To revalidate these numbers, run `ruff check --select=C901,PLR091`. |
367 | 363 | """ |
368 | 364 | if len(sys.argv) == 1: |
369 | | - err('''Usage: file_packager TARGET [--preload A [B..]] [--embed C [D..]] [--exclude E [F..]]] [--js-output=OUTPUT.js] [--no-force] [--use-preload-cache] [--indexedDB-name=EM_PRELOAD_CACHE] [--separate-metadata] [--lz4] [--use-preload-plugins] [--no-node] |
370 | | - See the source for more details.''') |
| 365 | + err('''Usage: file_packager TARGET [--preload A [B..]] [--embed C [D..]] [--exclude E [F..]] [--js-output=OUTPUT.js] [--no-force] [--use-preload-cache] [--indexedDB-name=EM_PRELOAD_CACHE] [--separate-metadata] [--lz4] [--use-preload-plugins] [--no-node] [--help] |
| 366 | + Try 'file_packager --help' for more details.''') |
371 | 367 | return 1 |
372 | 368 |
|
373 | | - data_target = sys.argv[1] |
| 369 | + # read response files very early on |
| 370 | + try: |
| 371 | + args = substitute_response_files(sys.argv[1:]) |
| 372 | + except OSError as e: |
| 373 | + shared.exit_with_error(e) |
| 374 | + |
| 375 | + if '--help' in args: |
| 376 | + print(__doc__.strip()) |
| 377 | + return 0 |
| 378 | + |
| 379 | + data_target = args[0] |
374 | 380 | data_files = [] |
375 | 381 | plugins = [] |
376 | 382 | leading = '' |
377 | 383 |
|
378 | | - for arg in sys.argv[2:]: |
| 384 | + for arg in args[1:]: |
379 | 385 | if arg == '--preload': |
380 | 386 | leading = 'preload' |
381 | 387 | elif arg == '--embed': |
@@ -629,19 +635,19 @@ def generate_js(data_target, data_files, metadata): |
629 | 635 | ret = ''' |
630 | 636 | var Module = typeof %(EXPORT_NAME)s != 'undefined' ? %(EXPORT_NAME)s : {};\n''' % {"EXPORT_NAME": options.export_name} |
631 | 637 |
|
632 | | - ret += ''' |
| 638 | + ret += ''' |
633 | 639 | Module['expectedDataFileDownloads'] ??= 0; |
634 | 640 | Module['expectedDataFileDownloads']++;''' |
635 | 641 |
|
636 | 642 | if not options.modularize: |
637 | | - ret += ''' |
| 643 | + ret += ''' |
638 | 644 | (() => {''' |
639 | 645 |
|
640 | | - ret += ''' |
641 | | - // Do not attempt to redownload the virtual filesystem data when in a pthread or a Wasm Worker context. |
642 | | - var isPthread = typeof ENVIRONMENT_IS_PTHREAD != 'undefined' && ENVIRONMENT_IS_PTHREAD; |
643 | | - var isWasmWorker = typeof ENVIRONMENT_IS_WASM_WORKER != 'undefined' && ENVIRONMENT_IS_WASM_WORKER; |
644 | | - if (isPthread || isWasmWorker) return;\n''' |
| 646 | + ret += ''' |
| 647 | + // Do not attempt to redownload the virtual filesystem data when in a pthread or a Wasm Worker context. |
| 648 | + var isPthread = typeof ENVIRONMENT_IS_PTHREAD != 'undefined' && ENVIRONMENT_IS_PTHREAD; |
| 649 | + var isWasmWorker = typeof ENVIRONMENT_IS_WASM_WORKER != 'undefined' && ENVIRONMENT_IS_WASM_WORKER; |
| 650 | + if (isPthread || isWasmWorker) return;\n''' |
645 | 651 |
|
646 | 652 | if options.support_node: |
647 | 653 | ret += " var isNode = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string';\n" |
|
0 commit comments