aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJukka Jylänki <jujjyl@gmail.com>2013-12-05 16:27:02 +0200
committerJukka Jylänki <jujjyl@gmail.com>2013-12-13 13:47:49 +0200
commit93f2e138610d735cbae7004d43f1370abeae101e (patch)
treeb3e5156d51a8b265edccc06bb335350a59c19eb5 /tools
parent3e061d95104b88d6209d892bbda24e18a1539073 (diff)
Add new emcc command line parameter --em-config that allows specifying the location of the .emscripten configuration file from the command line. This overrides and has the same meaning as the environment variable EM_CONFIG.
Diffstat (limited to 'tools')
-rw-r--r--tools/shared.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/tools/shared.py b/tools/shared.py
index 3456ab18..e4fb7e08 100644
--- a/tools/shared.py
+++ b/tools/shared.py
@@ -176,13 +176,25 @@ if WINDOWS:
else:
logging.StreamHandler.emit = add_coloring_to_emit_ansi(logging.StreamHandler.emit)
-# Emscripten configuration is done through the EM_CONFIG environment variable.
-# If the string value contained in this environment variable contains newline
-# separated definitions, then these definitions will be used to configure
+# Emscripten configuration is done through the --em-config command line option or
+# the EM_CONFIG environment variable. If the specified string value contains newline
+# or semicolon-separated definitions, then these definitions will be used to configure
# Emscripten. Otherwise, the string is understood to be a path to a settings
# file that contains the required definitions.
-EM_CONFIG = os.environ.get('EM_CONFIG')
+try:
+ EM_CONFIG = sys.argv[sys.argv.index('--em-config')+1]
+except:
+ EM_CONFIG = os.environ.get('EM_CONFIG')
+
+if EM_CONFIG and not os.path.isfile(EM_CONFIG):
+ if EM_CONFIG.startswith('-'):
+ raise Exception('Passed --em-config without an argument. Usage: --em-config /path/to/.emscripten or --em-config EMSCRIPTEN_ROOT=/path/;LLVM_ROOT=/path;...')
+ if not '=' in EM_CONFIG:
+ raise Exception('File ' + EM_CONFIG + ' passed to --em-config does not exist!')
+ else:
+ EM_CONFIG = EM_CONFIG.replace(';', '\n') + '\n'
+
if not EM_CONFIG:
EM_CONFIG = '~/.emscripten'
if '\n' in EM_CONFIG: