Newer
Older
dnl Copyright (c) 2004-2005
dnl The Thunar development team. All rights reserved.
dnl Written for Thunar by Benedikt Meurer <benny@xfce.org>.
dnl ***************************
dnl *** Version information ***
dnl ***************************
m4_define([thunar_verinfo], [0:0:0])
m4_define([thunar_version_api], [1])
m4_define([thunar_version_major], [0])
m4_define([thunar_version_minor], [1])
m4_define([thunar_version_micro], [4])
m4_define([thunar_version_build], [r@REVISION@])
m4_define([thunar_version_tag], [svn])
m4_define([thunar_version], [thunar_version_major().thunar_version_minor().thunar_version_micro()ifelse(thunar_version_tag(), [], [], [thunar_version_tag()-thunar_version_build()])])
dnl *******************************************
dnl *** Debugging support for SVN snapshots ***
dnl *******************************************
m4_define([thunar_debug_default], [ifelse(thunar_version_tag(), [], [minimum], [yes])])
dnl ***************************
dnl *** Initialize autoconf ***
dnl ***************************
AC_COPYRIGHT([Copyright (c) 2004-2005
The Thunar development team. All rights reserved.
Written for Thunar by Benedikt Meurer <benny@xfce.org>.])
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_CHECK_PROGS([PERL], [perl5 perl])
dnl **************************
dnl *** Initialize libtool ***
dnl **************************
AC_DISABLE_STATIC()
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 \
locale.h math.h memory.h mmintrin.h pwd.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/time.h sys/uio.h \
sys/wait.h time.h wchar.h wctype.h])
dnl ************************************
dnl *** Check for standard functions ***
dnl ************************************
AC_CHECK_FUNCS([attropen extattr_get_fd fgetxattr lchmod localtime_r \
mbrtowc pread pwrite readdir_r \
sched_yield setgroupent setpassent])
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 <sys/mman.h>], 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 <sys/mman.h>], 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([de el es fr hu ja pt_BR])
dnl ***********************************
dnl *** Check for required packages ***
dnl ***********************************
XDT_CHECK_PACKAGE([EXO], [exo-0.3], [0.3.1.1])
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])
dnl **********************************
dnl *** Optional support for cairo ***
dnl **********************************
XDT_CHECK_OPTIONAL_PACKAGE([CAIRO], [cairo], [0.5], [cairo], [Cairo])
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
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 Gamin/FAM ***
dnl ***************************
LIBFAM_CFLAGS=""
LIBFAM_LIBS=""
have_libfam=no
XDT_CHECK_PACKAGE([LIBFAM], [gamin], [0.1.0], [have_libfam=yes],
dnl Fallback to a generic FAM check
AC_CHECK_HEADERS([fam.h],
AC_CHECK_LIB([fam], [FAMOpen], [have_libfam="yes" LIBFAM_LIBS="-lfam"])
if test x"$have_libfam" = x"yes"; then
dnl Define appropriate symbols
AC_DEFINE([HAVE_FAM_H], [1], [Define to 1 if you have the <fam.h> header file.])
AC_DEFINE([HAVE_LIBFAM], [1], [Define to 1 if the File Alteration Monitor is available.])
dnl Check for FAMNoExists (currently Gamin only)
save_LIBS="$LIBS"
LIBS="$LIBS $LIBFAM_LIBS"
AC_CHECK_FUNCS([FAMNoExists])
LIBS="$save_LIBS"
fi
AC_SUBST([LIBFAM_CFLAGS])
AC_SUBST([LIBFAM_LIBS])
dnl ************************************
dnl *** Check for the system flavour ***
dnl ************************************
AC_MSG_CHECKING([for system flavour])
case "$target_os" in
*bsd*)
esac
AC_MSG_RESULT([$FLAVOUR])
dnl **********************************************************
dnl *** Create links for the volume manager implementation ***
dnl **********************************************************
AC_CONFIG_LINKS(
[
thunar-vfs/thunar-vfs-volume-impl.c:thunar-vfs/thunar-vfs-volume-$FLAVOUR.c
thunar-vfs/thunar-vfs-volume-impl.h:thunar-vfs/thunar-vfs-volume-$FLAVOUR.h
])
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 Paranoia for --enable-debug=full
if test x"$enable_debug" = x"full"; then
PLATFORM_CFLAGS="$PLATFORM_CFLAGS -O0 -g3 -Werror -Wall"
PLATFORM_CPPFLAGS="$PLATFORM_CPPFLAGS -DG_DISABLE_DEPRECATED -DG_ENABLE_DEBUG"
fi
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
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 </dev/null` in
*GNU* | *'with BFD'*)
PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -Wl,-O1"
AC_MSG_RESULT([yes])
;;
*)
AC_MSG_RESULT([no])
;;
esac
dnl ****************************************
dnl *** Check for ELF visibility support ***
dnl ****************************************
AC_ARG_ENABLE([visibility], AC_HELP_STRING([--disable-visibility], [Don't use ELF visibility attributes]), [], [enable_visibility=yes])
have_gnuc_visibility=no
if test x"$enable_visibility" != x"no"; then
dnl Check whether the compiler supports the visibility attribute
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wall -Werror"
AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute])
AC_COMPILE_IFELSE(AC_LANG_SOURCE(
[
void __attribute__ ((visibility("default"))) test_default (void) {}
void __attribute__ ((visibility("hidden"))) test_hidden (void) {}
int main (int argc, char **argv) { test_default (); test_hidden (); return 0; }
]),
[
AC_MSG_RESULT([yes])
],
[
AC_MSG_RESULT([no])
])
fi
if test x"$have_gnuc_visibility" = x"yes"; then
PLATFORM_CPPFLAGS="$PLATFORM_CPPFLAGS -DHAVE_GNUC_VISIBILITY"
fi
AM_CONDITIONAL([HAVE_GNUC_VISIBILITY], [test x"$have_gnuc_visibility" = x"yes"])
dnl *********************************
dnl *** Substitute platform flags ***
dnl *********************************
AC_MSG_CHECKING([PLATFORM_CPPFLAGS])
AC_MSG_RESULT([$PLATFORM_CPPFLAGS])
AC_SUBST([PLATFORM_CPPFLAGS])
AC_MSG_CHECKING([PLATFORM_CFLAGS])
AC_MSG_RESULT([$PLATFORM_CFLAGS])
AC_SUBST([PLATFORM_CFLAGS])
AC_MSG_CHECKING([PLATFORM_LDFLAGS])
AC_MSG_RESULT([$PLATFORM_LDFLAGS])
AC_SUBST([PLATFORM_LDFLAGS])
dnl *****************************************
dnl *** Check whether to build UCA plugin ***
dnl *****************************************
AC_ARG_ENABLE([uca-plugin], AC_HELP_STRING([--disable-uca-plugin], [Don't build the thunar-uca plugin, see thunar-uca/README]),
[], [enable_uca_plugin=yes])
AC_MSG_CHECKING([whether to build the thunar-uca plugin])
AM_CONDITIONAL([ENABLE_UCA_PLUGIN], [test x"$enable_uca_plugin" = x"yes"])
AC_MSG_RESULT([$enable_uca_plugin])
docs/Makefile
docs/design/Makefile
docs/reference/thunar-vfs/Makefile
docs/reference/thunar-vfs/version.xml
docs/reference/thunarx/Makefile
docs/reference/thunarx/version.xml
examples/Makefile
examples/tex-open-terminal/Makefile
icons/Makefile
icons/24x24/Makefile
icons/48x48/Makefile
tdb/Makefile
tdb/tdbconfig.h
thunar-vfs/thunar-vfs-1.pc
thunar-vfs/thunar-vfs-config.h
thunarx/thunarx-1.pc
thunarx/thunarx-config.h