Spasm - webassembly libary for single page applications

a11e99z black80 at bk.ru
Tue Aug 6 22:57:52 UTC 2019


On Tuesday, 6 August 2019 at 20:20:13 UTC, Sebastiaan Koppe wrote:
> On Tuesday, 6 August 2019 at 19:02:09 UTC, a11e99z wrote:
>> hi. can not compile for Windows
>> LDC ver 1.16.0.
>
> Currently ldc 1.16.0 isn't supported. You can downgrade to ldc 
> 1.15.0
>
>>> spasm 0.1.13: target for configuration "library" is up to 
>>> date.
>>> test_spasm ~master: building configuration "application"...
>>> Error: unrecognized file extension lib               <<<<<<<<
>>>  ??????
>>> ldc2 failed with exit code 1.
>
> Have you tried the github issues? I remember dukc having the 
> same issue on windows as well.

tried. --combined => got error about time.d. could not fix, idk 
how to fix.

but noticed (dub ... -verbose):
> LDC 1.16.0 is working (it compiles manually)
> next is all one command for ldc2:
------------------------------
ldc2 -march=wasm32 -mtriple=wasm32-unknown-unknown-wasm

(TRIED TO COMPILE AS EXE. STRANGE.)
-of.dub\build\application-release-windows-x86_64-ldc_2086-56E77341043F1C073D6FBEAF77ADA9DD\test_spasm.exe

-release -enable-inlining -Hkeep-all-bodies -O3 -w -betterC -oq 
-od=.dub/obj -d-version=Have_test_spasm -d-version=Have_spasm 
-d-version=Have_optional -d-version=Have_stdx_allocator 
-d-version=Have_silly -d-version=Have_bolts -Isource 
-IC:\Users\Administrator\AppData\Local\dub\packages\spasm-0.1.13\spasm\source -IC:\Users\Administrator\AppData\Local\dub\packages\optional-0.10.1\optional\source -IC:\Users\Administrator\AppData\Local\dub\packages\optional-0.10.1\optional\tests -IC:\Users\Administrator\AppData\Local\dub\packages\silly-0.8.2\silly -IC:\Users\Administrator\AppData\Local\dub\packages\bolts-0.11.1\bolts\source -IC:\Users\Administrator\AppData\Local\dub\packages\stdx-allocator-2.77.3\stdx-allocator\source source\app.d

(THEN GOES LIBs)
C:\Users\Administrator\AppData\Local\dub\packages\spasm-0.1.13\spasm\.dub\build\library-release-windows-x86_64-ldc_2086-03DE6820B544BF9EAB97CE35CB0DA4D7\spasm.lib C:\Users\Administrator\AppData\Local\dub\packages\optional-0.10.1\optional\.dub\build\unittest-release-windows-x86_64-ldc_2086-DEEA6FC19C1418B5171E828BA5E99DC8\optional.lib C:\Users\Administrator\AppData\Local\dub\packages\bolts-0.11.1\bolts\.dub\build\library-release-windows-x86_64-ldc_2086-E329422C7585D577B1C88E0E057669D3\bolts.lib C:\Users\Administrator\AppData\Local\dub\packages\stdx-allocator-2.77.3\stdx-allocator\.dub\build\library-release-windows-x86_64-ldc_2086-3B7150DF4B0522F5FB22F1145FECC671\stdx-allocator.lib

(THEN GOES OPTIONS AGAIN)
-L=-allow-undefined -L=-import-memory -L=--export-table 
-L=--export=domEvent -L=--export=allocString -vcolumns
------------------------------
Error: unrecognized file extension lib
------------------------------

so, I call ldc2 manually with almost same args but:
- all libs I put in quotes with prefix -L="././.lib" with 
Unix-slashes (not Windows \)
- moved all libs as last params
- removed -of option that request EXE

after such work LDC compiled my sample to valid WASM (not ran it 
yet, but see as WAT through 
https://webassembly.github.io/wabt/demo/wasm2wat/)
app.wasm 2,216,143 (size in bytes)

so, I think need to fix dub/sdl/json generating for wasm/spasm 
for Windows
- -of=..WASM not EXE
- libs as last with prefix -L="". probably all file names better 
put in quotes. probably with Unix-slashes


More information about the Digitalmars-d-announce mailing list