Merge pull request #3207 from yoshisuga/ios10_cores_in_app_bundle

iOS 10 support
This commit is contained in:
Twinaphex 2016-07-10 21:08:36 +02:00 committed by GitHub
commit 0fef69a678
6 changed files with 431 additions and 27 deletions

View File

@ -354,7 +354,17 @@ static void frontend_darwin_get_environment_settings(int *argc, char *argv[],
strlcat(home_dir_buf, "/RetroArch", sizeof(home_dir_buf));
fill_pathname_join(g_defaults.dir.shader, home_dir_buf, "shaders_glsl", sizeof(g_defaults.dir.shader));
#if TARGET_OS_IPHONE
int major, minor;
get_ios_version(&major, &minor);
if (major >= 10 ) {
fill_pathname_join(g_defaults.dir.core, bundle_path_buf, "modules", sizeof(g_defaults.dir.core));
} else {
fill_pathname_join(g_defaults.dir.core, home_dir_buf, "cores", sizeof(g_defaults.dir.core));
}
#else
fill_pathname_join(g_defaults.dir.core, home_dir_buf, "cores", sizeof(g_defaults.dir.core));
#endif
fill_pathname_join(g_defaults.dir.core_info, home_dir_buf, "info", sizeof(g_defaults.dir.core_info));
fill_pathname_join(g_defaults.dir.overlay, home_dir_buf, "overlays", sizeof(g_defaults.dir.overlay));
fill_pathname_join(g_defaults.dir.autoconfig, home_dir_buf, "autoconfig", sizeof(g_defaults.dir.autoconfig));
@ -408,9 +418,6 @@ static void frontend_darwin_get_environment_settings(int *argc, char *argv[],
#if TARGET_OS_IPHONE
char assets_zip_path[PATH_MAX_LENGTH];
int major, minor;
get_ios_version(&major, &minor);
if (major > 8)
strlcpy(g_defaults.path.buildbot_server_url, "http://buildbot.libretro.com/nightly/apple/ios9/latest/", sizeof(g_defaults.path.buildbot_server_url));

View File

@ -86,6 +86,8 @@
#define CLOCK_REALTIME 0
#endif
#if __IPHONE_OS_VERSION_MAX_ALLOWED < 100000
// this function is part of iOS 10 now
static int clock_gettime(int clk_ik, struct timespec *t)
{
struct timeval now;
@ -97,6 +99,7 @@ static int clock_gettime(int clk_ik, struct timespec *t)
return 0;
}
#endif
#endif
#ifdef EMSCRIPTEN
#include <emscripten.h>

View File

@ -76,6 +76,32 @@
83D632E219ECFCC4009E3161 /* iOS/Resources/ic_pause.png in Resources */ = {isa = PBXBuildFile; fileRef = 83D632DB19ECFCC4009E3161 /* iOS/Resources/ic_pause.png */; };
83D632E519ECFCC4009E3161 /* iOS/Resources/PauseIndicatorView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 83D632DE19ECFCC4009E3161 /* iOS/Resources/PauseIndicatorView.xib */; };
83EB676019EEAF050096F441 /* iOS/modules in Resources */ = {isa = PBXBuildFile; fileRef = 83EB675F19EEAF050096F441 /* iOS/modules */; };
9204BE0B1D319EF300BD49DB /* float_to_s16_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 507E056A1CE9C67500E023D3 /* float_to_s16_neon.S */; };
9204BE0C1D319EF300BD49DB /* cc_resampler_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 50D00E8D19D117C400EBA71E /* cc_resampler_neon.S */; };
9204BE0D1D319EF300BD49DB /* griffin_objc.m in Sources */ = {isa = PBXBuildFile; fileRef = 50521A431AA23BF500185CC9 /* griffin_objc.m */; };
9204BE0E1D319EF300BD49DB /* s16_to_float_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 501232CD192E5FE30063A359 /* s16_to_float_neon.S */; };
9204BE0F1D319EF300BD49DB /* sinc_resampler_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 501232CB192E5FDC0063A359 /* sinc_resampler_neon.S */; };
9204BE101D319EF300BD49DB /* griffin.c in Sources */ = {isa = PBXBuildFile; fileRef = 501232C9192E5FC40063A359 /* griffin.c */; };
9204BE121D319EF300BD49DB /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5040F04F1AE47ED4006F6972 /* libz.dylib */; };
9204BE131D319EF300BD49DB /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50C3B1AD1AB1107100F478D3 /* QuartzCore.framework */; };
9204BE141D319EF300BD49DB /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 963C3C33186E3DED00A6EB1E /* GameController.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
9204BE151D319EF300BD49DB /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 696012F119F3389A006A1088 /* CoreText.framework */; };
9204BE161D319EF300BD49DB /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50CCC827185E0E7D001F5BC8 /* CoreLocation.framework */; };
9204BE171D319EF300BD49DB /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 501881ED184BB54C006F665D /* CoreMedia.framework */; };
9204BE181D319EF300BD49DB /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 501881EB184BAD6D006F665D /* AVFoundation.framework */; };
9204BE191D319EF300BD49DB /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50E7189E184B88AA001956CE /* CoreVideo.framework */; };
9204BE1A1D319EF300BD49DB /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96366C5816C9ACF500D64A22 /* AudioToolbox.framework */; };
9204BE1B1D319EF300BD49DB /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96366C5416C9AC3300D64A22 /* CoreAudio.framework */; };
9204BE1C1D319EF300BD49DB /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96AFAE2916C1D4EA009DE44C /* UIKit.framework */; };
9204BE1D1D319EF300BD49DB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96AFAE2B16C1D4EA009DE44C /* Foundation.framework */; };
9204BE1E1D319EF300BD49DB /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96AFAE2D16C1D4EA009DE44C /* CoreGraphics.framework */; };
9204BE1F1D319EF300BD49DB /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96AFAE2F16C1D4EA009DE44C /* GLKit.framework */; };
9204BE201D319EF300BD49DB /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96AFAE3116C1D4EA009DE44C /* OpenGLES.framework */; };
9204BE221D319EF300BD49DB /* iOS/Resources/ic_pause.png in Resources */ = {isa = PBXBuildFile; fileRef = 83D632DB19ECFCC4009E3161 /* iOS/Resources/ic_pause.png */; };
9204BE231D319EF300BD49DB /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 967894611788EBD800D6CA69 /* InfoPlist.strings */; };
9204BE241D319EF300BD49DB /* iOS/Resources/Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 69D31DE31A547EC800EF4C92 /* iOS/Resources/Media.xcassets */; };
9204BE251D319EF300BD49DB /* iOS/Resources/PauseIndicatorView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 83D632DE19ECFCC4009E3161 /* iOS/Resources/PauseIndicatorView.xib */; };
9204BE261D319EF300BD49DB /* iOS/modules in Resources */ = {isa = PBXBuildFile; fileRef = 83EB675F19EEAF050096F441 /* iOS/modules */; };
96366C5516C9AC3300D64A22 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96366C5416C9AC3300D64A22 /* CoreAudio.framework */; };
96366C5916C9ACF500D64A22 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96366C5816C9ACF500D64A22 /* AudioToolbox.framework */; };
967894631788EBD800D6CA69 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 967894611788EBD800D6CA69 /* InfoPlist.strings */; };
@ -108,6 +134,7 @@
83D632DB19ECFCC4009E3161 /* iOS/Resources/ic_pause.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = iOS/Resources/ic_pause.png; sourceTree = SOURCE_ROOT; };
83D632DE19ECFCC4009E3161 /* iOS/Resources/PauseIndicatorView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = iOS/Resources/PauseIndicatorView.xib; sourceTree = SOURCE_ROOT; };
83EB675F19EEAF050096F441 /* iOS/modules */ = {isa = PBXFileReference; lastKnownFileType = folder; path = iOS/modules; sourceTree = SOURCE_ROOT; };
9204BE2B1D319EF300BD49DB /* RetroArchiOS10.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RetroArchiOS10.app; sourceTree = BUILT_PRODUCTS_DIR; };
96366C5416C9AC3300D64A22 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
96366C5816C9ACF500D64A22 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
963C3C33186E3DED00A6EB1E /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = System/Library/Frameworks/GameController.framework; sourceTree = SDKROOT; };
@ -167,6 +194,28 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
9204BE111D319EF300BD49DB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
9204BE121D319EF300BD49DB /* libz.dylib in Frameworks */,
9204BE131D319EF300BD49DB /* QuartzCore.framework in Frameworks */,
9204BE141D319EF300BD49DB /* GameController.framework in Frameworks */,
9204BE151D319EF300BD49DB /* CoreText.framework in Frameworks */,
9204BE161D319EF300BD49DB /* CoreLocation.framework in Frameworks */,
9204BE171D319EF300BD49DB /* CoreMedia.framework in Frameworks */,
9204BE181D319EF300BD49DB /* AVFoundation.framework in Frameworks */,
9204BE191D319EF300BD49DB /* CoreVideo.framework in Frameworks */,
9204BE1A1D319EF300BD49DB /* AudioToolbox.framework in Frameworks */,
9204BE1B1D319EF300BD49DB /* CoreAudio.framework in Frameworks */,
9204BE1C1D319EF300BD49DB /* UIKit.framework in Frameworks */,
9204BE1D1D319EF300BD49DB /* Foundation.framework in Frameworks */,
9204BE1E1D319EF300BD49DB /* CoreGraphics.framework in Frameworks */,
9204BE1F1D319EF300BD49DB /* GLKit.framework in Frameworks */,
9204BE201D319EF300BD49DB /* OpenGLES.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
96AFAE2216C1D4EA009DE44C /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -227,6 +276,7 @@
96AFAE2516C1D4EA009DE44C /* RetroArch.app */,
503700AD1ACA18E400A51A37 /* RetroArch copy.app */,
0FDA2A911BE1AFA800F2B5DA /* RetroArch.app */,
9204BE2B1D319EF300BD49DB /* RetroArchiOS10.app */,
);
name = Products;
sourceTree = "<group>";
@ -346,6 +396,24 @@
productReference = 503700AD1ACA18E400A51A37 /* RetroArch copy.app */;
productType = "com.apple.product-type.application";
};
9204BE091D319EF300BD49DB /* RetroArchiOS10 */ = {
isa = PBXNativeTarget;
buildConfigurationList = 9204BE281D319EF300BD49DB /* Build configuration list for PBXNativeTarget "RetroArchiOS10" */;
buildPhases = (
9204BE0A1D319EF300BD49DB /* Sources */,
9204BE111D319EF300BD49DB /* Frameworks */,
9204BE211D319EF300BD49DB /* Resources */,
9204BE271D319EF300BD49DB /* ShellScript */,
);
buildRules = (
);
dependencies = (
);
name = RetroArchiOS10;
productName = RetroArch;
productReference = 9204BE2B1D319EF300BD49DB /* RetroArchiOS10.app */;
productType = "com.apple.product-type.application";
};
96AFAE2416C1D4EA009DE44C /* RetroArch */ = {
isa = PBXNativeTarget;
buildConfigurationList = 96AFAE5416C1D4EA009DE44C /* Build configuration list for PBXNativeTarget "RetroArch" */;
@ -375,8 +443,13 @@
503700861ACA18E400A51A37 = {
DevelopmentTeam = YLQUB5DVUQ;
};
9204BE091D319EF300BD49DB = {
DevelopmentTeam = R72X3BF4KE;
DevelopmentTeamName = "Yoshinobu Sugawara";
};
96AFAE2416C1D4EA009DE44C = {
DevelopmentTeam = YLQUB5DVUQ;
DevelopmentTeam = R72X3BF4KE;
DevelopmentTeamName = "Yoshinobu Sugawara";
};
};
};
@ -395,6 +468,7 @@
96AFAE2416C1D4EA009DE44C /* RetroArch */,
503700861ACA18E400A51A37 /* RetroArch iOS6 */,
0FDA2A701BE1AFA800F2B5DA /* RetroArch iOS9 */,
9204BE091D319EF300BD49DB /* RetroArchiOS10 */,
);
};
/* End PBXProject section */
@ -424,6 +498,18 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
9204BE211D319EF300BD49DB /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
9204BE221D319EF300BD49DB /* iOS/Resources/ic_pause.png in Resources */,
9204BE231D319EF300BD49DB /* InfoPlist.strings in Resources */,
9204BE241D319EF300BD49DB /* iOS/Resources/Media.xcassets in Resources */,
9204BE251D319EF300BD49DB /* iOS/Resources/PauseIndicatorView.xib in Resources */,
9204BE261D319EF300BD49DB /* iOS/modules in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
96AFAE2316C1D4EA009DE44C /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@ -438,6 +524,22 @@
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
9204BE271D319EF300BD49DB /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "./code-sign-cores.sh";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
0FDA2A711BE1AFA800F2B5DA /* Sources */ = {
isa = PBXSourcesBuildPhase;
@ -465,6 +567,19 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
9204BE0A1D319EF300BD49DB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
9204BE0B1D319EF300BD49DB /* float_to_s16_neon.S in Sources */,
9204BE0C1D319EF300BD49DB /* cc_resampler_neon.S in Sources */,
9204BE0D1D319EF300BD49DB /* griffin_objc.m in Sources */,
9204BE0E1D319EF300BD49DB /* s16_to_float_neon.S in Sources */,
9204BE0F1D319EF300BD49DB /* sinc_resampler_neon.S in Sources */,
9204BE101D319EF300BD49DB /* griffin.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
96AFAE2116C1D4EA009DE44C /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -516,13 +631,13 @@
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORELOCATION",
@ -595,13 +710,13 @@
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORELOCATION",
@ -645,13 +760,13 @@
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORELOCATION",
@ -724,13 +839,13 @@
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORETEXT",
@ -799,13 +914,13 @@
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORELOCATION",
@ -846,13 +961,13 @@
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORELOCATION",
@ -896,6 +1011,212 @@
};
name = Release;
};
9204BE291D319EF300BD49DB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = armv7;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
CLANG_CXX_LIBRARY = "libstdc++";
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist";
ENABLE_BITCODE = NO;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
HEADER_SEARCH_PATHS = (
../../,
"../../libretro-common/include",
);
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
LD_NO_PIE = YES;
LIBRARY_SEARCH_PATHS = "";
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORELOCATION",
"-DHAVE_RGUI",
"-DHAVE_MENU",
"-DHAVE_LIBRETRODB",
"-DIOS",
"-DHAVE_OPENGL",
"-DHAVE_FBO",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
"-DHAVE_GLSL",
"-DINLINE=inline",
"-D__LIBRETRO__",
"-DRARCH_MOBILE",
"-DHAVE_COREAUDIO",
"-DHAVE_DYNAMIC",
"-DHAVE_OVERLAY",
"-DHAVE_ZLIB",
"-DHAVE_RPNG",
"-DHAVE_RJPEG",
"-DHAVE_RBMP",
"-DHAVE_RTGA",
"-DHAVE_COCOATOUCH",
"-DHAVE_MAIN",
"-DSINC_LOWER_QUALITY",
"-DRARCH_INTERNAL",
"-DHAVE_THREADS",
"-DHAVE_FILTERS_BUILTIN",
"-DHAVE_MATERIALUI",
"-DHAVE_ZARCH",
"-DHAVE_XMB",
"-DHAVE_SHADERPIPELINE",
"-D_LZMA_UINT32_IS_ULONG",
"-DHAVE_MFI",
"-DHAVE_BTSTACK",
"-DHAVE_AVFOUNDATION",
);
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";
VALID_ARCHS = armv7;
WARNING_CFLAGS = "-Wno-invalid-source-encoding";
WRAPPER_EXTENSION = app;
};
name = Debug;
};
9204BE2A1D319EF300BD49DB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = armv7;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
CLANG_CXX_LIBRARY = "libstdc++";
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist";
ENABLE_BITCODE = NO;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
HEADER_SEARCH_PATHS = (
../../,
"../../libretro-common/include",
);
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
LD_NO_PIE = YES;
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORELOCATION",
"-DHAVE_RGUI",
"-DHAVE_MENU",
"-DHAVE_LIBRETRODB",
"-DIOS",
"-DHAVE_OPENGL",
"-DHAVE_FBO",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
"-DHAVE_GLSL",
"-DINLINE=inline",
"-D__LIBRETRO__",
"-DRARCH_MOBILE",
"-DHAVE_COREAUDIO",
"-DHAVE_DYNAMIC",
"-DHAVE_OVERLAY",
"-DHAVE_ZLIB",
"-DHAVE_RPNG",
"-DHAVE_RJPEG",
"-DHAVE_RBMP",
"-DHAVE_RTGA",
"-DHAVE_COCOATOUCH",
"-DHAVE_MAIN",
"-DSINC_LOWER_QUALITY",
"-DRARCH_INTERNAL",
"-DHAVE_THREADS",
"-DHAVE_FILTERS_BUILTIN",
"-DHAVE_7ZIP",
"-DHAVE_MATERIALUI",
"-DHAVE_ZARCH",
"-DHAVE_XMB",
"-DHAVE_SHADERPIPELINE",
"-D_LZMA_UINT32_IS_ULONG",
"-DHAVE_MFI",
"-DHAVE_BTSTACK",
"-DHAVE_AVFOUNDATION",
);
"OTHER_CFLAGS[arch=*]" = (
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORELOCATION",
"-DHAVE_RGUI",
"-DHAVE_MENU",
"-DHAVE_LIBRETRODB",
"-DIOS",
"-DHAVE_OPENGL",
"-DHAVE_FBO",
"-DHAVE_OPENGLES",
"-DHAVE_OPENGLES2",
"-DHAVE_GLSL",
"-DINLINE=inline",
"-D__LIBRETRO__",
"-DRARCH_MOBILE",
"-DHAVE_COREAUDIO",
"-DHAVE_DYNAMIC",
"-DRARCH_INTERNAL",
"-DHAVE_OVERLAY",
"-DHAVE_ZLIB",
"-DHAVE_RPNG",
"-DHAVE_RJPEG",
"-DHAVE_RBMP",
"-DHAVE_RTGA",
"-DHAVE_COCOATOUCH",
"-DHAVE_MAIN",
"-DSINC_LOWER_QUALITY",
"-DHAVE_THREADS",
"-DHAVE_FILTERS_BUILTIN",
"-DHAVE_7ZIP",
"-DHAVE_MATERIALUI",
"-DHAVE_ZARCH",
"-DHAVE_XMB",
"-DHAVE_SHADERPIPELINE",
"-D_LZMA_UINT32_IS_ULONG",
"-DHAVE_MFI",
"-DHAVE_BTSTACK",
"-DHAVE_AVFOUNDATION",
);
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";
VALID_ARCHS = armv7;
WARNING_CFLAGS = "-Wno-invalid-source-encoding";
WRAPPER_EXTENSION = app;
};
name = Release;
};
96AFAE5216C1D4EA009DE44C /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@ -925,13 +1246,13 @@
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORELOCATION",
@ -993,13 +1314,13 @@
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORELOCATION",
@ -1062,13 +1383,13 @@
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = (
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORELOCATION",
@ -1140,13 +1461,13 @@
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORELOCATION",
@ -1190,13 +1511,13 @@
"-DNS_BLOCK_ASSERTIONS=1",
"-DNDEBUG",
"-DHAVE_NETPLAY",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_NETWORKGAMEPAD",
"-DHAVE_CORETEXT",
"-DHAVE_HID",
"-DHAVE_NETWORKING",
"-DHAVE_AVFOUNDATION",
"-DHAVE_GRIFFIN",
"-DHAVE_LANGEXTRA",
"-DHAVE_LANGEXTRA",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORELOCATION",
@ -1265,6 +1586,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
9204BE281D319EF300BD49DB /* Build configuration list for PBXNativeTarget "RetroArchiOS10" */ = {
isa = XCConfigurationList;
buildConfigurations = (
9204BE291D319EF300BD49DB /* Debug */,
9204BE2A1D319EF300BD49DB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
96AFAE1F16C1D4EA009DE44C /* Build configuration list for PBXProject "RetroArch_iOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (

62
pkg/apple/code-sign-cores.sh Executable file
View File

@ -0,0 +1,62 @@
#!/bin/sh
# WARNING: You may have to run Clean in Xcode after changing CODE_SIGN_IDENTITY!
# Verify that $CODE_SIGN_IDENTITY is set
if [ -z "${CODE_SIGN_IDENTITY}" ] ; then
echo "CODE_SIGN_IDENTITY needs to be set for code-signing!"
if [ "${CONFIGURATION}" = "Release" ] ; then
exit 1
else
# Code-signing is optional for non-release builds.
exit 0
fi
fi
ITEMS=""
CORES_DIR="${PROJECT_DIR}/iOS/modules"
echo "Cores dir: ${CORES_DIR}"
if [ -d "$CORES_DIR" ] ; then
CORES=$(find "${CORES_DIR}" -depth -type d -name "*.framework" -or -name "*.dylib" -or -name "*.bundle" | sed -e "s/\(.*framework\)/\1\/Versions\/A\//")
RESULT=$?
if [[ $RESULT != 0 ]] ; then
exit 1
fi
ITEMS="${CORES}"
fi
# Prefer the expanded name, if available.
CODE_SIGN_IDENTITY_FOR_ITEMS="${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
if [ "${CODE_SIGN_IDENTITY_FOR_ITEMS}" = "" ] ; then
# Fall back to old behavior.
CODE_SIGN_IDENTITY_FOR_ITEMS="${CODE_SIGN_IDENTITY}"
fi
echo "Identity:"
echo "${CODE_SIGN_IDENTITY_FOR_ITEMS}"
echo "Found:"
echo "${ITEMS}"
# Change the Internal Field Separator (IFS) so that spaces in paths will not cause problems below.
SAVED_IFS=$IFS
IFS=$(echo -en "\n\b")
# Loop through all items.
for ITEM in $ITEMS;
do
echo "Signing '${ITEM}'"
codesign --force --verbose --sign "${CODE_SIGN_IDENTITY_FOR_ITEMS}" "${ITEM}"
RESULT=$?
if [[ $RESULT != 0 ]] ; then
echo "Failed to sign '${ITEM}'."
IFS=$SAVED_IFS
exit 1
fi
done
# Restore $IFS.
IFS=$SAVED_IFS

View File

@ -19,7 +19,7 @@
</dict>
</array>
<key>CFBundleExecutable</key>
<string>RetroArch</string>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIcons</key>
<dict/>
<key>CFBundleIcons~ipad</key>

View File

@ -296,6 +296,7 @@ enum
get_ios_version(&major, &minor);
#if __IPHONE_OS_VERSION_MAX_ALLOWED < 70000
if ((major < 7) && [event respondsToSelector:@selector(_gsEvent)])
{
/* Keyboard event hack for iOS versions prior to iOS 7.
@ -315,6 +316,7 @@ enum
break;
}
}
#endif
}
@end