Manager: update Xcode project and scripts for wxWidgets 3.1.0 because wxWidgets 3.0.0 can not be built using Xcode 9 due to APIs no longer supported by the header files in the OS 10.13 SDK

This commit is contained in:
Charlie Fenton 2017-10-26 02:38:25 -07:00
parent 9585a50671
commit 5967ee6299
3 changed files with 33 additions and 43 deletions

View File

@ -2385,7 +2385,7 @@
attributes = { attributes = {
LastUpgradeCheck = 0620; LastUpgradeCheck = 0620;
}; };
buildConfigurationList = DD9E2381091CBDAE0048316E /* Build configuration list for PBXProject "boinc" */; buildConfigurationList = DD9E2381091CBDAE0048316E /* Build configuration list for PBXProject "boinc_wx310" */;
compatibilityVersion = "Xcode 3.0"; compatibilityVersion = "Xcode 3.0";
developmentRegion = English; developmentRegion = English;
hasScannedForEncodings = 1; hasScannedForEncodings = 1;
@ -3547,13 +3547,13 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = ../clientgui/mac/MacGUI.pch; GCC_PREFIX_HEADER = ../clientgui/mac/MacGUI.pch;
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"../../wxWidgets-3.0.0/include", "../../wxWidgets-3.1.0/include",
"../../wxWidgets-3.0.0/build/osx/setup/cocoa/include", "../../wxWidgets-3.1.0/build/osx/setup/cocoa/include",
../clientgui, ../clientgui,
); );
INFOPLIST_FILE = Info.plist; INFOPLIST_FILE = Info.plist;
LIBRARY_SEARCH_PATHS = ( LIBRARY_SEARCH_PATHS = (
"../../wxWidgets-3.0.0/build/osx/build/Debug", "../../wxWidgets-3.1.0/build/osx/build/Debug",
"../../sqlite-autoconf-3110000/.libs/", "../../sqlite-autoconf-3110000/.libs/",
); );
OTHER_CFLAGS = ( OTHER_CFLAGS = (
@ -3566,6 +3566,7 @@
"-D__WXMAC__", "-D__WXMAC__",
"-D_DEBUG", "-D_DEBUG",
"-DMAC_OS_X_VERSION_MAX_ALLOWED=1060", "-DMAC_OS_X_VERSION_MAX_ALLOWED=1060",
"-DwxADJUST_MINSIZE=0",
); );
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
@ -3601,13 +3602,13 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = ../clientgui/mac/MacGUI.pch; GCC_PREFIX_HEADER = ../clientgui/mac/MacGUI.pch;
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"../../wxWidgets-3.0.0/include", "../../wxWidgets-3.1.0/include",
"../../wxWidgets-3.0.0/build/osx/setup/cocoa/include", "../../wxWidgets-3.1.0/build/osx/setup/cocoa/include",
../clientgui, ../clientgui,
); );
INFOPLIST_FILE = Info.plist; INFOPLIST_FILE = Info.plist;
LIBRARY_SEARCH_PATHS = ( LIBRARY_SEARCH_PATHS = (
"../../wxWidgets-3.0.0/build/osx/build/Release", "../../wxWidgets-3.1.0/build/osx/build/Release",
"../../sqlite-autoconf-3110000/.libs/", "../../sqlite-autoconf-3110000/.libs/",
); );
OTHER_CFLAGS = ( OTHER_CFLAGS = (
@ -3622,6 +3623,7 @@
"-D_NDEBUG", "-D_NDEBUG",
"-DBUILDING_MANAGER", "-DBUILDING_MANAGER",
"-DMAC_OS_X_VERSION_MAX_ALLOWED=1060", "-DMAC_OS_X_VERSION_MAX_ALLOWED=1060",
"-DwxADJUST_MINSIZE=0",
); );
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
@ -4405,7 +4407,7 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Development; defaultConfigurationName = Development;
}; };
DD9E2381091CBDAE0048316E /* Build configuration list for PBXProject "boinc" */ = { DD9E2381091CBDAE0048316E /* Build configuration list for PBXProject "boinc_wx310" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
DD9E2382091CBDAE0048316E /* Development */, DD9E2382091CBDAE0048316E /* Development */,

View File

@ -18,7 +18,7 @@
# along with BOINC. If not, see <http://www.gnu.org/licenses/>. # along with BOINC. If not, see <http://www.gnu.org/licenses/>.
# #
# #
# Script to build the wxMac-3.0.0 wxCocoa library for BOINC # Script to build the wxMac-3.1.0 wxCocoa library for BOINC
# #
# by Charlie Fenton 7/21/06 # by Charlie Fenton 7/21/06
# Updated for wx-Mac 2.8.10 and Unicode 4/17/09 # Updated for wx-Mac 2.8.10 and Unicode 4/17/09
@ -33,11 +33,12 @@
# Fix wxListCtrl flicker when resizing columns in wxCocoa 3.0.0 6/13/14 # Fix wxListCtrl flicker when resizing columns in wxCocoa 3.0.0 6/13/14
# Revise fix for wxListCtrl flicker to match the fix in wxWidgets trunk 6/19/14 # Revise fix for wxListCtrl flicker to match the fix in wxWidgets trunk 6/19/14
# Build 64-bit library (temporarily build both 32-bit and 64-bit libraries) 10/22/17 # Build 64-bit library (temporarily build both 32-bit and 64-bit libraries) 10/22/17
# Update for wxCocoa 3.1.0 10/25/17
# #
## This script requires OS 10.6 or later ## This script requires OS 10.6 or later
## ##
## In Terminal, CD to the wxWidgets-3.0.0 directory. ## In Terminal, CD to the wxWidgets-3.1.0 directory.
## cd [path]/wxWidgets-3.0.0/ ## cd [path]/wxWidgets-3.1.0/
## then run this script: ## then run this script:
## source [ path_to_this_script ] [ -clean ] [ -nodebug ] [--prefix PATH] ## source [ path_to_this_script ] [ -clean ] [ -nodebug ] [--prefix PATH]
## ##
@ -63,12 +64,12 @@ fi
echo "" echo ""
# Patch wxWidgets-3.0.0/src/png/pngstruct.h # Patch wxWidgets-3.1.0/src/png/pngstruct.h
if [ ! -f src/png/pngstruct.h.orig ]; then if [ ! -f src/png/pngstruct.h.orig ]; then
cat >> /tmp/pngstruct_h_diff << ENDOFFILE cat >> /tmp/pngstruct_h_diff << ENDOFFILE
--- pngstruct.h 2013-11-11 05:10:39.000000000 -0800 --- pngstruct.h 2013-11-11 05:10:39.000000000 -0800
+++ pngstruct_patched.h 2014-02-18 01:31:53.000000000 -0800 +++ pngstruct_patched.h 2014-02-18 01:31:53.000000000 -0800
@@ -34,6 +34,13 @@ @@ -33,6 +33,13 @@
# undef const # undef const
#endif #endif
@ -100,9 +101,9 @@ if [ ! -f build/osx/setup/cocoa/include/wx/setup.h.orig ]; then
cd ../.. || return 1 cd ../.. || return 1
cat >> /tmp/setup_h_diff << ENDOFFILE cat >> /tmp/setup_h_diff << ENDOFFILE
--- setup.h 2014-02-18 05:17:45.000000000 -0800 --- setup.h 2017-10-25 02:22:00.000000000 -0700
+++ setup_patched.h 2014-02-18 05:19:50.000000000 -0800 +++ setup_patched.h 2017-10-25 02:32:21.000000000 -0700
@@ -339,7 +339,10 @@ @@ -343,7 +343,10 @@
// Recommended setting: 1 if you use the standard streams anyhow and so // Recommended setting: 1 if you use the standard streams anyhow and so
// dependency on the standard streams library is not a // dependency on the standard streams library is not a
// problem // problem
@ -114,6 +115,15 @@ if [ ! -f build/osx/setup/cocoa/include/wx/setup.h.orig ]; then
// Enable minimal interoperability with the standard C++ string class if 1. // Enable minimal interoperability with the standard C++ string class if 1.
// "Minimal" means that wxString can be constructed from std::string or // "Minimal" means that wxString can be constructed from std::string or
@@ -668,7 +671,7 @@
// Default is 1.
//
// Recommended setting: 1
-#define wxUSE_MEDIACTRL 1
+#define wxUSE_MEDIACTRL 0 // 1
// Use wxWidget's XRC XML-based resource system. Recommended.
//
ENDOFFILE ENDOFFILE
patch -bfi /tmp/setup_h_diff build/osx/setup/cocoa/include/wx/setup.h patch -bfi /tmp/setup_h_diff build/osx/setup/cocoa/include/wx/setup.h
rm -f /tmp/setup_h_diff rm -f /tmp/setup_h_diff
@ -123,28 +133,6 @@ fi
echo "" echo ""
# Patch wxWidgets-3.0.0/src/osx/carbon/dcclient.cpp to eliminate flicker when resizing columns
if [ ! -f src/osx/carbon/dcclient.cpp.orig ]; then
cat >> /tmp/listctrl_cpp_diff << ENDOFFILE
--- src/osx/carbon/dcclient.cpp 2014-06-12 22:15:31.000000000 -0700
+++ src/osx/carbon/dcclient-patched.cpp 2014-06-19 01:04:58.000000000 -0700
@@ -174,7 +174,7 @@
wxClientDCImpl::~wxClientDCImpl()
{
- if( GetGraphicsContext() && GetGraphicsContext()->GetNativeContext() )
+if( GetGraphicsContext() && GetGraphicsContext()->GetNativeContext() && !m_release )
Flush();
}
ENDOFFILE
patch -bfi /tmp/listctrl_cpp_diff src/osx/carbon/dcclient.cpp
rm -f /tmp/listctrl_cpp_diff
else
echo "src/osx/carbon/dcclient.cpp already patched"
fi
echo ""
doclean="" doclean=""
stdout_target="/dev/stdout" stdout_target="/dev/stdout"
lprefix="" lprefix=""
@ -201,7 +189,7 @@ else
## We must override some of the build settings in wxWindows.xcodeproj ## We must override some of the build settings in wxWindows.xcodeproj
## For wxWidgets 3.0.0 through 3.1.0 (at least) we must use legacy WebKit APIs ## For wxWidgets 3.0.0 through 3.1.0 (at least) we must use legacy WebKit APIs
## for x86_64, so we must define WK_API_ENABLED=0 ## for x86_64, so we must define WK_API_ENABLED=0
xcodebuild -project build/osx/wxcocoa.xcodeproj -target static -configuration Release $doclean build ARCHS="i386 x86_64" ONLY_ACTIVE_ARCH=="NO" OTHER_CFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DWK_API_ENABLED=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DwxDEBUG_LEVEL=0 -DNDEBUG -fvisibility=hidden" OTHER_CPLUSPLUSFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DWK_API_ENABLED=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DwxDEBUG_LEVEL=0 -DNDEBUG -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" | $beautifier; retval=${PIPESTATUS[0]} xcodebuild -project build/osx/wxcocoa.xcodeproj -target static -configuration Release $doclean build ARCHS="i386 x86_64" ONLY_ACTIVE_ARCH=="NO" OTHER_CFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DWK_API_ENABLED=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DwxDEBUG_LEVEL=0 -DNDEBUG -fvisibility=hidden" OTHER_CPLUSPLUSFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DWK_API_ENABLED=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DwxDEBUG_LEVEL=0 -DNDEBUG -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 __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=1" | $beautifier; retval=${PIPESTATUS[0]}
if [ ${retval} -ne 0 ]; then return 1; fi if [ ${retval} -ne 0 ]; then return 1; fi
if [ "x${lprefix}" != "x" ]; then if [ "x${lprefix}" != "x" ]; then
# copy library and headers to $lprefix # copy library and headers to $lprefix
@ -238,7 +226,7 @@ else
## We must override some of the build settings in wxWindows.xcodeproj ## We must override some of the build settings in wxWindows.xcodeproj
## For wxWidgets 3.0.0 through 3.1.0 (at least) we must use legacy WebKit APIs ## For wxWidgets 3.0.0 through 3.1.0 (at least) we must use legacy WebKit APIs
## for x86_64, so we must define WK_API_ENABLED=0 ## for x86_64, so we must define WK_API_ENABLED=0
xcodebuild -project build/osx/wxcocoa.xcodeproj -target static -configuration Debug $doclean build ARCHS="i386 x86_64" ONLY_ACTIVE_ARCH=="NO" OTHER_CFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DWK_API_ENABLED=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DDEBUG -fvisibility=hidden" OTHER_CPLUSPLUSFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DWK_API_ENABLED=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DDEBUG -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" | $beautifier; retval=${PIPESTATUS[0]} xcodebuild -project build/osx/wxcocoa.xcodeproj -target static -configuration Debug $doclean build ARCHS="i386 x86_64" ONLY_ACTIVE_ARCH=="NO" OTHER_CFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DWK_API_ENABLED=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DDEBUG -fvisibility=hidden" OTHER_CPLUSPLUSFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DWK_API_ENABLED=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DDEBUG -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 __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=1" | $beautifier; retval=${PIPESTATUS[0]}
if [ ${retval} -ne 0 ]; then return 1; fi if [ ${retval} -ne 0 ]; then return 1; fi
if [ "x${lprefix}" != "x" ]; then if [ "x${lprefix}" != "x" ]; then
# copy debug library to $PREFIX # copy debug library to $PREFIX

View File

@ -47,9 +47,9 @@ curlDirName="curl-7.50.2"
curlFileName="curl-7.50.2.tar.gz" curlFileName="curl-7.50.2.tar.gz"
curlURL="http://curl.haxx.se/download/curl-7.50.2.tar.gz" curlURL="http://curl.haxx.se/download/curl-7.50.2.tar.gz"
wxWidgetsDirName="wxWidgets-3.0.0" wxWidgetsDirName="wxWidgets-3.1.0"
wxWidgetsFileName="wxWidgets-3.0.0.tar.bz2" wxWidgetsFileName="wxWidgets-3.1.0.tar.bz2"
wxWidgetsURL="http://sourceforge.net/projects/wxwindows/files/3.0.0/wxWidgets-3.0.0.tar.bz2" wxWidgetsURL="https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.tar.bz2"
sqliteDirName="sqlite-autoconf-3110000" sqliteDirName="sqlite-autoconf-3110000"
sqliteFileName="sqlite-autoconf-3110000.tar.gz" sqliteFileName="sqlite-autoconf-3110000.tar.gz"