aboutsummaryrefslogtreecommitdiffstats
path: root/testing/emscripten/add-global-cache.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/emscripten/add-global-cache.patch')
-rw-r--r--testing/emscripten/add-global-cache.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/testing/emscripten/add-global-cache.patch b/testing/emscripten/add-global-cache.patch
new file mode 100644
index 0000000000..710d842e47
--- /dev/null
+++ b/testing/emscripten/add-global-cache.patch
@@ -0,0 +1,33 @@
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Mon, 3 Apr 2017 20:49:00 +0200
+Subject: [PATCH] Add support for global r/o cache of prebuilt libraries
+
+--- a/tools/cache.py
++++ b/tools/cache.py
+@@ -29,9 +29,12 @@
+
+ if use_subdir:
+ if os.environ.get('EMCC_WASM_BACKEND') and os.environ.get('EMCC_WASM_BACKEND') != '0':
+- dirname = os.path.join(dirname, 'wasm')
++ self.subdir = 'wasm'
+ else:
+- dirname = os.path.join(dirname, 'asmjs')
++ self.subdir = 'asmjs'
++ dirname = os.path.join(dirname, self.subdir)
++ else:
++ self.subdir = ''
+ self.dirname = dirname
+ self.debug = debug
+
+@@ -90,6 +93,11 @@
+ if what is None:
+ if shortname.endswith(('.bc', '.so', '.a')): what = 'system library'
+ else: what = 'system asset'
++ if shared.GLOBAL_CACHE_DIR and os.getenv('EM_USE_GLOBAL_CACHE') == '1' and not force:
++ path = os.path.join(shared.GLOBAL_CACHE_DIR, self.subdir, shortname)
++ if os.path.exists(path):
++ logging.info('using %s: %s from global cache: %s' % (what, shortname, path))
++ return path
+ message = 'generating ' + what + ': ' + shortname + '... (this will be cached in "' + cachename + '" for subsequent builds)'
+ logging.info(message)
+ self.ensure()