Guest User

Untitled

a guest
Jun 8th, 2020
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. rem =============== <><> Infinity Web Assembly SDK makefile (batch file for now)
  2.  
  3. rem Debug info please
  4. set EXTRA_COMPILE_OPTIONS=-g
  5.  
  6.  
  7. rem ======= Configure =======
  8.  
  9. rem WASI delivers standard c/c++ runtime libraries
  10. rem Latest wasi-sdk here : https://github.com/WebAssembly/wasi-sdk/releases
  11. rem Docs : https://wasi.dev
  12.  
  13. set WASI_LIB=..\..\sys\wasi\lib\wasm32-wasi
  14. set WASI_H=..\..\sys\wasi\include
  15. set WASI_CPP_H=..\..\sys\wasi\include\c++\v1
  16.  
  17. rem <><> Infinty/XSG DOM interop/bootstrap headers
  18. set INFINITY_H=..\..\sys\infinity
  19.  
  20. set COMPILE_OPTIONS=%EXTRA_COMPILE_OPTIONS% --target=wasm32 -fno-exceptions -c
  21. set HEADERS=-I%WASI_H% -I%WASI_CPP_H% -I%INFINITY_H%
  22.  
  23. rem ======= Compile =======
  24.  
  25. mkdir obj
  26.  
  27. clang %HEADERS% %COMPILE_OPTIONS% ./source/app.cpp -o ./obj/app.o
  28.  
  29.  
  30. rem ======= Link =======
  31.  
  32.  
  33. set LINK_OPTIONS=-no-entry --allow-undefined --export=init --export=process --export=terminate --export=move --export=button
  34. set LIBS= %WASI_LIB%\libc.a %WASI_LIB%\libc++abi.a %WASI_LIB%\libc++.a
  35.  
  36. wasm-ld %LINK_OPTIONS% %LIBS% ./obj/app.o -o ./obj/app.wasm
  37.  
  38.  
  39. rem ======= Inspect =======
  40.  
  41. rem optional, convert to wat (text format) for manual inspection if difficulties arise.
  42. rem wasm2wat available here : https://github.com/WebAssembly/wabt/releases
  43. rem wasm2wat ./obj/app.wasm > ./obj/app.wat
  44.  
  45.  
  46. rem ======= Install =======
  47.  
  48. rem push wasm binary into appropriate website directory for execution.
  49. copy .\obj\app.wasm ..\..\website\simple\_action
Advertisement
Add Comment
Please, Sign In to add comment