Home modules.gotpike.org
Username: Password: [Create Account]
[Forgot Password?]
Return to module

File Contents

Contents of /GTK2-2.23/configure.in:

dnl test

AC_INIT(build_pgtk.pike)
AC_CONFIG_HEADER(pgtk_config.h)

PIKE_FEATURE_WITHOUT(GTK2)
dnl PIKE_FEATURE_WITHOUT(Gnome)
dnl PIKE_FEATURE_WITHOUT(GTK.GladeXML)
dnl PIKE_FEATURE_WITHOUT(GTK.GlArea)
dnl PIKE_FEATURE_WITHOUT(GTK.Databox)
dnl PIKE_FEATURE_WITHOUT(GTK.Sourceview)

AC_MODULE_INIT()

AC_PROG_LN_S

AC_CHECK_FUNCS( gethrtime signal sigaction )

dnl AC_DEFINE(FUNCPROTO)
dnl AC_DEFINE(HAVE_GNOME)
dnl AC_DEFINE(HAVE_DPMS)
dnl AC_DEFINE(PGTK_AUTO_UTF8)

AC_DEFINE(FUNCPROTO)

AC_HEADER_STDC

AC_CHECK_HEADERS( signal.h netinet/in.h arpa/inet.h sys/types.h sys/stat.h fcntl.h )

AC_PATH_PROG(PKG_CONFIG,${ac_tool_prefix}pkg-config,no)

AC_SUBST(have_x11)
AC_SUBST(pgtk_has_gtk_beta)
pgtk_has_gtk_beta=nogtk_beta
AC_SUBST(pgtk_has_gtk28)
pgtk_has_gtk28=nogtk28
AC_SUBST(pgtk_has_gtk26)
pgtk_has_gtk26=nogtk26
AC_SUBST(pgtk_has_gtk24)
pgtk_has_gtk24=nogtk24
AC_SUBST(pgtk_has_gtk22)
pgtk_has_gtk22=nogtk22
AC_SUBST(pgtk_has_gnome)
pgtk_has_gnome=nognome
AC_SUBST(pgtk_has_pango_beta)
pgtk_has_pango_beta=nopango_beta
AC_SUBST(pgtk_has_pango)
pgtk_has_pango=nopango
AC_SUBST(pgtk_has_pango110)
pgtk_has_pango110=nopango110
AC_SUBST(pgtk_has_pango18)
pgtk_has_pango18=nopango18
AC_SUBST(pgtk_has_pango16)
pgtk_has_pango16=nopango16
AC_SUBST(pgtk_has_atk)
pgtk_has_atk=noatk
AC_SUBST(pgtk_has_atk18)
pgtk_has_atk18=noatk18
AC_SUBST(pgtk_has_gnomecanvas)
pgtk_has_gnomecanvas=nognomecanvas
AC_SUBST(pgtk_has_gnomeui)
pgtk_has_gnomeui=nognomeui
AC_SUBST(pgtk_has_libglade)
pgtk_has_libglade=nolibglade
AC_SUBST(pgtk_has_gtkdatabox)
pgtk_has_gtkdatabox=nogtkdatabox
AC_SUBST(pgtk_has_gtksourceview)
pgtk_has_gtksourceview=nogtksourceview
AC_SUBST(pgtk_has_gtksourceview11)
pgtk_has_gtksourceview11=nogtksourceview11

# lib, symbol, ok, fail, feature
AC_DEFUN([AC_CHECK_PKG],
[
  AC_MSG_CHECKING([for $1])
  if ${ac_tool_prefix}pkg-config $1 2>/dev/null; then
    AC_MSG_RESULT(yes)

    ifelse([$5],,,[PIKE_FEATURE_NODEP([$5])])dnl

    # Note: ORBit-2.0.pc on Solaris 10/x86 adds -mt to cflags,
    #       which gcc doesn't like...
    #       The manual for cc says that -mt is -D_REENTRANT plus -lthread;
    #       both of which should already be present.
    #   /grubba 2005-10-05
    OLD_CFLAGS="$CFLAGS"
    OLD_LIBS="$LIBS"
    LIBS="`${ac_tool_prefix}pkg-config --libs $gtk_final_libs $1 | sed -e 's/\(.*\)/ \1 /' | sed -e 's/ -mt / /g'` $LIBS"
    CFLAGS="`${ac_tool_prefix}pkg-config --cflags $gtk_final_libs $1 | sed -e 's/\(.*\)/ \1 /' | sed -e 's/ -mt / /g'` $CFLAGS"
    AC_CHECK_FUNCS($2)
    LIBS="$OLD_LIBS"
    CFLAGS="$OLD_CFLAGS"
    if test "x$ac_cv_func_$2" = "xyes"; then
      gtk_final_libs="$gtk_final_libs $1"
      ifelse([$3],,ifelse([$5],,,[PIKE_FEATURE_OK([$5])]),[$3])dnl
    else
      echo "Disabled use of $1."
      ifelse([$4],,,[$4])dnl
    fi
  else
    AC_MSG_RESULT(no)
    ifelse([$4],,,[$4])dnl
  fi
])

WITH_GTK=0
if test "$PKG_CONFIG" = "no" ; then
  echo "*** pkg-config must be in your path!!!"
else
  gtk_test_libs="gtk+-2.0 libgnome-2.0 libglade-2.0 libgnomeui-2.0 libpanelapplet-2.0"
  gtk_final_libs=""
  AC_CHECK_PKG(gtk+-2.0, gtk_init, [
    PIKE_FEATURE_OK(GTK2)
    WITH_GTK=1

    AC_MSG_CHECKING([for gtk+ version])
    gtkvers=`${ac_tool_prefix}pkg-config --modversion gtk+-2.0 2>/dev/null`
    OIFS="$IFS"
    IFS="."
    set $gtkvers
    IFS="$OIFS"
    gtkmajorvers=$1
    gtkminorvers=$2
    gtkpatchvers=$3
    if test $gtkmajorvers -le 1 ; then
      # The old betas had major 1; eg 1.3.2.
      # We don't support the betas, since they are more compatible with
      # Gtk 1.2 than with Gtk 2.
      WITH_GTK=0
      AC_MSG_RESULT($gtkvers - obsolete)
      PIKE_FEATURE(GTK2, [no (too old)])
    else
      AC_MSG_RESULT($gtkvers)
      if test $gtkminorvers -ge 2 ; then
	pgtk_has_gtk22=gtk22
	AC_DEFINE(HAVE_GTK22)
      fi
      if test $gtkminorvers -ge 4 ; then
	pgtk_has_gtk24=gtk24
	AC_DEFINE(HAVE_GTK24)
      fi
      if test $gtkminorvers -ge 6 ; then
	pgtk_has_gtk26=gtk26
	AC_DEFINE(HAVE_GTK26)
      fi
      if test $gtkminorvers -ge 8 ; then
        pgtk_has_gtk28=gtk28
        AC_DEFINE(HAVE_GTK28)
      fi
    fi
  ],,GTK2)
  if test "x$WITH_GTK" = "x1"; then
    AC_CHECK_PKG(pango, pango_context_new, [
      pgtk_has_pango=pango
      AC_DEFINE(HAVE_PANGO)

      AC_MSG_CHECKING([for pango version])
      pangovers=`${ac_tool_prefix}pkg-config --modversion pango 2>/dev/null`
      OIFS="$IFS"
      IFS="."
      set $pangovers
      IFS="$OIFS"
      pangomajorvers=$1
      pangominorvers=$2
      pangopatchvers=$3
      if test $pangomajorvers -le 0 ; then
	# The old betas had major 0; eg 0.13
	pgtk_has_pango_beta=pango_beta
	AC_DEFINE(HAVE_PANGO_BETA)
      else
        if test $pangominorvers -ge 10 ; then
          pgtk_has_pango110=pango110
          AC_DEFINE(HAVE_PANGO110)
        fi
        if test $pangominorvers -ge 8 ; then
          pgtk_has_pango18=pango18
          AC_DEFINE(HAVE_PANGO18)
        fi
	if test $pangominorvers -ge 6 ; then
	  pgtk_has_pango16=pango16
	  AC_DEFINE(HAVE_PANGO16)
	fi
	if test $pangominorvers -ge 4 ; then
	  pgtk_has_pango14=pango14
	  AC_DEFINE(HAVE_PANGO14)
	fi
	if test $pangominorvers -ge 2 ; then
	  pgtk_has_pango12=pango12
	  AC_DEFINE(HAVE_PANGO12)
	fi
      fi
      AC_MSG_RESULT($pangovers)
    ])
    AC_CHECK_PKG(atk, atk_relation_new, [
      pgtk_has_atk=atk
      AC_DEFINE(HAVE_ATK)

      AC_MSG_CHECKING([for atk version])
      atkvers=`${ac_tool_prefix}pkg-config --modversion atk 2>/dev/null`
      OIFS="$IFS"
      IFS="."
      set $atkvers
      IFS="$OIFS"
      atkmajorvers=$1
      atkminorvers=$2
      atkpatchvers=$3
      if test $atkminorvers -ge 8 ; then
	pgtk_has_atk18=atk18
	AC_DEFINE(HAVE_ATK18)
      fi
      AC_MSG_RESULT($atkvers)
    ])
    AC_CHECK_PKG(libgnome-2.0, gnome_program_init, [
      AC_DEFINE(HAVE_GNOME)
      pgtk_has_gnome=gnome
    ])
    AC_CHECK_PKG(libglade-2.0, glade_init, [
      AC_DEFINE(HAVE_GLADE)
      pgtk_has_libglade=libglade
    ])
    AC_CHECK_PKG(libgnomeui-2.0, gnome_window_icon_init, [
      AC_DEFINE(HAVE_GNOMEUI)
      pgtk_has_gnomeui=gnomeui
    ])
    AC_CHECK_PKG(libpanelapplet-2.0, panel_applet_factory_main)
    AC_CHECK_PKG(libgnomecanvas-2.0, gnome_canvas_new, [
      AC_DEFINE(HAVE_GNOMECANVAS)
      pgtk_has_gnomecanvas=gnomecanvas
    ])
    AC_CHECK_PKG(gtkdatabox, gtk_databox_data_add, [
      AC_DEFINE(HAVE_GTKDATABOX)
      pgtk_has_gtkdatabox=gtkdatabox
    ])
    AC_CHECK_PKG(gtksourceview-1.0, gtk_source_view_new, [
      AC_DEFINE(HAVE_GTKSOURCEVIEW)
      pgtk_has_gtksourceview=gtksourceview

      AC_MSG_CHECKING([for gtksourceview version])
      gtksourceviewvers=`${ac_tool_prefix}pkg-config --modversion gtksourceview-1.0 2>/dev/null`
      OIFS="$IFS"
      IFS="."
      set $gtksourceviewvers
      IFS="$OIFS"
      gtksourceviewversmajorvers=$1
      gtksourceviewversminorvers=$2
      gtksourceviewverspatchvers=$3
      if test $gtksourceviewversminorvers -ge 1 ; then
	pgtk_has_gtksourceview11=gtksourceview11
	AC_DEFINE(HAVE_GTKSOURCEVIEW11)
      fi
      AC_MSG_RESULT($gtksourceviewvers)
    ])

    # Note: ORBit-2.0.pc on Solaris 10/x86 adds -mt to cflags,
    #       which gcc doesn't like...
    #       The manual for cc says that -mt is -D_REENTRANT plus -lthread;
    #       both of which should already be present.
    #   /grubba 2005-10-05
    GTK_CFLAGS="`${ac_tool_prefix}pkg-config --cflags ${gtk_final_libs} | sed -e 's/\(.*\)/ \1 /' | sed -e 's/ -mt / /g'`"
    GTK_LIBS="`${ac_tool_prefix}pkg-config --libs ${gtk_final_libs} | sed -e 's/\(.*\)/ \1 /' | sed -e 's/ -mt / /g'`"

    AC_DEFINE(PGTK_AUTO_UTF8)
  fi
fi

# Test for API differences...
OLD_CFLAGS="$CFLAGS"
OLD_LIBS="$LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"

AC_CHECK_FUNCS(gtk_tree_selection_unselect_range)

AC_MSG_CHECKING([if g_signal_connect_data takes six args])
AC_CACHE_VAL(pgtk_cv_g_signal_connect_has_six_args, [
  AC_TRY_COMPILE([
#include <glib-object.h>
  ],[
    g_signal_connect_data(0,0,0,0,0,0);
  ], [ pgtk_cv_g_signal_connect_has_six_args="yes"
  ], [ pgtk_cv_g_signal_connect_has_six_args="no" ])
])
if test "x$pgtk_cv_g_signal_connect_has_six_args" = "xyes"; then
  AC_MSG_RESULT(yes)
  AC_DEFINE(HAVE_G_SIGNAL_CONNECT_DATA_WITH_SIX_ARGS)
else
  AC_MSG_RESULT(no -- old glib assumed)
fi

LIBS="$OLD_LIBS"
CFLAGS="$OLD_CFLAGS"

AC_SUBST(pgtk_has_libglade)
AC_SUBST(pgtk_has_gtk28)
AC_SUBST(pgtk_has_gtk26)
AC_SUBST(pgtk_has_gtk24)
AC_SUBST(pgtk_has_gtk22)
AC_SUBST(pgtk_has_pango)
AC_SUBST(pgtk_has_pango110)
AC_SUBST(pgtk_has_pango18)
AC_SUBST(pgtk_has_pango16)
AC_SUBST(pgtk_has_pango14)
AC_SUBST(pgtk_has_pango12)
AC_SUBST(pgtk_has_atk)
AC_SUBST(pgtk_has_atk18)
AC_SUBST(pgtk_has_gnomeui)
AC_SUBST(PGTK_CFLAGS)
AC_SUBST(PGTK_LIBS)
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
AC_SUBST(pgtk_has_gnome)
AC_SUBST(pgtk_has_gnomecanvas)
AC_SUBST(pgtk_has_gtkdatabox)
AC_SUBST(pgtk_has_gtksourceview)

AC_SUBST(WITH_GTK)
PGTK_CFLAGS="$GTK_CFLAGS"
PGTK_LIBS="$GTK_LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$MODULE_LDFLAGS $LIBS"
AC_OUTPUT(Makefile options)

gotpike.org | Copyright © 2004 - 2011 | Pike is a trademark of Department of Computer and Information Science, Linköping University