Last active
October 18, 2023 19:14
-
-
Save thatcosmonaut/2ff0c2a783bcb1b0dc4d3597bc848697 to your computer and use it in GitHub Desktop.
Build moonlibs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
run_builds() { | |
cd ~/programming/$1 | |
mkdir -p moonbuild | |
mkdir -p moonbuildWin64 | |
mkdir -p moonbuildMac | |
cd moonbuild | |
cmake .. | |
make -j8 | |
cd ../moonbuildMac | |
x86_64-apple-darwin18-cmake .. -DSDL2_LIBRARIES=/home/cosmonaut/programming/osxcross/target/lib/libSDL2-2.0.0.dylib -DSDL2_INCLUDE_DIRS=/home/cosmonaut/programming/osxcross/target/include/SDL2 | |
make -j8 | |
cd ../moonbuildWin64 | |
mingw64-cmake .. -DSDL2_LIBRARIES=/home/cosmonaut/programming/SDL2-Win64/lib/x64/SDL2.lib -DSDL2_INCLUDE_DIRS=/home/cosmonaut/programming/SDL2-Win64/include | |
make -j8 | |
} | |
pack_builds() { | |
mkdir -p ~/programming/$1/dist | |
cd ~/programming/$1/dist | |
mkdir -p lib64 | |
mkdir -p x64 | |
mkdir -p osx | |
cp ../moonbuild/lib$1.so.$2 lib64/ | |
cp ../moonbuildWin64/$1.dll x64/ | |
cp ../moonbuildMac/lib$1.$2.dylib osx/ | |
x86_64-w64-mingw32-strip -S x64/$1.dll | |
x86_64-apple-darwin18-strip -S osx/lib$1.$2.dylib | |
x86_64-apple-darwin18-install_name_tool -id @rpath/lib$1.$2.dylib osx/lib$1.$2.dylib | |
x86_64-apple-darwin18-install_name_tool -change /home/cosmonaut/programming/osxcross/target/lib/libSDL2-2.0.0.dylib @rpath/libSDL2-2.0.0.dylib osx/lib$1.$2.dylib | |
mkdir -p debug_symbols | |
chrpath -d lib64/lib$1.so.$2 | |
strip --only-keep-debug lib64/lib$1.so.$2 -o debug_symbols/lib$1.so.$2.debug | |
strip -S lib64/lib$1.so.$2 | |
objcopy --add-gnu-debuglink=debug_symbols/lib$1.so.$2.debug lib64/lib$1.so.$2 | |
cp lib64/lib$1.so.$2 ~/programming/moonlibs/lib64 | |
cp x64/$1.dll ~/programming/moonlibs/x64 | |
cp osx/lib$1.$2.dylib ~/programming/moonlibs/osx | |
} | |
set -ex | |
# args: [library name] [major version] | |
run_builds FAudio 0 | |
run_builds Refresh 1 | |
run_builds Wellspring 0 | |
rm -rf ~/programming/moonlibs | |
mkdir -p ~/programming/moonlibs | |
mkdir -p ~/programming/moonlibs/lib64 | |
mkdir -p ~/programming/moonlibs/x64 | |
mkdir -p ~/programming/moonlibs/osx | |
mkdir -p ~/programming/moonlibs/video_shaders | |
pack_builds FAudio 0 | |
pack_builds Refresh 1 | |
pack_builds Wellspring 0 | |
cd ~/programming | |
# download dav1dfile from github so we don't have to cross compile assembly | |
wget https://github.com/MoonsideGames/dav1dfile/releases/download/1.0.1/libdav1dfile.so | |
wget https://github.com/MoonsideGames/dav1dfile/releases/download/1.0.1/dav1dfile.dll | |
wget https://github.com/MoonsideGames/dav1dfile/releases/download/1.0.1/libdav1dfile.1.dylib | |
mv libdav1dfile.so ~/programming/moonlibs/lib64/libdav1dfile.so.1 | |
mv dav1dfile.dll ~/programming/moonlibs/x64 | |
mv libdav1dfile.1.dylib ~/programming/moonlibs/osx | |
# download fnalibs to get SDL2 | |
mkdir -p ~/programming/fnalibs | |
wget https://fna.flibitijibibo.com/archive/fnalibs.tar.bz2 | |
tar -xvC ~/programming/fnalibs -f ~/programming/fnalibs.tar.bz2 | |
cp ~/programming/fnalibs/lib64/libSDL2-2.0.so.0 ~/programming/moonlibs/lib64 | |
cp ~/programming/fnalibs/x64/SDL2.dll ~/programming/moonlibs/x64 | |
cp ~/programming/fnalibs/osx/libSDL2-2.0.0.dylib ~/programming/moonlibs/osx | |
rm fnalibs.tar.bz2 | |
# download MoltenVK | |
mkdir -p ~/programming/MoltenVK | |
wget https://github.com/KhronosGroup/MoltenVK/releases/download/v1.2.5/MoltenVK-macos.tar | |
tar -xvC ~/programming/MoltenVK -f ~/programming/MoltenVK-macos.tar | |
cp ~/programming/MoltenVK/MoltenVK/MoltenVK/dylib/macOS/libMoltenVK.dylib ~/programming/moonlibs/osx | |
cp ~/programming/MoltenVK/MoltenVK/MoltenVK/dylib/macOS/MoltenVK_icd.json ~/programming/moonlibs/osx | |
rm MoltenVK-macos.tar | |
# compile video shaders | |
cd ~/programming/moonlibs/video_shaders | |
dotnet run --project ~/programming/Refresh/shadercompiler --vulkan --d3d11 ~/programming/MoonWorks/src/Video/Shaders | |
cd ~/programming/moonlibs && tar cvfj ../moonlibs.tar.bz2 * | |
cd .. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment