#50199: gnuplot: opportunistically uses gtk2 when building with wxwidgets enabled -----------------------+--------------------- Reporter: devans@… | Owner: mojca@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: gnuplot | -----------------------+--------------------- Comment (by mojca@…): I tried some relatively naive code for `configure.ac`: {{{ dnl Check for gtk (raise/lower tweaks) AC_MSG_CHECKING(if using wxGTK) AC_LANG_PUSH([C++]) CXXFLAGS_OLD=$CXXFLAGS CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS" AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wx/wx.h>]], [[int a = __WXGTK__]])], [AC_MSG_RESULT(yes) have_gtk=yes AC_MSG_CHECKING(if using wxGTK3) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wx/wx.h>]], [[int a = __WXGTK3__]])], [AC_MSG_RESULT(yes) have_gtk3=yes], [AC_MSG_RESULT(no) have_gtk3=no]) ], [AC_MSG_RESULT(no) have_gtk=no have_gtk3=no]) CXXFLAGS=$CXXFLAGS_OLD AC_LANG_POP([C++]) if test "${have_gtk}" = yes ; then if test "${have_gtk3}" = yes ; then PKG_CHECK_MODULES(GTK, [gtk+-3.0],, [have_gtk=no have_gtk3=no]) AC_DEFINE(HAVE_GTK, 1, [Define to use gtk/gdk tweaks]) WX_CXXFLAGS="$WX_CXXFLAGS $GTK_CFLAGS" WX_LIBS="$WX_LIBS $GTK_LIBS" else PKG_CHECK_MODULES(GTK, [gtk+-2.0],, have_gtk=no) AC_DEFINE(HAVE_GTK, 1, [Define to use gtk/gdk tweaks]) WX_CXXFLAGS="$WX_CXXFLAGS $GTK_CFLAGS" WX_LIBS="$WX_LIBS $GTK_LIBS" fi fi }}} but when I build against GTK 3 this fails to build: {{{ mv -f $depbase.Tpo $depbase.Po ../../gnuplot/src/wxterminal/wxt_gui.cpp:1537:20: error: use of undeclared identifier 'gdk_window_foreign_new' gdk_window_raise(gdk_window_foreign_new(windowid)); ^ ../../gnuplot/src/wxterminal/wxt_gui.cpp:1538:20: error: use of undeclared identifier 'gdk_window_foreign_new' gdk_window_focus(gdk_window_foreign_new(windowid), GDK_CURRENT_TIME); ^ ../../gnuplot/src/wxterminal/wxt_gui.cpp:3170:48: error: no member named 'window' in '_GtkWidget' gdk_window_raise(window->frame->GetHandle()->window); ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ../../gnuplot/src/wxterminal/wxt_gui.cpp:3183:47: error: no member named 'window' in '_GtkWidget' gdk_window_lower(window->frame->GetHandle()->window); ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ 4 errors generated. }}} It looks like the patches are specific to GTK version 2.0 only. -- Ticket URL: <https://trac.macports.org/ticket/50199#comment:6> MacPorts <https://www.macports.org/> Ports system for OS X