Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Libretro
libretro-minivmac
Commits
c423f296
Commit
c423f296
authored
Jan 25, 2022
by
Vladimir Serbinenko
Browse files
Add bunch of compilation targets
parent
292b5682
Changes
3
Show whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
c423f296
...
...
@@ -18,6 +18,10 @@ include:
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/windows-x64-mingw.yml'
# Windows 32-bit
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/windows-i686-mingw.yml'
# Linux 64-bit
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/linux-x64.yml'
...
...
@@ -26,11 +30,82 @@ include:
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/linux-i686.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'
# MacOS PPC
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/osx-ppc.yml'
################################## CELLULAR ################################
# Android
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/android-jni.yml'
# iOS
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/ios-arm64.yml'
# iOS (armv7)
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/ios9.yml'
################################## CONSOLES ################################
# PlayStation Portable
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/psp-static.yml'
# PlayStation Vita
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/vita-static.yml'
# PlayStation2
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/ps2-static.yml'
# Nintendo 3DS
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/ctr-static.yml'
# Nintendo GameCube
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/ngc-static.yml'
# Nintendo Wii
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/wii-static.yml'
# Nintendo WiiU
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/wiiu-static.yml'
# Nintendo Switch
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/libnx-static.yml'
# OpenDingux
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/dingux-mips32.yml'
# OpenDingux
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/dingux-arm32.yml'
# tvOS (AppleTV)
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/tvos-arm64.yml'
#################################### MISC ##################################
# Emscripten
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/emscripten-static.yml'
# Stages for building
stages
:
-
build-prepare
...
...
@@ -48,6 +123,12 @@ libretro-build-windows-x64:
-
.libretro-windows-x64-mingw-make-default
-
.core-defs
# Windows 32-bit
libretro-build-windows-i686
:
extends
:
-
.libretro-windows-i686-mingw-make-default
-
.core-defs
# Linux 64-bit
libretro-build-linux-x64
:
extends
:
...
...
@@ -60,6 +141,25 @@ libretro-build-linux-i686:
-
.libretro-linux-i686-make-default
-
.core-defs
# 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
# MacOS PPC
libretro-build-osx-ppc
:
extends
:
-
.libretro-osx-ppc-make-default
-
.core-defs
################################### CELLULAR #################################
# Android ARMv7a
android-armeabi-v7a
:
...
...
@@ -84,3 +184,107 @@ android-x86:
extends
:
-
.libretro-android-jni-x86
-
.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 #################################
# PlayStation Portable
libretro-build-psp
:
extends
:
-
.libretro-psp-static-retroarch-master
-
.core-defs
# PlayStation Vita
libretro-build-vita
:
extends
:
-
.libretro-vita-static-retroarch-master
-
.core-defs
# PlayStation2
libretro-build-ps2
:
extends
:
-
.libretro-ps2-static-retroarch-master
-
.core-defs
# Nintendo 3DS
libretro-build-ctr
:
extends
:
-
.libretro-ctr-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
# 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
# OpenDingux
libretro-build-dingux-mips32
:
extends
:
-
.libretro-dingux-mips32-make-default
-
.core-defs
# OpenDingux Beta
libretro-build-dingux-odbeta-mips32
:
extends
:
-
.libretro-dingux-odbeta-mips32-make-default
-
.core-defs
# OpenDingux Beta
libretro-build-rs90-odbeta-mips32
:
extends
:
-
.libretro-rs90-odbeta-mips32-make-default
-
.core-defs
# OpenDingux
libretro-build-dingux-arm32
:
extends
:
-
.libretro-miyoo-arm32-make-default
-
.core-defs
# RetroFW
libretro-build-retrofw-mips32
:
extends
:
-
.libretro-retrofw-mips32-make-default
-
.core-defs
#################################### MISC ##################################
# Emscripten
libretro-build-emscripten
:
extends
:
-
.libretro-emscripten-static-retroarch-master
-
.core-defs
Makefile
View file @
c423f296
...
...
@@ -57,6 +57,165 @@ else ifeq ($(platform), classic_armv7_a7)
endif
endif
#######################################
# tvOS
else
ifeq
($(platform), tvos-arm64)
TARGET
:=
$(TARGET_NAME)
_libretro_tvos.dylib
fpic
:=
-fPIC
SHARED
:=
-dynamiclib
CFLAGS
+=
-DIOS
ifeq
($(IOSSDK),)
IOSSDK
:=
$(
shell
xcodebuild
-version
-sdk
appletvos Path
)
endif
else
ifneq
(,$(findstring ios,$(platform)))
TARGET
:=
$(TARGET_NAME)
_libretro_ios.dylib
fpic
:=
-fPIC
SHARED
:=
-dynamiclib
ifeq
($(IOSSDK),)
IOSSDK
:=
$(
shell
xcodebuild
-version
-sdk
iphoneos Path
)
endif
DEFINES
:=
-DIOS
CC
=
cc
-arch
armv7
-isysroot
$(IOSSDK)
LD
=
cc
-arch
armv7
-isysroot
$(IOSSDK)
ifeq
($(platform),ios9)
CC
+=
-miphoneos-version-min
=
8.0
CXXFLAGS
+=
-miphoneos-version-min
=
8.0
else
CC
+=
-miphoneos-version-min
=
5.0
CXXFLAGS
+=
-miphoneos-version-min
=
5.0
endif
# Nintendo Game Cube
else
ifeq
($(platform), ngc)
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.a
CC
=
$(DEVKITPPC)
/bin/powerpc-eabi-gcc
$(EXE_EXT)
AR
=
$(DEVKITPPC)
/bin/powerpc-eabi-ar
$(EXE_EXT)
PLATFORM_DEFINES
+=
-DGEKKO
-DHW_DOL
-mrvl
-mcpu
=
750
-meabi
-mhard-float
HAVE_RZLIB
:=
1
STATIC_LINKING
=
1
# QNX / BLackberry
else
ifneq
(,$(findstring qnx,$(platform)))
TARGET
:=
$(TARGET_NAME)
_libretro_qnx.so
fpic
:=
-fPIC
SHARED
:=
-shared
-Wl
,--version-script
=
$(CORE_DIR)
/link.T
-Wl
,--no-undefined
CC
=
qcc
-Vgcc_ntoarmv7le
CXX
=
QCC
-Vgcc_ntoarmv7le
# Nintendo Wii
else
ifeq
($(platform), wii)
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.a
CC
=
$(DEVKITPPC)
/bin/powerpc-eabi-gcc
$(EXE_EXT)
AR
=
$(DEVKITPPC)
/bin/powerpc-eabi-ar
$(EXE_EXT)
PLATFORM_DEFINES
+=
-DGEKKO
-DHW_RVL
-mrvl
-mcpu
=
750
-meabi
-mhard-float
HAVE_RZLIB
:=
1
STATIC_LINKING
=
1
# Nintendo Switch (libnx)
else
ifeq
($(platform), libnx)
include
$(DEVKITPRO)/libnx/switch_rules
EXT
=
a
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.
$(EXT)
DEFINES
:=
-DSWITCH
=
1
-U__linux__
-U__linux
-DRARCH_INTERNAL
CFLAGS
:=
$(DEFINES)
-g
-O3
\
-fPIE
-I
$(LIBNX)
/include/
-ffunction-sections
-fdata-sections
-ftls-model
=
local-exec
-Wl
,--allow-multiple-definition
-specs
=
$(LIBNX)
/switch.specs
CFLAGS
+=
$(INCDIRS)
CFLAGS
+=
-D__SWITCH__
-DHAVE_LIBNX
-march
=
armv8-a
-mtune
=
cortex-a57
-mtp
=
soft
CXXFLAGS
:=
$(ASFLAGS)
$(CFLAGS)
-fno-rtti
-std
=
gnu++11
CFLAGS
+=
-std
=
gnu11
STATIC_LINKING
=
1
# Nintendo WiiU
else
ifeq
($(platform), wiiu)
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.a
CC
=
$(DEVKITPPC)
/bin/powerpc-eabi-gcc
$(EXE_EXT)
AR
=
$(DEVKITPPC)
/bin/powerpc-eabi-ar
$(EXE_EXT)
PLATFORM_DEFINES
+=
-DGEKKO
-DWIIU
-DHW_RVL
-mwup
-mcpu
=
750
-meabi
-mhard-float
HAVE_RZLIB
:=
1
STATIC_LINKING
=
1
#######################################
# CTR/3DS
else
ifeq
($(platform), ctr)
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.a
CC
=
$(DEVKITARM)
/bin/arm-none-eabi-gcc
$(EXE_EXT)
AR
=
$(DEVKITARM)
/bin/arm-none-eabi-ar
$(EXE_EXT)
CFLAGS
+=
-DARM11
-D_3DS
CFLAGS
+=
-march
=
armv6k
-mtune
=
mpcore
-mfloat-abi
=
hard
CFLAGS
+=
-Wall
-mword-relocations
CFLAGS
+=
-fomit-frame-pointer
-ffast-math
HAVE_RZLIB
:=
1
DISABLE_ERROR_LOGGING
:=
1
ARM
=
1
STATIC_LINKING
=
1
# RETROFW
else
ifeq
($(platform), retrofw)
EXT
?=
so
TARGET
:=
$(TARGET_NAME)
_libretro.
$(EXT)
CC
=
/opt/retrofw-toolchain/usr/bin/mipsel-linux-gcc
AR
=
/opt/retrofw-toolchain/usr/bin/mipsel-linux-ar
fpic
:=
-fPIC
SHARED
:=
-shared
-Wl
,--version-script
=
$(CORE_DIR)
/link.T
-Wl
,--no-undefined
CFLAGS
+=
-ffast-math
-march
=
mips32
-mtune
=
mips32
-mhard-float
LIBS
=
-lm
# Emscripten
else
ifeq
($(platform), emscripten)
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.bc
fpic
:=
-fPIC
SHARED
:=
-shared
-r
STATIC_LINKING
=
1
# PS2
else
ifeq
($(platform), ps2)
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.a
CC
=
mips64r5900el-ps2-elf-gcc
AR
=
mips64r5900el-ps2-elf-ar
CFLAGS
+=
-G0
-DPS2
-DUSE_RGB565
-DABGR1555
CXXFLAGS
+=
-G0
-DPS2
-DUSE_RGB565
-DABGR1555
STATIC_LINKING
=
1
# PSP
else
ifeq
($(platform), psp1)
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.a
CC
=
psp-gcc
AR
=
psp-ar
CFLAGS
+=
-G0
-DPSP
-DUSE_RGB565
CXXFLAGS
+=
-G0
-DPSP
-DUSE_RGB565
STATIC_LINKING
=
1
# Playstation Vita
else
ifeq
($(platform), vita)
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.a
CC
=
arm-vita-eabi-gcc
AR
=
arm-vita-eabi-ar
CXXFLAGS
+=
-Wl
,-q
-Wall
-O3
STATIC_LINKING
=
1
# RS90
else
ifeq
($(platform), rs90)
TARGET
:=
$(TARGET_NAME)
_libretro.so
CC
=
/opt/rs90-toolchain/usr/bin/mipsel-linux-gcc
CXX
=
/opt/rs90-toolchain/usr/bin/mipsel-linux-g++
AR
=
/opt/rs90-toolchain/usr/bin/mipsel-linux-ar
fpic
:=
-fPIC
SHARED
:=
-shared
-Wl
,-version-script
=
$(CORE_DIR)
/link.T
PLATFORM_DEFINES
:=
-DCC_RESAMPLER
-DCC_RESAMPLER_NO_HIGHPASS
CFLAGS
+=
-fomit-frame-pointer
-ffast-math
-march
=
mips32
-mtune
=
mips32
CXXFLAGS
+=
$(CFLAGS)
# GCW0
else
ifeq
($(platform), gcw0)
TARGET
:=
$(TARGET_NAME)
_libretro.so
CC
=
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc
AR
=
/opt/gcw0-toolchain/usr/bin/mipsel-linux-ar
fpic
:=
-fPIC
SHARED
:=
-shared
-Wl
,--version-script
=
link.T
-Wl
,-no-undefined
DISABLE_ERROR_LOGGING
:=
1
CFLAGS
+=
-march
=
mips32
-mtune
=
mips32r2
-mhard-float
LIBS
=
-lm
else
CC
?=
gcc
TARGET
:=
$(TARGET_NAME)
_libretro.dll
...
...
libretro/libretro-core.c
View file @
c423f296
...
...
@@ -349,6 +349,9 @@ void retro_set_environment(retro_environment_t cb)
{
NULL
,
NULL
},
};
bool
no_content
=
true
;
cb
(
RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME
,
&
no_content
);
cb
(
RETRO_ENVIRONMENT_SET_VARIABLES
,
variables
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment