[WIP] Update to Mac OS X 10.9 SDK

Untested Parts
--------------

`ArchHooks_MacOSX::DumpDebugInfo()`

- Used `sysctlbyname` to find the Mac OS X version instead of the deprecated `Gestalt`.
    - http://stackoverflow.com/questions/11072804/how-do-i-determine-the-os-version-at-runtime-in-os-x-or-ios-without-using-gesta

`MemoryCardDriverThreaded_MacOSX::Unmount( UsbStorageDevice *pDevice )`

- Updated to use `sync_volume_np` instead of deprecated `PBFlushVolSync`.
    - http://lists.apple.com/archives/carbon-dev/2010/Nov/msg00030.html
This commit is contained in:
Thai Pangsakulyanont
2014-07-25 09:14:06 +09:00
parent dbc1dba403
commit c4c0e9b0a1
4 changed files with 16 additions and 29 deletions
+6 -9
View File
@@ -8358,7 +8358,6 @@
AA0AA9000963CF7700427F4D /* Debug */ = { AA0AA9000963CF7700427F4D /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES; DEAD_CODE_STRIPPING = YES;
@@ -8389,7 +8388,7 @@
LINKER_DISPLAYS_MANGLED_NAMES = YES; LINKER_DISPLAYS_MANGLED_NAMES = YES;
MACOSX_DEPLOYMENT_TARGET = 10.6; MACOSX_DEPLOYMENT_TARGET = 10.6;
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
SDKROOT = macosx10.6; SDKROOT = macosx10.9;
SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)"; SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)";
STRIP_INSTALLED_PRODUCT = NO; STRIP_INSTALLED_PRODUCT = NO;
STRIP_STYLE = "non-global"; STRIP_STYLE = "non-global";
@@ -8661,7 +8660,7 @@
"HAVE_MEMORY_H=1", "HAVE_MEMORY_H=1",
"HAVE_WAITPID=1", "HAVE_WAITPID=1",
"SIZEOF_LONG=4", "SIZEOF_LONG=4",
"FPM_INTEL=1", "FPM_64BIT=1",
); );
GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
@@ -8691,7 +8690,7 @@
"HAVE_MEMORY_H=1", "HAVE_MEMORY_H=1",
"HAVE_WAITPID=1", "HAVE_WAITPID=1",
"SIZEOF_LONG=4", "SIZEOF_LONG=4",
"FPM_INTEL=1", "FPM_64BIT=1",
); );
GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
@@ -8722,7 +8721,7 @@
"HAVE_MEMORY_H=1", "HAVE_MEMORY_H=1",
"HAVE_WAITPID=1", "HAVE_WAITPID=1",
"SIZEOF_LONG=4", "SIZEOF_LONG=4",
"FPM_INTEL=1", "FPM_64BIT=1",
); );
GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
@@ -8739,7 +8738,6 @@
AABF4DBA0CD37960005A3060 /* PerformanceDebug */ = { AABF4DBA0CD37960005A3060 /* PerformanceDebug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
DEAD_CODE_STRIPPING = YES; DEAD_CODE_STRIPPING = YES;
EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.framework *.gch *.xcode* (*) CVS .svn .hg .git"; EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.framework *.gch *.xcode* (*) CVS .svn .hg .git";
@@ -8770,7 +8768,7 @@
LINKER_DISPLAYS_MANGLED_NAMES = YES; LINKER_DISPLAYS_MANGLED_NAMES = YES;
MACOSX_DEPLOYMENT_TARGET = 10.6; MACOSX_DEPLOYMENT_TARGET = 10.6;
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
SDKROOT = macosx10.6; SDKROOT = macosx10.9;
SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)"; SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)";
STRIP_STYLE = "non-global"; STRIP_STYLE = "non-global";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../extern/glew-1.5.8/include $(PROJECT_DIR)/../extern/jsoncpp/include $(PROJECT_DIR)/../extern/vorbis"; USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../extern/glew-1.5.8/include $(PROJECT_DIR)/../extern/jsoncpp/include $(PROJECT_DIR)/../extern/vorbis";
@@ -9044,7 +9042,6 @@
AAC845150856A19700A9FEAB /* Native */ = { AAC845150856A19700A9FEAB /* Native */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
DEAD_CODE_STRIPPING = YES; DEAD_CODE_STRIPPING = YES;
EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.framework *.gch *.xcode* (*) CVS .svn .hg .git"; EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.framework *.gch *.xcode* (*) CVS .svn .hg .git";
@@ -9075,7 +9072,7 @@
LINKER_DISPLAYS_MANGLED_NAMES = YES; LINKER_DISPLAYS_MANGLED_NAMES = YES;
MACOSX_DEPLOYMENT_TARGET = 10.6; MACOSX_DEPLOYMENT_TARGET = 10.6;
PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
SDKROOT = macosx10.6; SDKROOT = macosx10.9;
SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)"; SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)";
STRIP_STYLE = "non-global"; STRIP_STYLE = "non-global";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../extern/glew-1.5.8/include $(PROJECT_DIR)/../extern/jsoncpp/include $(PROJECT_DIR)/../extern/vorbis"; USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../extern/glew-1.5.8/include $(PROJECT_DIR)/../extern/jsoncpp/include $(PROJECT_DIR)/../extern/vorbis";
+5 -7
View File
@@ -223,15 +223,13 @@ void ArchHooks_MacOSX::DumpDebugInfo()
// Get system version // Get system version
RString sSystemVersion; RString sSystemVersion;
{ {
long major = 0, minor = 0, bugFix = 0; char osrelease[256];
size_t size = sizeof(osrelease);
Gestalt( gestaltSystemVersionMajor, &major ); if( sysctlbyname( "kern.osrelease", osrelease, &size, NULL, 0 ) )
Gestalt( gestaltSystemVersionMinor, &minor ); sSystemVersion = ssprintf( "Mac OS X %s", osrelease );
Gestalt( gestaltSystemVersionBugFix, &bugFix );
if( bugFix )
sSystemVersion = ssprintf( "Mac OS X %ld.%ld.%ld", major, minor, bugFix );
else else
sSystemVersion = ssprintf( "Mac OS X %ld.%ld", major, minor ); sSystemVersion = ssprintf( "Mac OS X Unknown" );
} }
size_t size; size_t size;
@@ -60,17 +60,7 @@ MemoryCardDriverThreaded_MacOSX::~MemoryCardDriverThreaded_MacOSX()
void MemoryCardDriverThreaded_MacOSX::Unmount( UsbStorageDevice *pDevice ) void MemoryCardDriverThreaded_MacOSX::Unmount( UsbStorageDevice *pDevice )
{ {
ParamBlockRec pb; if( sync_volume_np( pDevice->sOsMountDir.c_str(), SYNC_VOLUME_FULLSYNC | SYNC_VOLUME_WAIT ) != 0 )
Str255 name; // A pascal string.
const RString& base = Basename( pDevice->sOsMountDir );
memset( &pb, 0, sizeof(pb) );
name[0] = min( base.length(), size_t(255) );
strncpy( (char *)&name[1], base, name[0] );
pb.volumeParam.ioNamePtr = name;
pb.volumeParam.ioVolIndex = -1; // Use ioNamePtr to find the volume.
if( PBFlushVolSync(&pb) != noErr )
LOG->Warn( "Failed to flush the memory card." ); LOG->Warn( "Failed to flush the memory card." );
} }
+2
View File
@@ -45,6 +45,7 @@ inline Boolean LongValue( CFTypeRef o, long &n )
namespace __gnu_cxx namespace __gnu_cxx
{ {
#ifndef __LP64__
template<> template<>
struct hash<IOHIDElementCookie> : private hash<uintptr_t> struct hash<IOHIDElementCookie> : private hash<uintptr_t>
{ {
@@ -53,6 +54,7 @@ namespace __gnu_cxx
return hash<unsigned long>::operator()( uintptr_t(cookie) ); return hash<unsigned long>::operator()( uintptr_t(cookie) );
} }
}; };
#endif
} }
/* This is just awful, these aren't objects, treating them as such /* This is just awful, these aren't objects, treating them as such