Index: compile |
=================================================================== |
--- a/compile |
+++ b/compile |
@@ -23,17 +23,16 @@ import sys |
BASE_DIR = os.path.dirname(__file__) |
SOURCE_DIR = os.path.join(BASE_DIR, 'compiled') |
SOURCE_FILES = [ |
os.path.join(path, f) |
for (path, dirs, files) in os.walk(SOURCE_DIR) |
for f in files |
if f.endswith('.cpp') |
] |
-BINDINGS_FILE = os.path.join(SOURCE_DIR, 'bindings.cpp') |
BINDINGS_GENERATOR = os.path.join(SOURCE_DIR, 'bindings.cpp.js') |
BINDINGS_OUTPUT = os.path.join(SOURCE_DIR, 'bindings.js') |
COMPILER_OUTPUT = os.path.join(BASE_DIR, 'lib', 'compiled.js') |
GENERATION_PARAMS = { |
'SHELL_FILE': "'{}'".format(os.path.abspath(os.path.join(SOURCE_DIR, |
'shell.js'))), |
'ASM_JS': 2, # "almost asm" |
'TOTAL_MEMORY': 16*1024*1024, |
@@ -61,20 +60,19 @@ def getenv(emscripten_config): |
'PYTHON': scope.get('PYTHON', sys.executable), |
'NODE_JS': scope.get('NODE_JS', 'node'), |
}) |
return env |
def generate_bindings(env): |
params = [ |
- env['PYTHON'], os.path.join(env['EMSCRIPTEN'], 'emcc'), BINDINGS_FILE, |
+ env['PYTHON'], os.path.join(env['EMSCRIPTEN'], 'emcc'), |
'-o', BINDINGS_GENERATOR, '-std=gnu++14', '-DPRINT_BINDINGS', |
- '-s', 'WARN_ON_UNDEFINED_SYMBOLS=0', |
- ] |
+ ] + SOURCE_FILES |
subprocess.check_call(params, env=env) |
with open(BINDINGS_OUTPUT, 'w') as file: |
subprocess.check_call([env['NODE_JS'], BINDINGS_GENERATOR], |
stdout=file) |
def run_compiler(env, debug=False, tracing=False): |