From e29597c85a43ee5deec28d4f1ca34074f3430476 Mon Sep 17 00:00:00 2001 From: WizzardSK <42868978+WizzardSK@users.noreply.github.com> Date: Fri, 11 Sep 2026 19:38:13 +0200 Subject: [PATCH 1/2] ci: the platforms the makefile already supports 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. --- .gitlab-ci.yml | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 166c838fc..71964aee4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -32,10 +32,47 @@ include: - project: 'libretro-infrastructure/ci-templates' file: '/windows-x64-mingw.yml' + # Windows 32-bit + - project: 'libretro-infrastructure/ci-templates' + file: '/windows-i686-mingw.yml' + + # MacOS 64-bit + - project: 'libretro-infrastructure/ci-templates' + file: '/osx-x64.yml' + # MacOS ARM 64-bit - project: 'libretro-infrastructure/ci-templates' file: '/osx-arm64.yml' + # iOS + - project: 'libretro-infrastructure/ci-templates' + file: '/ios-arm64.yml' + + # iOS (armv7) + - project: 'libretro-infrastructure/ci-templates' + file: '/ios9.yml' + + # tvOS + - project: 'libretro-infrastructure/ci-templates' + file: '/tvos-arm64.yml' + + ################################## CONSOLES ################################ + # Nintendo 3DS + - project: 'libretro-infrastructure/ci-templates' + file: '/ctr-static.yml' + + # Nintendo WiiU + - project: 'libretro-infrastructure/ci-templates' + file: '/wiiu-static.yml' + + # Nintendo Switch + - project: 'libretro-infrastructure/ci-templates' + file: '/libnx-static.yml' + + # PlayStation Vita + - project: 'libretro-infrastructure/ci-templates' + file: '/vita-static.yml' + # webOS - project: 'libretro-infrastructure/ci-templates' file: '/webos-make.yml' @@ -87,12 +124,73 @@ libretro-build-windows-x64: platform: win WITH_DYNAREC: x86_64 +# Windows 32-bit +libretro-build-windows-i686: + extends: + - .libretro-windows-i686-mingw-make-default + - .core-defs + variables: + platform: win + WITH_DYNAREC: x86 + +# MacOS 64-bit +libretro-build-osx-x64: + extends: + - .libretro-osx-x64-make-default + - .core-defs + # MacOS ARM 64-bit libretro-build-osx-arm64: extends: - .libretro-osx-arm64-make-default - .core-defs +# iOS +libretro-build-ios-arm64: + extends: + - .libretro-ios-arm64-make-default + - .core-defs + +# iOS (armv7) [iOS 9 and up] +libretro-build-ios9: + extends: + - .libretro-ios9-make-default + - .core-defs + +# tvOS +libretro-build-tvos-arm64: + extends: + - .libretro-tvos-arm64-make-default + - .core-defs + +################################### CONSOLES ################################# +# All four run the interpreter: this fork's dynarec backends are armv4le, x86, +# x86_64 and mipsel, and none of these is one of those. +# +# Nintendo 3DS +libretro-build-ctr: + extends: + - .libretro-ctr-static-retroarch-master + - .core-defs + +# Nintendo WiiU +libretro-build-wiiu: + extends: + - .libretro-wiiu-static-retroarch-master + - .core-defs + +# Nintendo Switch +libretro-build-libnx-aarch64: + extends: + - .libretro-libnx-static-retroarch-master + - .core-defs + +# PlayStation Vita +libretro-build-vita: + extends: + - .libretro-vita-static-retroarch-master + - .core-defs + # webOS ARMv7a # The makefile guesses the dynarec from `uname -m` on platform=unix, which is # the build host here, so the target's own has to be named. From c2995fbda0000a5a298b1b8dce72c0cddb537ec4 Mon Sep 17 00:00:00 2001 From: WizzardSK <42868978+WizzardSK@users.noreply.github.com> Date: Fri, 11 Sep 2026 20:06:01 +0200 Subject: [PATCH 2/2] ci: the consoles too 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. --- .gitlab-ci.yml | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 71964aee4..99b0eae7d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -73,6 +73,27 @@ include: - project: 'libretro-infrastructure/ci-templates' file: '/vita-static.yml' + # Nintendo GameCube + - project: 'libretro-infrastructure/ci-templates' + file: '/ngc-static.yml' + + # Nintendo Wii + - project: 'libretro-infrastructure/ci-templates' + file: '/wii-static.yml' + + # PlayStation Portable + - project: 'libretro-infrastructure/ci-templates' + file: '/psp-static.yml' + + # PlayStation 3 + - project: 'libretro-infrastructure/ci-templates' + file: '/psl1ght-static.yml' + + #################################### MISC ################################## + # Emscripten + - project: 'libretro-infrastructure/ci-templates' + file: '/emscripten-static.yml' + # webOS - project: 'libretro-infrastructure/ci-templates' file: '/webos-make.yml' @@ -191,6 +212,36 @@ libretro-build-vita: - .libretro-vita-static-retroarch-master - .core-defs +# Nintendo GameCube +libretro-build-ngc: + extends: + - .libretro-ngc-static-retroarch-master + - .core-defs + +# Nintendo Wii +libretro-build-wii: + extends: + - .libretro-wii-static-retroarch-master + - .core-defs + +# PlayStation Portable +libretro-build-psp: + extends: + - .libretro-psp-static-retroarch-master + - .core-defs + +# PlayStation 3 +libretro-build-psl1ght: + extends: + - .libretro-psl1ght-static-retroarch-master + - .core-defs + +# Emscripten +libretro-build-emscripten: + extends: + - .libretro-emscripten-static-retroarch-master + - .core-defs + # webOS ARMv7a # The makefile guesses the dynarec from `uname -m` on platform=unix, which is # the build host here, so the target's own has to be named.