diff options
Diffstat (limited to 'emcc')
-rwxr-xr-x | emcc | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -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]) |