From c4c0e9b0a1ad7662124c97feecea4a4d7b1733d2 Mon Sep 17 00:00:00 2001 From: Thai Pangsakulyanont Date: Fri, 25 Jul 2014 09:14:06 +0900 Subject: [PATCH] [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 --- Xcode/stepmania.xcodeproj/project.pbxproj | 15 ++++++--------- src/arch/ArchHooks/ArchHooks_MacOSX.cpp | 14 ++++++-------- .../MemoryCardDriverThreaded_MacOSX.cpp | 14 ++------------ src/archutils/Darwin/HIDDevice.h | 2 ++ 4 files changed, 16 insertions(+), 29 deletions(-) diff --git a/Xcode/stepmania.xcodeproj/project.pbxproj b/Xcode/stepmania.xcodeproj/project.pbxproj index 483c0775d6..3137259517 100644 --- a/Xcode/stepmania.xcodeproj/project.pbxproj +++ b/Xcode/stepmania.xcodeproj/project.pbxproj @@ -8358,7 +8358,6 @@ AA0AA9000963CF7700427F4D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; COPY_PHASE_STRIP = NO; DEAD_CODE_STRIPPING = YES; @@ -8389,7 +8388,7 @@ LINKER_DISPLAYS_MANGLED_NAMES = YES; MACOSX_DEPLOYMENT_TARGET = 10.6; 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)"; STRIP_INSTALLED_PRODUCT = NO; STRIP_STYLE = "non-global"; @@ -8661,7 +8660,7 @@ "HAVE_MEMORY_H=1", "HAVE_WAITPID=1", "SIZEOF_LONG=4", - "FPM_INTEL=1", + "FPM_64BIT=1", ); GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; @@ -8691,7 +8690,7 @@ "HAVE_MEMORY_H=1", "HAVE_WAITPID=1", "SIZEOF_LONG=4", - "FPM_INTEL=1", + "FPM_64BIT=1", ); GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; @@ -8722,7 +8721,7 @@ "HAVE_MEMORY_H=1", "HAVE_WAITPID=1", "SIZEOF_LONG=4", - "FPM_INTEL=1", + "FPM_64BIT=1", ); GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; @@ -8739,7 +8738,6 @@ AABF4DBA0CD37960005A3060 /* PerformanceDebug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; DEAD_CODE_STRIPPING = YES; EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.framework *.gch *.xcode* (*) CVS .svn .hg .git"; @@ -8770,7 +8768,7 @@ LINKER_DISPLAYS_MANGLED_NAMES = YES; MACOSX_DEPLOYMENT_TARGET = 10.6; 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)"; 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"; @@ -9044,7 +9042,6 @@ AAC845150856A19700A9FEAB /* Native */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; DEAD_CODE_STRIPPING = YES; EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.framework *.gch *.xcode* (*) CVS .svn .hg .git"; @@ -9075,7 +9072,7 @@ LINKER_DISPLAYS_MANGLED_NAMES = YES; MACOSX_DEPLOYMENT_TARGET = 10.6; 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)"; 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"; diff --git a/src/arch/ArchHooks/ArchHooks_MacOSX.cpp b/src/arch/ArchHooks/ArchHooks_MacOSX.cpp index c61cd7513f..2140fe037d 100644 --- a/src/arch/ArchHooks/ArchHooks_MacOSX.cpp +++ b/src/arch/ArchHooks/ArchHooks_MacOSX.cpp @@ -223,15 +223,13 @@ void ArchHooks_MacOSX::DumpDebugInfo() // Get system version RString sSystemVersion; { - long major = 0, minor = 0, bugFix = 0; - - Gestalt( gestaltSystemVersionMajor, &major ); - Gestalt( gestaltSystemVersionMinor, &minor ); - Gestalt( gestaltSystemVersionBugFix, &bugFix ); - if( bugFix ) - sSystemVersion = ssprintf( "Mac OS X %ld.%ld.%ld", major, minor, bugFix ); + char osrelease[256]; + size_t size = sizeof(osrelease); + + if( sysctlbyname( "kern.osrelease", osrelease, &size, NULL, 0 ) ) + sSystemVersion = ssprintf( "Mac OS X %s", osrelease ); else - sSystemVersion = ssprintf( "Mac OS X %ld.%ld", major, minor ); + sSystemVersion = ssprintf( "Mac OS X Unknown" ); } size_t size; diff --git a/src/arch/MemoryCard/MemoryCardDriverThreaded_MacOSX.cpp b/src/arch/MemoryCard/MemoryCardDriverThreaded_MacOSX.cpp index d2479a543d..2107205a11 100644 --- a/src/arch/MemoryCard/MemoryCardDriverThreaded_MacOSX.cpp +++ b/src/arch/MemoryCard/MemoryCardDriverThreaded_MacOSX.cpp @@ -59,18 +59,8 @@ MemoryCardDriverThreaded_MacOSX::~MemoryCardDriverThreaded_MacOSX() } void MemoryCardDriverThreaded_MacOSX::Unmount( UsbStorageDevice *pDevice ) -{ - ParamBlockRec pb; - 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 ) +{ + if( sync_volume_np( pDevice->sOsMountDir.c_str(), SYNC_VOLUME_FULLSYNC | SYNC_VOLUME_WAIT ) != 0 ) LOG->Warn( "Failed to flush the memory card." ); } diff --git a/src/archutils/Darwin/HIDDevice.h b/src/archutils/Darwin/HIDDevice.h index 413ef87659..d486109688 100644 --- a/src/archutils/Darwin/HIDDevice.h +++ b/src/archutils/Darwin/HIDDevice.h @@ -45,6 +45,7 @@ inline Boolean LongValue( CFTypeRef o, long &n ) namespace __gnu_cxx { +#ifndef __LP64__ template<> struct hash : private hash { @@ -53,6 +54,7 @@ namespace __gnu_cxx return hash::operator()( uintptr_t(cookie) ); } }; +#endif } /* This is just awful, these aren't objects, treating them as such