Expose Emscripten libs to engine.js discreetly
This commit is contained in:
parent
d8d9eea722
commit
63c7fc6358
|
@ -129,13 +129,6 @@ def configure(env):
|
||||||
# This setting just makes WebGL 2 APIs available, it does NOT disable WebGL 1.
|
# This setting just makes WebGL 2 APIs available, it does NOT disable WebGL 1.
|
||||||
env.Append(LINKFLAGS=['-s', 'USE_WEBGL2=1'])
|
env.Append(LINKFLAGS=['-s', 'USE_WEBGL2=1'])
|
||||||
|
|
||||||
# engine.js uses FS but is not currently evaluated by Emscripten, so export FS.
|
|
||||||
# TODO: Getting rid of this export is desirable.
|
|
||||||
extra_exports = [
|
|
||||||
'FS',
|
|
||||||
]
|
|
||||||
env.Append(LINKFLAGS=['-s', 'EXTRA_EXPORTED_RUNTIME_METHODS="%s"' % repr(extra_exports)])
|
|
||||||
|
|
||||||
env.Append(LINKFLAGS=['-s', 'INVOKE_RUN=0'])
|
env.Append(LINKFLAGS=['-s', 'INVOKE_RUN=0'])
|
||||||
|
|
||||||
# TODO: Reevaluate usage of this setting now that engine.js manages engine runtime.
|
# TODO: Reevaluate usage of this setting now that engine.js manages engine runtime.
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
exposedLibs['FS'] = FS;
|
||||||
return Module;
|
return Module;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -31,6 +32,8 @@
|
||||||
|
|
||||||
this.rtenv = null;
|
this.rtenv = null;
|
||||||
|
|
||||||
|
var LIBS = {};
|
||||||
|
|
||||||
var initPromise = null;
|
var initPromise = null;
|
||||||
var unloadAfterInit = true;
|
var unloadAfterInit = true;
|
||||||
|
|
||||||
|
@ -80,7 +83,7 @@
|
||||||
return new Promise(function(resolve, reject) {
|
return new Promise(function(resolve, reject) {
|
||||||
rtenvProps.onRuntimeInitialized = resolve;
|
rtenvProps.onRuntimeInitialized = resolve;
|
||||||
rtenvProps.onAbort = reject;
|
rtenvProps.onAbort = reject;
|
||||||
rtenvProps.engine.rtenv = Engine.RuntimeEnvironment(rtenvProps);
|
rtenvProps.engine.rtenv = Engine.RuntimeEnvironment(rtenvProps, LIBS);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,7 +166,7 @@
|
||||||
this.rtenv.thisProgram = executableName || getBaseName(basePath);
|
this.rtenv.thisProgram = executableName || getBaseName(basePath);
|
||||||
|
|
||||||
preloadedFiles.forEach(function(file) {
|
preloadedFiles.forEach(function(file) {
|
||||||
this.rtenv.FS.createDataFile('/', file.name, new Uint8Array(file.buffer), true, true, true);
|
LIBS.FS.createDataFile('/', file.name, new Uint8Array(file.buffer), true, true, true);
|
||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
preloadedFiles = null;
|
preloadedFiles = null;
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
var Engine = {
|
var Engine = {
|
||||||
RuntimeEnvironment: function(Module) {
|
RuntimeEnvironment: function(Module, exposedLibs) {
|
||||||
|
|
Loading…
Reference in New Issue