diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-01-10 17:14:52 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-01-10 17:14:52 -0800 |
commit | 05680318f03c86660f009c14d98cfad5f856db1c (patch) | |
tree | a9b65e7f8b540d448b4c523529331b76cef0fe4a /src/jsifier.js | |
parent | d233c379208c40e0721eceec852182914b26a549 (diff) |
auto-export some special functions if they are dependencies of a JS library element
Diffstat (limited to 'src/jsifier.js')
-rw-r--r-- | src/jsifier.js | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index 5e5baf33..e41bcf67 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -459,6 +459,18 @@ function JSify(data, functionsOnly, givenFunctions) { if (redirectedIdent) { deps = deps.concat(LibraryManager.library[redirectedIdent + '__deps'] || []); } + if (ASM_JS) { + // In asm, dependencies implemented in C might be needed by JS library functions. + // We don't know yet if they are implemented in C or not. To be safe, export such + // special cases. + [LIBRARY_DEPS_TO_AUTOEXPORT].forEach(function(special) { + deps.forEach(function(dep) { + if (dep == special && !EXPORTED_FUNCTIONS[dep]) { + EXPORTED_FUNCTIONS[dep] = 1; + } + }); + }); + } // $ident's are special, we do not prefix them with a '_'. if (ident[0] === '$') { ident = ident.substr(1); |