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

View File

@ -18,7 +18,7 @@
# 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
# 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
# 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
# Update for wxCocoa 3.1.0 10/25/17
#
## This script requires OS 10.6 or later
##
## In Terminal, CD to the wxWidgets-3.0.0 directory.
## cd [path]/wxWidgets-3.0.0/
## In Terminal, CD to the wxWidgets-3.1.0 directory.
## cd [path]/wxWidgets-3.1.0/
## then run this script:
## source [ path_to_this_script ] [ -clean ] [ -nodebug ] [--prefix PATH]
##
@ -63,12 +64,12 @@ fi
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
cat >> /tmp/pngstruct_h_diff << ENDOFFILE
--- pngstruct.h 2013-11-11 05:10:39.000000000 -0800
+++ pngstruct_patched.h 2014-02-18 01:31:53.000000000 -0800
@@ -34,6 +34,13 @@
@@ -33,6 +33,13 @@
# undef const
#endif
@ -100,9 +101,9 @@ if [ ! -f build/osx/setup/cocoa/include/wx/setup.h.orig ]; then
cd ../.. || return 1
cat >> /tmp/setup_h_diff << ENDOFFILE
--- setup.h 2014-02-18 05:17:45.000000000 -0800
+++ setup_patched.h 2014-02-18 05:19:50.000000000 -0800
@@ -339,7 +339,10 @@
--- setup.h 2017-10-25 02:22:00.000000000 -0700
+++ setup_patched.h 2017-10-25 02:32:21.000000000 -0700
@@ -343,7 +343,10 @@
// Recommended setting: 1 if you use the standard streams anyhow and so
// dependency on the standard streams library is not a
// 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.
// "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
patch -bfi /tmp/setup_h_diff build/osx/setup/cocoa/include/wx/setup.h
rm -f /tmp/setup_h_diff
@ -123,28 +133,6 @@ fi
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=""
stdout_target="/dev/stdout"
lprefix=""
@ -201,7 +189,7 @@ else
## 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 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 [ "x${lprefix}" != "x" ]; then
# copy library and headers to $lprefix
@ -238,7 +226,7 @@ else
## 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 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 [ "x${lprefix}" != "x" ]; then
# copy debug library to $PREFIX

View File

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