Build work

This commit is contained in:
Synthasmagoria 2026-08-30 21:45:16 +02:00
commit 94e9860a25
4 changed files with 86 additions and 84 deletions

View file

@ -8,9 +8,7 @@ if [[ -v 1 ]]; then
if [ "$1" = "DEBUG" ]; then
ODIN_FLAGS="-debug"
elif [ "$1" = "RELEASE" ]; then
ODIN_FLAGS="-no-bounds-check -disable-assert -o:size -extra-linker-flags:\"-Wl,--gc-sections,-s\""
elif [ "$1" = "TEST" ]; then
ODIN_FLAGS="-o:minimal -no-bounds-check -disable-assert -extra-linker-flags:\"-Wl,--gc-sections,-s\""
ODIN_FLAGS="-o:minimal"
else
echo "Usage: <script> <DEBUG/RELEASE>"
exit 1

View file

@ -1,12 +1,16 @@
#!/bin/bash -eu
ASSETS_DIR="src/assets"
RAYLIB_PATH="src/libraries/raylib"
EMSCRIPTEN_SDK_DIR="$HOME/programs/emsdk"
OUT_DIR="build/web"
if [[ -v 1 ]]; then
if [ "$1" = "DEBUG" ]; then
ODIN_FLAGS="-debug"
elif [ "$1" = "RELEASE" ]; then
ODIN_FLAGS="-no-bounds-check -disable-assert -o:size -extra-linker-flags:\"-Wl,--gc-sections,-s\""
elif [ "$1" = "TEST" ]; then
ODIN_FLAGS="-o:minimal -extra-linker-flags:\"-Wl,--gc-sections,-s\""
# unsure if this will work
ODIN_FLAGS="-o:size"
else
echo "Usage: <script> <DEBUG/RELEASE>"
exit 1
@ -16,11 +20,7 @@ else
exit 1
fi
RAYLIB_PATH="src/libraries/raylib"
EMSCRIPTEN_SDK_DIR="$HOME/programs/emsdk"
OUT_DIR="build/web"
WASM_OBJ_NAME="transformation_visulalizer.wasm.obj"
WASM_OBJ_NAME="transformation_visualizer.wasm.obj"
mkdir -p $OUT_DIR
export EMSDK_QUIET=1

View file

@ -2,14 +2,85 @@
# Currently not cross compiling for windows and darwin
set -euo pipefail
emsdk_env="$HOME/programs/emsdk/emsdk_env.sh"
linux_library_dest="linux"
windows_library_dest="windows"
darwin_library_dest="darwin"
wasm_library_dest="wasm"
config_flags="\
-DSUPPORT_MODULE_RSHAPES=1 \
-DSUPPORT_MODULE_RTEXTURES=1 \
-DSUPPORT_MODULE_RTEXT=1 \
-DSUPPORT_MODULE_RMODELS=0 \
-DSUPPORT_MODULE_RAUDIO=0 \
\
-DSUPPORT_TRACELOG=1 \
-DSUPPORT_CAMERA_SYSTEM=1 \
-DSUPPORT_GESTURES_SYSTEM=1 \
-DSUPPORT_RPRAND_GENERATOR=0 \
-DSUPPORT_MOUSE_GESTURES=0 \
-DSUPPORT_SSH_KEYBOARD_RPI=0 \
-DSUPPORT_WINMM_HIGHRES_TIMER=1 \
-DSUPPORT_BUSY_WAIT_LOOP=0 \
-DSUPPORT_PARTIALBUSY_WAIT_LOOP=1 \
-DSUPPORT_SCREEN_CAPTURE=0 \
-DSUPPORT_COMPRESSION_API=0 \
-DSUPPORT_AUTOMATION_EVENTS=0 \
-DSUPPORT_CUSTOM_FRAME_CONTROL=0 \
-DSUPPORT_CLIPBOARD_IMAGE=0 \
\
-DRLGL_ENABLE_OPENGL_DEBUG_CONTEXT=0 \
-DRLGL_SHOW_GL_DETAILS_INFO=0 \
\
-DSUPPORT_QUADS_DRAW_MODE=0 \
\
-DSUPPORT_FILEFORMAT_PNG=0 \
-DSUPPORT_FILEFORMAT_BMP=0 \
-DSUPPORT_FILEFORMAT_TGA=0 \
-DSUPPORT_FILEFORMAT_JPG=0 \
-DSUPPORT_FILEFORMAT_GIF=0 \
-DSUPPORT_FILEFORMAT_QOI=0 \
-DSUPPORT_FILEFORMAT_PEP=0 \
-DSUPPORT_FILEFORMAT_PSD=0 \
-DSUPPORT_FILEFORMAT_DDS=0 \
-DSUPPORT_FILEFORMAT_HDR=0 \
-DSUPPORT_FILEFORMAT_PIC=0 \
-DSUPPORT_FILEFORMAT_PNM=0 \
-DSUPPORT_FILEFORMAT_KTX=0 \
-DSUPPORT_FILEFORMAT_ASTC=0 \
-DSUPPORT_FILEFORMAT_PKM=0 \
-DSUPPORT_FILEFORMAT_PVR=0 \
-DSUPPORT_IMAGE_EXPORT=0 \
-DSUPPORT_IMAGE_GENERATION=0 \
\
-DSUPPORT_FILEFORMAT_TTF=1 \
-DSUPPORT_FILEFORMAT_FNT=1 \
-DSUPPORT_FILEFORMAT_BDF=0 \
\
-DSUPPORT_FILEFORMAT_OBJ=0 \
-DSUPPORT_FILEFORMAT_MTL=0 \
-DSUPPORT_FILEFORMAT_IQM=0 \
-DSUPPORT_FILEFORMAT_GLTF=0 \
-DSUPPORT_FILEFORMAT_VOX=0 \
-DSUPPORT_FILEFORMAT_M3D=0 \
-DSUPPORT_MESH_GENERATION=0 \
-DSUPPORT_GPU_SKINNING=0 \
\
-DSUPPORT_FILEFORMAT_WAV=0 \
-DSUPPORT_FILEFORMAT_OGG=0 \
-DSUPPORT_FILEFORMAT_MP3=0 \
-DSUPPORT_FILEFORMAT_QOA=0 \
-DSUPPORT_FILEFORMAT_FLAC=0 \
-DSUPPORT_FILEFORMAT_XM=0 \
-DSUPPORT_FILEFORMAT_MOD=0"
if [[ -v 1 ]]; then
if [ "$1" = "DEBUG" ]; then
MFLAGS="RAYLIB_BUILD_MODE=DEBUG"
CFLAGS="-g"
elif [ "$1" = "RELEASE" ]; then
MFLAGS="RAYLIB_BUILD_MODE=RELEASE"
CFLAGS="-Os -ffunction-sections -fdata-sections"
elif [ "$1" = "TEST" ]; then
MFLAGS="RAYLIB_BUILD_MODE=RELEASE"
CFLAGS="-Os"
else
@ -21,83 +92,16 @@ else
exit 1
fi
emsdk_env="$HOME/programs/emsdk/emsdk_env.sh"
modules="RAYLIB_MODULE_AUDIO=FALSE RAYLIB_MODULE_RAYGUI=FALSE RAYLIB_MODULE_MODELS=FALSE"
linux_library_dest="linux"
windows_library_dest="windows"
darwin_library_dest="darwin"
wasm_library_dest="wasm"
mkdir -p $linux_library_dest
mkdir -p $windows_library_dest
mkdir -p $darwin_library_dest
mkdir -p $wasm_library_dest
config_cflags="\
-DSUPPORT_MODULE_RSHAPES=1 \
-DSUPPORT_MODULE_RTEXTURES=1 \
-DSUPPORT_MODULE_RTEXT=1 \
-DSUPPORT_MODULE_RMODELS=1 \
-DSUPPORT_MODULE_RAUDIO=1 \
-DSUPPORT_TRACELOG=1 \
-DSUPPORT_CAMERA_SYSTEM=1 \
-DSUPPORT_GESTURES_SYSTEM=1 \
-DSUPPORT_RPRAND_GENERATOR=1 \
-DSUPPORT_MOUSE_GESTURES=1 \
-DSUPPORT_SSH_KEYBOARD_RPI=1 \
-DSUPPORT_WINMM_HIGHRES_TIMER=1 \
-DSUPPORT_BUSY_WAIT_LOOP=1 \
-DSUPPORT_PARTIALBUSY_WAIT_LOOP=1 \
-DSUPPORT_SCREEN_CAPTURE=1 \
-DSUPPORT_COMPRESSION_API=1 \
-DSUPPORT_AUTOMATION_EVENTS=1 \
-DSUPPORT_CUSTOM_FRAME_CONTROL=1 \
-DSUPPORT_CLIPBOARD_IMAGE=1 \
-DRLGL_ENABLE_OPENGL_DEBUG_CONTEXT=1 \
-DRLGL_SHOW_GL_DETAILS_INFO=1 \
-DSUPPORT_QUADS_DRAW_MODE=1 \
-DSUPPORT_FILEFORMAT_PNG=1 \
-DSUPPORT_FILEFORMAT_BMP=1 \
-DSUPPORT_FILEFORMAT_TGA=1 \
-DSUPPORT_FILEFORMAT_JPG=1 \
-DSUPPORT_FILEFORMAT_GIF=1 \
-DSUPPORT_FILEFORMAT_QOI=1 \
-DSUPPORT_FILEFORMAT_PEP=1 \
-DSUPPORT_FILEFORMAT_PSD=1 \
-DSUPPORT_FILEFORMAT_DDS=1 \
-DSUPPORT_FILEFORMAT_HDR=1 \
-DSUPPORT_FILEFORMAT_PIC=1 \
-DSUPPORT_FILEFORMAT_PNM=1 \
-DSUPPORT_FILEFORMAT_KTX=1 \
-DSUPPORT_FILEFORMAT_ASTC=1 \
-DSUPPORT_FILEFORMAT_PKM=1 \
-DSUPPORT_FILEFORMAT_PVR=1 \
-DSUPPORT_IMAGE_EXPORT=1 \
-DSUPPORT_IMAGE_GENERATION=1 \
-DSUPPORT_FILEFORMAT_TTF=1 \
-DSUPPORT_FILEFORMAT_FNT=1 \
-DSUPPORT_FILEFORMAT_BDF=1 \
-DSUPPORT_FILEFORMAT_OBJ=1 \
-DSUPPORT_FILEFORMAT_MTL=1 \
-DSUPPORT_FILEFORMAT_IQM=1 \
-DSUPPORT_FILEFORMAT_GLTF=1 \
-DSUPPORT_FILEFORMAT_VOX=1 \
-DSUPPORT_FILEFORMAT_M3D=1 \
-DSUPPORT_MESH_GENERATION=1 \
-DSUPPORT_GPU_SKINNING=1 \
-DSUPPORT_FILEFORMAT_WAV=1 \
-DSUPPORT_FILEFORMAT_OGG=1 \
-DSUPPORT_FILEFORMAT_MP3=1 \
-DSUPPORT_FILEFORMAT_QOA=1 \
-DSUPPORT_FILEFORMAT_FLAC=1 \
-DSUPPORT_FILEFORMAT_XM=1 \
-DSUPPORT_FILEFORMAT_MOD=1"
source $emsdk_env
pushd raylib/src
echo "Compiling raylib static library for linux"
make --silent $modules $MFLAGS CUSTOM_CFLAGS="$CFLAGS" PLATFORM_OS=LINUX
make --silent RAYLIB_CONFIG_FLAGS="$config_flags" $MFLAGS PLATFORM_OS=LINUX
mv libraylib.a "../../${linux_library_dest}"
make --silent clean
@ -107,7 +111,7 @@ make --silent clean
# make --silent clean
echo "Compiling raylib static library for web"
make --silent $modules PLATFORM=PLATFORM_WEB
make --silent RAYLIB_CONFIG_FLAGS="$config_flags" $MFLAGS PLATFORM=PLATFORM_WEB
mv libraylib.web.a libraylib.a
mv libraylib.a "../../${wasm_library_dest}"
make --silent clean
@ -120,7 +124,7 @@ ar rcs ../${linux_library_dest}/libraygui.a raygui.o
rm raygui.o
echo "Compiling raygui static library for web"
emcc -c -Os -ffunction-sections -fdata-sections -x c -DRAYGUI_IMPLEMENTATION -DPLATFORM_WEB -I../raylib/src raygui.h -o raygui_wasm.o
emcc -c -Os -x c -DRAYGUI_IMPLEMENTATION -DPLATFORM_WEB -I../raylib/src raygui.h -o raygui_wasm.o
emar rcs ../${wasm_library_dest}/libraygui.a raygui_wasm.o
rm raygui_wasm.o
popd

BIN
tv

Binary file not shown.