[MacPorts] #50199: gnuplot: opportunistically uses gtk2 when building with wxwidgets enabled

MacPorts noreply at macports.org
Mon Jan 4 02:43:53 PST 2016


#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


More information about the macports-tickets mailing list