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-gme
Commits
d7bd1128
Commit
d7bd1128
authored
Feb 06, 2021
by
Larry Koubiak
Browse files
Merge branch 'master' into dev
parents
366471ee
52a9a349
Changes
23
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
0 → 100644
View file @
d7bd1128
# DESCRIPTION: GitLab CI/CD for libRetro (NOT FOR GitLab-proper)
##############################################################################
################################# BOILERPLATE ################################
##############################################################################
# Core definitions
.core-defs
:
variables
:
JNI_PATH
:
.
CORENAME
:
gme
# Inclusion templates, required for the build to work
include
:
################################## DESKTOPS ################################
# Windows 64-bit
-
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'
# Linux 32-bit
-
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'
################################## CELLULAR ################################
# Android
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/android-jni.yml'
# iOS 9
-
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'
# 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'
#################################### MISC ##################################
# Emscripten
-
project
:
'
libretro-infrastructure/ci-templates'
file
:
'
/emscripten-static.yml'
# Stages for building
stages
:
-
build-prepare
-
build-shared
-
build-static
##############################################################################
#################################### STAGES ##################################
##############################################################################
#
################################### DESKTOPS #################################
# Windows 64-bit
libretro-build-windows-x64
:
extends
:
-
.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
:
-
.libretro-linux-x64-make-default
-
.core-defs
# Linux 32-bit
libretro-build-linux-i686
:
extends
:
-
.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
################################### CELLULAR #################################
# Android ARMv7a
android-armeabi-v7a
:
extends
:
-
.libretro-android-jni-armeabi-v7a
-
.core-defs
# Android ARMv8a
android-arm64-v8a
:
extends
:
-
.libretro-android-jni-arm64-v8a
-
.core-defs
# Android 64-bit x86
android-x86_64
:
extends
:
-
.libretro-android-jni-x86_64
-
.core-defs
# Android 32-bit x86
android-x86
:
extends
:
-
.libretro-android-jni-x86
-
.core-defs
# iOS 9
libretro-build-ios-9
:
extends
:
-
.libretro-ios9-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
# 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
#################################### MISC ##################################
# Emscripten
libretro-build-emscripten
:
extends
:
-
.libretro-emscripten-static-retroarch-master
-
.core-defs
Makefile
View file @
d7bd1128
...
...
@@ -17,17 +17,19 @@ else ifneq ($(findstring win,$(shell uname -a)),)
endif
endif
#detect architecture
ifeq
($(shell uname -m),)
arch
=
i686
else
arch
=
(
$(
shell
uname
-m
)
endif
#set extension and lib path
TARGET_NAME
:=
gme
SPACE
:=
SPACE
:=
$(SPACE)
$(SPACE)
BACKSLASH
:=
BACKSLASH
:=
\$
(
BACKSLASH
)
filter_out1
=
$(
filter-out
$(
firstword
$1
)
,
$1
)
filter_out2
=
$(
call
filter_out1,
$(
call
filter_out1,
$1
))
unixpath
=
$(
subst
\,
/,
$1
)
unixcygpath
=
/
$(
subst
:,,
$(
call
unixpath,
$1
))
# Unix
ifeq
($(platform), unix)
fpic
=
-fPIC
...
...
@@ -43,18 +45,19 @@ else ifeq ($(platform), osx)
TARGET
:=
$(TARGET_NAME)
_libretro.dylib
fpic
:=
-fPIC
SHARED
:=
-dynamiclib
arch
=
intel
ifeq
($(shell uname -p),powerpc)
arch
=
ppc
endif
ifeq
($(arch),ppc)
CXXFLAGS
+=
-DBLARGG_BIG_ENDIAN
=
1
-D__ppc__
endif
OSXVER
=
`
sw_vers
-productVersion
|
cut
-d
.
-f
2
`
OSX_LT_MAVERICKS
=
`
((
$(OSXVER)
<
=
9
))
&&
echo
"YES"
`
fpic
+=
-mmacosx-version-min
=
10.1
ifeq
($(OSX_LT_MAVERICKS),YES)
fpic
+=
-mmacosx-version-min
=
10.1
endif
ifeq
($(CROSS_COMPILE),1)
TARGET_RULE
=
-target
$(LIBRETRO_APPLE_PLATFORM)
-isysroot
$(LIBRETRO_APPLE_ISYSROOT)
CFLAGS
+=
$(TARGET_RULE)
CPPFLAGS
+=
$(TARGET_RULE)
CXXFLAGS
+=
$(TARGET_RULE)
LDFLAGS
+=
$(TARGET_RULE)
endif
# iOS
else
ifneq
(,$(findstring ios,$(platform)))
...
...
@@ -72,7 +75,8 @@ else ifneq (,$(findstring ios,$(platform)))
else
CC
=
clang
-arch
armv7
-isysroot
$(IOSSDK)
CXX
=
clang++
-arch
armv7
-isysroot
$(IOSSDK)
endif
endif
CFLAGS
+=
-DIOS
CXXFLAGS
+=
-DIOS
CXXFLAGS
+=
-DARM
ifeq
($(platform),$(filter $(platform),ios9 ios-arm64))
...
...
@@ -86,6 +90,19 @@ else
CFLAGS
+=
-miphoneos-version-min
=
5.0
CXXFLAGS
+=
-miphoneos-version-min
=
5.0
endif
else
ifeq
($(platform), tvos-arm64)
TARGET
:=
$(TARGET_NAME)
_libretro_tvos.dylib
fpic
:=
-fPIC
SHARED
:=
-dynamiclib
ifeq
($(IOSSDK),)
IOSSDK
:=
$(
shell
xcodebuild
-version
-sdk
appletvos Path
)
endif
CFLAGS
+=
-DIOS
CXXFLAGS
+=
-DIOS
CXXFLAGS
+=
-DARM
else
ifeq
($(platform), theos_ios)
DEPLOYMENT_IOSVERSION
=
5.0
TARGET
=
iphone:latest:
$(DEPLOYMENT_IOSVERSION)
...
...
@@ -101,37 +118,30 @@ else ifeq ($(platform), qnx)
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.so
fpic
:=
-fPIC
SHARED
:=
-shared
-Wl
,--version-script
=
link.T
CC
=
qcc
-Vgcc_n
o
tarmv7le
CXX
=
QCC
-Vgcc_n
o
tarmv7le
CC
=
qcc
-Vgcc_nt
o
armv7le
CXX
=
QCC
-Vgcc_nt
o
armv7le
AR
=
QCC
-Vgcc_ntoarmv7le
CXXFLAGS
+=
-D__BLACKBERRY_QNX__
CXXFLAGS
+=
-DARM
else
ifeq
($(platform), psp1)
TARGET
:=
$(TARGET_NAME)
_libretro_psp1.a
CC
=
psp-gcc
CXX
=
psp-g++
AR
=
psp-ar
CFLAGS
+=
-DPSP
-G0
-DIOAPI_NO_64
CFLAGS
+=
-I
$(
shell
psp-config
--pspsdk-path
)
/include
CXXFLAGS
+=
-DPSP
-G0
-DIOAPI_NO_64
CXXFLAGS
+=
-I
$(
shell
psp-config
--pspsdk-path
)
/include
STATIC_LINKING
=
1
# Vita
else
ifeq
($(platform), vita)
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.
so
fpic
:=
-fPIC
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.
a
fpic
:=
CC
=
arm-vita-eabi-gcc
$(EXE_EXT)
CXX
=
arm-vita-eabi-g++
$(EXE_EXT)
AR
=
arm-vita-eabi-ar
$(EXE_EXT)
CXXFLAGS
+=
-DVITA
# PS3
else
ifeq
($(platform), ps3)
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.a
CC
=
$(CELL_SDK)
/host-win32/ppu/bin/ppu-lv2-gcc.exe
CXX
=
$(CELL_SDK)
/host-win32/ppu/bin/ppu-lv2-g++.exe
AR
=
$(CELL_SDK)
/host-win32/ppu/bin/ppu-lv2-ar.exe
CXXFLAGS
+=
-DBLARGG_BIG_ENDIAN
=
1
-D__ppc__
STATIC_LINKING
=
1
# sncps3
else
ifeq
($(platform), sncps3)
TARGET
:=
$(TARGET_NAME)
_libretro_ps3.a
CC
=
$(CELL_SDK)
/host-win32/sn/bin/ps3ppusnc.exe
CXX
=
$(CELL_SDK)
/host-win32/sn/bin/ps3ppusnc.exe
AR
=
$(CELL_SDK)
/host-win32/sn/bin/ps3snarl.exe
CXXFLAGS
+=
-DBLARGG_BIG_ENDIAN
=
1
-D__ppc__
CFLAGS
+=
-DIOAPI_NO_64
-fno-common
CXXFLAGS
+=
-DVITA
-DIOAPI_NO_64
-fno-common
STATIC_LINKING
=
1
# Lightweight PS3 Homebrew SDK
...
...
@@ -140,7 +150,8 @@ else ifeq ($(platform), psl1ght)
CC
=
$(PS3DEV)
/ppu/bin/ppu-gcc
$(EXE_EXT)
CXX
=
$(PS3DEV)
/ppu/bin/ppu-g++
$(EXE_EXT)
AR
=
$(PS3DEV)
/ppu/bin/ppu-ar
$(EXE_EXT)
CXXFLAGS
+=
-DBLARGG_BIG_ENDIAN
=
1
-D__ppc__
CFLAGS
+=
-DIOAPI_NO_64
CXXFLAGS
+=
-DIOAPI_NO_64
STATIC_LINKING
=
1
# Xbox 360
...
...
@@ -149,26 +160,52 @@ else ifeq ($(platform), xenon)
CC
=
xenon-gcc
$(EXE_EXT)
CXX
=
xenon-g++
$(EXE_EXT)
AR
=
xenon-ar
$(EXE_EXT)
CXXFLAGS
+=
-D__LIBXENON__
-m32
-D__ppc__
STATIC_LINKING
=
1
# Nintendo Wii
else
ifeq
($(platform), wii)
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.a
CC
=
$(DEVKITPPC)
/bin/powerpc-eabi-gcc
$(EXE_EXT)
CXX
=
$(DEVKITPPC)
/bin/powerpc-eabi-g++
$(EXE_EXT)
AR
=
$(DEVKITPPC)
/bin/powerpc-eabi-ar
$(EXE_EXT)
CXXFLAGS
+=
-DGEKKO
-mrvl
-mcpu
=
750
-meabi
-mhard-float
-DBLARGG_BIG_ENDIAN
=
1
-D__ppc__
CXXFLAGS
+=
-D__LIBXENON__
-m32
STATIC_LINKING
=
1
# Nintendo WiiU
else
ifeq
($(platform), wiiu)
# CTR(3DS)
else
ifeq
($(platform), ctr)
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.a
CC
=
$(DEVKITARM)
/bin/arm-none-eabi-gcc
$(EXE_EXT)
CXX
=
$(DEVKITARM)
/bin/arm-none-eabi-g++
$(EXE_EXT)
AR
=
$(DEVKITARM)
/bin/arm-none-eabi-ar
$(EXE_EXT)
CXXFLAGS
+=
-DARM11
-D_3DS
-DIOAPI_NO_64
CXXFLAGS
+=
-march
=
armv6k
-mtune
=
mpcore
-mfloat-abi
=
hard
CFLAGS
+=
-DARM11
-D_3DS
-DIOAPI_NO_64
CFLAGS
+=
-march
=
armv6k
-mtune
=
mpcore
-mfloat-abi
=
hard
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
-DIOAPI_NO_64
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 Game Cube / Wii / WiiU
else
ifneq
(,$(filter $(platform), ngc wii wiiu))
TARGET
:=
$(TARGET_NAME)
_libretro_
$(platform)
.a
CC
=
$(DEVKITPPC)
/bin/powerpc-eabi-gcc
$(EXE_EXT)
CXX
=
$(DEVKITPPC)
/bin/powerpc-eabi-g++
$(EXE_EXT)
AR
=
$(DEVKITPPC)
/bin/powerpc-eabi-ar
$(EXE_EXT)
CXX
FLAGS
+
=
-DGEKKO
-DWIIU
-mrvl
-mcpu
=
750
-meabi
-mhard-float
-D
BLARGG_BIG_ENDIAN
=
1
-D__ppc__
FLAGS
:
=
-DGEKKO
-mcpu
=
750
-meabi
-mhard-float
-D
IOAPI_NO_64
STATIC_LINKING
=
1
ifneq
(,$(findstring wiiu,$(platform)))
FLAGS
+=
-DWIIU
-DHW_RVL
else
ifneq
(,$(findstring wii,$(platform)))
FLAGS
+=
-DHW_RVL
-mrvl
else
ifneq
(,$(findstring ngc,$(platform)))
FLAGS
+=
-DHW_DOL
-mogc
endif
CFLAGS
+=
$(FLAGS)
CXXFLAGS
+=
$(FLAGS)
# Nintendo Switch (libtransistor)
else
ifeq
($(platform), switch)
...
...
@@ -206,6 +243,7 @@ else ifeq ($(platform), emscripten)
STATIC_LINKING
=
1
CC
=
emcc
CXX
=
em++
AR
=
emar
INCFLAGS_PLATFORM
+=
-D_XOPEN_SOURCE
# Windows MSVC 2010 x64
else
ifeq
($(platform), windows_msvc2010_x64)
...
...
@@ -297,11 +335,122 @@ PSS_STYLE :=2
LDFLAGS
+=
-DLL
CFLAGS
+=
-D_CRT_SECURE_NO_DEPRECATE
# Windows MSVC 2003 Xbox 1
else
ifeq
($(platform), xbox1_msvc2003)
TARGET
:=
$(TARGET_NAME)
_libretro_xdk1.lib
CC
=
CL.exe
CXX
=
CL.exe
LD
=
lib.exe
export
INCLUDE
:=
$(XDK)
\x
box
\i
nclude
export
LIB
:=
$(XDK)
\x
box
\l
ib
PATH
:=
$(
call
unixcygpath,
$(XDK)
/xbox/bin/vc71
)
:
$(PATH)
PSS_STYLE
:=
2
CFLAGS
+=
-D_XBOX
-D_XBOX1
CXXFLAGS
+=
-D_XBOX
-D_XBOX1
STATIC_LINKING
=
1
# Windows MSVC 2017 all architectures
else
ifneq
(,$(findstring windows_msvc2017,$(platform)))
NO_GCC
:=
1
CFLAGS
+=
-DNOMINMAX
CXXFLAGS
+=
-DNOMINMAX
WINDOWS_VERSION
=
1
PlatformSuffix
=
$(
subst
windows_msvc2017_,,
$(platform)
)
ifneq
(,$(findstring desktop,$(PlatformSuffix)))
WinPartition
=
desktop
MSVC2017CompileFlags
=
-DWINAPI_FAMILY
=
WINAPI_FAMILY_DESKTOP_APP
-FS
LDFLAGS
+=
-MANIFEST
-LTCG
:incremental
-NXCOMPAT
-DYNAMICBASE
-DEBUG
-OPT
:REF
-INCREMENTAL
:NO
-SUBSYSTEM
:WINDOWS
-MANIFESTUAC
:
"level='asInvoker' uiAccess='false'"
-OPT
:ICF
-ERRORREPORT
:PROMPT
-NOLOGO
-TLBID
:1
LIBS
+=
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
else
ifneq
(,$(findstring uwp,$(PlatformSuffix)))
WinPartition
=
uwp
MSVC2017CompileFlags
=
-DWINAPI_FAMILY
=
WINAPI_FAMILY_APP
-D_WINDLL
-D_UNICODE
-DUNICODE
-D__WRL_NO_DEFAULT_LIB__
-EHsc
-FS
LDFLAGS
+=
-APPCONTAINER
-NXCOMPAT
-DYNAMICBASE
-MANIFEST
:NO
-LTCG
-OPT
:REF
-SUBSYSTEM
:CONSOLE
-MANIFESTUAC
:NO
-OPT
:ICF
-ERRORREPORT
:PROMPT
-NOLOGO
-TLBID
:1
-DEBUG
:FULL
-WINMD
:NO
LIBS
+=
WindowsApp.lib
endif
CFLAGS
+=
$(MSVC2017CompileFlags)
CXXFLAGS
+=
$(MSVC2017CompileFlags)
TargetArchMoniker
=
$(
subst
$(WinPartition)
_,,
$(PlatformSuffix)
)
CC
=
cl.exe
CXX
=
cl.exe
LD
=
link.exe
reg_query
=
$(
call
filter_out2,
$(
subst
$2
,,
$(
shell
reg query
"
$2
"
-v
"
$1
"
2>nul
)))
fix_path
=
$(
subst
$(SPACE)
,
\
,
$(
subst
\,
/,
$1
))
ProgramFiles86w
:=
$(
shell
cmd //c
"echo %PROGRAMFILES(x86
)
%"
)
ProgramFiles86
:=
$(
shell
cygpath
"
$(ProgramFiles86w)
"
)
WindowsSdkDir
?=
$(
call
reg_query,InstallationFolder,HKEY_LOCAL_MACHINE
\S
OFTWARE
\W
ow6432Node
\M
icrosoft
\M
icrosoft SDKs
\W
indows
\v
10.0
)
WindowsSdkDir
?=
$(
call
reg_query,InstallationFolder,HKEY_CURRENT_USER
\S
OFTWARE
\W
ow6432Node
\M
icrosoft
\M
icrosoft SDKs
\W
indows
\v
10.0
)
WindowsSdkDir
?=
$(
call
reg_query,InstallationFolder,HKEY_LOCAL_MACHINE
\S
OFTWARE
\M
icrosoft
\M
icrosoft SDKs
\W
indows
\v
10.0
)
WindowsSdkDir
?=
$(
call
reg_query,InstallationFolder,HKEY_CURRENT_USER
\S
OFTWARE
\M
icrosoft
\M
icrosoft SDKs
\W
indows
\v
10.0
)
WindowsSdkDir
:=
$(WindowsSdkDir)
WindowsSDKVersion
?=
$(
firstword
$(
foreach
folder,
$(
subst
$(
subst
\,
/,
$(WindowsSdkDir)
Include/
)
,,
$(
wildcard
$(
call
fix_path,
$(WindowsSdkDir)
Include
\*
)))
,
$(
if
$(
wildcard
$(
call
fix_path,
$(WindowsSdkDir)
Include/
$(folder)
/um/Windows.h
))
,
$(folder)
,
)))
$(BACKSLASH)
WindowsSDKVersion
:=
$(WindowsSDKVersion)
VsInstallBuildTools
=
$(ProgramFiles86)
/Microsoft Visual Studio/2017/BuildTools
VsInstallEnterprise
=
$(ProgramFiles86)
/Microsoft Visual Studio/2017/Enterprise
VsInstallProfessional
=
$(ProgramFiles86)
/Microsoft Visual Studio/2017/Professional
VsInstallCommunity
=
$(ProgramFiles86)
/Microsoft Visual Studio/2017/Community
VsInstallRoot
?=
$(
shell
if
[
-d
"
$(VsInstallBuildTools)
"
]
;
then
echo
"
$(VsInstallBuildTools)
"
;
fi
)
ifeq
($(VsInstallRoot), )
VsInstallRoot
=
$(
shell
if
[
-d
"
$(VsInstallEnterprise)
"
]
;
then
echo
"
$(VsInstallEnterprise)
"
;
fi
)
endif
ifeq
($(VsInstallRoot), )
VsInstallRoot
=
$(
shell
if
[
-d
"
$(VsInstallProfessional)
"
]
;
then
echo
"
$(VsInstallProfessional)
"
;
fi
)
endif
ifeq
($(VsInstallRoot), )
VsInstallRoot
=
$(
shell
if
[
-d
"
$(VsInstallCommunity)
"
]
;
then
echo
"
$(VsInstallCommunity)
"
;
fi
)
endif
VsInstallRoot
:=
$(VsInstallRoot)
VcCompilerToolsVer
:=
$(
shell
cat
"
$(VsInstallRoot)
/VC/Auxiliary/Build/Microsoft.VCToolsVersion.default.txt"
|
grep
-o
'[0-9\.]*'
)
VcCompilerToolsDir
:=
$(VsInstallRoot)
/VC/Tools/MSVC/
$(VcCompilerToolsVer)
WindowsSDKSharedIncludeDir
:=
$(
shell
cygpath
-w
"
$(WindowsSdkDir)
\I
nclude
\$
(WindowsSDKVersion
)
\s
hared"
)
WindowsSDKUCRTIncludeDir
:=
$(
shell
cygpath
-w
"
$(WindowsSdkDir)
\I
nclude
\$
(WindowsSDKVersion
)
\u
crt"
)
WindowsSDKUMIncludeDir
:=
$(
shell
cygpath
-w
"
$(WindowsSdkDir)
\I
nclude
\$
(WindowsSDKVersion
)
\u
m"
)
WindowsSDKUCRTLibDir
:=
$(
shell
cygpath
-w
"
$(WindowsSdkDir)
\L
ib
\$
(WindowsSDKVersion
)
\u
crt
\$
(TargetArchMoniker
)
"
)
WindowsSDKUMLibDir
:=
$(
shell
cygpath
-w
"
$(WindowsSdkDir)
\L
ib
\$
(WindowsSDKVersion
)
\u
m
\$
(TargetArchMoniker
)
"
)
# For some reason the HostX86 compiler doesn't like compiling for x64
# ("no such file" opening a shared library), and vice-versa.
# Work around it for now by using the strictly x86 compiler for x86, and x64 for x64.
# NOTE: What about ARM?
ifneq
(,$(findstring x64,$(TargetArchMoniker)))
VCCompilerToolsBinDir
:=
$(VcCompilerToolsDir)
\b
in
\H
ostX64
else
VCCompilerToolsBinDir
:=
$(VcCompilerToolsDir)
\b
in
\H
ostX86
endif
PATH
:=
$(
shell
IFS
=
$$
'\n'
;
cygpath
"
$(VCCompilerToolsBinDir)
/
$(TargetArchMoniker)
"
)
:
$(PATH)
PATH
:=
$(PATH)
:
$(
shell
IFS
=
$$
'\n'
;
cygpath
"
$(VsInstallRoot)
/Common7/IDE"
)
INCLUDE
:=
$(
shell
IFS
=
$$
'\n'
;
cygpath
-w
"
$(VcCompilerToolsDir)
/include"
)
LIB
:=
$(
shell
IFS
=
$$
'\n'
;
cygpath
-w
"
$(VcCompilerToolsDir)
/lib/
$(TargetArchMoniker)
"
)
ifneq
(,$(findstring uwp,$(PlatformSuffix)))
LIB
:=
$(LIB)
;
$(
shell
IFS
=
$$
'\n'
;
cygpath
-w
"
$(LIB)
/store"
)
endif
export
INCLUDE
:=
$(INCLUDE)
;
$(WindowsSDKSharedIncludeDir)
;
$(WindowsSDKUCRTIncludeDir)
;
$(WindowsSDKUMIncludeDir)
export
LIB
:=
$(LIB)
;
$(WindowsSDKUCRTLibDir)
;
$(WindowsSDKUMLibDir)
TARGET
:=
$(TARGET_NAME)
_libretro.dll
PSS_STYLE
:=
2
LDFLAGS
+=
-DLL
# Windows
else
TARGET
:=
$(TARGET_NAME)
_libretro.dll
CC
=
gcc
CXX
=
g++
CC
?
=
gcc
CXX
?
=
g++
SHARED
:=
-shared
-static-libgcc
-static-libstdc
++
-s
-Wl
,--version-script
=
link.T
CXXFLAGS
+=
-D__WIN32__
-D__WIN32_LIBRETRO__
...
...
Makefile.common
View file @
d7bd1128
...
...
@@ -9,6 +9,10 @@ INCFLAGS = -I$(CORE_DIR) \
-I
$(DEPS_DIR)
/zlib-1.2.8/contrib/minizip
\
-I
$(DEPS_DIR)
/font8x8
ifneq
(,$(findstring msvc200,$(platform)))
INCFLAGS
+=
-I
$(LIBRETRO_COMM_DIR)
/include/compat/msvc
endif
SOURCES_CXX
:=
\
$(GME_DIR)
/gme/Ay_Apu.cpp
\
$(GME_DIR)
/gme/Ay_Cpu.cpp
\
...
...
deps/game-music-emu/gme/Blip_Buffer.h
View file @
d7bd1128
...
...
@@ -267,7 +267,7 @@ public:
Silent_Blip_Buffer
();
};
#if defined (__GNUC__) || _MSC_VER >= 1
1
00
#if defined (__GNUC__) || _MSC_VER >= 1
4
00
#define BLIP_RESTRICT __restrict
#else
#define BLIP_RESTRICT
...
...
deps/game-music-emu/gme/blargg_endian.h
View file @
d7bd1128
...
...
@@ -3,6 +3,7 @@
#ifndef BLARGG_ENDIAN
#define BLARGG_ENDIAN
#include <retro_endianness.h>
#include "blargg_common.h"
// BLARGG_CPU_CISC: Defined if CPU has very few general-purpose registers (< 16)
...
...
deps/libretro-common/file/file_path.c
View file @
d7bd1128
...
...
@@ -71,15 +71,11 @@
#include <kernel/image.h>
#endif
#if defined(__CELLOS_LV2__)
#include <cell/cell_fs.h>
#endif
#if defined(VITA)
#define FIO_S_ISDIR SCE_S_ISDIR
#endif
#if
(defined(__CELLOS_LV2__) && !defined(__PSL1GHT__)) ||
defined(__QNX__) || defined(PSP)
#if defined(__QNX__) || defined(PSP)
#include <unistd.h>
/* stat() is defined here */
#endif
...
...
@@ -106,10 +102,6 @@ static bool path_stat(const char *path, enum stat_mode mode, int32_t *size)
}
free
(
tmp
);
#elif defined(__CELLOS_LV2__)
CellFsStat
buf
;
if
(
cellFsStat
(
path
,
&
buf
)
<
0
)
return
false
;
#elif defined(_WIN32)
struct
_stat
buf
;
DWORD
file_info
=
GetFileAttributes
(
path
);
...
...
@@ -132,15 +124,13 @@ static bool path_stat(const char *path, enum stat_mode mode, int32_t *size)
case
IS_DIRECTORY
:
#if defined(VITA) || defined(PSP)
return
FIO_S_ISDIR
(
buf
.
st_mode
);
#elif defined(__CELLOS_LV2__)
return
((
buf
.
st_mode
&
S_IFMT
)
==
S_IFDIR
);
#elif defined(_WIN32)
return
(
file_info
&
FILE_ATTRIBUTE_DIRECTORY
);
#else
return
S_ISDIR
(
buf
.
st_mode
);
#endif
case
IS_CHARACTER_SPECIAL
:
#if defined(VITA) || defined(PSP) ||
defined(__CELLOS_LV2__) ||
defined(_WIN32)
#if defined(VITA) || defined(PSP) || defined(_WIN32)
return
false
;
#else
return
S_ISCHR
(
buf
.
st_mode
);
...
...
deps/libretro-common/include/libretro.h
View file @
d7bd1128
...
...
@@ -69,7 +69,7 @@ extern "C" {
# endif
# endif
# else
# if defined(__GNUC__) && __GNUC__ >= 4
&& !defined(__CELLOS_LV2__)