aboutsummaryrefslogtreecommitdiff
path: root/emscripten.py
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-11-13 18:49:19 -0800
committerAlon Zakai <alonzakai@gmail.com>2012-12-07 14:23:18 -0800
commit3c38471a75ccc1f0f6dc142e97fde2cf615a625b (patch)
treee0e694e3358ac4173388287e7bceaba2949f45fa /emscripten.py
parent2e28a4acfa6af10b1661f16c8998e58ca2598143 (diff)
work towards exports
Diffstat (limited to 'emscripten.py')
-rwxr-xr-xemscripten.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/emscripten.py b/emscripten.py
index 3a0c6a8f..e8020788 100755
--- a/emscripten.py
+++ b/emscripten.py
@@ -224,6 +224,10 @@ def emscript(infile, settings, outfile, libraries=[]):
funcs_js = ''.join([output[0] for output in outputs])
if settings.get('ASM_JS'):
+ exports = []
+ for export in settings['EXPORTED_FUNCTIONS'] + settings['EXPORTED_GLOBALS']:
+ exports.append("'%s': %s" % (export, export))
+ exports = '{ ' + ', '.join(exports) + ' }'
funcs_js = '''
var asm = (function(env, buffer) {
'use asm';
@@ -236,9 +240,10 @@ var asm = (function(env, buffer) {
var HEAPF32 = new env.Float32Array(buffer);
var HEAPF64 = new env.Float64Array(buffer);
''' + funcs_js.replace('\n', '\n ') + '''
- return {};
+ return %s;
})({}, buffer);
-'''
+for (var export in asm) Module[export] = asm[export];
+''' % exports
for func_js, curr_forwarded_data in outputs:
# merge forwarded data