Updates build-osx-libs.sh to use wxWidgets 3.0.2.

Adds patch to fix wxWidgets build on Yosemite (based on
http://trac.wxwidgets.org/changeset/76743), fixes #2924.
Removes patch for previous version of wxWidgets.

This was SVN commit r16155.
This commit is contained in:
historic_bruno 2015-01-18 03:31:26 +00:00
parent 0a5089c841
commit 4ca156e2d8
3 changed files with 115 additions and 68 deletions

View File

@ -27,7 +27,7 @@ XML2_VERSION="libxml2-2.9.1"
SDL2_VERSION="SDL-2.0.4-9134" SDL2_VERSION="SDL-2.0.4-9134"
BOOST_VERSION="boost_1_52_0" BOOST_VERSION="boost_1_52_0"
# * wxWidgets 2.9+ is necessary for 64-bit OS X build w/ OpenGL support # * wxWidgets 2.9+ is necessary for 64-bit OS X build w/ OpenGL support
WXWIDGETS_VERSION="wxWidgets-3.0.1" WXWIDGETS_VERSION="wxWidgets-3.0.2"
JPEG_VERSION="jpegsrc.v8d" JPEG_VERSION="jpegsrc.v8d"
JPEG_DIR="jpeg-8d" # Must match directory name inside source tarball JPEG_DIR="jpeg-8d" # Must match directory name inside source tarball
# * libpng was included as part of X11 but that's removed from Mountain Lion # * libpng was included as part of X11 but that's removed from Mountain Lion
@ -358,8 +358,8 @@ then
if [[ $MIN_OSX_VERSION && ${MIN_OSX_VERSION-_} ]]; then if [[ $MIN_OSX_VERSION && ${MIN_OSX_VERSION-_} ]]; then
CONF_OPTS="$CONF_OPTS --with-macosx-version-min=$MIN_OSX_VERSION" CONF_OPTS="$CONF_OPTS --with-macosx-version-min=$MIN_OSX_VERSION"
fi fi
# patch to fix Atlas on VMs w/ software rendering (fixed upstream, see http://trac.wxwidgets.org/ticket/16555 ) # patch to fix wxWidgets build on Yosemite (fixed upstream, see http://trac.wxwidgets.org/ticket/16329 )
(patch -p0 -d.. -i../../patches/wxwidgets-glcanvas-fix.diff && ../configure CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" $CONF_OPTS && make ${JOBS} && make install) || die "wxWidgets build failed" (patch -p0 -d.. -i../../patches/wxwidgets-webkit-fix.diff && ../configure CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" $CONF_OPTS && make ${JOBS} && make install) || die "wxWidgets build failed"
popd popd
popd popd
touch .already-built touch .already-built

View File

@ -1,65 +0,0 @@
--- src/osx/cocoa/glcanvas.mm 2014-06-14 14:48:48.000000000 -0700
+++ src/osx/cocoa/glcanvas.mm 2014-09-22 12:57:10.000000000 -0700
@@ -81,28 +81,47 @@
WXGLPixelFormat WXGLChoosePixelFormat(const int *attribList)
{
NSOpenGLPixelFormatAttribute data[512];
- const NSOpenGLPixelFormatAttribute defaultAttribs[] =
+
+ unsigned p = 0;
+ data[p++] = NSOpenGLPFAMinimumPolicy; // make _SIZE tags behave more like GLX
+
+ // Test if we support hardware acceleration, we always want to use it if it
+ // is available and, apparently, in spite of the Apple docs explicitly
+ // saying the contrary:
+ //
+ // If present, this attribute indicates that only hardware-accelerated
+ // renderers are considered. If not present, accelerated renderers are
+ // still preferred.
+ //
+ // hardware acceleration is not always used without it, so we do need to
+ // specify it. But we shouldn't do it if acceleration is really not
+ // available.
+ const NSOpenGLPixelFormatAttribute
+ attrsAccel[] = { NSOpenGLPFAAccelerated, 0 };
+ if ( WXGLPixelFormat testFormat = [[NSOpenGLPixelFormat alloc]
+ initWithAttributes: attrsAccel] )
{
- NSOpenGLPFADoubleBuffer,
- NSOpenGLPFAMinimumPolicy,
- NSOpenGLPFAColorSize,(NSOpenGLPixelFormatAttribute)8,
- NSOpenGLPFAAlphaSize,(NSOpenGLPixelFormatAttribute)0,
- NSOpenGLPFADepthSize,(NSOpenGLPixelFormatAttribute)8,
- NSOpenGLPFAAccelerated, // use hardware accelerated context
- (NSOpenGLPixelFormatAttribute)nil
- };
-
+ // Hardware acceleration is available, use it.
+ data[p++] = NSOpenGLPFAAccelerated;
+ [testFormat release];
+ }
+
const NSOpenGLPixelFormatAttribute *attribs;
if ( !attribList )
{
- attribs = defaultAttribs;
+ // Default attributes
+ data[p++] = NSOpenGLPFADoubleBuffer;
+ data[p++] = NSOpenGLPFAColorSize;
+ data[p++] = (NSOpenGLPixelFormatAttribute)8;
+ data[p++] = NSOpenGLPFAAlphaSize;
+ data[p++] = (NSOpenGLPixelFormatAttribute)0;
+ data[p++] = NSOpenGLPFADepthSize;
+ data[p++] = (NSOpenGLPixelFormatAttribute)8;
+ data[p] = 0;
+ attribs = data;
}
else
{
- unsigned p = 0;
- data[p++] = NSOpenGLPFAMinimumPolicy; // make _SIZE tags behave more like GLX
- data[p++] = NSOpenGLPFAAccelerated; // use hardware accelerated context
-
for ( unsigned arg = 0; attribList[arg] !=0 && p < WXSIZEOF(data); )
{
switch ( attribList[arg++] )

View File

@ -0,0 +1,112 @@
Index: include/wx/defs.h
===================================================================
--- include/wx/defs.h
+++ include/wx/defs.h
@@ -3091,4 +3091,5 @@
DECLARE_WXCOCOA_OBJC_CLASS(NSSet);
DECLARE_WXCOCOA_OBJC_CLASS(EAGLContext);
+DECLARE_WXCOCOA_OBJC_CLASS(UIWebView);
typedef WX_UIWindow WXWindow;
@@ -3096,6 +3097,13 @@
typedef WX_EAGLContext WXGLContext;
typedef WX_NSString* WXGLPixelFormat;
-
-#endif
+typedef WX_UIWebView OSXWebViewPtr;
+
+#endif
+
+#if wxOSX_USE_COCOA_OR_CARBON
+DECLARE_WXCOCOA_OBJC_CLASS(WebView);
+typedef WX_WebView OSXWebViewPtr;
+#endif
+
#endif /* __WXMAC__ */
Index: include/wx/html/webkit.h
===================================================================
--- include/wx/html/webkit.h
+++ include/wx/html/webkit.h
@@ -19,5 +19,4 @@
#include "wx/control.h"
-DECLARE_WXCOCOA_OBJC_CLASS(WebView);
// ----------------------------------------------------------------------------
@@ -108,5 +107,5 @@
wxString m_pageTitle;
- WX_WebView m_webView;
+ OSXWebViewPtr m_webView;
// we may use this later to setup our own mouse events,
Index: include/wx/osx/webview_webkit.h
===================================================================
--- include/wx/osx/webview_webkit.h
+++ include/wx/osx/webview_webkit.h
@@ -158,5 +158,5 @@
wxString m_pageTitle;
- wxObjCID m_webView;
+ OSXWebViewPtr m_webView;
// we may use this later to setup our own mouse events,
Index: src/osx/webview_webkit.mm
===================================================================
--- src/osx/webview_webkit.mm
+++ src/osx/webview_webkit.mm
@@ -442,7 +442,7 @@
if ( !m_webView )
return;
- [(WebView*)m_webView goBack];
+ [m_webView goBack];
}
void wxWebViewWebKit::GoForward()
@@ -450,7 +450,7 @@
if ( !m_webView )
return;
- [(WebView*)m_webView goForward];
+ [m_webView goForward];
}
void wxWebViewWebKit::Reload(wxWebViewReloadFlags flags)
@@ -849,7 +849,7 @@
if ( !m_webView )
return;
- [(WebView*)m_webView cut:m_webView];
+ [m_webView cut:m_webView];
}
void wxWebViewWebKit::Copy()
@@ -857,7 +857,7 @@
if ( !m_webView )
return;
- [(WebView*)m_webView copy:m_webView];
+ [m_webView copy:m_webView];
}
void wxWebViewWebKit::Paste()
@@ -865,7 +865,7 @@
if ( !m_webView )
return;
- [(WebView*)m_webView paste:m_webView];
+ [m_webView paste:m_webView];
}
void wxWebViewWebKit::DeleteSelection()
@@ -873,7 +873,7 @@
if ( !m_webView )
return;
- [(WebView*)m_webView deleteSelection];
+ [m_webView deleteSelection];
}
bool wxWebViewWebKit::HasSelection() const