You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -327,6 +327,16 @@ Options that are modified or new in %s include:
327
327
llvm-link's behavior is not as permissive
328
328
as ld is.
329
329
330
+
--jcache Use a JavaScript cache. This is disabled by
331
+
default. When enabled, emcc will store the
332
+
results of compilation in a cache and check
333
+
the cache when compiling later, something
334
+
like what ccache does. This allows incremental
335
+
builds - where you are compiling a large
336
+
program but only modified a small part of it -
337
+
to be much faster (at the cost of more disk
338
+
IO for cache accesses).
339
+
330
340
--clear-cache Manually clears the cache of compiled
331
341
emscripten system libraries (libc++,
332
342
libc++abi, dlmalloc). This is normally
@@ -336,7 +346,10 @@ Options that are modified or new in %s include:
336
346
mechanism can get confused. Clearing the
337
347
cache can fix weird problems related to
338
348
cache incompatibilities, like clang failing
339
-
to link with library files.
349
+
to link with library files. This also clears
350
+
other cached data like the jcache and
351
+
the bootstrapped relooper. After the cache
352
+
is cleared, this process will exit.
340
353
341
354
The target file, if specified (-o <target>), defines what will
342
355
be generated:
@@ -571,6 +584,7 @@ try:
571
584
remove_duplicates=False
572
585
keep_debug=False
573
586
bind=False
587
+
jcache=False
574
588
575
589
defcheck_bad_eq(arg):
576
590
assert'='notinarg, 'Invalid parameter (do not use "=" with "--" options)'
@@ -678,10 +692,14 @@ try:
678
692
elifnewargs[i] =='--remove-duplicates':
679
693
remove_duplicates=True
680
694
newargs[i] =''
695
+
elifnewargs[i] =='--jcache':
696
+
jcache=True
697
+
newargs[i] =''
681
698
elifnewargs[i] =='--clear-cache':
682
699
newargs[i] =''
683
700
print>>sys.stderr, 'emcc: clearing cache'
684
701
shared.Cache.erase()
702
+
sys.exit(0)
685
703
elifnewargs[i].startswith(('-I/', '-L/')):
686
704
ifnotabsolute_warning_shown:
687
705
print>>sys.stderr, 'emcc: warning: -I or -L of an absolute path encountered. If this is to a local system header/library, it may cause problems (local system files make sense for compiling natively on your system, but not necessarily to JavaScript)'# Of course an absolute path to a non-system-specific library or header is fine, and you can ignore this warning. The danger are system headers that are e.g. x86 specific and nonportable. The emscripten bundled headers are modified to be portable, local system ones are generally not
0 commit comments