summaryrefslogtreecommitdiffstats
path: root/m4.include/vfs/mc-vfs-undelfs.m4
blob: ab6fd3ff8ff48a75e32645572c6459daead32d99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
dnl mc_UNDELFS_CHECKS
dnl    Check for ext2fs undel support.
dnl    Set shell variable ext2fs_undel to "yes" if we have it,
dnl    "no" otherwise.  May define ENABLE_VFS_UNDELFS for cpp.
dnl    Will set EXT2FS_UNDEL_LIBS to required libraries.

AC_DEFUN([mc_UNDELFS_CHECKS], [
    ext2fs_undel=no
    EXT2FS_UNDEL_LIBS=

    dnl Use result of mc_EXT2FS_ATTR that was called earlier
    if test "x$ext2fs_attr_msg" = "xyes"; then
	com_err=no

	PKG_CHECK_MODULES(COM_ERR, [com_err >= 1.42.4], [com_err=yes], [:])

	if test x"$com_err" = "xyes"; then
	    EXT2FS_UNDEL_LIBS="$EXT2FS_LIBS $COM_ERR_LIBS"
	    ext2fs_undel=yes
	fi
    fi

])

dnl
dnl Ext2fs undelete support
dnl
AC_DEFUN([mc_VFS_UNDELFS],
[
    AC_ARG_ENABLE([vfs-undelfs],
	AS_HELP_STRING([--enable-vfs-undelfs], [Support for ext2 undelete filesystem @<:@no@:>@]),
	[
	    if test "x$enableval" = "xno"; then
		enable_vfs_undelfs=no
	    else
		enable_vfs_undelfs=yes
	    fi
	],
	[enable_vfs_undelfs="no"])

    if test x"$enable_vfs" = x"yes" -a x"$enable_vfs_undelfs" != x"no"; then
	mc_UNDELFS_CHECKS

	if test x"$ext2fs_undel" = x"yes"; then
	    enable_vfs_undelfs="yes"
	    mc_VFS_ADDNAME([undelfs])
	    AC_DEFINE(ENABLE_VFS_UNDELFS, [1], [Support for ext2 undelfs])
	    AC_MSG_NOTICE([using ext2fs file recovery code])
	    MCLIBS="$MCLIBS $EXT2FS_UNDEL_LIBS"
	else
	    AC_MSG_ERROR([Ext2 libraries not found])
	fi
    fi
    AM_CONDITIONAL(ENABLE_VFS_UNDELFS, [test "$enable_vfs" = "yes" -a x"$enable_vfs_undelfs" = x"yes"])
])