mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-23 16:09:47 +00:00
4e24fb3d01
* Fix old osx condition Current code assumes that osx < 10.12 is equivalent to ppc osx. It's not true as Leopard x86 is still < 10.12 but not ppc. As xcode compiles fat binaries it includes osx x86 and compilation fails. * Disable crtswitchres when no c++11 is available Crtswitchres altually needs c++11. Since it's not that important to make it compatible with lower c++, just disable if no c++11 is available * Don't use firstObject on old Mac OS X. It was introduced in 10.6, so on old ones just implement it ourselves * Compile osx-ppc frontend * osx-ppc: Build a fat binary On 10.6 i386 xcode apparently refuses to build a pure ppc. Settle for a fat binary.
1075 lines
41 KiB
YAML
1075 lines
41 KiB
YAML
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-amd64-ubuntu:latest
|
|
|
|
stages:
|
|
- build-prepare
|
|
- build
|
|
- prepare-for-static-cores
|
|
- trigger-static-cores
|
|
|
|
build-retroarch-windows-x64:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-mxe-win64-cross:gcc10
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch.exe
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "MOC=/usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/bin/moc ./configure --host=x86_64-w64-mingw32.shared"
|
|
- "make -j$NUMPROC"
|
|
- if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch.exe; fi
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist"
|
|
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC platform=win compiler=x86_64-w64-mingw32.static-gcc build=release && make -j$NUMPROC platform=win compiler=x86_64-w64-mingw32.static-gcc build=release strip && cd -"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dll ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cd gfx/video_filters && make -j$NUMPROC platform=win compiler=x86_64-w64-mingw32.static-gcc build=release && make -j$NUMPROC platform=win compiler=x86_64-w64-mingw32.static-gcc build=release strip && cd -"
|
|
- "cp -f gfx/video_filters/*.dll ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f retroarch.cfg ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/retroarch.default.cfg"
|
|
- "echo -e '[Paths]\nPlugins = ./' > ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/qt.conf"
|
|
- "/bin/bash /usr/lib/mxe/tools/copydlldeps.sh
|
|
--infile retroarch.exe
|
|
--destdir ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/
|
|
--recursivesrcdir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/
|
|
--enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/bearer/
|
|
--enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/iconengines/
|
|
--enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/imageformats/
|
|
--enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/platforms/
|
|
--enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/styles/
|
|
--copy
|
|
--objdump x86_64-w64-mingw32.shared-objdump"
|
|
- "rm -f ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/opengl32.dll"
|
|
|
|
build-retroarch-windows-i686:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-mxe-win32-cross:gcc10
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch.exe
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "MOC=/usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/bin/moc ./configure --host=i686-w64-mingw32.shared"
|
|
- "make -j$NUMPROC"
|
|
- if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch.exe; fi
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist"
|
|
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC platform=win compiler=i686-w64-mingw32.static-gcc build=release && make -j$NUMPROC platform=win compiler=i686-w64-mingw32.static-gcc build=release strip && cd -"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dll ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cd gfx/video_filters && make -j$NUMPROC platform=win compiler=i686-w64-mingw32.static-gcc build=release && make -j$NUMPROC platform=win compiler=i686-w64-mingw32.static-gcc build=release strip && cd -"
|
|
- "cp -f gfx/video_filters/*.dll ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f retroarch.cfg ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/retroarch.default.cfg"
|
|
- "echo -e '[Paths]\nPlugins = ./' > ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/qt.conf"
|
|
- "/bin/bash /usr/lib/mxe/tools/copydlldeps.sh
|
|
--infile retroarch.exe
|
|
--destdir ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/
|
|
--recursivesrcdir /usr/lib/mxe/usr/i686-w64-mingw32.shared/
|
|
--enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/bearer/
|
|
--enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/iconengines/
|
|
--enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/imageformats/
|
|
--enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/platforms/
|
|
--enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/styles/
|
|
--copy
|
|
--objdump i686-w64-mingw32.shared-objdump"
|
|
- "rm -f ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/opengl32.dll"
|
|
|
|
build-retroarch-windows-msvc10-x64:
|
|
tags:
|
|
- msvc2010
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
MSYSTEM: MINGW64
|
|
ARCH: x86_64
|
|
MSYS_BIN_DIR: C:\msys64\usr\bin
|
|
SDK_BIN_DIR: C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
|
|
RCEDIT_BIN_DIR: C:\Program Files\rcedit
|
|
PEDEPS_BIN_DIR: C:\Program Files\pedeps-0.1.9-win64\bin
|
|
MSVC_PLATFORM: windows_msvc2010_x64
|
|
before_script:
|
|
- $Env:HOME = "."
|
|
- $Env:Path += -join(";", "$Env:MSYS_BIN_DIR", ";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR")
|
|
artifacts:
|
|
paths:
|
|
- retroarch.exe
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- |
|
|
$ErrorActionPreference = 'Stop'
|
|
# Build RetroArch
|
|
bash.exe -l -c "make -f Makefile.griffin platform=$Env:MSVC_PLATFORM"
|
|
if ($LastExitCode -ne 0){throw "Failed to build RetroArch"}
|
|
mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1"
|
|
if ($LastExitCode -ne 0){throw "Failed to add manifest to RetroArch binary"}
|
|
rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico"
|
|
if ($LastExitCode -ne 0){throw "Failed to set icon of RetroArch binary"}
|
|
# Create .media subdirectories
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory
|
|
# Copy audio/video filters
|
|
Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio"
|
|
Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video"
|
|
# Copy default config file
|
|
Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg"
|
|
# Copy dll dependencies
|
|
# (note that msvc builds should not have any, but this
|
|
# may change in the future)
|
|
copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist"
|
|
if ($LastExitCode -ne 0){throw "Failed to copy RetroArch dependencies"}
|
|
Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore
|
|
|
|
build-retroarch-windows-msvc10-i686:
|
|
tags:
|
|
- msvc2010
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
MSYSTEM: MINGW32
|
|
ARCH: x86
|
|
MSYS_BIN_DIR: C:\msys64\usr\bin
|
|
SDK_BIN_DIR: C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
|
|
RCEDIT_BIN_DIR: C:\Program Files\rcedit
|
|
PEDEPS_BIN_DIR: C:\Program Files\pedeps-0.1.9-win64\bin
|
|
MSVC_PLATFORM: windows_msvc2010_x86
|
|
before_script:
|
|
- $Env:HOME = "."
|
|
- $Env:Path += -join(";", "$Env:MSYS_BIN_DIR", ";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR")
|
|
artifacts:
|
|
paths:
|
|
- retroarch.exe
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- |
|
|
$ErrorActionPreference = 'Stop'
|
|
# Build RetroArch
|
|
bash.exe -l -c "make -f Makefile.griffin platform=$Env:MSVC_PLATFORM"
|
|
if ($LastExitCode -ne 0){throw "Failed to build RetroArch"}
|
|
mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1"
|
|
if ($LastExitCode -ne 0){throw "Failed to add manifest to RetroArch binary"}
|
|
rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico"
|
|
if ($LastExitCode -ne 0){throw "Failed to set icon of RetroArch binary"}
|
|
# Create .media subdirectories
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory
|
|
# Copy audio/video filters
|
|
Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio"
|
|
Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video"
|
|
# Copy default config file
|
|
Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg"
|
|
# Copy dll dependencies
|
|
# (note that msvc builds should not have any, but this
|
|
# may change in the future)
|
|
copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist"
|
|
if ($LastExitCode -ne 0){throw "Failed to copy RetroArch dependencies"}
|
|
Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore
|
|
|
|
build-retroarch-windows-msvc05-i686:
|
|
tags:
|
|
- win10
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
MSYSTEM: MINGW32
|
|
ARCH: x86
|
|
MSYS_BIN_DIR: C:\msys64\usr\bin
|
|
SDK_BIN_DIR: C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
|
|
RCEDIT_BIN_DIR: C:\Program Files\rcedit
|
|
PEDEPS_BIN_DIR: C:\Program Files\pedeps-0.1.9-win64\bin
|
|
VS80COMNTOOLS: C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\
|
|
MSVC_PLATFORM: windows_msvc2005_x86
|
|
before_script:
|
|
- $Env:HOME = "."
|
|
- $Env:Path += -join(";", "$Env:MSYS_BIN_DIR", ";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR")
|
|
artifacts:
|
|
paths:
|
|
- retroarch.exe
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- |
|
|
$ErrorActionPreference = 'Stop'
|
|
# Build RetroArch
|
|
bash.exe -l -c "make -f Makefile.griffin platform=$Env:MSVC_PLATFORM"
|
|
if ($LastExitCode -ne 0){throw "Failed to build RetroArch"}
|
|
mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1"
|
|
if ($LastExitCode -ne 0){throw "Failed to add manifest to RetroArch binary"}
|
|
rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico"
|
|
if ($LastExitCode -ne 0){throw "Failed to set icon of RetroArch binary"}
|
|
# Create .media subdirectories
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory
|
|
# Copy audio/video filters
|
|
Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio"
|
|
Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video"
|
|
# Copy default config file
|
|
Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg"
|
|
# Copy dll dependencies
|
|
# (note that msvc builds should not have any, but this
|
|
# may change in the future)
|
|
copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist"
|
|
if ($LastExitCode -ne 0){throw "Failed to copy RetroArch dependencies"}
|
|
Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore
|
|
|
|
build-retroarch-linux-x64:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-amd64-ubuntu:xenial-gcc9
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- retroarch_qt
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
# Qt build
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt"
|
|
- "./configure --prefix=/usr"
|
|
- "make -j$NUMPROC"
|
|
- if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch; fi
|
|
- "make install DESTDIR=${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt prefix=/usr"
|
|
- "rm -rf ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt/etc"
|
|
- "cd ${MEDIA_PATH}/${CI_PROJECT_NAME}/ && tar -czf AppDirQt.tar.gz AppDirQt && rm -rf AppDirQt && cd -"
|
|
- "mv -f retroarch retroarch_qt"
|
|
# Non-Qt build
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir"
|
|
- "make clean"
|
|
- "./configure --disable-qt --prefix=/usr"
|
|
- "make -j$NUMPROC"
|
|
- if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch; fi
|
|
- "make install DESTDIR=${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir prefix=/usr"
|
|
- "rm -rf ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir/etc"
|
|
- "cd ${MEDIA_PATH}/${CI_PROJECT_NAME}/ && tar -czf AppDir.tar.gz AppDir && rm -rf AppDir && cd -"
|
|
# Filters
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC build=release && make -j$NUMPROC build=release strip && cd -"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cd gfx/video_filters && make -j$NUMPROC build=release && make -j$NUMPROC build=release strip && cd -"
|
|
- "cp -f gfx/video_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
|
|
build-retroarch-linux-i686:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-i386-ubuntu:xenial-gcc9
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
# Qt build
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt"
|
|
- "./configure --prefix=/usr"
|
|
- "make -j$NUMPROC"
|
|
- if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch; fi
|
|
- "make install DESTDIR=${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt prefix=/usr"
|
|
- "rm -rf ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt/etc"
|
|
- "cd ${MEDIA_PATH}/${CI_PROJECT_NAME}/ && tar -czf AppDirQt.tar.gz AppDirQt && rm -rf AppDirQt && cd -"
|
|
- "mv -f retroarch retroarch_qt"
|
|
# Non-Qt build
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir"
|
|
- "make clean"
|
|
- "./configure --disable-qt --prefix=/usr"
|
|
- "make -j$NUMPROC"
|
|
- if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch; fi
|
|
- "make install DESTDIR=${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir prefix=/usr"
|
|
- "rm -rf ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir/etc"
|
|
- "cd ${MEDIA_PATH}/${CI_PROJECT_NAME}/ && tar -czf AppDir.tar.gz AppDir && rm -rf AppDir && cd -"
|
|
# Filters
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC build=release && make -j$NUMPROC build=release strip && cd -"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cd gfx/video_filters && make -j$NUMPROC build=release && make -j$NUMPROC build=release strip && cd -"
|
|
- "cp -f gfx/video_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
|
|
.build-retroarch-macos-xcode:
|
|
# Metal/Universal x86_64 arm64 is default
|
|
tags:
|
|
- macosx-packaging
|
|
stage: build
|
|
variables:
|
|
XCARCHIVE_PATH: pkg/apple/build/RetroArchUniversal
|
|
XCPROJECT_NAME: RetroArch_Metal
|
|
XCCONFIG: GitLabCI.xcconfig
|
|
artifacts:
|
|
paths:
|
|
- ${XCPROJECT_NAME}.zip
|
|
- retroarch-repo/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- xcodebuild -project pkg/apple/${XCPROJECT_NAME}.xcodeproj -config Release -scheme RetroArch -archivePath ${XCARCHIVE_PATH} -xcconfig pkg/apple/${XCCONFIG} archive
|
|
- pushd ${XCARCHIVE_PATH}.xcarchive/Products/Users/gitlab/Applications/
|
|
- ditto -c -k --sequesterRsrc --keepParent RetroArch.app RetroArch.zip
|
|
- popd
|
|
- mv ${XCARCHIVE_PATH}.xcarchive/Products/Users/gitlab/Applications/RetroArch.zip ${XCPROJECT_NAME}.zip
|
|
- mkdir .retroarch-repo
|
|
- "cp -r ./* .retroarch-repo"
|
|
- "mv .retroarch-repo/ retroarch-repo/"
|
|
|
|
# Mac OS Universal, Metal
|
|
build-retroarch-osx-universal-metal:
|
|
extends: .build-retroarch-macos-xcode
|
|
|
|
build-retroarch-osx-opengl-x64:
|
|
extends: .build-retroarch-macos-xcode
|
|
variables:
|
|
XCARCHIVE_PATH: pkg/apple/build/RetroArchOpenGL
|
|
XCPROJECT_NAME: RetroArch
|
|
XCCONFIG: OpenGL_GitLabCI.xcconfig
|
|
|
|
build-retroarch-osx-ppc:
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- ${XCPROJECT_NAME}.zip
|
|
- retroarch-repo/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
variables:
|
|
XCPROJECT_NAME: RetroArch
|
|
XCCONFIG: OpenGL_GitLabCI.xcconfig
|
|
tags:
|
|
- macosx-legacy
|
|
script:
|
|
- xcodebuild -target RetroArch -configuration Release -project pkg/apple/RetroArch_PPC.xcodeproj ONLY_ACTIVE_ARCH=NO
|
|
- pushd pkg/apple/build/Release/
|
|
- ditto -c -k --sequesterRsrc --keepParent RetroArch.app ${XCPROJECT_NAME}.zip
|
|
- popd
|
|
- mv pkg/apple/build/Release/RetroArch.zip ${XCPROJECT_NAME}.zip
|
|
- mkdir .retroarch-repo
|
|
- "cp -r ./* .retroarch-repo"
|
|
- "mv .retroarch-repo/ retroarch-repo/"
|
|
|
|
build-retroarch-ios-arm64:
|
|
extends: .build-retroarch-macos-xcode
|
|
variables:
|
|
XCPROJECT_NAME: RetroArch_iOS11_Metal
|
|
XCCONFIG: GitLabCI.xcconfig
|
|
XCSCHEME: "RetroArch iOS Release"
|
|
artifacts:
|
|
paths:
|
|
- retroarch-repo/
|
|
expire_in: 10 min
|
|
script:
|
|
- xcodebuild -project pkg/apple/${XCPROJECT_NAME}.xcodeproj -config Release -scheme "${XCSCHEME}" -xcconfig pkg/apple/iOS/GitLabCI.xcconfig build
|
|
- mkdir .retroarch-repo
|
|
- "cp -r ./* .retroarch-repo"
|
|
- "mv .retroarch-repo/ retroarch-repo/"
|
|
|
|
build-retroarch-ios9:
|
|
extends: .build-retroarch-macos-xcode
|
|
variables:
|
|
XCPROJECT_NAME: RetroArch_iOS9
|
|
XCCONFIG: GitLabCI.xcconfig
|
|
XCSCHEME: "RetroArchiOS9"
|
|
artifacts:
|
|
paths:
|
|
- retroarch-repo/
|
|
expire_in: 10 min
|
|
script:
|
|
- xcodebuild -project pkg/apple/${XCPROJECT_NAME}.xcodeproj -config Release -scheme "${XCSCHEME}" -xcconfig pkg/apple/iOS/GitLabCI.xcconfig build
|
|
- mkdir .retroarch-repo
|
|
- "cp -r ./* .retroarch-repo"
|
|
- "mv .retroarch-repo/ retroarch-repo/"
|
|
|
|
build-retroarch-tvos-arm64:
|
|
extends: build-retroarch-ios-arm64
|
|
variables:
|
|
XCSCHEME: "RetroArch tvOS Release"
|
|
|
|
build-retroarch-dingux-mips32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- retroarch_rg350.opk
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -j$NUMPROC -f Makefile.rg350"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
|
|
build-retroarch-dingux-odbeta-mips32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:odbeta
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- retroarch_rg350_odbeta.opk
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -j$NUMPROC -f Makefile.rg350_odbeta"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
|
|
build-retroarch-rs90-odbeta-mips32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:odbeta
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- retroarch_rs90_odbeta.opk
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -j$NUMPROC -f Makefile.rs90"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
|
|
build-retroarch-retrofw-mips32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:odbeta
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- retroarch_retrofw.opk
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -j$NUMPROC -f Makefile.retrofw"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
|
|
build-retroarch-miyoo-arm32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -j$NUMPROC -f Makefile.miyoo"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f pkg/miyoo/20a-retroarch ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
|
|
build-retroarch-android-normal:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
script:
|
|
script:
|
|
- |
|
|
set -e
|
|
cd pkg/android/phoenix
|
|
./gradlew assembleNormalRelease
|
|
cd -
|
|
mkdir .retroarch-precompiled
|
|
cp -r ./* .retroarch-precompiled/
|
|
mv .retroarch-precompiled/ retroarch-precompiled/
|
|
|
|
build-retroarch-android-aarch64:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
script:
|
|
- |
|
|
set -e
|
|
cd pkg/android/phoenix
|
|
./gradlew assembleAarch64Release
|
|
cd -
|
|
mkdir .retroarch-precompiled
|
|
cp -r ./* .retroarch-precompiled/
|
|
mv .retroarch-precompiled/ retroarch-precompiled/
|
|
|
|
build-retroarch-android-ra32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
script:
|
|
- |
|
|
set -e
|
|
cd pkg/android/phoenix
|
|
./gradlew assembleRa32Release
|
|
cd -
|
|
mkdir .retroarch-precompiled
|
|
cp -r ./* .retroarch-precompiled/
|
|
mv .retroarch-precompiled/ retroarch-precompiled/
|
|
|
|
build-retroarch-android-playstore-normal:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
script:
|
|
- |
|
|
set -e
|
|
cd pkg/android/phoenix
|
|
./gradlew bundlePlayStoreNormalRelease
|
|
cd -
|
|
mkdir .retroarch-precompiled
|
|
cp -r ./* .retroarch-precompiled/
|
|
mv .retroarch-precompiled/ retroarch-precompiled/
|
|
|
|
build-retroarch-android-playstore-plus:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
script:
|
|
- |
|
|
set -e
|
|
cd pkg/android/phoenix
|
|
./gradlew bundlePlayStorePlusRelease
|
|
cd -
|
|
mkdir .retroarch-precompiled
|
|
cp -r ./* .retroarch-precompiled/
|
|
mv .retroarch-precompiled/ retroarch-precompiled/
|
|
|
|
build-static-retroarch-libnx-aarch64:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-libnx-devkitpro:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Static dummy builds without a core so its a good check if it properly builds
|
|
- build-static-retroarch-dummy-libnx-aarch64
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.libnx -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-libnx-aarch64:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-libnx-devkitpro:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch_switch.nro
|
|
- retroarch_switch.elf
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.libnx -j$NUMPROC HAVE_STATIC_DUMMY=1"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f pkg/libnx/retroarch.jpg ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
|
|
build-static-retroarch-vita:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-vita:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
- retroarch-precompiled-gl/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-vita
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.vita -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "make -f Makefile.vita clean"
|
|
- "HAVE_VITAGLES=1 make -f Makefile.vita -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled-gl"
|
|
- "cp -r ./* .retroarch-precompiled-gl/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled-gl/ retroarch-precompiled-gl/"
|
|
|
|
build-static-retroarch-dummy-vita:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-vita:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- eboot.bin
|
|
- param.sfo
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.vita.salamander -j$NUMPROC"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -fr pkg/vita/* ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
|
|
build-static-retroarch-ps2:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-ps2:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-ps2
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.ps2 -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-ps2:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-ps2:latest
|
|
stage: build
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- raboot.elf
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.ps2.salamander -j$NUMPROC release"
|
|
|
|
build-static-retroarch-psl1ght:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-psl1ght:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-psl1ght
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.psl1ght -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-psl1ght:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-psl1ght:latest
|
|
stage: build
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch_psl1ght_salamander.elf
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.psl1ght.salamander -j$NUMPROC create-salamander"
|
|
|
|
build-static-retroarch-psp:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-psp:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-psp
|
|
script:
|
|
# We need to boostrap before compile
|
|
- "(cd bootstrap/psp1/kernel_functions_prx/ && make && cd -)"
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.psp1 -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-psp:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-psp:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- EBOOT.PBP
|
|
- kernel_functions.prx
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "(cd bootstrap/psp1/kernel_functions_prx/ && make && cd -)"
|
|
- "make -f Makefile.psp1.salamander -j$NUMPROC"
|
|
- "make -C bootstrap/psp1/kernel_functions_prx/"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f pkg/psp1/ICON0.PNG ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f pkg/psp1/PIC1.PNG ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
|
|
build-static-retroarch-ctr:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-ctr
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.ctr -j$NUMPROC USE_CTRULIB_2=1 ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-ctr-legacy:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:ctr-legacy
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.ctr -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-ctr:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch_3ds.cia
|
|
- RetroArch.3dsx
|
|
- RetroArch.smdh
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.ctr.salamander -j$NUMPROC USE_CTRULIB_2=1"
|
|
- "mv -f retroarch_3ds_salamander.cia retroarch_3ds.cia"
|
|
- "mv -f retroarch_3ds_salamander.3dsx RetroArch.3dsx"
|
|
- "mv -f retroarch_3ds_salamander.smdh RetroArch.smdh"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
|
|
build-static-retroarch-wiiu:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-wiiu:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-wiiu
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.wiiu -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-wiiu:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-wiiu:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch.rpx
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.wiiu -j$NUMPROC SALAMANDER_BUILD=1"
|
|
- "mv -f retroarch_wiiu_salamander.rpx retroarch.rpx"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f pkg/wiiu/icon.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f pkg/wiiu/meta.xml ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
|
|
build-static-retroarch-wii:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-wii
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.wii -j$NUMPROC EXTERNAL_LIBOGC=1 GX_PTHREAD_LEGACY=0 ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-wii:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- boot.dol
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.wii.salamander -j$NUMPROC EXTERNAL_LIBOGC=1 GX_PTHREAD_LEGACY=0"
|
|
- "mv -f retroarch-salamander_wii.dol boot.dol"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f pkg/wii/icon.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f pkg/wii/meta.xml ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
|
|
build-static-retroarch-ngc:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-ngc
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.ngc -j$NUMPROC EXTERNAL_LIBOGC=1 GX_PTHREAD_LEGACY=0 ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-ngc:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
|
|
build-static-retroarch-emscripten:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-emscripten:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-emscripten
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "emmake make -f Makefile.emscripten -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-emscripten:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-amd64-ubuntu:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -rf pkg/emscripten/libretro ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f media/canvas.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/icon_dark.ico ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/icon_light.ico ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/invader_dark.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/invader_light.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/libretro-logo.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/retroarch-16x16.ico ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/retroarch-16x16.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/retroarch-96x96.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/retroarch.ico ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
|
|
trigger_static-cores:
|
|
stage: trigger-static-cores
|
|
needs:
|
|
- build-static-retroarch-libnx-aarch64
|
|
- build-static-retroarch-vita
|
|
- build-static-retroarch-ps2
|
|
- build-static-retroarch-psl1ght
|
|
- build-static-retroarch-psp
|
|
- build-static-retroarch-ctr
|
|
- build-static-retroarch-ctr-legacy
|
|
- build-static-retroarch-wiiu
|
|
- build-static-retroarch-wii
|
|
- build-static-retroarch-ngc
|
|
- build-static-retroarch-emscripten
|
|
dependencies: []
|
|
script:
|
|
# Dummy for now
|
|
- /bin/true
|