#!/usr/bin/env bash MGBA_VERSION=$1 OUT_DIRECTORY=$2 CURRENT_DIRECTORY=$(pwd) cd "${OUT_DIRECTORY}" || exit if [[ ! -f "mgba-${MGBA_VERSION}.tar.gz" ]]; then curl -L "https://github.com/mgba-emu/mgba/archive/refs/tags/${MGBA_VERSION}.tar.gz" -o "mgba-${MGBA_VERSION}.tar.gz" fi if [[ -f libmgba-cycle.a ]]; then exit 0 fi curl -L "https://github.com/mgba-emu/mgba/archive/refs/tags/${MGBA_VERSION}.tar.gz" -o "mgba-${MGBA_VERSION}.tar.gz" tar -xvf "mgba-${MGBA_VERSION}.tar.gz" cd "mgba-${MGBA_VERSION}" || exit rm -rf build patch --strip=1 < "${CURRENT_DIRECTORY}/add_cycles_register.patch" mkdir -p build cd build || exit cmake .. \ -DBUILD_STATIC=ON \ -DBUILD_SHARED=OFF \ -DDISABLE_FRONTENDS=ON \ -DBUILD_GL=OFF \ -DBUILD_GLES2=OFF \ -DUSE_GDB_STUB=OFF \ -DUSE_FFMPEG=OFF \ -DUSE_ZLIB=OFF \ -DUSE_MINIZIP=OFF \ -DUSE_PNG=OFF \ -DUSE_LIBZIP=OFF \ -DUSE_SQLITE3=OFF \ -DUSE_ELF=ON \ -DM_CORE_GBA=ON \ -DM_CORE_GB=OFF \ -DUSE_LZMA=OFF \ -DUSE_DISCORD_RPC=OFF \ -DENABLE_SCRIPTING=OFF \ -DCMAKE_BUILD_TYPE=Debug \ -DUSE_EPOXY=OFF make cp libmgba.a ../../libmgba-cycle.a