2023-08-22 23:04:49 +00:00
|
|
|
@echo off
|
2023-09-23 21:46:52 +00:00
|
|
|
setlocal enabledelayedexpansion
|
|
|
|
|
2023-09-23 22:04:13 +00:00
|
|
|
:: The following code checks if you have the necessary programs to compile the samples.
|
2023-09-23 21:46:52 +00:00
|
|
|
:: This code exists to improve the experience of first-time Orca users and can
|
|
|
|
:: be safely deleted in your own projects if you wish.
|
|
|
|
if exist "..\..\scripts\sample_build_check.py" (
|
|
|
|
python ..\..\scripts\sample_build_check.py
|
|
|
|
if !ERRORLEVEL! neq 0 exit /b 1
|
|
|
|
) else (
|
|
|
|
echo Could not check if you have the necessary tools to build the Orca samples.
|
|
|
|
echo If you have copied this script to your own project, you can delete this code.
|
|
|
|
)
|
2023-08-22 23:04:49 +00:00
|
|
|
|
2023-08-29 03:15:16 +00:00
|
|
|
set ORCA_DIR=..\..
|
|
|
|
set STDLIB_DIR=%ORCA_DIR%\src\libc-shim
|
|
|
|
|
2023-09-21 06:15:19 +00:00
|
|
|
:: common flags to build wasm modules
|
2023-08-22 23:04:49 +00:00
|
|
|
set wasmFlags=--target=wasm32^
|
|
|
|
--no-standard-libraries ^
|
|
|
|
-mbulk-memory ^
|
2023-08-29 03:15:16 +00:00
|
|
|
-g -O2 ^
|
2023-08-22 23:04:49 +00:00
|
|
|
-D__ORCA__ ^
|
2023-08-29 03:15:16 +00:00
|
|
|
-Wl,--no-entry ^
|
|
|
|
-Wl,--export-dynamic ^
|
|
|
|
-isystem %STDLIB_DIR%\include ^
|
|
|
|
-I%ORCA_DIR%\src ^
|
|
|
|
-I%ORCA_DIR%\src\ext
|
2023-08-22 23:04:49 +00:00
|
|
|
|
2023-09-21 06:15:19 +00:00
|
|
|
:: build orca core as wasm module
|
|
|
|
clang %wasmFlags% -Wl,--relocatable -o .\liborca.a %ORCA_DIR%\src\orca.c %ORCA_DIR%\src\libc-shim\src\*.c
|
|
|
|
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
2023-08-22 23:04:49 +00:00
|
|
|
|
2023-09-21 06:15:19 +00:00
|
|
|
:: build sample as wasm module and link it with the orca module
|
|
|
|
clang %wasmFlags% -L . -lorca -o module.wasm src/main.c
|
|
|
|
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
|
|
|
|
|
|
|
|
:: create app directory and copy files into it
|
2023-08-29 03:15:16 +00:00
|
|
|
orca bundle --orca-dir %ORCA_DIR% --name Clock --icon icon.png --resource-dir data module.wasm
|