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