Nice!

Can you please file an issue for the absolute path thing? I'm not sure I
understood yet what the symptoms are.

On Tue, Mar 15, 2016 at 1:48 PM, Floh <[email protected]> wrote:

> Ok, with some really dirty hacks I got what I wanted (just the pure wasm
> stuff, no polyfill):
>
> - don't compile with BINARYEN_METHOD, since for some reason my setup gets
> confused about the '-' in the method names
> - in binaryen/src/js/wasm.js-post.js, change the default method to just
> 'native-wasm'
> - in emcc.py:1832, remove the 'not shared.Settings.BINARYEN_METHOD' from
> the if to prevent inclusion of wasm.js polyfill if no BINARYEN_METHOD is set
> - finally, in the generated .html, I have to manually remove the absolute
> filesystem path from the .wasm URL (no idea what's going on there, this
> doesn't happen for the normal asm.js case)
>
> And with this, I get a nice demo running, yippie :) (see attachment)
>
> Next I'll try to somehow clean this up and create a pure
> WebAssembly-version of the Oryol samples page (like this:
> http://floooh.github.io/oryol/)
>
> -Floh.
>
>
> Am Dienstag, 15. März 2016 21:10:09 UTC+1 schrieb Floh:
>>
>> Ok, I basically got it working, but now I want to remove the big polyfill
>> and only have pure .wasm support, and I can't get the BINARYEN_METHOD flag
>> to work, because python somehow chokes on the '-', and no matter how I want
>> to escape the string, I can't get it to work :/
>>
>> E.g. this is from the dumped linker command:
>>
>> -s BINARYEN=1 -s BINARYEN_METHOD='native-wasm' -s
>> 'BINARYEN_SCRIPTS="spidermonkify.py"'
>>
>> This produces the error:
>>
>> Traceback (most recent call last):
>>   File
>> "/Users/floh/projects/fips-sdks/osx/emsdk_portable/emscripten/incoming/em++",
>> line 13, in <module>
>>     emcc.run()
>>   File
>> "/Users/floh/projects/fips-sdks/osx/emsdk_portable/emscripten/incoming/emcc.py",
>> line 936, in run
>>     exec 'shared.Settings.' + key + ' = ' + value in globals(), locals()
>>   File "<string>", line 1, in <module>
>> NameError: name 'native' is not defined
>>
>> Without the BINARYEN_METHOD it works, but produces a 3 MByte big .js
>> file.
>>
>> This is on OSX, both in bash and in fish shell. Python version is 2.7.11
>>
>> Halp :)
>>
>> (I'll try for now to hack the default in wasm.js-post.js to native-wasm,
>> but any idea how to solve that slightly embarrassing problem is welcome :)
>>
>> Worst case may be: remove the '-' from the binaryen-methods, or replace
>> with underscore?
>>
>> Cheers,
>> -Floh.
>>
>> Am Dienstag, 15. März 2016 19:14:41 UTC+1 schrieb Floh:
>>>
>>> Thanks! I found the place where the HTML is trying to load the .wasm, so
>>> that seems to work (for some reason it injected the absolute path to the
>>> .wasm file into the .html, so it would try to do "GET
>>> /Users/floh/projects/fips-deploy/oryol/wasm-make-release/Clear.wasm".
>>>
>>> With that fixed manually, I now get a magic number mismatch from the
>>> .wasm loader (currently testing in Chrome), I guess this is what you mean
>>> that it won't work:
>>>
>>> Clear.js:88157 Uncaught WASM.instantiateModule(): Result = expected
>>> magic word 00 61 73 6d, found 00 80 10 80 @+0
>>>
>>> But I think I have enough info now to fix the remaining issues :)
>>>
>>> Thanks!
>>> -Floh.
>>>
>>> Am Dienstag, 15. März 2016 19:09:06 UTC+1 schrieb Alon Zakai:
>>>>
>>>> Looks like we posted at around the same time :)
>>>>
>>>> That .wasm is not going to run in browsers. But it would run in the
>>>> binaryen interpreter (veeery slowly). Follow the instructions in the link
>>>> to generate a binary that browsers can run. Again, this is annoying now
>>>> since the spec is in flux, but it'll get better over the next few months.
>>>>
>>>> mappedGlobals is necessary. Wasm lacks globlals, but asm.js has them,
>>>> so asm2wasm needs extra metadata, which it places in that file.
>>>>
>>>>
>>>> On Tue, Mar 15, 2016 at 11:07 AM, Floh <[email protected]> wrote:
>>>>
>>>>> Ok, seems like I solved the first part, there's a wasm-as tool in
>>>>> binaryen which takes a text .wast file and convertes it to a binary .wasm
>>>>> file.
>>>>>
>>>>> So, 2 remaining questions:
>>>>>
>>>>> - how to integrate this .wasm file with the browser module .js file so
>>>>> that it is loaded by the browser? (I compiled with emcc -s BINARYEN=1, and
>>>>> got a .html and .mem file, plus a .asm.js (which I guess is then converted
>>>>> to .wast), a .js file (which I think has the 'runtime environment' and
>>>>> polyfill, a .wast file (which I converted to .wasm), and finally a
>>>>> .wast.mappedGlobals file).
>>>>>
>>>>> - what about the mappedGlobals file, is this a temporary file, or will
>>>>> this be loaded at run-time?
>>>>>
>>>>> Thanks :)
>>>>> -Floh.
>>>>>
>>>>> Am Dienstag, 15. März 2016 18:26:37 UTC+1 schrieb Floh:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I'm currently playing around with binaryen to compile my demos to
>>>>>> WebAssembly, but it looks like this can only generate .wast (text) files,
>>>>>> is this correct?
>>>>>>
>>>>>> Is there a already way to create binary .wasm file with the help of
>>>>>> emscripten?
>>>>>>
>>>>>> I would *really* like to test my stuff with the new experimental
>>>>>> WebAssembly support in Firefox Nightly and Chrome Canary :)
>>>>>>
>>>>>> Cheers,
>>>>>> -Floh.
>>>>>>
>>>>> --
>>>>> 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.
>

-- 
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