dnl $Id$ dnl dnl Copyright (c) 2004-2006 dnl The Thunar development team. All rights reserved. dnl dnl Written for Thunar by Benedikt Meurer . dnl dnl *************************** dnl *** Version information *** dnl *************************** m4_define([thunar_verinfo], [3:0:1]) m4_define([thunar_version_api], [1]) m4_define([thunar_version_major], [0]) m4_define([thunar_version_minor], [3]) m4_define([thunar_version_micro], [0]) m4_define([thunar_version_build], [r@REVISION@]) m4_define([thunar_version_tag], [beta1]) m4_define([thunar_version], [thunar_version_major().thunar_version_minor().thunar_version_micro()ifelse(thunar_version_tag(), [svn], [thunar_version_tag()-thunar_version_build()], [thunar_version_tag()])]) dnl ******************************************* dnl *** Debugging support for SVN snapshots *** dnl ******************************************* m4_define([thunar_debug_default], [ifelse(thunar_version_tag(), [svn], [yes], [minimum])]) dnl *************************** dnl *** Initialize autoconf *** dnl *************************** AC_COPYRIGHT([Copyright (c) 2004-2006 The Thunar development team. All rights reserved. Written for Thunar by Benedikt Meurer .]) AC_INIT([Thunar], [thunar_version()], [http://bugzilla.xfce.org/], [Thunar]) AC_PREREQ([2.50]) AC_CANONICAL_TARGET() AC_REVISION([$Id$]) dnl *************************** dnl *** Initialize automake *** dnl *************************** AM_INIT_AUTOMAKE([AC_PACKAGE_TARNAME()], [AC_PACKAGE_VERSION()]) AM_CONFIG_HEADER([config.h]) AM_MAINTAINER_MODE() dnl ******************************* dnl *** Check for UNIX variants *** dnl ******************************* AC_AIX() AC_ISC_POSIX() AC_MINIX() dnl ******************************** dnl *** Check for basic programs *** dnl ******************************** AC_PROG_CC() AC_PROG_LD() AC_PROG_INSTALL() AC_PROG_INTLTOOL() AC_CHECK_PROGS([PERL], [perl5 perl]) dnl ************************** dnl *** Initialize libtool *** dnl ************************** AC_DISABLE_STATIC() AC_PROG_LIBTOOL() dnl ************************************** dnl *** Substitute version information *** dnl ************************************** THUNAR_VERINFO=thunar_verinfo() THUNAR_VERSION_API=thunar_version_api() THUNAR_VERSION_MAJOR=thunar_version_major() THUNAR_VERSION_MINOR=thunar_version_minor() THUNAR_VERSION_MICRO=thunar_version_micro() AC_SUBST([THUNAR_VERINFO]) AC_SUBST([THUNAR_VERSION_API]) AC_SUBST([THUNAR_VERSION_MAJOR]) AC_SUBST([THUNAR_VERSION_MINOR]) AC_SUBST([THUNAR_VERSION_MICRO]) dnl *********************************************** dnl *** Determine the u32 type required for tdb *** dnl *********************************************** AC_CHECK_SIZEOF([int]) AC_CHECK_SIZEOF([long]) AC_CHECK_SIZEOF([short]) AC_MSG_CHECKING([for 32bit unsigned integer]) case 4 in $ac_cv_sizeof_int) TDB_U32_TYPE="unsigned int" ;; $ac_cv_sizeof_long) TDB_U32_TYPE="unsigned long" ;; $ac_cv_sizeof_short) TDB_U32_TYPE="unsigned short" ;; esac AC_SUBST([TDB_U32_TYPE]) AC_MSG_RESULT([$TDB_U32_TYPE]) dnl *********************************************** dnl *** Work-around system-specific limitations *** dnl *********************************************** AC_SYS_LARGEFILE() dnl ********************************** dnl *** Check for standard headers *** dnl ********************************** AC_CHECK_HEADERS([ctype.h dirent.h errno.h fcntl.h fnmatch.h fstab.h grp.h \ limits.h locale.h math.h memory.h mntent.h pwd.h regex.h sched.h \ setjmp.h stdarg.h stdlib.h string.h sys/xattr.h sys/extattr.h \ sys/cdio.h sys/mman.h sys/mount.h sys/param.h sys/stat.h \ sys/statfs.h sys/statvfs.h sys/time.h sys/uio.h \ sys/vfs.h sys/wait.h time.h wchar.h wctype.h]) dnl ************************************ dnl *** Check for standard functions *** dnl ************************************ AC_FUNC_MMAP() AC_CHECK_FUNCS([attropen extattr_get_fd fgetxattr lchmod localeconv \ localtime_r mbrtowc pread pwrite readdir_r sched_yield \ setgroupent setpassent statfs statvfs strcoll]) dnl *************************************** dnl *** Check for working posix_madvise *** dnl *************************************** m4_define([posix_madvise_test], [ posix_madvise (0, 0, POSIX_MADV_NORMAL); posix_madvise (0, 0, POSIX_MADV_SEQUENTIAL); posix_madvise (0, 0, POSIX_MADV_RANDOM); posix_madvise (0, 0, POSIX_MADV_WILLNEED); posix_madvise (0, 0, POSIX_MADV_DONTNEED); ]) AC_MSG_CHECKING([for working posix_madvise]) AC_TRY_LINK([#include ], posix_madvise_test(), [ AC_DEFINE([HAVE_POSIX_MADVISE], [1], [Define if posix_madvise is working]) AC_MSG_RESULT([yes]) ], [ dnl As usual, Linux/glibc doesn't work properly out-of-the-box ac_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -D__USE_XOPEN2K" AC_TRY_LINK([#include ], posix_madvise_test(), [ AC_DEFINE([HAVE_POSIX_MADVISE], [1], [Define if posix_madvise is working]) AC_MSG_RESULT([yes]) ], [ CPPFLAGS="$ac_save_CPPFLAGS" AC_MSG_RESULT([no]) ]) ]) dnl ****************************** dnl *** Check for i18n support *** dnl ****************************** XDT_I18N([@LINGUAS@]) dnl *********************************** dnl *** Check for required packages *** dnl *********************************** XDT_CHECK_PACKAGE([EXO], [exo-0.3], [0.3.1.6]) XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.6.4]) XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.6.4]) XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.6.0]) XDT_CHECK_PACKAGE([LIBPNG], [libpng12], [1.2.0]) XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.2.2]) dnl ********************************** dnl *** Optional support for D-BUS *** dnl ********************************** XDT_CHECK_OPTIONAL_PACKAGE([DBUS], [dbus-glib-1], [0.34], [dbus], [D-BUS support]) dnl ******************************************************* dnl *** Optional support for gconf (GNOME thumbnailers) *** dnl ******************************************************* XDT_CHECK_OPTIONAL_PACKAGE([GCONF], [gconf-2.0], [2.4.0], [gnome-thumbnailers], [GNOME thumbnailer support]) dnl ************************************************* dnl *** Optional support for startup notification *** dnl ************************************************* XDT_CHECK_OPTIONAL_PACKAGE([LIBSTARTUP_NOTIFICATION], [libstartup-notification-1.0], [0.4], [startup-notification], [startup notification library]) dnl ************************* dnl *** Check for libjpeg *** dnl ************************* LIBJPEG_LIBS="" LIBJPEG_CFLAGS="" AC_CHECK_LIB([jpeg], [jpeg_start_decompress], [ AC_CHECK_HEADER([jpeglib.h], [ LIBJPEG_LIBS="-ljpeg -lm" AC_DEFINE([HAVE_LIBJPEG], [1], [Define to 1 if libjpeg is found]) AC_DEFINE([HAVE_JPEGLIB_H], [1], [Define to 1 if jpeglib.h is found]) ]) ], [-lm]) AC_SUBST([LIBJPEG_CFLAGS]) AC_SUBST([LIBJPEG_LIBS]) dnl ************************* dnl *** Check for gtk-doc *** dnl ************************* GTK_DOC_CHECK([1.0]) dnl ************************** dnl *** Check for xsltproc *** dnl ************************** AC_ARG_ENABLE([xsltproc], [AC_HELP_STRING([--enable-xsltproc], [Use xsltproc to build documentation @<:@default=no@:>@])],, [enable_xsltproc=no]) if test x"$enable_xsltproc" = x"yes"; then AC_PATH_PROG([XSLTPROC], [xsltproc], [no]) if test x"$XSLTPROC" = x"no"; then enable_xsltproc=no fi fi AM_CONDITIONAL([ENABLE_XSLTPROC], [test x"$enable_xsltproc" = x"yes"]) dnl ************************ dnl *** Check for xml2po *** dnl ************************ AC_ARG_ENABLE([xml2po], [AC_HELP_STRING([--enable-xml2po], [Use xml2po to translate documentation @<:@default=no@:>@])],, [enable_xml2po=no]) if test x"$enable_xml2po" = x"yes"; then AC_PATH_PROG([XML2PO], [xml2po], [no]) if test x"$XML2PO" = x"no"; then enable_xml2po=no fi fi AM_CONDITIONAL([ENABLE_XML2PO], [test x"$enable_xml2po" = x"yes"]) dnl **************************************************** dnl *** Check for file system monitor implementation *** dnl **************************************************** BM_THUNAR_VFS_MONITOR_IMPL() dnl *********************************************** dnl *** Check for volume manager implementation *** dnl *********************************************** BM_THUNAR_VFS_VOLUME_IMPL() dnl *********************************** dnl *** Check for debugging support *** dnl *********************************** AC_ARG_ENABLE([debug], AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes/full@:>@], [Turn on debugging @<:@default=thunar_debug_default@:>@]), [], [enable_debug=thunar_debug_default]) AC_MSG_CHECKING([whether to enable debugging support]) if test x"$enable_debug" = x"full" -o x"$enable_debug" = x"yes"; then dnl Check whether the compiler accepts the -fno-strict-aliasing dnl switch, as certain packages - like Glib - still don't work dnl properly with newer compilers. save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fno-strict-aliasing" AC_MSG_CHECKING([whether $CC accepts -fno-strict-aliasing]) AC_COMPILE_IFELSE(AC_LANG_SOURCE([int x;]), [ AC_MSG_RESULT([yes]) PLATFORM_CFLAGS="$PLATFORM_CFLAGS -fno-strict-aliasing" ], [ AC_MSG_RESULT([no]) ]) CFLAGS="$save_CFLAGS" dnl Make sure we detect possible errors PLATFORM_CFLAGS="$PLATFORM_CFLAGS -Werror -Wall" dnl Paranoia for --enable-debug=full if test x"$enable_debug" = x"full"; then PLATFORM_CFLAGS="$PLATFORM_CFLAGS -O0 -g3" PLATFORM_CPPFLAGS="$PLATFORM_CPPFLAGS -DG_DISABLE_DEPRECATED -DG_ENABLE_DEBUG" fi else dnl Disable object cast checks PLATFORM_CPPFLAGS="$PLATFORM_CPPFLAGS -DG_DISABLE_CAST_CHECKS" dnl Disable all checks for --enable-debug=no if test x"$enable_debug" = x"no"; then PLATFORM_CPPFLAGS="$PLATFORM_CPPFLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS" fi fi AC_MSG_RESULT([$enable_debug]) dnl ************************************** dnl *** Check for linker optimizations *** dnl ************************************** AC_MSG_CHECKING([whether $LD accepts -O1]) case `$LD -O1 -v 2>&1