From a3dd54dd463396db736879253a048c3777b23b42 Mon Sep 17 00:00:00 2001 From: Charlie Fenton Date: Thu, 13 Feb 2014 05:59:10 -0800 Subject: [PATCH] Mac: fixes to building and linking wxCocoa-3.0.0 - Ensure that Debug build of Manager uses Debug build of wxWidgets, and Release build of manager uses Release build of wxWidgets. - Ensure that wxWidgets is built to use UTF-8 encoding on Mac, to match Mac manager. --- clientgui/mac/MacGUI.pch | 9 ++++++++- mac_build/boinc.xcodeproj/project.pbxproj | 6 ++---- mac_build/buildWxMac.sh | 5 +++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/clientgui/mac/MacGUI.pch b/clientgui/mac/MacGUI.pch index 9af5ba7dfa..4f1dad2d30 100644 --- a/clientgui/mac/MacGUI.pch +++ b/clientgui/mac/MacGUI.pch @@ -75,17 +75,24 @@ #endif #endif -#define __WXDEBUG__ 1 +#ifndef _DEBUG +#undef wxDEBUG_LEVEL +#define wxDEBUG_LEVEL 0 +#endif #if (defined(_DEBUG) && (! USE_DEBUG_WXMAC)) #undef _DEBUG // so we can link with Deployment Wx libs #undef __WXDEBUG__ +#undef wxDEBUG_LEVEL +#define wxDEBUG_LEVEL 0 #include "stdwx.h" #define _DEBUG // Redefine _DEBUG for the rest of the code #define __WXDEBUG__ +#undef wxDEBUG_LEVEL +#define wxDEBUG_LEVEL 1 #else // ! (defined(_DEBUG) && (! USE_DEBUG_WXMAC)) diff --git a/mac_build/boinc.xcodeproj/project.pbxproj b/mac_build/boinc.xcodeproj/project.pbxproj index d37f055143..6d970297ce 100755 --- a/mac_build/boinc.xcodeproj/project.pbxproj +++ b/mac_build/boinc.xcodeproj/project.pbxproj @@ -320,7 +320,6 @@ DD957E5B181B908800ECA34E /* thumbnail.png in Resources */ = {isa = PBXBuildFile; fileRef = DD957E59181B908800ECA34E /* thumbnail.png */; }; DD957E5C181B908800ECA34E /* thumbnail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DD957E5A181B908800ECA34E /* thumbnail@2x.png */; }; DD9AB0340EB7D5DE00AF1616 /* rr_sim.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD9AB0320EB7D5DE00AF1616 /* rr_sim.cpp */; }; - DD9E560A182D06A6002AF0F8 /* libwx_osx_cocoa_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DDE36DF517C3896A000E78D6 /* libwx_osx_cocoa_static.a */; }; DD9E560F182D0D40002AF0F8 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD9E560E182D0D40002AF0F8 /* WebKit.framework */; }; DDA0C8350FE1D704001E02E6 /* procinfo_mac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DDB6934F0ABFE9C600689FD8 /* procinfo_mac.cpp */; }; DDA12A6D0A36974600FBDD12 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD1929D80918A2F100C31BCF /* Security.framework */; }; @@ -1146,7 +1145,6 @@ DDE1741E166746F70059083A /* app_config.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = app_config.cpp; sourceTree = ""; }; DDE1741F166746F70059083A /* app_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = app_config.h; sourceTree = ""; }; DDE2552B07C62F3E008E7D6E /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; - DDE36DF517C3896A000E78D6 /* libwx_osx_cocoa_static.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libwx_osx_cocoa_static.a; path = "../../wxWidgets-3.0.0/build/osx/build/Debug/libwx_osx_cocoa_static.a"; sourceTree = SOURCE_ROOT; }; DDE3A87F0E90D1BF00A363A7 /* client_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = client_state.cpp; sourceTree = ""; }; DDE3A8840E90D23400A363A7 /* scheduler_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scheduler_op.cpp; sourceTree = ""; }; DDE41C250C1FCA8F00CA1F86 /* graphics2_util.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = graphics2_util.cpp; sourceTree = ""; }; @@ -1249,7 +1247,6 @@ DD3E15320A774397007E0084 /* IOKit.framework in Frameworks */, DD3E15330A774397007E0084 /* Security.framework in Frameworks */, DD21B49D0D750FC600AFFEE5 /* AppKit.framework in Frameworks */, - DD9E560A182D06A6002AF0F8 /* libwx_osx_cocoa_static.a in Frameworks */, DD9E560F182D0D40002AF0F8 /* WebKit.framework in Frameworks */, DD7811631851AC8D0050CF7B /* OpenGL.framework in Frameworks */, DDA2EC1618AA592D002664B6 /* libsqlite3.a in Frameworks */, @@ -1468,7 +1465,6 @@ 20286C32FDCF999611CA2CEA /* External Frameworks and Libraries */ = { isa = PBXGroup; children = ( - DDE36DF517C3896A000E78D6 /* libwx_osx_cocoa_static.a */, DDA2EC1518AA592D002664B6 /* libsqlite3.a */, DDFE854A0B60CFD0009B43D9 /* AppKit.framework */, DDE2552B07C62F3E008E7D6E /* IOKit.framework */, @@ -3566,6 +3562,7 @@ OTHER_LDFLAGS = ( "-bind_at_load", "-D_THREAD_SAFE", + "-lwx_osx_cocoa_static", "-lz", "-lpthread", "-lm", @@ -3624,6 +3621,7 @@ OTHER_LDFLAGS = ( "-bind_at_load", "-D_THREAD_SAFE", + "-lwx_osx_cocoa_static", "-lz", "-lpthread", "-lm", diff --git a/mac_build/buildWxMac.sh b/mac_build/buildWxMac.sh index 4ad1d886af..f69d2a611e 100644 --- a/mac_build/buildWxMac.sh +++ b/mac_build/buildWxMac.sh @@ -26,6 +26,7 @@ # Updated for partial OS 10.8 and XCode 4.5 compatibility 7/27/12 # Updated for wxCocoa 2.9.5 8/20/13 # Updated for wxCocoa 3.0.0 11/12/13 +# Fix for wxCocoa 3.0.0 2/13/14 # ## This script requires OS 10.6 or later ## @@ -63,7 +64,7 @@ else ## export DEVELOPER_SDK_DIR="/Developer/SDKs" ## We must override some of the build settings in wxWindows.xcodeproj - xcodebuild -project build/osx/wxcocoa.xcodeproj -target static -configuration Release $doclean build ARCHS="i386" OTHER_CPLUSPLUSFLAGS="-DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DwxUSE_UNICODE_UTF8=1 -fvisibility=hidden -fvisibility-inlines-hidden" + xcodebuild -project build/osx/wxcocoa.xcodeproj -target static -configuration Release $doclean build ARCHS="i386" OTHER_CFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DwxDEBUG_LEVEL=0 -fvisibility=hidden" OTHER_CPLUSPLUSFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DwxDEBUG_LEVEL=0 -fvisibility=hidden -fvisibility-inlines-hidden" GCC_PREPROCESSOR_DEFINITIONS="WXBUILDING __WXOSX_COCOA__ __WX__ wxUSE_BASE=1 _FILE_OFFSET_BITS=64 _LARGE_FILES MACOS_CLASSIC __WXMAC_XCODE__=1 SCI_LEXER WX_PRECOMP=1 wxUSE_UNICODE_UTF8=1 wxUSE_UNICODE_WCHAR=0" if [ $? -ne 0 ]; then return 1; fi fi @@ -73,7 +74,7 @@ if [ "$1" != "-clean" ] && [ -f build/osx/build/Debug/libwx_osx_cocoa_static.a ] else ## export DEVELOPER_SDK_DIR="/Developer/SDKs" ## We must override some of the build settings in wxWindows.xcodeproj - xcodebuild -project build/osx/wxcocoa.xcodeproj -target static -configuration Debug $doclean build ARCHS="i386" OTHER_CPLUSPLUSFLAGS="-DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DwxUSE_UNICODE_UTF8=1 -fvisibility=hidden -fvisibility-inlines-hidden" + xcodebuild -project build/osx/wxcocoa.xcodeproj -target static -configuration Debug $doclean build ARCHS="i386" OTHER_CFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DwxDEBUG_LEVEL=0 -fvisibility=hidden" OTHER_CPLUSPLUSFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DwxUSE_UNICODE_UTF8=1 -DwxUSE_UNICODE_WCHAR=0 -fvisibility=hidden -fvisibility-inlines-hidden" GCC_PREPROCESSOR_DEFINITIONS="WXBUILDING __WXOSX_COCOA__ __WX__ wxUSE_BASE=1 _FILE_OFFSET_BITS=64 _LARGE_FILES MACOS_CLASSIC __WXMAC_XCODE__=1 SCI_LEXER WX_PRECOMP=1 wxUSE_UNICODE_UTF8=1 wxUSE_UNICODE_WCHAR=0" if [ $? -ne 0 ]; then return 1; fi fi