Is the best way to use the --pre-js option? Or is there a better way? (I am 
compiling a library and so don't know where the end-developer might put my 
files, so I would love it if they could define it...)

On Monday, February 13, 2017 at 10:30:36 PM UTC-5, [email protected] 
wrote:
>
> How do I specify that in node? Is there a way to specify the module before 
> the emscripten file attempts to load it's mem init?
>
> On Monday, February 13, 2017 at 3:00:53 AM UTC-5, jj wrote:
>>
>> Try specifying the Module.locateFile() callback: 
>> http://kripken.github.io/emscripten-site/docs/api_reference/module.html#Module.locateFile
>>
>> You can use that to tell the loader the path of where to look for any 
>> files, not just the .js.mem file.
>>
>> (Btw, with .wasm the memory init file will be gone, which is pretty nice)
>>
>> 2017-02-11 21:10 GMT+02:00 Tomas Reimers <[email protected]>:
>>
>>> Hi all,
>>>
>>> I think I'm overlooking something fundamental, so would appreciate any 
>>> help / tips!
>>>
>>> When you compile any $FILE with optimizations it produces a separate 
>>> $FILE.js.mem file for memory initialization. When you then try to open 
>>> $FILE from node, it looks in the cwd for $FILE.js.mem. This creates a 
>>> problem when you're trying to run the file from any directory besides its 
>>> own. 
>>>
>>> I found this old post 
>>> <https://github.com/kripken/emscripten/issues/2537> from 2014 detailing 
>>> the problem, and then this function in Module 
>>> <https://kripken.github.io/emscripten-site/docs/api_reference/module.html#Module.locateFile>
>>>  that 
>>> would allow you to define a custom search path for .js.mem; however that 
>>> seems inconvenient because (as best as I can tell) the emscripten Module in 
>>> node can't be defined before you try to load the .js.mem...
>>>
>>> So, without simply setting --memory-init-file 0 how can you require a 
>>> compiled asm module from a different directory? Is there a way to easily 
>>> define Module before you require() the emscripten file? Right now I'm doing 
>>> something akin to: 
>>>
>>> let cwd = process.cwd();
>>> process.chdir(__dirname + '/../other/path/');
>>> const my_lib = require('../other/path/my_lib.js');
>>> process.chdir(cwd);
>>>
>>> But this seems hackish...
>>>
>>> Thanks,
>>> Tomas
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "emscripten-discuss" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to