summaryrefslogtreecommitdiff
path: root/emcc
diff options
context:
space:
mode:
Diffstat (limited to 'emcc')
-rwxr-xr-xemcc16
1 files changed, 10 insertions, 6 deletions
diff --git a/emcc b/emcc
index 53a48122..071db703 100755
--- a/emcc
+++ b/emcc
@@ -367,7 +367,7 @@ def is_minus_s_for_emcc(newargs,i):
CONFIGURE_CONFIG = os.environ.get('EMMAKEN_JUST_CONFIGURE') or 'conftest.c' in sys.argv
CMAKE_CONFIG = 'CMakeFiles/cmTryCompileExec.dir' in ' '.join(sys.argv)# or 'CMakeCCompilerId' in ' '.join(sys.argv)
if CONFIGURE_CONFIG or CMAKE_CONFIG:
- compiler = shared.CLANG
+ compiler = os.environ.get('CONFIGURE_CC') or shared.CLANG # if CONFIGURE_CC is defined, use that. let's you use local gcc etc. if you need that
if not ('CXXCompiler' in ' '.join(sys.argv) or os.environ.get('EMMAKEN_CXX')):
compiler = shared.to_cc(compiler)
def filter_emscripten_options(argv):
@@ -508,11 +508,15 @@ try:
for i in range(len(newargs)):
if newargs[i].startswith('-O'):
- try:
- opt_level = int(newargs[i][2])
- assert 0 <= opt_level <= 3
- except:
- raise Exception('Invalid optimization level: ' + newargs[i])
+ requested_level = newargs[i][2]
+ if requested_level == 's':
+ print >> sys.stderr, 'emcc: warning: -Os is ignored (use -O0, -O1, -O2)'
+ else:
+ try:
+ opt_level = int(requested_level)
+ assert 0 <= opt_level <= 3
+ except:
+ raise Exception('Invalid optimization level: ' + newargs[i])
newargs[i] = ''
elif newargs[i].startswith('--llvm-opts'):
check_bad_eq(newargs[i])