| Index: compile | 
| =================================================================== | 
| --- a/compile | 
| +++ b/compile | 
| @@ -17,16 +17,17 @@ | 
|  | 
| import argparse | 
| import os | 
| import subprocess | 
| import sys | 
|  | 
| BASE_DIR = os.path.dirname(__file__) | 
| SOURCE_DIR = os.path.join(BASE_DIR, 'compiled') | 
| +JS_LIBRARY = os.path.join(SOURCE_DIR, 'library.js') | 
| 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, | 
| @@ -37,17 +38,17 @@ GENERATION_PARAMS = { | 
| 'NO_FILESYSTEM': 1, | 
| 'INVOKE_RUN': 0, | 
| 'TEXTDECODER': 0, | 
| 'EXPORTED_RUNTIME_METHODS': ['cwrap', 'ccall', 'stringToAscii'], | 
| } | 
| DEFINES = [] | 
| ADDITIONAL_PARAMS = ['-O3', '-m32', '-std=gnu++14', '--memory-init-file', '0', | 
| '--emit-symbol-map', '-Wall', '-Werror', '-fno-exceptions', | 
| -                     '-fno-rtti'] | 
| +                     '-fno-rtti', '--js-library', JS_LIBRARY] | 
|  | 
|  | 
| def get_source_files(phase): | 
| for (path, dirs, files) in os.walk(SOURCE_DIR): | 
| for f in files: | 
| if os.path.splitext(f)[1] != '.cpp': | 
| continue | 
| if ( | 
| @@ -69,17 +70,17 @@ def getenv(emscripten_config): | 
| 'NODE_JS': scope.get('NODE_JS', 'node'), | 
| }) | 
| return env | 
|  | 
|  | 
| def generate_bindings(env): | 
| params = [ | 
| env['PYTHON'], os.path.join(env['EMSCRIPTEN'], 'emcc'), | 
| -        '-o', BINDINGS_GENERATOR, '-std=gnu++14', '-DPRINT_BINDINGS', | 
| +        '-o', BINDINGS_GENERATOR, '-std=gnu++14', '--js-library', JS_LIBRARY, | 
| ] + list(get_source_files('bindings')) | 
| subprocess.check_call(params, env=env) | 
|  | 
| with open(BINDINGS_OUTPUT, 'w') as file: | 
| subprocess.check_call([env['NODE_JS'], BINDINGS_GENERATOR], | 
| stdout=file) | 
|  | 
|  | 
|  |