From 1f13a834d10565b00650e6e0e76ea15aa11b87e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=9A=93?= Date: Thu, 30 Jan 2025 11:51:42 -0500 Subject: [PATCH] Small fixes to the libretro build process --- .github/workflows/autobuild.yml | 19 +++++-------------- retro/Makefile | 2 +- src/audio/alstream.cpp | 2 +- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/.github/workflows/autobuild.yml b/.github/workflows/autobuild.yml index 217e1f6c..e4766b08 100644 --- a/.github/workflows/autobuild.yml +++ b/.github/workflows/autobuild.yml @@ -563,14 +563,9 @@ jobs: - name: Build core run: | - echo '#!/bin/sh'$'\n''exec clang --target=${{ matrix.arch_llvm }} -fuse-ld=lld --sysroot=${{ steps.sysroot.outputs.root-path }} "$@"' > ${{ runner.temp }}/cc - echo '#!/bin/sh'$'\n''exec clang++ --target=${{ matrix.arch_llvm }} -fuse-ld=lld --sysroot=${{ steps.sysroot.outputs.root-path }} "$@"' > ${{ runner.temp }}/c++ - chmod +x ${{ runner.temp }}/cc - chmod +x ${{ runner.temp }}/c++ - echo "[binaries]" | tee -a ${{ runner.temp }}/cross.ini - echo "c = '${{ runner.temp }}/cc'" | tee -a ${{ runner.temp }}/cross.ini - echo "cpp = '${{ runner.temp }}/c++'" | 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 "cpp = ['clang++', '--target=${{ matrix.arch_llvm }}', '-fuse-ld=lld', '--sysroot=${{ steps.sysroot.outputs.root-path }}']" | tee -a ${{ runner.temp }}/cross.ini echo "ar = 'llvm-ar'" | tee -a ${{ runner.temp }}/cross.ini echo "strip = 'llvm-strip'" | tee -a ${{ runner.temp }}/cross.ini echo "[host_machine]" | tee -a ${{ runner.temp }}/cross.ini @@ -719,14 +714,9 @@ jobs: - name: Build core run: | - echo '#!/bin/sh'$'\n''exec clang --target=${{ matrix.arch_llvm }} "$@"' > ${{ runner.temp }}/cc - echo '#!/bin/sh'$'\n''exec clang++ --target=${{ matrix.arch_llvm }} "$@"' > ${{ runner.temp }}/c++ - chmod +x ${{ runner.temp }}/cc - chmod +x ${{ runner.temp }}/c++ - echo "[binaries]" | tee -a ${{ runner.temp }}/cross.ini - echo "c = '${{ runner.temp }}/cc'" | tee -a ${{ runner.temp }}/cross.ini - echo "cpp = '${{ runner.temp }}/c++'" | tee -a ${{ runner.temp }}/cross.ini + echo "c = ['clang', '--target=${{ matrix.arch_llvm }}']" | tee -a ${{ runner.temp }}/cross.ini + echo "cpp = ['clang++', '--target=${{ matrix.arch_llvm }}']" | tee -a ${{ runner.temp }}/cross.ini echo "ar = 'ar'" | tee -a ${{ runner.temp }}/cross.ini echo "strip = 'strip'" | tee -a ${{ runner.temp }}/cross.ini echo "[host_machine]" | tee -a ${{ runner.temp }}/cross.ini @@ -782,6 +772,7 @@ jobs: echo "c = 'emcc'" | tee -a ${{ runner.temp }}/cross.ini echo "cpp = 'em++'" | tee -a ${{ runner.temp }}/cross.ini echo "ar = 'emar'" | tee -a ${{ runner.temp }}/cross.ini + echo "cmake = ['emcmake', 'cmake']" | tee -a ${{ runner.temp }}/cross.ini echo "[host_machine]" | tee -a ${{ runner.temp }}/cross.ini echo "system = 'emscripten'" | tee -a ${{ runner.temp }}/cross.ini echo "cpu_family = 'wasm32'" | tee -a ${{ runner.temp }}/cross.ini diff --git a/retro/Makefile b/retro/Makefile index d8ce7c76..e4e81e32 100644 --- a/retro/Makefile +++ b/retro/Makefile @@ -103,7 +103,7 @@ $(OUTDIR)/mkxp-retro-ruby/mkxp-retro-ruby.h $(OUTDIR)/mkxp-retro-ruby/mkxp-retro # note: (so you should pass 'int' not 'wasm_rt_type_t' to 'va_arg') # note: if this code is reached, the program will abort # The code will still compile, but like it says, the compiler will sprinkle trap instructions everywhere, so when you run the code it'll crash. Scary! Let's make sure that doesn't happen. - if ! for i in $(seq 0 7); do $(SED) -i 's/va_arg(\([a-z_][A-Za-z0-9_]*\), *wasm_rt_type_t)/va_arg(\1, int)/g' $(OUTDIR)/mkxp-retro-ruby/mkxp-retro-ruby_$$i.c; done; then rm -rf $(OUTDIR)/mkxp-retro-ruby; exit 1; fi + if ! for i in $$(seq 0 7); do $(SED) -i 's/va_arg(\([a-z_][A-Za-z0-9_]*\), *wasm_rt_type_t)/va_arg(\1, int)/g' $(OUTDIR)/mkxp-retro-ruby/mkxp-retro-ruby_$$i.c; done; then rm -rf $(OUTDIR)/mkxp-retro-ruby; exit 1; fi $(OUTDIR)/mkxp-retro-dist.zip.c: $(LIBDIR)/mkxp-retro-dist.zip mkdir -p $(OUTDIR) diff --git a/src/audio/alstream.cpp b/src/audio/alstream.cpp index 4c3b5f2f..8534c173 100644 --- a/src/audio/alstream.cpp +++ b/src/audio/alstream.cpp @@ -395,13 +395,13 @@ void ALStream::checkStopped() * the AL source */ if (!streamInited) return; +#endif // MKXPZ_RETRO /* If alSrc isn't playing, but we haven't * exhausted the data source yet, we're just * having a buffer underrun */ if (!sourceExhausted) return; -#endif // MKXPZ_RETRO if (AL::Source::getState(alSrc) == AL_PLAYING) return;