Git Repositories

2006-02-14 Benedikt Meurer <benny@xfce.org>
[thunar.git] / acinclude.m4
1 dnl $Id$
2 dnl
3 dnl Copyright (c) 2004-2006
4 dnl         The Thunar development team. All rights reserved.
5 dnl
6 dnl Written for Thunar by Benedikt Meurer <benny@xfce.org>.
7 dnl
8
9
10
11 dnl # BM_THUNAR_VFS_MONITOR_IMPL()
12 dnl #
13 dnl # Determine the file system monitoring to use for
14 dnl # thunar-vfs.
15 dnl #
16 dnl # Sets LIBFAM_CFLAGS and LIBFAM_LIBS and defines
17 dnl # HAVE_FAM_H and HAVE_LIBFAM if FAM/Gamin were
18 dnl # found.
19 dnl #
20 dnl # Sets $ac_bm_thunar_vfs_monitor_impl to "FAM",
21 dnl # "Gamin" or "none".
22 dnl #
23 AC_DEFUN([BM_THUNAR_VFS_MONITOR_IMPL],
24 [
25 LIBFAM_CFLAGS=""
26 LIBFAM_LIBS=""
27 have_libfam=no
28 ac_bm_thunar_vfs_monitor_impl="none"
29 XDT_CHECK_PACKAGE([LIBFAM], [gamin], [0.1.0],
30 [
31   have_libfam=yes
32   ac_bm_thunar_vfs_monitor_impl="Gamin"
33 ],
34 [
35   dnl Fallback to a generic FAM check
36   AC_CHECK_HEADERS([fam.h],
37   [
38     AC_CHECK_LIB([fam], [FAMOpen],
39     [
40       have_libfam="yes" LIBFAM_LIBS="-lfam"
41       ac_bm_thunar_vfs_monitor_impl="FAM"
42     ])
43   ])
44 ])
45 if test x"$have_libfam" = x"yes"; then
46   dnl Define appropriate symbols
47   AC_DEFINE([HAVE_FAM_H], [1], [Define to 1 if you have the <fam.h> header file.])
48   AC_DEFINE([HAVE_LIBFAM], [1], [Define to 1 if the File Alteration Monitor is available.])
49
50   dnl Check for FAMNoExists (currently Gamin only)
51   save_LIBS="$LIBS"
52   LIBS="$LIBS $LIBFAM_LIBS"
53   AC_CHECK_FUNCS([FAMNoExists])
54   LIBS="$save_LIBS"
55 fi
56 AC_SUBST([LIBFAM_CFLAGS])
57 AC_SUBST([LIBFAM_LIBS])
58 ])
59
60
61
62 dnl # BM_THUNAR_VFS_VOLUME_IMPL()
63 dnl #
64 dnl # Determines the volume manager implementation to
65 dnl # use for thunar-vfs.
66 dnl #
67 dnl # Sets ac_bm_thunar_vfs_volume_impl to "freebsd",
68 dnl # "hal" or "none".
69 dnl #
70 AC_DEFUN([BM_THUNAR_VFS_VOLUME_IMPL],
71 [
72   dnl The --with-volume-manager option
73   AC_ARG_WITH([volume-manager],
74 AC_HELP_STRING([--with-volume-manager=@<:@auto/freebsd/hal/none@:>@], [The volume manager implementation @<:@default=auto@:>@]),
75     [], [with_volume_manager=auto])
76
77   dnl # Check if we should try to auto-detect
78   if test x"$with_volume_manager" = x"freebsd"; then
79     ac_bm_thunar_vfs_volume_impl=freebsd
80   elif test x"$with_volume_manager" = x"hal"; then
81     ac_bm_thunar_vfs_volume_impl=hal
82   else
83     dnl # Check target platform (auto-detection)
84     case "$target_os" in
85     freebsd*)
86       dnl # FreeBSD is fully supported
87       ac_bm_thunar_vfs_volume_impl=freebsd
88       ;;
89     *)
90       dnl # Otherwise, check if we have HAL
91       XDT_CHECK_PACKAGE([HAL], [hal-storage], [0.5.0], [ac_bm_thunar_vfs_volume_impl=hal], [ac_bm_thunar_vfs_volume_impl=none])
92       ;;
93     esac
94   fi
95
96   dnl # We need HAL >= 0.5.x and D-BUS >= 0.23 for the HAL volume manager
97   if test x"$ac_bm_thunar_vfs_volume_impl" = x"hal"; then
98     XDT_CHECK_PACKAGE([HAL], [hal-storage], [0.5.0])
99     XDT_CHECK_PACKAGE([HAL_DBUS], [dbus-glib-1], [0.23])
100   fi
101
102   dnl # Set config.h variables depending on what we're going to use
103   AC_MSG_CHECKING([for the volume manager implemenation])
104   case "$ac_bm_thunar_vfs_volume_impl" in
105   freebsd)
106     AC_DEFINE([THUNAR_VFS_VOLUME_IMPL_FREEBSD], [1], [Define to 1 if the FreeBSD volume manager implementation should be used])
107     ;;
108
109   hal)
110     AC_DEFINE([THUNAR_VFS_VOLUME_IMPL_HAL], [1], [Define to 1 if the HAL volume manager implementation should be used])
111     ;;
112
113   *)
114     AC_DEFINE([THUNAR_VFS_VOLUME_IMPL_NONE], [1], [Define to 1 if no volume manager implementation should be used])
115     ;;
116   esac
117   AC_MSG_RESULT([$ac_bm_thunar_vfs_volume_impl])
118
119   dnl # Set automake conditionals appropriately
120   AM_CONDITIONAL([THUNAR_VFS_VOLUME_IMPL_FREEBSD], [test x"$ac_bm_thunar_vfs_volume_impl" = x"freebsd"])
121   AM_CONDITIONAL([THUNAR_VFS_VOLUME_IMPL_HAL], [test x"$ac_bm_thunar_vfs_volume_impl" = x"hal"])
122   AM_CONDITIONAL([THUNAR_VFS_VOLUME_IMPL_NONE], [test x"$ac_bm_thunar_vfs_volume_impl" = x"none"])
123 ])