Hi Ehsan,
> (FWIW this question seems to be more appropriate for dev-platform.)
Ok, I'll take note for future postings.
> It's hard to say without seeing any sample code, but it seems like the
> generated emscriptened code is placed inside a JSM file. Have you made sure
> to export a wrapper function from the JSM through EXPORTED_SYMBOLS that uses
> Module.ccall() to call the emscriptened function?
Actually, placing the emscripten generated code inside a JSM would mean
putting inside it (that is approx. 200.000 lines of code), as you suggest,
the declaration of EXPORTED_SYMBOLS array (I've not seen any compile option
that would make that). Not to mention that emscripten runs various kinds of
optimizations that make the original code hard to recognize. Additionally,
the emscripted code needs to run in some 'window' context, thus 'packaging'
it as a JSM may not work.
Anyway, a seemingly working solution has been calling
'Services.scriptloader.loadSubScript("chrome://myaddon/content/emscripted.js", currentWindow)';
that way, to call 'Module.cwrap()' and 'Module.ccall()', it's necessary to prepend 'currentWindow',
as
'currentWindow.Module.cwrap()'
'currentWindow.Module.ccall()'
Thanks
Regards
Marcello