mirror of
https://github.com/mkxp-z/mkxp-z.git
synced 2025-09-02 20:23:11 +02:00
Embed mkxp-z version into the libretro core
This commit is contained in:
parent
93d0cabd53
commit
f03d8e3f5d
4 changed files with 191 additions and 128 deletions
312
.github/workflows/autobuild.yml
vendored
312
.github/workflows/autobuild.yml
vendored
|
@ -17,10 +17,12 @@ jobs:
|
|||
steps:
|
||||
- uses: benjlevesque/short-sha@v2.2
|
||||
id: short-sha
|
||||
name: Get Git commit hash
|
||||
with:
|
||||
length: 7
|
||||
|
||||
- uses: msys2/setup-msys2@v2
|
||||
- name: Set up MSYS2
|
||||
uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: mingw64
|
||||
install: >-
|
||||
|
@ -36,7 +38,8 @@ jobs:
|
|||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/cache@v4
|
||||
- name: Restore cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
windows/build-mingw64
|
||||
|
@ -72,7 +75,8 @@ jobs:
|
|||
cp -r ../../scripts .
|
||||
cp ../../assets/LICENSE.mkxp-z-with-https.txt .
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: mkxp-z.windows.${{github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name}}-${{steps.short-sha.outputs.sha}}
|
||||
path: build/artifact
|
||||
|
@ -83,13 +87,15 @@ jobs:
|
|||
steps:
|
||||
- uses: benjlevesque/short-sha@v2.2
|
||||
id: short-sha
|
||||
name: Get Git commit hash
|
||||
with:
|
||||
length: 7
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/cache@v4
|
||||
- name: Restore cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
linux/build-x86_64
|
||||
|
@ -124,7 +130,8 @@ jobs:
|
|||
cp -r ../../scripts .
|
||||
cp ../../assets/LICENSE.mkxp-z-with-https.txt .
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: mkxp-z.linux.x86_64.${{github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name}}-${{steps.short-sha.outputs.sha}}
|
||||
path: build/local
|
||||
|
@ -175,13 +182,15 @@ jobs:
|
|||
steps:
|
||||
- uses: benjlevesque/short-sha@v2.2
|
||||
id: short-sha
|
||||
name: Get Git commit hash
|
||||
with:
|
||||
length: 7
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/cache@v4
|
||||
- name: Restore cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
linux/build-${{matrix.arch_mkxpz}}
|
||||
|
@ -231,7 +240,8 @@ jobs:
|
|||
cp -r ../../scripts .
|
||||
cp ../../assets/LICENSE.mkxp-z-with-https.txt .
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: mkxp-z.linux.${{matrix.arch_mkxpz}}.${{github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name}}-${{steps.short-sha.outputs.sha}}
|
||||
path: build/local
|
||||
|
@ -242,6 +252,7 @@ jobs:
|
|||
steps:
|
||||
- uses: benjlevesque/short-sha@v2.2
|
||||
id: short-sha
|
||||
name: Get Git commit hash
|
||||
with:
|
||||
length: 7
|
||||
|
||||
|
@ -251,7 +262,8 @@ jobs:
|
|||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/cache@v4
|
||||
- name: Restore cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
macos/Dependencies/build-macosx-x86_64
|
||||
|
@ -292,6 +304,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- id: short-sha
|
||||
name: Get Git commit hash
|
||||
uses: benjlevesque/short-sha@v2.2
|
||||
with:
|
||||
length: 7
|
||||
|
@ -300,19 +313,20 @@ jobs:
|
|||
uses: actions/checkout@v4
|
||||
|
||||
- id: cache
|
||||
name: Restore cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
retro/build/retro-phase1
|
||||
key: retro-phase1-${{ hashFiles('retro/Makefile', 'retro/ruby-bindings.h', 'retro/sandbox-bindgen.rb') }}
|
||||
|
||||
- name: Install apt dependencies
|
||||
- name: Install dependencies
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y git curl build-essential automake libtool binaryen wabt zip universal-ctags
|
||||
|
||||
- name: Download WASI SDK
|
||||
- name: Set up WASI SDK
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
curl -Lo ${{ runner.temp }}/wasi-sdk.tar.gz https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-21/wasi-sdk-21.0-linux.tar.gz
|
||||
|
@ -326,7 +340,8 @@ jobs:
|
|||
cd retro
|
||||
make -j $(nproc) WASI_SDK=${{ runner.temp }}/wasi-sdk
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: retro-phase1.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: retro/build/retro-phase1
|
||||
|
@ -336,7 +351,14 @@ jobs:
|
|||
name: LR Windows
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Set up MSYS2
|
||||
uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: mingw64
|
||||
install: base-devel git mingw-w64-x86_64-gcc mingw-w64-x86_64-meson mingw-w64-x86_64-cmake
|
||||
|
||||
- id: short-sha
|
||||
name: Get Git commit hash
|
||||
uses: benjlevesque/short-sha@v2.2
|
||||
with:
|
||||
length: 7
|
||||
|
@ -344,29 +366,29 @@ jobs:
|
|||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
- name: Download phase 1
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: retro-phase1.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: retro/build/retro-phase1
|
||||
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: mingw64
|
||||
install: base-devel git mingw-w64-x86_64-gcc mingw-w64-x86_64-meson mingw-w64-x86_64-cmake
|
||||
- name: Configure core
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
meson setup build --buildtype release -Db_lto=true -Dretro=true -Dretro_phase1_path=retro/build/retro-phase1
|
||||
|
||||
- name: Build core
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
runner_temp="$(cygpath '${{ runner.temp }}')"
|
||||
mkdir "$runner_temp"/retro-phase2
|
||||
cp retro/core.info "$runner_temp"/retro-phase2/mkxp-z_libretro.info
|
||||
meson setup build --buildtype release -Db_lto=true -Dretro=true -Dretro_phase1_path=retro/build/retro-phase1
|
||||
cd build
|
||||
ninja -v
|
||||
strip libretro-mkxp-z.dll
|
||||
mv libretro-mkxp-z.dll "$runner_temp"/retro-phase2/mkxp-z_libretro.dll
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: libretro-mkxp-z.windows.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: ${{ runner.temp }}/retro-phase2
|
||||
|
@ -407,20 +429,7 @@ jobs:
|
|||
arch_debian: amd64
|
||||
arch_gcc: x86_64-linux-gnu
|
||||
steps:
|
||||
- id: short-sha
|
||||
uses: benjlevesque/short-sha@v2.2
|
||||
with:
|
||||
length: 7
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: retro-phase1.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: retro/build/retro-phase1
|
||||
|
||||
- name: Install apt dependencies
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
if [ '${{ matrix.arch_mkxpz }}' != 'x86_64' ]
|
||||
then
|
||||
|
@ -440,10 +449,23 @@ jobs:
|
|||
sudo apt install -y gcc-${{ matrix.arch_gcc }} g++-${{ matrix.arch_gcc }}
|
||||
fi
|
||||
|
||||
- name: Build core
|
||||
- id: short-sha
|
||||
name: Get Git commit hash
|
||||
uses: benjlevesque/short-sha@v2.2
|
||||
with:
|
||||
length: 7
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Download phase 1
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: retro-phase1.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: retro/build/retro-phase1
|
||||
|
||||
- name: Configure core
|
||||
run: |
|
||||
mkdir ${{ runner.temp }}/retro-phase2
|
||||
cp retro/core.info ${{ runner.temp }}/retro-phase2/mkxp-z_libretro.info
|
||||
if [ '${{ matrix.arch_mkxpz }}' != 'x86_64' ]
|
||||
then
|
||||
cross_arg='--cross-file linux/meson-${{ matrix.arch_mkxpz }}.txt'
|
||||
|
@ -451,6 +473,10 @@ jobs:
|
|||
cross_arg=
|
||||
fi
|
||||
meson setup build $cross_arg --buildtype release -Db_lto=true -Dretro=true -Dretro_phase1_path=retro/build/retro-phase1
|
||||
|
||||
- name: Build core
|
||||
run: |
|
||||
mkdir ${{ runner.temp }}/retro-phase2
|
||||
cd build
|
||||
ninja -v
|
||||
if [ '${{ matrix.arch_mkxpz }}' != 'x86_64' ]
|
||||
|
@ -461,7 +487,8 @@ jobs:
|
|||
fi
|
||||
mv libretro-mkxp-z.so ${{ runner.temp }}/retro-phase2/mkxp-z_libretro.so
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: libretro-mkxp-z.linux-gnu.${{ matrix.arch_mkxpz }}.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: ${{ runner.temp }}/retro-phase2
|
||||
|
@ -535,7 +562,13 @@ jobs:
|
|||
cpu: x86_64
|
||||
endian: little
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y git build-essential clang llvm meson cmake
|
||||
|
||||
- id: short-sha
|
||||
name: Get Git commit hash
|
||||
uses: benjlevesque/short-sha@v2.2
|
||||
with:
|
||||
length: 7
|
||||
|
@ -543,16 +576,12 @@ jobs:
|
|||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
- name: Download phase 1
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: retro-phase1.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: retro/build/retro-phase1
|
||||
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y git build-essential clang llvm meson cmake
|
||||
|
||||
- name: Set up sysroot
|
||||
id: sysroot
|
||||
uses: jirutka/setup-alpine@v1
|
||||
|
@ -561,7 +590,7 @@ jobs:
|
|||
branch: latest-stable
|
||||
packages: build-base
|
||||
|
||||
- name: Build core
|
||||
- name: Configure core
|
||||
run: |
|
||||
echo "[binaries]" | tee -a ${{ runner.temp }}/cross.ini
|
||||
echo "c = ['clang', '--target=${{ matrix.arch_llvm }}', '-fuse-ld=lld', '--sysroot=${{ steps.sysroot.outputs.root-path }}']" | tee -a ${{ runner.temp }}/cross.ini
|
||||
|
@ -576,16 +605,18 @@ jobs:
|
|||
echo "[properties]" | tee -a ${{ runner.temp }}/cross.ini
|
||||
echo "sys_root = '${{ steps.sysroot.outputs.root-path }}'" | tee -a ${{ runner.temp }}/cross.ini
|
||||
echo '--------------------------------------------------------------------------------'
|
||||
|
||||
mkdir ${{ runner.temp }}/retro-phase2
|
||||
cp retro/core.info ${{ runner.temp }}/retro-phase2/mkxp-z_libretro.info
|
||||
meson setup build --cross-file ${{ runner.temp }}/cross.ini --buildtype release -Db_lto=true -Dretro=true -Dretro_phase1_path=retro/build/retro-phase1
|
||||
|
||||
- name: Build core
|
||||
run: |
|
||||
mkdir ${{ runner.temp }}/retro-phase2
|
||||
cd build
|
||||
ninja -v
|
||||
llvm-strip libretro-mkxp-z.so
|
||||
mv libretro-mkxp-z.so ${{ runner.temp }}/retro-phase2/mkxp-z_libretro.so
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: libretro-mkxp-z.linux-musl.${{ matrix.arch_mkxpz }}.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: ${{ runner.temp }}/retro-phase2
|
||||
|
@ -623,7 +654,20 @@ jobs:
|
|||
cpu: x86_64
|
||||
endian: little
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y git build-essential llvm meson cmake
|
||||
|
||||
- id: ndk
|
||||
name: Set up Android NDK
|
||||
uses: nttld/setup-ndk@v1
|
||||
with:
|
||||
ndk-version: r27c
|
||||
add-to-path: false
|
||||
|
||||
- id: short-sha
|
||||
name: Get Git commit hash
|
||||
uses: benjlevesque/short-sha@v2.2
|
||||
with:
|
||||
length: 7
|
||||
|
@ -631,23 +675,13 @@ jobs:
|
|||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
- name: Download phase 1
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: retro-phase1.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: retro/build/retro-phase1
|
||||
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y git build-essential llvm meson cmake
|
||||
|
||||
- id: ndk
|
||||
uses: nttld/setup-ndk@v1
|
||||
with:
|
||||
ndk-version: r27c
|
||||
add-to-path: false
|
||||
|
||||
- name: Build core
|
||||
- name: Configure core
|
||||
run: |
|
||||
echo "[binaries]" | tee -a ${{ runner.temp }}/cross.ini
|
||||
echo "c = '${{ steps.ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin/${{ matrix.arch_llvm }}-clang'" | tee -a ${{ runner.temp }}/cross.ini
|
||||
|
@ -662,16 +696,18 @@ jobs:
|
|||
echo "[cmake]" | tee -a ${{ runner.temp }}/cross.ini
|
||||
echo "CMAKE_SYSTEM_PROCESSOR = '${{ matrix.arch_cmake }}'" | tee -a ${{ runner.temp }}/cross.ini
|
||||
echo '--------------------------------------------------------------------------------'
|
||||
|
||||
mkdir ${{ runner.temp }}/retro-phase2
|
||||
cp retro/core.info ${{ runner.temp }}/retro-phase2/mkxp-z_libretro.info
|
||||
ANDROID_NDK=${{ steps.ndk.outputs.ndk-path }} meson setup build --cross-file ${{ runner.temp }}/cross.ini --buildtype release -Db_lto=true -Dretro=true -Dretro_phase1_path=retro/build/retro-phase1
|
||||
|
||||
- name: Build core
|
||||
run: |
|
||||
mkdir ${{ runner.temp }}/retro-phase2
|
||||
cd build
|
||||
ninja -v
|
||||
llvm-strip libretro-mkxp-z.so
|
||||
mv libretro-mkxp-z.so ${{ runner.temp }}/retro-phase2/mkxp-z_libretro.so
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: libretro-mkxp-z.android.${{ matrix.arch_mkxpz }}.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: ${{ runner.temp }}/retro-phase2
|
||||
|
@ -695,7 +731,12 @@ jobs:
|
|||
cpu: x86_64
|
||||
endian: little
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
brew install -q git gpatch meson cmake
|
||||
|
||||
- id: short-sha
|
||||
name: Get Git commit hash
|
||||
uses: benjlevesque/short-sha@v2.2
|
||||
with:
|
||||
length: 7
|
||||
|
@ -703,16 +744,13 @@ jobs:
|
|||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
- name: Download phase 1
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: retro-phase1.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: retro/build/retro-phase1
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
brew install -q git gpatch meson cmake
|
||||
|
||||
- name: Build core
|
||||
- name: Configure core
|
||||
run: |
|
||||
echo "[binaries]" | tee -a ${{ runner.temp }}/cross.ini
|
||||
echo "c = ['clang', '--target=${{ matrix.arch_llvm }}']" | tee -a ${{ runner.temp }}/cross.ini
|
||||
|
@ -725,16 +763,18 @@ jobs:
|
|||
echo "cpu = '${{ matrix.cpu }}'" | tee -a ${{ runner.temp }}/cross.ini
|
||||
echo "endian = '${{ matrix.endian }}'" | tee -a ${{ runner.temp }}/cross.ini
|
||||
echo '--------------------------------------------------------------------------------'
|
||||
|
||||
mkdir ${{ runner.temp }}/retro-phase2
|
||||
cp retro/core.info ${{ runner.temp }}/retro-phase2/mkxp-z_libretro.info
|
||||
PATH="$HOMEBREW_PREFIX/opt/gpatch/libexec/gnubin:$PATH" meson setup build --cross-file ${{ runner.temp }}/cross.ini --buildtype release -Db_lto=true -Dretro=true -Dretro_phase1_path=retro/build/retro-phase1
|
||||
|
||||
- name: Build core
|
||||
run: |
|
||||
mkdir ${{ runner.temp }}/retro-phase2
|
||||
cd build
|
||||
ninja -v
|
||||
strip -x libretro-mkxp-z.dylib
|
||||
mv libretro-mkxp-z.dylib ${{ runner.temp }}/retro-phase2/mkxp-z_libretro.dylib
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: libretro-mkxp-z.darwin.${{ matrix.arch_mkxpz }}.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: ${{ runner.temp }}/retro-phase2
|
||||
|
@ -744,7 +784,18 @@ jobs:
|
|||
name: LR Emscripten
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y git build-essential meson cmake
|
||||
|
||||
- name: Set up Emscripten SDK
|
||||
uses: mymindstorm/setup-emsdk@v14
|
||||
with:
|
||||
version: 3.1.46
|
||||
|
||||
- id: short-sha
|
||||
name: Get Git commit hash
|
||||
uses: benjlevesque/short-sha@v2.2
|
||||
with:
|
||||
length: 7
|
||||
|
@ -752,21 +803,13 @@ jobs:
|
|||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
- name: Download phase 1
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: retro-phase1.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: retro/build/retro-phase1
|
||||
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y git build-essential meson cmake
|
||||
|
||||
- uses: mymindstorm/setup-emsdk@v14
|
||||
with:
|
||||
version: 3.1.46
|
||||
|
||||
- name: Build core
|
||||
- name: Configure core
|
||||
run: |
|
||||
echo "[binaries]" | tee -a ${{ runner.temp }}/cross.ini
|
||||
echo "c = 'emcc'" | tee -a ${{ runner.temp }}/cross.ini
|
||||
|
@ -779,10 +822,11 @@ jobs:
|
|||
echo "cpu = 'wasm32'" | tee -a ${{ runner.temp }}/cross.ini
|
||||
echo "endian = 'little'" | tee -a ${{ runner.temp }}/cross.ini
|
||||
echo '--------------------------------------------------------------------------------'
|
||||
|
||||
mkdir ${{ runner.temp }}/retro-phase2
|
||||
cp retro/core.info ${{ runner.temp }}/retro-phase2/mkxp-z_libretro.info
|
||||
meson setup build --cross-file ${{ runner.temp }}/cross.ini --default-library static --buildtype release -Db_lto=true -Dretro=true -Dretro_phase1_path=retro/build/retro-phase1
|
||||
|
||||
- name: Build core
|
||||
run: |
|
||||
mkdir ${{ runner.temp }}/retro-phase2
|
||||
cd build
|
||||
ninja -v
|
||||
|
||||
|
@ -811,7 +855,8 @@ jobs:
|
|||
mv mkxp-z_libretro.wasm ${{ runner.temp }}/retro-phase2
|
||||
mv mkxp-z_libretro.js ${{ runner.temp }}/retro-phase2
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: libretro-mkxp-z.emscripten.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: ${{ runner.temp }}/retro-phase2
|
||||
|
@ -822,7 +867,13 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
container: vitasdk/vitasdk:latest
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
apk update
|
||||
apk add git build-base meson cmake
|
||||
|
||||
- id: short-sha
|
||||
name: Get Git commit hash
|
||||
uses: benjlevesque/short-sha@v2.2
|
||||
with:
|
||||
length: 7
|
||||
|
@ -830,17 +881,13 @@ jobs:
|
|||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
- name: Download phase 1
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: retro-phase1.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: retro/build/retro-phase1
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
apk update
|
||||
apk add git build-base meson cmake
|
||||
|
||||
- name: Build core
|
||||
- name: Configure core
|
||||
run: |
|
||||
echo "[binaries]" | tee -a ~/cross.ini
|
||||
echo "c = 'arm-vita-eabi-gcc'" | tee -a ~/cross.ini
|
||||
|
@ -852,15 +899,18 @@ jobs:
|
|||
echo "cpu = 'generic-armv7-a'" | tee -a ~/cross.ini
|
||||
echo "endian = 'little'" | tee -a ~/cross.ini
|
||||
echo '--------------------------------------------------------------------------------'
|
||||
|
||||
mkdir ~/retro-phase2
|
||||
cp retro/core.info ~/retro-phase2/mkxp-z_libretro.info
|
||||
git config --global --add safe.directory "$(pwd)"
|
||||
meson setup build --cross-file ~/cross.ini --default-library static -Db_staticpic=false --buildtype release -Db_lto=true -Dretro=true -Dretro_phase1_path=retro/build/retro-phase1
|
||||
|
||||
- name: Build core
|
||||
run: |
|
||||
mkdir ~/retro-phase2
|
||||
cd build
|
||||
ninja -v
|
||||
mv libretro-mkxp-z.a ~/retro-phase2/mkxp-z_libretro.a
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: libretro-mkxp-z.vita.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: ~/retro-phase2
|
||||
|
@ -871,7 +921,15 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
container: devkitpro/devkitppc:latest
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
apt update
|
||||
apt install -y git build-essential pip ninja-build
|
||||
apt remove -y meson cmake
|
||||
pip install meson cmake
|
||||
|
||||
- id: short-sha
|
||||
name: Get Git commit hash
|
||||
uses: benjlevesque/short-sha@v2.2
|
||||
with:
|
||||
length: 7
|
||||
|
@ -879,18 +937,13 @@ jobs:
|
|||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
- name: Download phase 1
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: retro-phase1.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: retro/build/retro-phase1
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
apt update
|
||||
apt install -y git build-essential pip ninja-build cmake
|
||||
pip install meson
|
||||
|
||||
- name: Build core
|
||||
- name: Configure core
|
||||
run: |
|
||||
echo "[binaries]" | tee -a ~/cross.ini
|
||||
echo "c = '/opt/devkitpro/devkitPPC/bin/powerpc-eabi-gcc'" | tee -a ~/cross.ini
|
||||
|
@ -902,15 +955,18 @@ jobs:
|
|||
echo "cpu = 'ppc'" | tee -a ~/cross.ini
|
||||
echo "endian = 'big'" | tee -a ~/cross.ini
|
||||
echo '--------------------------------------------------------------------------------'
|
||||
|
||||
mkdir ~/retro-phase2
|
||||
cp retro/core.info ~/retro-phase2/mkxp-z_libretro.info
|
||||
git config --global --add safe.directory "$(pwd)"
|
||||
meson setup build --cross-file ~/cross.ini --default-library static --buildtype release -Db_lto=true -Dretro=true -Dretro_phase1_path=retro/build/retro-phase1
|
||||
|
||||
- name: Build core
|
||||
run: |
|
||||
mkdir ~/retro-phase2
|
||||
cd build
|
||||
ninja -v
|
||||
mv libretro-mkxp-z.a ~/retro-phase2/mkxp-z_libretro.a
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: libretro-mkxp-z.wiiu.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: ~/retro-phase2
|
||||
|
@ -921,7 +977,15 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
container: devkitpro/devkita64:latest
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
apt update
|
||||
apt install -y git build-essential pip ninja-build
|
||||
apt remove -y meson cmake
|
||||
pip install meson cmake
|
||||
|
||||
- id: short-sha
|
||||
name: Get Git commit hash
|
||||
uses: benjlevesque/short-sha@v2.2
|
||||
with:
|
||||
length: 7
|
||||
|
@ -929,18 +993,13 @@ jobs:
|
|||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
- name: Download phase 1
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: retro-phase1.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: retro/build/retro-phase1
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
apt update
|
||||
apt install -y git build-essential pip ninja-build cmake
|
||||
pip install meson
|
||||
|
||||
- name: Build core
|
||||
- name: Configure core
|
||||
run: |
|
||||
echo "[binaries]" | tee -a ~/cross.ini
|
||||
echo "c = '/opt/devkitpro/devkitA64/bin/aarch64-none-elf-gcc'" | tee -a ~/cross.ini
|
||||
|
@ -952,16 +1011,19 @@ jobs:
|
|||
echo "cpu = 'generic-armv8-a'" | tee -a ~/cross.ini
|
||||
echo "endian = 'little'" | tee -a ~/cross.ini
|
||||
echo '--------------------------------------------------------------------------------'
|
||||
|
||||
mkdir ~/retro-phase2
|
||||
cp retro/core.info ~/retro-phase2/mkxp-z_libretro.info
|
||||
git config --global --add safe.directory "$(pwd)"
|
||||
# Enabling LTO with devkitA64 causes "plugin needed to handle lto object" linker error
|
||||
meson setup build --cross-file ~/cross.ini --default-library static --buildtype release -Db_lto=false -Dretro=true -Dretro_phase1_path=retro/build/retro-phase1
|
||||
|
||||
- name: Build core
|
||||
run: |
|
||||
mkdir ~/retro-phase2
|
||||
cd build
|
||||
ninja -v
|
||||
mv libretro-mkxp-z.a ~/retro-phase2/mkxp-z_libretro.a
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: libretro-mkxp-z.switch.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
|
||||
path: ~/retro-phase2
|
||||
|
|
|
@ -7,7 +7,7 @@ if get_option('retro') == false and host_system == 'darwin'
|
|||
error('\nThis Meson project no longer supports macOS. Please use the Xcode project instead.')
|
||||
endif
|
||||
|
||||
git_hash = run_command('git', 'rev-parse', '--short', 'HEAD', check: false).stdout().strip()
|
||||
git_hash = run_command('git', 'rev-parse', '--short', 'HEAD', check: true).stdout().strip()
|
||||
|
||||
compilers = {'cpp': meson.get_compiler('cpp')}
|
||||
|
||||
|
@ -148,6 +148,8 @@ if get_option('retro') == true
|
|||
})
|
||||
|
||||
retro_defines = [
|
||||
'-DMKXPZ_VERSION="@0@"'.format(meson.project_version()),
|
||||
'-DMKXPZ_GIT_HASH="@0@"'.format(git_hash),
|
||||
'-DWASM_RT_SKIP_SIGNAL_RECOVERY',
|
||||
'-DWASM_RT_TRAP_HANDLER=mkxp_sandbox_trap_handler',
|
||||
'-DMKXPZ_RETRO',
|
||||
|
|
|
@ -6,7 +6,6 @@ corename = "mkxp-z"
|
|||
categories = "Game engine"
|
||||
license = "GPLv2"
|
||||
permissions = ""
|
||||
display_version = "rolling"
|
||||
|
||||
# Hardware Information
|
||||
systemname = "RPG Maker XP/VX/VX Ace Game Engine"
|
||||
|
|
|
@ -326,7 +326,7 @@ extern "C" RETRO_API unsigned int retro_api_version() {
|
|||
extern "C" RETRO_API void retro_get_system_info(struct retro_system_info *info) {
|
||||
std::memset(info, 0, sizeof *info);
|
||||
info->library_name = "mkxp-z";
|
||||
info->library_version = "rolling";
|
||||
info->library_version = MKXPZ_VERSION "/" MKXPZ_GIT_HASH;
|
||||
info->valid_extensions = "mkxp|mkxpz|json|ini|rxproj|rvproj|rvproj2";
|
||||
info->need_fullpath = true;
|
||||
info->block_extract = true;
|
||||
|
|
Loading…
Add table
Reference in a new issue