AC_INIT([libmateweather], [2011.12.01], [https://github.com/perberos/mate-desktop-environment]) AC_PREREQ(2.59) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-bzip2]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AC_CONFIG_MACRO_DIR([m4]) # Before making a release, the LT_VERSION string should be modified. # The string is of the form C:R:A. # - If interfaces have been changed or added, but binary compatibility has # been preserved, change to C+1:0:A+1 # - If binary compatibility has been broken (eg removed or changed interfaces) # change to C+1:0:0 # - If the interface is the same as the previous version, change to C:R+1:A LT_VERSION=7:9:6 AC_SUBST(LT_VERSION) AC_CANONICAL_HOST AC_MSG_CHECKING([for Win32]) case "$host" in *-*-mingw*) mateweather_native_win32="yes" ;; *) mateweather_native_win32="no" ;; esac AC_MSG_RESULT([$mateweather_native_win32]) AM_CONDITIONAL(OS_WIN32, [test "$mateweather_native_win32" = "yes"]) GTK_REQUIRED=2.11.0 GLIB_REQUIRED=2.13.0 LIBSOUP_REQUIRED=2.4.0 LIBSOUP_MATE_REQUIRED=2.25.1 MATECONF_REQUIRED=2.8.0 LIBXML_REQUIRED=2.6.0 AM_MAINTAINER_MODE MATE_MAINTAINER_MODE_DEFINES IT_PROG_INTLTOOL([0.40.3]) PKG_PROG_PKG_CONFIG([0.19]) AC_PROG_CC AM_PROG_CC_C_O AC_ISC_POSIX AC_STDC_HEADERS AM_PROG_LIBTOOL AC_PATH_PROG(MATECONFTOOL, mateconftool-2) AC_ARG_ENABLE(all-translations-in-one-xml, [AC_HELP_STRING([--enable-all-translations-in-one-xml], [Put all translations in a big Locations.xml file (slow to parse)])], [enable_big_xml=yes], [enable_big_xml=no]) AM_CONDITIONAL(USE_ONE_BIG_XML, test "x$enable_big_xml" = "xyes") AC_ARG_ENABLE(locations-compression, [AC_HELP_STRING([--enable-locations-compression], [Compress Locations.xml files])], [enable_locations_compression=yes], [enable_locations_compression=no]) if test "x$enable_locations_compression" = "xyes"; then COMPRESS_EXT=.gz else COMPRESS_EXT= fi AC_SUBST(COMPRESS_EXT) MATE_COMPILE_WARNINGS dnl *************************************************************************** dnl *** --enable-more-warnings turns on more compiler warnings *** dnl *************************************************************************** AC_ARG_ENABLE(more-warnings, [ --enable-more-warnings Maximum compiler warnings], set_more_warnings="$enableval",[ set_more_warnings=no ]) AC_MSG_CHECKING(for more warnings, including -Werror) if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then AC_MSG_RESULT(yes) CFLAGS="\ -Wall \ -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \ -Wnested-externs -Wpointer-arith \ -Wcast-align -Wsign-compare \ -std=gnu89 \ $CFLAGS" for option in -Wno-strict-aliasing -Wno-sign-compare; do SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $option" AC_MSG_CHECKING([whether gcc understands $option]) AC_TRY_COMPILE([], [], has_option=yes, has_option=no,) if test $has_option = no; then CFLAGS="$SAVE_CFLAGS" fi AC_MSG_RESULT($has_option) unset has_option unset SAVE_CFLAGS done unset option else AC_MSG_RESULT(no) fi if test "x$enable_maintainer_mode" = "xyes"; then CFLAGS="$CFLAGS $DISABLE_DEPRECATED" fi dnl -- Check for GTK+ 2.0 (required) ------------------------------------------ PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED) GTK_CFLAGS="$GTK_CFLAGS -DGTK_DISABLE_SINGLE_INCLUDES" AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) dnl -- Check for libxml (required) ------------------------------------------ PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_REQUIRED) AC_SUBST(LIBXML_CFLAGS) AC_SUBST(LIBXML_LIBS) dnl -- check for libsoup (required) ----------------------------------------- PKG_CHECK_MODULES(LIBSOUP_MATE, [libsoup-mate-2.4 >= $LIBSOUP_MATE_REQUIRED], [LIBSOUP_CFLAGS="$LIBSOUP_MATE_CFLAGS" LIBSOUP_LIBS="$LIBSOUP_MATE_LIBS" AC_DEFINE(HAVE_LIBSOUP_MATE, 1, [Have libsoup-mate])], [PKG_CHECK_MODULES(LIBSOUP, [libsoup-2.4 >= $LIBSOUP_REQUIRED])]) AC_SUBST(LIBSOUP_CFLAGS) AC_SUBST(LIBSOUP_LIBS) dnl -- check for mateconf (required) ----------------------------------------- PKG_CHECK_MODULES(MATECONF, [mateconf-2.0 >= $MATECONF_REQUIRED]) AC_SUBST(MATECONF_CFLAGS) AC_SUBST(MATECONF_LIBS) AM_MATECONF_SOURCE_2 dnl -- check for glib; redundant at this point, but sets $GLIB_MKENUMS AM_PATH_GLIB_2_0($GLIB_REQUIRED) CFLAGS="$CFLAGS -DG_DISABLE_SINGLE_INCLUDES" dnl gettext GETTEXT_PACKAGE=libmateweather AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext Package]) AM_GLIB_GNU_GETTEXT dnl *************************************************************************** dnl *** REGEX *** dnl *************************************************************************** AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec, [REGEX_LIBS=-lregex], [AC_MSG_ERROR([No regex library found])])]) AC_SUBST(REGEX_LIBS) dnl *************************************************************************** dnl *** Check for presence of tm.tm_gmtoff on the system *** dnl *************************************************************************** AC_CHECK_MEMBER([struct tm.tm_gmtoff],[struct_tm_tm_gmtoff=true],[struct_tm_tm_gmtoff=false],[#include ]) case $struct_tm_tm_gmtoff in true) AC_DEFINE_UNQUOTED(HAVE_TM_TM_GMOFF, 1, Have the tm.tm_gmtoff member.) ;; *) AC_CHECK_DECL(timezone,AC_DEFINE(HAVE_TIMEZONE,1,Have timezone),, [ #include ]) ;; esac dnl *************************************************************************** dnl *** _NL_MEASUREMENT_MEASUREMENT is an enum and not a define *** dnl *************************************************************************** AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT]) AC_TRY_LINK([#include ], [ char c; c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT)); ], gtk_ok=yes, gtk_ok=no) AC_MSG_RESULT($gtk_ok) if test "$gtk_ok" = "yes"; then AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1], [Define if _NL_MEASUREMENT_MEASUREMENT is available]) fi dnl *************************************************************************** dnl *** Find tzdata *** dnl *************************************************************************** AC_ARG_WITH(zoneinfo-dir, [ --with-zoneinfo-dir tzdata zoneinfo directory], ZONEINFO_DIR="$withval") if test -z "$ZONEINFO_DIR"; then if test -d /usr/share/zoneinfo; then ZONEINFO_DIR="/usr/share/zoneinfo" elif test -d /usr/share/lib/zoneinfo/tab; then ZONEINFO_DIR="/usr/share/lib/zoneinfo/tab" else AC_MSG_ERROR(Can't find zoneinfo directory. Use --with-zoneinfo-dir) fi fi AC_DEFINE_UNQUOTED(ZONEINFO_DIR, "$ZONEINFO_DIR", [zoneinfo directory]) dnl *************************************************************************** dnl *** Python bindings dnl *************************************************************************** AC_ARG_ENABLE(python, [AC_HELP_STRING([--enable-python], [Build libmateweather python bindings])], [enable_python=yes], [enable_python=no]) if test "$enable_python" = "yes"; then AM_PATH_PYTHON() AM_CHECK_PYTHON_HEADERS(,enable_python=no) PKG_CHECK_MODULES(PYGOBJECT, pygobject-2.0) pygtk_defsdir=`$PKG_CONFIG --variable=defsdir pygtk-2.0` PYGTK_DEFS="$pygtk_defsdir/gtk.defs" AC_SUBST(PYGTK_DEFS) fi AM_CONDITIONAL(BUILD_PYTHON, test "x$enable_python" = "xyes") dnl *************************************************************************** dnl *** Honour aclocal flags *** dnl *************************************************************************** ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}" AC_SUBST(ACLOCAL_AMFLAGS) AC_SUBST(VERSION) AC_SUBST(PACKAGE) AC_SUBST(DATADIR) AC_SUBST(LIBDIR) AC_SUBST(PYTHONDIR) AC_SUBST(GLADEDIR) ################################################## # Checks for gtk-doc and docbook-tools ################################################## GTK_DOC_CHECK([1.9]) dnl *************************************************************************** dnl *** Output Makefiles et al *** dnl *************************************************************************** AC_OUTPUT([ Makefile doc/Makefile po/Makefile.in po-locations/Makefile libmateweather/Makefile libmateweather/mateweather.pc libmateweather/mateweather-uninstalled.pc data/Makefile python/Makefile icons/Makefile ]) if test "x$enable_big_xml" = "xyes"; then LOCATIONS_XML_TRANSLATIONS="one big file" else LOCATIONS_XML_TRANSLATIONS="one file per translation" fi dnl *************************************************************************** dnl *** Display Summary *** dnl *************************************************************************** echo " libmateweather-$VERSION configure summary: Prefix: ${prefix} Source code location: ${srcdir} Compiler: ${CC} Python bindings: ${enable_python} Locations.xml translations: ${LOCATIONS_XML_TRANSLATIONS} Locations.xml compression: ${enable_locations_compression} " >&2