Git Repositories

2006-03-20 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_PLUGIN_UCA()
12 dnl #
13 dnl # Check whether the "User Customizable Actions" plugin
14 dnl # should be built and installed.
15 dnl #
16 AC_DEFUN([BM_THUNAR_PLUGIN_UCA],
17 [
18 AC_ARG_ENABLE([uca-plugin], AC_HELP_STRING([--disable-uca-plugin], [Don't build the thunar-uca plugin, see plugins/thunar-uca/README]),
19   [ac_bm_thunar_plugin_uca=$enable_val], [ac_bm_thunar_plugin_uca=yes])
20 AC_MSG_CHECKING([whether to build the thunar-uca plugin])
21 AM_CONDITIONAL([THUNAR_PLUGIN_UCA], [test x"$ac_bm_thunar_plugin_uca" = x"yes"])
22 AC_MSG_RESULT([$ac_bm_thunar_plugin_uca])
23 ])
24
25
26
27 dnl # BM_THUNAR_VFS_MONITOR_IMPL()
28 dnl #
29 dnl # Determine the file system monitoring to use for
30 dnl # thunar-vfs.
31 dnl #
32 dnl # Sets LIBFAM_CFLAGS and LIBFAM_LIBS and defines
33 dnl # HAVE_FAM_H and HAVE_LIBFAM if FAM/Gamin were
34 dnl # found.
35 dnl #
36 dnl # Sets $ac_bm_thunar_vfs_monitor_impl to "FAM",
37 dnl # "Gamin" or "none".
38 dnl #
39 AC_DEFUN([BM_THUNAR_VFS_MONITOR_IMPL],
40 [
41 LIBFAM_CFLAGS=""
42 LIBFAM_LIBS=""
43 have_libfam=no
44 ac_bm_thunar_vfs_monitor_impl="none"
45 XDT_CHECK_PACKAGE([LIBFAM], [gamin], [0.1.0],
46 [
47   have_libfam=yes
48   ac_bm_thunar_vfs_monitor_impl="Gamin"
49 ],
50 [
51   dnl Fallback to a generic FAM check
52   AC_CHECK_HEADERS([fam.h],
53   [
54     AC_CHECK_LIB([fam], [FAMOpen],
55     [
56       have_libfam="yes" LIBFAM_LIBS="-lfam"
57       ac_bm_thunar_vfs_monitor_impl="FAM"
58     ])
59   ])
60 ])
61 if test x"$have_libfam" = x"yes"; then
62   dnl Define appropriate symbols
63   AC_DEFINE([HAVE_FAM_H], [1], [Define to 1 if you have the <fam.h> header file.])
64   AC_DEFINE([HAVE_LIBFAM], [1], [Define to 1 if the File Alteration Monitor is available.])
65
66   dnl Check for FAMNoExists (currently Gamin only)
67   save_LIBS="$LIBS"
68   LIBS="$LIBS $LIBFAM_LIBS"
69   AC_CHECK_FUNCS([FAMNoExists])
70   LIBS="$save_LIBS"
71 fi
72 AC_SUBST([LIBFAM_CFLAGS])
73 AC_SUBST([LIBFAM_LIBS])
74 ])
75
76
77
78 dnl # BM_THUNAR_VFS_VOLUME_IMPL()
79 dnl #
80 dnl # Determines the volume manager implementation to
81 dnl # use for thunar-vfs.
82 dnl #
83 dnl # Sets ac_bm_thunar_vfs_volume_impl to "freebsd",
84 dnl # "hal" or "none".
85 dnl #
86 AC_DEFUN([BM_THUNAR_VFS_VOLUME_IMPL],
87 [
88   dnl The --with-volume-manager option
89   AC_ARG_WITH([volume-manager],
90 AC_HELP_STRING([--with-volume-manager=@<:@auto/freebsd/hal/none@:>@], [The volume manager implementation @<:@default=auto@:>@]),
91     [], [with_volume_manager=auto])
92
93   dnl # Check if we should try to auto-detect
94   if test x"$with_volume_manager" = x"freebsd"; then
95     ac_bm_thunar_vfs_volume_impl=freebsd
96   elif test x"$with_volume_manager" = x"hal"; then
97     ac_bm_thunar_vfs_volume_impl=hal
98   elif test x"$with_volume_manager" = x"none"; then
99     ac_bm_thunar_vfs_volume_impl=none
100   else
101     dnl # Check target platform (auto-detection)
102     case "$target_os" in
103     freebsd*)
104       dnl # FreeBSD is fully supported
105       ac_bm_thunar_vfs_volume_impl=freebsd
106       ;;
107     *)
108       dnl # Otherwise, check if we have HAL
109       XDT_CHECK_PACKAGE([HAL], [hal-storage], [0.5.0], [ac_bm_thunar_vfs_volume_impl=hal], [ac_bm_thunar_vfs_volume_impl=none])
110       ;;
111     esac
112   fi
113
114   dnl # We need HAL >= 0.5.x and D-BUS >= 0.23 for the HAL volume manager
115   if test x"$ac_bm_thunar_vfs_volume_impl" = x"hal"; then
116     XDT_CHECK_PACKAGE([HAL], [hal-storage], [0.5.0])
117     XDT_CHECK_PACKAGE([HAL_DBUS], [dbus-glib-1], [0.23])
118   fi
119
120   dnl # Set config.h variables depending on what we're going to use
121   AC_MSG_CHECKING([for the volume manager implemenation])
122   case "$ac_bm_thunar_vfs_volume_impl" in
123   freebsd)
124     AC_DEFINE([THUNAR_VFS_VOLUME_IMPL_FREEBSD], [1], [Define to 1 if the FreeBSD volume manager implementation should be used])
125     ;;
126
127   hal)
128     AC_DEFINE([THUNAR_VFS_VOLUME_IMPL_HAL], [1], [Define to 1 if the HAL volume manager implementation should be used])
129     ;;
130
131   *)
132     AC_DEFINE([THUNAR_VFS_VOLUME_IMPL_NONE], [1], [Define to 1 if no volume manager implementation should be used])
133     ;;
134   esac
135   AC_MSG_RESULT([$ac_bm_thunar_vfs_volume_impl])
136
137   dnl # Set automake conditionals appropriately
138   AM_CONDITIONAL([THUNAR_VFS_VOLUME_IMPL_FREEBSD], [test x"$ac_bm_thunar_vfs_volume_impl" = x"freebsd"])
139   AM_CONDITIONAL([THUNAR_VFS_VOLUME_IMPL_HAL], [test x"$ac_bm_thunar_vfs_volume_impl" = x"hal"])
140   AM_CONDITIONAL([THUNAR_VFS_VOLUME_IMPL_NONE], [test x"$ac_bm_thunar_vfs_volume_impl" = x"none"])
141 ])