summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorJohan Dahlin <johan@gnome.org>2008-07-26 09:58:11 +0000
committerJohan Dahlin <johan@src.gnome.org>2008-07-26 09:58:11 +0000
commit96e43e4b733429f62d06dfbbaa4dbf75b3a3666c (patch)
tree97318fe9ef58aef61e77a7a02f8817b50a6c3eb4 /configure.ac
parenta60960c8a0da2bf6981f25b1cd2aa5f9cfd7d6db (diff)
downloadpygtk-96e43e4b733429f62d06dfbbaa4dbf75b3a3666c.tar.gz
rename from configure.in
2008-07-15 Johan Dahlin <johan@gnome.org> * configure.ac: rename from configure.in svn path=/trunk/; revision=3011
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac402
1 files changed, 402 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 00000000..7c197c92
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,402 @@
+-*- mode: m4 -*-
+AC_PREREQ(2.52)
+
+dnl the pygtk version number
+m4_define(pygtk_major_version, 2)
+m4_define(pygtk_minor_version, 13)
+m4_define(pygtk_micro_version, 0)
+m4_define(pygtk_version, pygtk_major_version.pygtk_minor_version.pygtk_micro_version)
+
+dnl versions of packages we require ...
+m4_define(glib_required_version, 2.8.0)
+m4_define(pango_required_version, 1.16.0)
+m4_define(atk_required_version, 1.12.0)
+m4_define(gtk_required_version, 2.8.0)
+m4_define(libglade_required_version, 2.5.0)
+m4_define(gtkunixprint_required_version, 2.9.0)
+m4_define(pycairo_required_version, 1.0.2) dnl or 1.1.7
+m4_define(pygobject_required_version, 2.14.0)
+
+AC_INIT(pygtk, pygtk_version,
+ [http://bugzilla.gnome.org/enter_bug.cgi?product=pygtk])
+AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I .")
+
+AC_DEFINE(PYGTK_MAJOR_VERSION, pygtk_major_version, [PyGtk major version])
+AC_SUBST(PYGTK_MAJOR_VERSION, pygtk_major_version)
+AC_DEFINE(PYGTK_MINOR_VERSION, pygtk_minor_version, [PyGtk minor version])
+AC_SUBST(PYGTK_MINOR_VERSION, pygtk_minor_version)
+AC_DEFINE(PYGTK_MICRO_VERSION, pygtk_micro_version, [PyGtk micro version])
+AC_SUBST(PYGTK_MICRO_VERSION, pygtk_micro_version)
+
+AC_CONFIG_SRCDIR([gtk/gtkmodule.c])
+AM_CONFIG_HEADER(config.h)
+
+AM_INIT_AUTOMAKE
+AC_CHECK_FUNCS(bind_textdomain_codeset)
+
+dnl put the ACLOCAL flags in the makefile
+ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
+
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+AC_MSG_CHECKING([for some Win32 platform])
+case "$host" in
+ *-*-mingw*|*-*-cygwin*)
+ platform_win32=yes
+ ;;
+ *)
+ platform_win32=no
+ ;;
+esac
+AC_MSG_RESULT([$platform_win32])
+AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
+
+AC_MSG_CHECKING([for native Win32])
+case "$host" in
+ *-*-mingw*)
+ os_win32=yes
+ ;;
+ *)
+ os_win32=no
+ ;;
+esac
+AC_MSG_RESULT([$os_win32])
+AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
+
+AC_DISABLE_STATIC
+
+dnl XXXX hack to kill off all the libtool tags ...
+dnl it isn't like we are using C++ or Fortran.
+dnl (copied from libglade/configure.in)
+m4_define([_LT_AC_TAGCONFIG],[])
+
+AC_LIBTOOL_WIN32_DLL
+AC_PROG_LIBTOOL
+
+AM_PATH_PYTHON(2.3.5)
+
+AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
+
+AC_MSG_CHECKING([for PySignal_SetWakeupFd in Python.h])
+py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
+PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
+old_CPPFLAGS=$CPPFLAGS
+CPPFLAGS="-Wall -Werror $PYTHON_INCLUDES"
+AC_TRY_COMPILE([#include <Python.h>],
+ [PySignal_SetWakeupFd(0);],
+ setwakeupfd_ok=yes,
+ setwakeupfd_ok=no)
+AC_MSG_RESULT($setwakeupfd_ok)
+if test "x$setwakeupfd_ok" != xno; then
+ AC_DEFINE(HAVE_PYSIGNAL_SETWAKEUPFD, 1,
+ [Define to 1 if PySignal_SetWakeupFd is available])
+fi
+CPPFLAGS=$old_CPPFLAGS
+
+AC_ARG_ENABLE(thread,
+ AC_HELP_STRING([--disable-thread], [Disable pygtk threading support]),,
+ enable_thread=yes)
+
+AM_CHECK_PYMOD(thread,,,enable_thread=no)
+
+dnl Building documentation
+AC_ARG_ENABLE(docs,
+ AC_HELP_STRING([--enable-docs], [Enable documentation building]),enable_docs=$enableval,
+ enable_docs=no)
+if test "${enable_docs}" != no; then
+ dnl Check for xsltproc
+ AC_PATH_PROG([XSLTPROC], [xsltproc])
+ if test -z "$XSLTPROC"; then
+ enable_docs=no
+ fi
+fi
+
+AM_CONDITIONAL(ENABLE_DOCS, test x$enable_docs != xno)
+
+AC_MSG_CHECKING(whether to enable threading in pygtk)
+if test "x$enable_thread" != xno; then
+ extra_mods=gthread
+ THREADING_CFLAGS=
+ AC_MSG_RESULT(yes)
+else
+ extra_mods=
+ THREADING_CFLAGS="-DDISABLE_THREADING"
+ AC_MSG_RESULT(no)
+fi
+AC_SUBST(THREADING_CFLAGS)
+CPPFLAGS="${CPPFLAGS} $THREADING_CFLAGS"
+
+dnl get rid of the -export-dynamic stuff from the configure flags ...
+export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+
+dnl glib
+AM_PATH_GLIB_2_0(glib_required_version,,[AC_MSG_ERROR(gobject is required to build pygtk?)],gobject $extra_mods)
+if test -n "$export_dynamic"; then
+ GLIB_LIBS=`echo $GLIB_LIBS | sed -e "s/$export_dynamic//"`
+fi
+
+PKG_CHECK_MODULES(PYGOBJECT, [pygobject-2.0 >= pygobject_required_version])
+
+PYGOBJECT_INCLUDEDIR=`$PKG_CONFIG --variable=pygtkincludedir pygobject-2.0`
+AC_SUBST(PYGOBJECT_INCLUDEDIR)
+
+PYGOBJECT_DATADIR=`$PKG_CONFIG --variable=datadir pygobject-2.0`
+AC_SUBST(PYGOBJECT_DATADIR)
+
+PYGOBJECT_FIXXREF="$PYTHON `$PKG_CONFIG --variable=fixxref pygobject-2.0`"
+AC_SUBST(PYGOBJECT_FIXXREF)
+
+PYGOBJECT_PYGDOCS="`$PKG_CONFIG --variable=pygdocs pygobject-2.0`"
+AC_SUBST(PYGOBJECT_PYGDOCS)
+
+dnl atk
+PKG_CHECK_MODULES(ATK, atk >= atk_required_version,
+ have_atk=true, have_atk=false)
+AC_SUBST(ATK_CFLAGS)
+AC_SUBST(ATK_LIBS)
+AM_CONDITIONAL(BUILD_ATK, $have_atk)
+if test -n "$export_dynamic"; then
+ ATK_LIBS=`echo $ATK_LIBS | sed -e "s/$export_dynamic//"`
+fi
+
+dnl pango
+PKG_CHECK_MODULES(PANGO, pango >= pango_required_version,
+ have_pango=true, have_pango=false)
+AC_SUBST(PANGO_CFLAGS)
+AC_SUBST(PANGO_LIBS)
+AM_CONDITIONAL(BUILD_PANGO, $have_pango)
+if test -n "$export_dynamic"; then
+ PANGO_LIBS=`echo $PANGO_LIBS | sed -e "s/$export_dynamic//"`
+fi
+
+dnl codegen from PyGObject
+AC_SUBST([CODEGENDIR])
+
+AC_MSG_CHECKING([for codegen])
+CODEGENDIR=`$PKG_CONFIG --variable codegendir pygobject-2.0`
+
+if test -z $CODEGENDIR; then
+ AC_MSG_ERROR([unable to find PyGObject codegen])
+else
+ AC_MSG_RESULT($CODEGENDIR)
+fi
+
+dnl pycairo
+PYGTK_CODEGEN_DEFINES=""
+AC_SUBST([PYGTK_CODEGEN_DEFINES])
+
+gtk_version=""
+PKG_CHECK_MODULES(PYCAIRO, [pycairo >= pycairo_required_version],
+ have_pycairo=true, have_pycairo=false)
+AC_SUBST(PYCAIRO_CFLAGS)
+AC_SUBST(PYCAIRO_LIBS)
+if test "x$have_pycairo" = "xtrue"; then
+ PYGTK_CODEGEN_DEFINES="-DHAVE_PYCAIRO $PYGTK_CODEGEN_DEFINES";
+ AC_DEFINE([HAVE_PYCAIRO], [1], [Define to 1 if pycairo is available])
+
+ AC_DEFINE_UNQUOTED(PYCAIRO_MAJOR_VERSION, [`pkg-config --modversion pycairo | cut -d '.' -f 1`], dnl
+ [pycairo major version])
+ AC_DEFINE_UNQUOTED(PYCAIRO_MINOR_VERSION, [`pkg-config --modversion pycairo | cut -d '.' -f 2`], dnl
+ [pycairo minor version])
+ AC_DEFINE_UNQUOTED(PYCAIRO_MICRO_VERSION, [`pkg-config --modversion pycairo | cut -d '.' -f 3`], dnl
+ [pycairo micro version])
+
+ dnl pangocairo
+ PKG_CHECK_MODULES(PANGOCAIRO,
+ [pangocairo >= pango_required_version,
+ pycairo >= pycairo_required_version],
+ have_pangocairo=true, have_pangocairo=false)
+ if test ! $have_pangocairo
+ then
+ AC_MSG_RESULT(no)
+ fi
+ AC_SUBST(PANGOCAIRO_CFLAGS)
+ AC_SUBST(PANGOCAIRO_LIBS)
+ AM_CONDITIONAL(BUILD_PANGOCAIRO, $have_pangocairo)
+
+ if test -n "$export_dynamic"; then
+ PANGOCAIRO_LIBS=`echo $PANGOCAIRO_LIBS | sed -e "s/$export_dynamic//"`
+ fi
+
+ dnl gtk+
+ PKG_CHECK_MODULES(GTK, gtk+-2.0 >= gtk_required_version,
+ HAVE_GTK="yes", HAVE_GTK="no")
+ if test "x$HAVE_GTK" = "xyes"; then
+ have_gtk=true
+ else
+ have_gtk=false
+ AC_MSG_RESULT(no)
+ fi
+ AM_CONDITIONAL(BUILD_GTK, $have_gtk)
+ AC_SUBST(GTK_CFLAGS)
+ AC_SUBST(GTK_LIBS)
+ if test -n "$export_dynamic"; then
+ GTK_LIBS=`echo $GTK_LIBS | sed -e "s/$export_dynamic//"`
+ fi
+
+ PKG_CHECK_MODULES(GTK210, gtk+-2.0 >= 2.10.0,
+ HAVE_GTK_210="yes", HAVE_GTK_210="no")
+ if test "x$HAVE_GTK_210" = "xyes"; then
+ gtk_version="2.10"
+ have_gtk_210=true
+ else
+ AC_MSG_RESULT(no)
+ gtk_version="2.8"
+ have_gtk_210=false
+ fi
+
+ AM_CONDITIONAL(HAVE_GTK_2_10, $have_gtk_210)
+ AC_SUBST(HAVE_GTK_2_10)
+ AC_DEFINE([HAVE_GTK_2_10], [$have_gtk_210], [If Gtk 2.10 was found])
+
+ dnl check for gtk 2.12
+ PKG_CHECK_MODULES(GTK212, gtk+-2.0 >= 2.11.6,
+ HAVE_GTK_212="yes", HAVE_GTK_212="no")
+
+ if test "x$HAVE_GTK_212" = "xyes"; then
+ gtk_version="2.12"
+ have_gtk_212=true
+ PYGTK_CODEGEN_DEFINES="$PYGTK_CODEGEN_DEFINES -DHAVE_GTK_2_12"
+ else
+ AC_MSG_RESULT(no)
+ have_gtk_212=false
+ fi
+
+ AM_CONDITIONAL(HAVE_GTK_2_12, $have_gtk_212)
+ AC_SUBST(HAVE_GTK_2_12)
+ AC_DEFINE([HAVE_GTK_2_12], [$have_gtk_212], [If Gtk 2.12 was found])
+
+ dnl check for gtk 2.14
+ PKG_CHECK_MODULES(GTK214, gtk+-2.0 >= 2.13.4,
+ HAVE_GTK_214="yes", HAVE_GTK_214="no")
+
+ if test "x$HAVE_GTK_214" = "xyes"; then
+ gtk_version="2.14"
+ have_gtk_214=true
+ PYGTK_CODEGEN_DEFINES="$PYGTK_CODEGEN_DEFINES -DHAVE_GTK_2_14"
+ else
+ AC_MSG_RESULT(no)
+ have_gtk_214=false
+ fi
+
+ AM_CONDITIONAL(HAVE_GTK_2_14, $have_gtk_214)
+ AC_SUBST(HAVE_GTK_2_14)
+ AC_DEFINE([HAVE_GTK_2_14], [$have_gtk_214], [If Gtk 2.14 was found])
+
+ dnl libglade
+ PKG_CHECK_MODULES(LIBGLADE, [libglade-2.0 >= libglade_required_version],
+ have_libglade=true, have_libglade=false)
+ AC_SUBST(LIBGLADE_CFLAGS)
+ AC_SUBST(LIBGLADE_LIBS)
+ AM_CONDITIONAL(BUILD_LIBGLADE, $have_libglade)
+ if test -n "$export_dynamic"; then
+ LIBGLADE_LIBS=`echo $LIBGLADE_LIBS | sed -e "s/$export_dynamic//"`
+ fi
+
+ dnl gtkunixprint
+ PKG_CHECK_MODULES(GTKUNIXPRINT, [gtk+-unix-print-2.0 >= gtkunixprint_required_version],
+ have_gtkunixprint=true, have_gtkunixprint=false)
+ AC_SUBST(GTKUNIXPRINT_CFLAGS)
+ AC_SUBST(GTKUNIXPRINT_LIBS)
+ AM_CONDITIONAL(BUILD_GTKUNIXPRINT, $have_gtkunixprint)
+ if test -n "$export_dynamic"; then
+ GTKUNIXPRINT_LIBS=`echo $GTKUNIXPRINT_LIBS | sed -e "s/$export_dynamic//"`
+ fi
+
+else
+ AC_MSG_RESULT(no)
+ AC_MSG_RESULT(not checking for gtk due to missing pycairo)
+ AM_CONDITIONAL(BUILD_PANGOCAIRO, false)
+ AM_CONDITIONAL(BUILD_GTK, false)
+ AM_CONDITIONAL(HAVE_GTK_2_10, false)
+ AM_CONDITIONAL(HAVE_GTK_2_12, false)
+ AM_CONDITIONAL(HAVE_GTK_2_14, false)
+ AM_CONDITIONAL(BUILD_LIBGLADE, false)
+ AM_CONDITIONAL(BUILD_GTKUNIXPRINT, false)
+ have_pangocairo=false
+ have_gtk=false
+ have_libglade=false
+ have_gtkunixprint=false
+fi
+
+dnl Check for GDK target
+AC_MSG_CHECKING([for GDK target])
+gdk_target=`$PKG_CONFIG --variable target gdk-2.0`
+if test -z $gdk_target; then
+ AC_MSG_RESULT((unknown))
+ AC_MSG_WARN([unable to determine the GDK target system; some functions may not be available])
+else
+ AC_MSG_RESULT($gdk_target)
+fi
+
+case $gdk_target in
+ x11) PYGTK_CODEGEN_DEFINES="$PYGTK_CODEGEN_DEFINES -DGDK_TARGET_X11"
+ ;;
+esac
+
+
+dnl checks to see if Numeric Python is installed.
+AC_ARG_ENABLE(numpy,
+ AC_HELP_STRING([--disable-numpy], [Disable numeric python features]),,
+ enable_numpy=yes)
+
+if test "x$enable_numpy" != xno; then
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
+ AC_CHECK_HEADER([Numeric/arrayobject.h],
+ [AC_DEFINE(HAVE_NUMPY,,[whether to include numeric python support])],,
+ [#include <Python.h>])
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+
+dnl add required cflags ...
+if test "x$GCC" = "xyes"; then
+ JH_ADD_CFLAG([-Wall])
+ JH_ADD_CFLAG([-fno-strict-aliasing])
+
+ case $host_os in
+ solaris*)
+ ;;
+ *)
+ JH_ADD_CFLAG([-std=c9x])
+ ;;
+ esac
+fi
+
+
+AC_CONFIG_FILES(
+ Makefile
+ pygtk-2.0.pc
+ gtk/Makefile
+ docs/Makefile
+ docs/reference/entities.docbook
+ examples/Makefile
+ tests/Makefile
+ pygtk.spec
+ PKG-INFO)
+AC_OUTPUT
+
+echo
+echo "The following modules will be built:"
+echo
+$have_atk && echo atk
+$have_pango && echo pango
+$have_pangocairo && echo pangocairo
+$have_gtk && echo gtk with $gtk_version API
+$have_libglade && echo gtk.glade
+$have_gtkunixprint && echo gtk.unixprint
+echo
+
+if test ! $have_atk || ! $have_pango || \
+ ! $have_gtk || ! $have_libglade || \
+ ! $have_pangocairo || ! $have_gtkunixprint; then
+ echo "The following modules will NOT be built:"
+ echo
+ $have_atk || echo atk
+ $have_pango || echo pango
+ $have_pangocairo || echo pangocairo
+ $have_gtk || echo gtk
+ $have_libglade || echo gtk.glade
+ $have_gtkunixprint || echo gtk.unixprint
+fi