Commit graph

67 commits

Author SHA1 Message Date
刘皓
07a03be7df
Use libiconv instead of the system iconv in libretro builds 2025-04-12 16:40:50 -04:00
刘皓
ecd8e50e9e
Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds
I don't know why the Wii U build fails with older versions of OpenAL
Soft. There's nothing we can do here except use the newer OpenAL Soft
versions.
2025-04-09 17:22:13 -04:00
刘皓
8c7786da2b
Change openal-soft-int32.patch to also apply to devkitPPC 2025-04-08 23:36:42 -04:00
刘皓
495d00d5ed
Fix libretro compilation errors caused by the previous commit 2025-04-08 15:20:13 -04:00
刘皓
74f4c0e714
Downgrade OpenAL Soft from 1.24.2 to 1.23.1 in libretro builds
OpenAL Soft 1.24 introduces a lot of code that doesn't work well with
the PlayStation 3 homebrew toolchain, and also the old version of the
Wii U homebrew toolchain currently used by the libretro buildbot.
Instead of maintaining a bunch of patches to get 1.24 to work on these
toolchains, I think it'd be easier to just use 1.23.
2025-04-08 14:27:20 -04:00
刘皓
0bd07c8dc8
Disable building the FluidSynth executable in libretro builds 2025-04-08 01:15:33 -04:00
刘皓
192300dbe9
Allow FluidSynth to build for libretro targets with no threading support 2025-04-08 00:27:32 -04:00
刘皓
89ffd49acf
Fix several FluidSynth compilation errors in libretro builds 2025-04-07 22:16:00 -04:00
刘皓
db7853d02d
Use fluidsynth-sans-glib instead of fluidlite in libretro builds
FluidLite plays one of the tracks in the intro sequence of KNight-Blade
incorrectly.
2025-04-07 21:24:27 -04:00
刘皓
8457ac1598
Rename mkxp-threads to mkxp-polyfill 2025-04-02 13:06:17 -04:00
刘皓
dcd29f44a9
Remove dependency on libzip in libretro builds 2025-03-31 13:26:54 -04:00
刘皓
70c5b3dad4
Fix undefined symbol error in libretro Nintendo 3DS build 2025-03-30 00:03:03 -04:00
刘皓
81b94d1498
Remove dependency on SDL headers in libretro builds
I'd already removed the SDL static libraries from libretro builds for
portability, but kept the headers to make it easier to port the codebase
to libretro. Eventually it was time to stop using the SDL headers as a
crutch.
2025-03-29 12:37:07 -04:00
刘皓
b9e54fbb28
Fix libretro builds with CMake 4 2025-03-27 23:02:49 -04:00
刘皓
54e819f89c
Remove PortableGL support
I was planning on using PortableGL as a software implementation of
OpenGL, but it's really slow (at least when compared to actual 2D
graphics software renderers). I'll have to actually add a separate
rendering backend for software rendering later instead of trying to
emulate OpenGL in software.
2025-03-16 22:15:24 -04:00
刘皓
0e786c4e48
Replace GLsizeiptr in PortableGL headers with uintptr_t
Required to account for the fact that we changed the typedef for
`GLsizeiptr` from `uintptr_t` to `ssize_t`, and PortableGL, for some
reason, incorrectly relies on `GLsizeiptr` being an unsigned
pointer-sized integer in some places.
2025-03-15 11:50:50 -04:00
刘皓
96e44e285f
Prevent type conflicts between Khronos OpenGL headers and PortableGL headers 2025-03-15 01:29:12 -04:00
刘皓
995c5303a3
Rename PortableGL shader texture functions 2025-03-12 23:05:02 -04:00
刘皓
969ef0612f
Start implementing PortableGL bindings for libretro builds 2025-03-11 14:07:20 -04:00
刘皓
497d6788c6
Use Khronos OpenGL headers in libretro builds instead of SDL OpenGL headers
SDL disables OpenGL headers when building for iOS and tvOS, but that
causes our builds to fail. I'm getting conflicting answers on whether or
not OpenGL is supported on iOS and tvOS, but it's the libretro
frontend's job to care about this, not mine. Regardless, I'm gonna need
these OpenGL headers for software rendering on platforms with no OpenGL
support, so I can't tolerate the headers being disabled.
2025-03-10 17:31:39 -04:00
刘皓
9677ab899b
Merge branch 'libretro-compat' into libretro 2025-03-07 21:01:48 -05:00
刘皓
c25175778e
Prevent PhysFS from using lstat() on platforms where it's not supported 2025-03-07 12:10:26 -05:00
刘皓
516c706a66
Convert all CMake subprojects' object libraries into static libraries
CMake object libraries keep building with position-independent code
enabled even when it's explicitly disabled! We do, in fact, have to
build with position-independent code disabled on some targets, such as
PlayStation Vita, since some targets support position-independent code.

CMake static libraries don't seem to forcibly enable
position-independent code, so I've converted all the object libraries
into static libraries and added the new static libraries as dependencies
in Meson.
2025-03-06 22:55:26 -05:00
刘皓
24a4ae5759
Fix missing symbol errors in libretro PlayStation Vita build
Somehow, enabling LTO prevents these linker errors from showing up,
which is why they don't show up in GitHub Actions, but that doesn't mean
the errors can be ignored!
2025-03-06 20:07:58 -05:00
刘皓
740dfd51c9
Start integrating font code into libretro builds 2025-03-04 18:52:20 -05:00
刘皓
a37997a6ac
Add FreeType to libretro builds 2025-03-03 23:26:57 -05:00
刘皓
66152bf5c5
Merge branch 'libretro-compat' into libretro 2025-02-27 23:34:08 -05:00
刘皓
ba68b8fa5b
Move libretro headers and SDL headers to meson.build 2025-02-27 20:39:17 -05:00
刘皓
ec0196b5e3
Fix OpenGL symbol conflict in libretro Emscripten build 2025-02-27 16:16:05 -05:00
刘皓
9f33a0acea
Implement image loading in libretro builds 2025-02-25 12:53:57 -05:00
刘皓
8ed8dd14ee
Add stb_image and PortableGL to libretro builds 2025-02-24 23:22:00 -05:00
刘皓
2029539ece
Replace pixman with pixman-region in libretro builds 2025-02-24 17:13:25 -05:00
刘皓
3506ce6cc6
Make sure pixman inherits compiler flags in libretro builds 2025-02-24 16:44:00 -05:00
刘皓
81c272cb9f
Add libpng and pixman to libretro builds 2025-02-24 15:32:02 -05:00
刘皓
9ed11ecffa
Use libretro's PlayStation 3 Docker image instead of ScummVM's 2025-02-22 16:04:51 -05:00
刘皓
9e4a221240
Fix many, many compilation errors in libretro PlayStation 3 builds 2025-02-21 14:06:28 -05:00
刘皓
f8d5fc06f5
Disable PIC in static libretro builds
Apparently Vita SDK doesn't support PIC. It throws "Invalid relocation
type 25!" while creating the .self file when building RetroArch.
2025-02-21 00:17:01 -05:00
刘皓
6cbf1b34ca
Move the FLAC fix for Vita SDK into meson.build 2025-02-20 19:20:01 -05:00
刘皓
8559091afd
Fix mpg123-related libsndfile linking error in libretro Vita SDK builds 2025-02-20 18:36:02 -05:00
刘皓
fc26ac927b
Add a pthreads shim for libretro builds on platforms without pthreads 2025-02-20 12:49:36 -05:00
刘皓
9343a5084b
Build FLAC in integer-only mode in libretro PlayStation Vita builds 2025-02-19 01:53:10 -05:00
刘皓
4d9de19266
Prelink manually instead of relying on Meson's prelink kwarg 2025-02-13 21:02:29 -05:00
刘皓
4fdb7316b2
Enable prelinking in static libretro builds 2025-02-13 19:42:29 -05:00
刘皓
76c802b901
Fix linker errors in libretro Nintendo Switch build 2025-02-12 21:30:18 -05:00
刘皓
322caeb628
Fix some libretro build errors for game consoles 2025-02-12 12:49:25 -05:00
刘皓
206e8508b6
Replace WABT's WebAssembly runtime with a custom implementation 2025-02-11 20:40:55 -05:00
刘皓
fdee58f33d
Fix mpg123 compilation error when targeting Emscripten 2025-02-10 02:04:41 -05:00
刘皓
e52e1a483b
Enable libsndfile's support for FLAC, MP3, Opus and Vorbis in libretro builds 2025-02-09 18:37:32 -05:00
刘皓
1706584e9d
Split patch files for libretro builds into smaller files 2025-02-03 23:55:44 -05:00
刘皓
d7e002f9b0
Compile Ruby with -Oz -DNDEBUG in libretro builds 2025-02-02 17:05:15 -05:00