summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorJinkun Jang <jinkun.jang@samsung.com>2013-03-13 02:21:24 +0900
committerJinkun Jang <jinkun.jang@samsung.com>2013-03-13 02:21:24 +0900
commitc6b9e84f2f7f8c85939a8e5ff5d8a5aa067cecf3 (patch)
tree1436172370a45714687122f914354ad167a2f528 /configure.ac
parentf7d643cbb2184346b6f8d26091eb7eb38c6bbfe1 (diff)
downloadpygobject2-c6b9e84f2f7f8c85939a8e5ff5d8a5aa067cecf3.tar.gz
pygobject2-c6b9e84f2f7f8c85939a8e5ff5d8a5aa067cecf3.tar.bz2
pygobject2-c6b9e84f2f7f8c85939a8e5ff5d8a5aa067cecf3.zip
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac244
1 files changed, 244 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..4146420
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,244 @@
+-*- mode: m4 -*-
+AC_PREREQ(2.52)
+
+dnl the pygobject version number
+m4_define(pygobject_major_version, 2)
+m4_define(pygobject_minor_version, 21)
+m4_define(pygobject_micro_version, 3)
+m4_define(pygobject_version, pygobject_major_version.pygobject_minor_version.pygobject_micro_version)
+
+dnl versions of packages we require ...
+m4_define(glib_required_version, 2.22.4)
+m4_define(gio_required_version, 2.22.4)
+m4_define(giounix_required_version, 2.22.4)
+
+AC_INIT(pygobject, pygobject_version,
+ [http://bugzilla.gnome.org/enter_bug.cgi?product=pygobject])
+AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I .")
+AC_CONFIG_MACRO_DIR([m4])
+
+AC_DEFINE(PYGOBJECT_MAJOR_VERSION, pygobject_major_version, [pygobject major version])
+AC_SUBST(PYGOBJECT_MAJOR_VERSION, pygobject_major_version)
+AC_DEFINE(PYGOBJECT_MINOR_VERSION, pygobject_minor_version, [pygobject minor version])
+AC_SUBST(PYGOBJECT_MINOR_VERSION, pygobject_minor_version)
+AC_DEFINE(PYGOBJECT_MICRO_VERSION, pygobject_micro_version, [pygobject micro version])
+AC_SUBST(PYGOBJECT_MICRO_VERSION, pygobject_micro_version)
+
+AC_CONFIG_SRCDIR([gobject/gobjectmodule.c])
+AM_CONFIG_HEADER(config.h)
+
+AM_INIT_AUTOMAKE
+
+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
+dnl when using libtool 2.x create libtool early, because it's used in configure
+m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
+AM_PROG_CC_C_O
+
+JD_PATH_PYTHON(2.3.5)
+
+JD_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; sys.stdout.write(sys.prefix)"`
+if test -x "$PYTHON-config"; then
+PYTHON_INCLUDES=`$PYTHON-config --includes 2>/dev/null`
+else
+PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
+fi
+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
+
+PLATFORM=`$PYTHON -c "import sys; from distutils import util; sys.stdout.write(util.get_platform())"`
+AC_SUBST(PLATFORM)
+
+AC_ARG_ENABLE(thread,
+ AC_HELP_STRING([--disable-thread], [Disable pygobject threading support]),,
+ enable_thread=yes)
+
+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
+ dnl Check for xsltproc
+ dnl
+ AC_PATH_PROG([XSLTPROC], [xsltproc])
+ if test -z "$XSLTPROC"; then
+ enable_docs=no
+ fi
+
+ dnl check for DocBook DTD and stylesheets in the local catalog.
+ dnl JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
+ dnl [DocBook XML DTD V4.1.2],,enable_docs=no)
+ dnl JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
+ dnl [DocBook XSL Stylesheets],,enable_docs=no)
+fi
+
+AM_CONDITIONAL(ENABLE_DOCS, test x$enable_docs != xno)
+
+AM_CHECK_PYMOD(thread,,,enable_thread=no)
+
+AC_MSG_CHECKING(whether to enable threading in pygobject)
+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(maybe you want the pygobject-2-4 branch?)],gobject $extra_mods)
+if test -n "$export_dynamic"; then
+ GLIB_LIBS=`echo $GLIB_LIBS | sed -e "s/$export_dynamic//"`
+fi
+PYTHON_BASENAME=`basename $PYTHON`
+AC_SUBST([PYTHON_BASENAME])
+
+pygobject_CODEGEN_DEFINES=""
+AC_SUBST([pygobject_CODEGEN_DEFINES])
+
+AS_AC_EXPAND(DATADIR, $datadir)
+
+dnl libffi
+AC_MSG_CHECKING(for ffi)
+AC_ARG_WITH(ffi,
+ AC_HELP_STRING([--without-ffi], [Disable libffi support]),
+ with_libffi=$withval,
+ with_libffi=auto)
+if test x"$with_libffi" = xno ; then
+ have_libffi=false
+else
+ PKG_CHECK_MODULES(FFI, libffi >= 3.0, have_libffi=yes, have_libffi=no)
+fi
+if test x"$with_libffi" = xyes && test x"$have_libffi" = xno ; then
+ AC_MSG_ERROR([ffi requested, but not found])
+fi
+if test x"$have_libffi" = xyes; then
+ AC_DEFINE(HAVE_FFI_H,1,[Have libffi include files])
+ LIBFFI_PC=libffi
+fi
+AC_MSG_RESULT([$have_libffi])
+AM_CONDITIONAL(HAVE_LIBFFI, test "$have_libffi" = "yes")
+AC_SUBST(FFI_CFLAGS)
+AC_SUBST(FFI_LIBS)
+AC_SUBST(LIBFFI_PC)
+
+dnl gio
+PKG_CHECK_MODULES(GIO, gio-2.0 >= gio_required_version,
+ have_gio=true, have_gio=false)
+AC_SUBST(GIO_CFLAGS)
+AC_SUBST(GIO_LIBS)
+AM_CONDITIONAL(BUILD_GIO, $have_gio)
+if test -n "$export_dynamic"; then
+ GIO_LIBS=`echo $GIO_LIBS | sed -e "s/$export_dynamic//"`
+fi
+
+dnl giounix
+PKG_CHECK_MODULES(GIOUNIX, gio-unix-2.0 >= giounix_required_version,
+ have_giounix=true, have_giounix=false)
+AC_SUBST(GIOUNIX_CFLAGS)
+AC_SUBST(GIOUNIX_LIBS)
+AM_CONDITIONAL(BUILD_GIOUNIX, $have_giounix)
+if test -n "$export_dynamic"; then
+ GIOUNIX_LIBS=`echo $GIOUNIX_LIBS | sed -e "s/$export_dynamic//"`
+fi
+
+AC_ARG_ENABLE(pygi,
+ AC_HELP_STRING([--enable-pygi], [Use PyGI to create wrappers for introspection-enabled types]),
+ enable_pygi=$enableval,
+ enable_pygi=no)
+if test "$enable_pygi" != no; then
+ AC_DEFINE(ENABLE_PYGI,1,Use PyGI to create wrappers for introspection-enabled types)
+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
+ pygobject-2.0.pc
+ pygobject-2.0-uninstalled.pc
+ codegen/Makefile
+ codegen/pygobject-codegen-2.0
+ docs/Makefile
+ docs/reference/entities.docbook
+ docs/xsl/fixxref.py
+ glib/Makefile
+ gobject/Makefile
+ gio/Makefile
+ examples/Makefile
+ tests/Makefile
+ PKG-INFO)
+AC_OUTPUT
+
+echo
+echo "libffi support: $have_libffi"
+echo