This commit is contained in:
Synthasmagoria 2026-09-11 13:27:24 +02:00
commit 7a83face87
191 changed files with 355618 additions and 0 deletions

130
src/libraries/raylib/build.sh Executable file
View file

@ -0,0 +1,130 @@
#!/usr/bin/env bash
# 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
MAKE_FLAGS="RAYLIB_BUILD_MODE=DEBUG"
CFLAGS="-g"
elif [ "$1" = "RELEASE" ]; then
MAKE_FLAGS="RAYLIB_BUILD_MODE=RELEASE"
CFLAGS="-Os -ffunction-sections -fdata-sections"
else
echo "Usage: <script> <DEBUG/RELEASE>"
exit 1
fi
else
echo "Usage: <script> <DEBUG/RELEASE>"
exit 1
fi
mkdir -p $linux_library_dest
mkdir -p $windows_library_dest
mkdir -p $darwin_library_dest
mkdir -p $wasm_library_dest
source $emsdk_env
pushd raylib/src
echo "Compiling raylib static library for linux"
make --silent RAYLIB_CONFIG_FLAGS="$CONFIG_FLAGS" CUSTOM_CFLAGS="$CFLAGS" $MAKE_FLAGS PLATFORM_OS=LINUX -B
mv libraylib.a "../../${linux_library_dest}"
make --silent clean
# echo "Compiling static library for windows"
# make --silent $modules RAYLIB_CONFIG_FLAGS="$config_cflags" CC=x86_64-w64-mingw32-gcc PLATFORM_OS=WINDOWS
# mv libraylib.a $windows_library_dest
# make --silent clean
echo "Compiling raylib static library for web"
make --silent RAYLIB_CONFIG_FLAGS="$CONFIG_FLAGS" CUSTOM_CFLAGS="$CFLAGS" $MAKE_FLAGS PLATFORM=PLATFORM_WEB -B
mv libraylib.web.a libraylib.a
mv libraylib.a "../../${wasm_library_dest}"
make --silent clean
popd
pushd raygui
echo "Compiling raygui static library for linux"
gcc $CFLAGS -c -fPIC -x c -DRAYGUI_IMPLEMENTATION -I../raylib/src raygui.h -o raygui.o
ar rcs ../${linux_library_dest}/libraygui.a raygui.o
rm raygui.o
echo "Compiling raygui static library for web"
emcc $CFLAGS -c -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