Skip to content

ci: the platforms the makefile already supports - #151

Open
WizzardSK wants to merge 2 commits into
libretro:masterfrom
WizzardSK:ci-missing-platforms
Open

ci: the platforms the makefile already supports#151
WizzardSK wants to merge 2 commits into
libretro:masterfrom
WizzardSK:ci-missing-platforms

Conversation

@WizzardSK

@WizzardSK WizzardSK commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Fourteen targets that Makefile.libretro has supported all along and the CI never built: Windows 32-bit, MacOS x64, iOS arm64, iOS 9, tvOS, 3DS, WiiU, Switch, Vita, GameCube, Wii, PSP, PS3 and Emscripten.

Nothing here teaches the core a new platform. Every one of these already has a branch in the makefile, and each resolves to the file name its template expects:

ios-arm64  -> dosbox_libretro_ios.dylib     ctr     -> dosbox_libretro_ctr.a
ios9       -> dosbox_libretro_ios.dylib     wiiu    -> dosbox_libretro_wiiu.a
tvos-arm64 -> dosbox_libretro_tvos.dylib    libnx   -> dosbox_libretro_libnx.a
osx        -> dosbox_libretro.dylib         vita    -> dosbox_libretro_vita.a
win        -> dosbox_libretro.dll           ngc     -> dosbox_libretro_ngc.a
                                            wii     -> dosbox_libretro_wii.a
                                            psp1    -> dosbox_libretro_psp1.a
                                            psl1ght -> dosbox_libretro_psl1ght.a
                                            emscripten -> dosbox_libretro_emscripten.bc

So the jobs are plain. Two carry a variable: Windows 32-bit needs platform: win and WITH_DYNAREC: x86, for the same reason the existing x64 job does — the makefile knows win rather than win32 and cannot guess a dynarec when cross compiled from Linux.

Everything from 3DS down runs the interpreter. This fork's dynarec backends are armv4le, x86, x86_64 and mipsel, and none of those platforms is one of them — the same note the aarch64 job already carries. For a core this small that is not much of a loss, and an interpreter build is still a core where there was none.

What is checked and what is not. The makefile parses and resolves correctly for all fourteen, which is what can be established without the hardware. Whether each one links is for the buildbot to say. I would rather send them together and drop whichever fail than add them one a week: none is load-bearing for the platforms that build today, so a failure costs a line of YAML.

genode, ps3 and qnx are left out — no template for the first and last, and ps3 is psl1ght under another name.

Nine targets that Makefile.libretro has had all along and the CI never built:
Windows 32-bit, MacOS x64, iOS arm64, iOS 9, tvOS, 3DS, WiiU, Switch and Vita.
Each resolves to the target name its template expects - dosbox_libretro_ios.dylib,
_tvos.dylib, _ctr.a, _wiiu.a, _libnx.a, _vita.a - so what was missing was the job
rather than any support for the platform.
GameCube, Wii, PSP, PS3 and Emscripten, on the same footing as the rest: the
makefile already knows ngc, wii, psp1, psl1ght and emscripten, and each resolves
to the archive name its template expects.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant