@@ -292,6 +292,7 @@ def blockaddrsize(js):
292292 last_forwarded_json = json .loads (last_forwarded_data )
293293
294294 if settings .get ('ASM_JS' ):
295+ simple = os .environ .get ('EMCC_SIMPLE_ASM' )
295296 class Counter :
296297 i = 0
297298 def make_table (sig , raw ):
@@ -337,9 +338,12 @@ def make_table(sig, raw):
337338 # calculate exports
338339 exported_implemented_functions = list (exported_implemented_functions )
339340 exports = []
340- for export in exported_implemented_functions + asm_runtime_funcs + function_tables :
341- exports .append ("'%s': %s" % (export , export ))
342- exports = '{ ' + ', ' .join (exports ) + ' }'
341+ if not simple :
342+ for export in exported_implemented_functions + asm_runtime_funcs + function_tables :
343+ exports .append ("'%s': %s" % (export , export ))
344+ exports = '{ ' + ', ' .join (exports ) + ' }'
345+ else :
346+ exports = '_main'
343347 # calculate globals
344348 try :
345349 del forwarded_json ['Variables' ]['globals' ]['_llvm_global_ctors' ] # not a true variable
@@ -353,7 +357,10 @@ def make_table(sig, raw):
353357 # sent data
354358 sending = '{ ' + ', ' .join ([s + ': ' + s for s in fundamentals + basic_funcs + global_funcs + basic_vars + global_vars ]) + ' }'
355359 # received
356- receiving = ';\n ' .join (['var ' + s + ' = Module["' + s + '"] = asm.' + s for s in exported_implemented_functions + function_tables ])
360+ if not simple :
361+ receiving = ';\n ' .join (['var ' + s + ' = Module["' + s + '"] = asm.' + s for s in exported_implemented_functions + function_tables ])
362+ else :
363+ receiving = 'var _main = Module["_main"] = asm;'
357364 # finalize
358365 funcs_js = '''
359366%s
0 commit comments