]> git.wh0rd.org - dump.git/blobdiff - configure.in
Fix the fix, ahem.
[dump.git] / configure.in
index 802f31a560cad4e276078aac381179f0ff171812..cf3bbdc9d6c02d5a1604e2a36f9448304027808c 100644 (file)
@@ -23,17 +23,20 @@ dnl
 dnl Handle --enable-debug
 dnl
 AC_ARG_ENABLE([debug],
-[  --enable-debug             include debugging code],
+[  --enable-debug             include debugging code (default is NO)],
 if test "$enableval" = "no"
 then
        DUMPDEBUG=""
        RESTOREDEBUG=""
+       echo "Not including debugging code"
 else
        DUMPDEBUG="-DFDEBUG -DTDEBUG -DWRITEDEBUG -DDIRDEBUG"
        RESTOREDEBUG="-DDIRDEBUG"
+       echo "Including debugging code"
 fi,
 DUMPDEBUG=""
 RESTOREDEBUG=""
+echo "Not including debugging code by default"
 )
 AC_SUBST(DUMPDEBUG)
 AC_SUBST(RESTOREDEBUG)
@@ -42,12 +45,14 @@ dnl
 dnl Handle --enable-static
 dnl
 AC_ARG_ENABLE([static],
-[  --enable-static            link dump and restore statically],
+[  --enable-static            link dump and restore statically (default is NO)],
 if test "$enableval" = "no"
 then
        STATIC=""
+       echo "Linking dump and restore dynamically"
 else
        STATIC="-static"
+       echo "Linking dump and restore statically"
 fi
 ,
 STATIC=""
@@ -59,18 +64,21 @@ dnl
 dnl Handle --enable-rmt
 dnl
 AC_ARG_ENABLE([rmt],
-[  --enable-rmt               compile and install rmt],
+[  --enable-rmt               compile and install rmt (default is YES)],
 if test "$enableval" = "no"
 then
        RMTDIR=""
        RMTMAKEFILE=""
+       echo "Not compiling rmt"
 else
        RMTDIR="rmt"
        RMTMAKEFILE="rmt/Makefile"
+       echo "Compiling rmt"
 fi
 ,
-RMTDIR=""
-echo "Not compiling rmt by default"
+RMTDIR="rmt"
+RMTMAKEFILE="rmt/Makefile"
+echo "Compiling rmt by default"
 )
 AC_SUBST(RMTDIR)
 
@@ -78,12 +86,14 @@ dnl
 dnl Handle --enable-kerberos
 dnl
 AC_ARG_ENABLE([kerberos],
-[  --enable-kerberos          compile kerberos extensions],
+[  --enable-kerberos          compile kerberos extensions (default is NO)],
 if test "$enableval" = "yes"
 then
        OPTDEFS="-DKERBEROS"
+       echo "Compiling kerberos extensions"
 else
        OPTDEFS=""
+       echo "Not compiling kerberos extensions"
 fi
 ,
 OPTDEFS=""
@@ -95,17 +105,20 @@ dnl
 dnl Handle --enable-readline
 dnl
 AC_ARG_ENABLE([readline],
-[  --enable-readline          enable readline support in restore],
+[  --enable-readline          enable readline support in restore (default is YES)],
 if test "$enableval" = "no"
 then
        READLINE=""
+       echo "Not including readline support"
 else
        READLINE="-lreadline -ltermcap"
        AC_DEFINE(HAVE_READLINE)
+       echo "Including readline support"
 fi
 ,
-READLINE=""
-echo "Not including readline support by default"
+READLINE="-lreadline -ltermcap"
+AC_DEFINE(HAVE_READLINE)
+echo "Including readline support by default"
 )
 AC_SUBST(READLINE)
 
@@ -113,13 +126,66 @@ dnl
 dnl Handle --enable-oldsylefscript
 dnl
 AC_ARG_ENABLE([oldstylefscript],
-[  --enable-oldstylefscript   enable old style F script (no arguments)],
+[  --enable-oldstylefscript   enable old style F script (no arguments) (default is NO)],
 if test "$enableval" = "yes"
 then
        AC_DEFINE(OLD_STYLE_FSCRIPT)
+       echo "Using old style F script"
+else
+       echo "Using new style F script"
+fi
+,
+echo "Using new style F script by default"
+)
+
+dnl
+dnl Handle --enable-largefile
+dnl
+AC_ARG_ENABLE([largefile],
+[  --enable-largefile         enable Large File System support (default is YES)],
+if test "$enableval" = "yes"
+then
+       AC_DEFINE(USE_LFS)
+       echo "Enabling Large File System support"
+else
+       echo "Not enabling Large File System support"
+fi
+,
+AC_DEFINE(USE_LFS)
+echo "Enabling Large File System support by default"
+)
+
+dnl
+dnl Handle --enable-qfa
+dnl
+AC_ARG_ENABLE([qfa],
+[  --enable-qfa               enable Quick File Access support (default is YES)],
+if test "$enableval" = "yes"
+then
+       AC_DEFINE(USE_QFA)
+       echo "Enabling Quick File Access support"
+else
+       echo "Not enabling Quick File Access support"
 fi
 ,
-echo "Using new style F script"
+AC_DEFINE(USE_QFA)
+echo "Enabling Quick File Access support by default"
+)
+
+dnl
+dnl Handle --enable-qfadebug
+dnl
+AC_ARG_ENABLE([qfadebug],
+[  --enable-qfadebug          include Quick File Access debugging code (default is NO)],
+if test "$enableval" = "yes"
+then
+       AC_DEFINE(DEBUG_QFA)
+       echo "Including Quick File Access debugging code"
+else
+       echo "Not including Quick File Access debugging code"
+fi
+,
+echo "Not including Quick File Access debugging code by default"
 )
 
 dnl
@@ -163,9 +229,10 @@ dnl
 AC_ARG_WITH([ldopts],
 [  --with-ldopts=LDOPTS       select linker command line options],
 AC_MSG_RESULT(LDFLAGS is $withval)
-LDFLAGS=$withval,
-LDFLAGS=)dnl
-AC_SUBST(LDFLAGS)
+LDOPTS=$withval
+LDFLAGS="$LDFLAGS $withval",
+LDOPTS=)dnl
+AC_SUBST(LDOPTS)
 
 dnl
 dnl set $(BINOWNER) from --with-binowner
@@ -246,7 +313,7 @@ AC_ARG_WITH([dumpdatespath],
 [  --with-dumpdatespath=PATH  select path for dumpdates file],
 AC_MSG_RESULT(DUMPDATESPATH is $withval)
 DUMPDATESPATH=$withval,
-DUMPDATESPATH="/etc/dumpdates"
+DUMPDATESPATH="${sysconfdir}/dumpdates"
 echo "DUMPDATESPATH defaults to $DUMPDATESPATH"
 )dnl
 AC_SUBST(DUMPDATESPATH)
@@ -254,33 +321,110 @@ AC_SUBST(DUMPDATESPATH)
 dnl
 dnl Check for Ext2fs headers and libraries
 dnl
-AC_CHECK_HEADER(ext2fs/ext2fs.h, [ext2fs_h=yes], [ext2fs_h=no])
+AC_CHECK_HEADER(ext2fs/ext2fs.h, [ext2fs_h=yes], [ext2fs_h=no], [-])
 AC_CHECK_LIB(ext2fs, ext2fs_open, [ext2fs_lib=yes], [ext2fs_lib=no], [-lcom_err])
 if test "$ext2fs_h" = no -o "$ext2fs_lib" = no; then
        AC_MSG_ERROR(You need to install the Ext2fs libraries from the E2fsprogs distribution first - hint: make install-libs)
 fi
 
+dnl
+dnl Try to use ext2_fs.h header from libext2fs instead of from the kernel
+dnl
+AC_CHECK_HEADERS(ext2fs/ext2_fs.h, [], [], [-])
+
+dnl
+dnl Check for ext2_ino_t type
+dnl
+AC_MSG_CHECKING(for ext2_ino_t type in libext2fs headers)
+AC_TRY_COMPILE([#include <stdio.h>
+#ifdef HAVE_EXT2FS_EXT2_FS_H
+#include <ext2fs/ext2_fs.h>
+#else
+#include <linux/ext2_fs.h>
+#endif
+#include <ext2fs/ext2fs.h>],
+[ext2_ino_t ino = 0;], 
+[AC_DEFINE(HAVE_EXT2_INO_T) AC_MSG_RESULT(yes)],
+AC_MSG_RESULT(no))
+
+dnl
+dnl Check for s_journal_inum field in ext2_super_block struct
+dnl
+AC_MSG_CHECKING(for s_journal_inum field in ext2_super_block struct)
+AC_TRY_COMPILE([#include <stdio.h>
+#ifdef HAVE_EXT2FS_EXT2_FS_H
+#include <ext2fs/ext2_fs.h>
+#else
+#include <linux/ext2_fs.h>
+#endif
+#include <ext2fs/ext2fs.h>],
+[struct ext2_super_block es; es.s_journal_inum = 0;],
+[AC_DEFINE(HAVE_EXT2_JOURNAL_INUM) AC_MSG_RESULT(yes)],
+AC_MSG_RESULT(no))
+
 dnl
 dnl Check for termcap libraries
 dnl
 AC_CHECK_LIB(termcap, tgetent, [termcap_lib=yes], [termcap_lib=no])
 if test "$termcap_lib" = no; then
        if test "$READLINE" = "-lreadline -ltermcap"; then
-               AC_MSG_ERROR(You need to install the GNU termcap libraries first)
+               AC_MSG_ERROR(You need to install the GNU termcap library or configure without --enable-readline)
        fi
 fi
 
 dnl
 dnl Check for readline headers and libraries
 dnl
-AC_CHECK_HEADER(readline/readline.h, [readline_h=yes], [readline_h=no])
+AC_CHECK_HEADER(readline/readline.h, [readline_h=yes], [readline_h=no], [-])
 AC_CHECK_LIB(readline, readline, [readline_lib=yes], [readline_lib=no], "-ltermcap")
 if test "$readline_h" = no -o "$readline_lib" = no; then
        if test "$READLINE" = "-lreadline -ltermcap"; then
-               AC_MSG_ERROR(You need to install the GNU readline libraries first)
+               AC_MSG_ERROR(You need to install the GNU readline library or configure without --enable-readline)
        fi
 fi
 
+dnl
+dnl Check for rl_completion_matches
+dnl
+AC_CHECK_LIB(readline, rl_completion_matches, [rlcm=yes], [rlcm=no], "-ltermcap")
+if test "$rlcm" = yes; then
+       AC_DEFINE(HAVE_READLINE_RLCM)
+fi
+
+dnl
+dnl Check for rl_completion_append_character
+dnl
+AC_CHECK_LIB(readline, rl_completion_append_character, [rcac=yes], [rcac=no], "-ltermcap")
+if test "$rcac" = yes; then
+       AC_DEFINE(HAVE_READLINE_CAC)
+fi
+
+dnl
+dnl Check for zlib headers and libraries
+dnl
+AC_CHECK_HEADER(zlib.h, [zlib_h=yes], [zlib_h=no], [-])
+AC_CHECK_LIB(z, compress2, [zlib_lib=yes], [zlib_lib=no])
+if test "$zlib_h" = yes -a "$zlib_lib" = yes; then
+       ZLIB="-lz"
+       AC_DEFINE(HAVE_ZLIB)
+else
+       ZLIB=""
+fi
+AC_SUBST(ZLIB)
+
+dnl
+dnl Check for bzlib headers and libraries
+dnl
+AC_CHECK_HEADER(bzlib.h, [bzlib_h=yes], [bzlib_h=no], [-])
+AC_CHECK_LIB(bz2, BZ2_bzBuffToBuffCompress, [bzlib_lib=yes], [bzlib_lib=no])
+if test "$bzlib_h" = yes -a "$bzlib_lib" = yes; then
+       BZLIB="-lbz2"
+       AC_DEFINE(HAVE_BZLIB)
+else
+       BZLIB=""
+fi
+AC_SUBST(BZLIB)
+
 dnl
 dnl Check for library functions
 dnl
@@ -290,6 +434,7 @@ AC_CHECK_FUNC(glob)
 dnl
 dnl Check for GLOB_ALTDIRFUNC
 dnl
+AC_MSG_CHECKING(for extended glob routines)
 if test "$ac_cv_func_glob" = "yes"; then
        AC_EGREP_CPP(yes, 
        [
@@ -297,33 +442,22 @@ if test "$ac_cv_func_glob" = "yes"; then
 #      ifdef GLOB_ALTDIRFUNC
        yes
 #      endif
-       ], AC_DEFINE(HAVE_GLOB), noglob=yes)
-       if test "$noglob" = "yes"; then
-               echo "Your system does not support extended glob, will use the internal routines"
-       fi
-fi
-
-dnl
-dnl Check if sigaction structure has a sa_sigaction field
-dnl
-AC_MSG_CHECKING(whether struct sigaction has a sa_sigaction field)
-AC_CACHE_VAL(dump_cv_struct_sa_sigaction,
-AC_TRY_COMPILE(
-[#include <stdio.h>
-#include <signal.h>],
-[struct sigaction action; action.sa_sigaction = NULL;],
-[dump_cv_struct_sa_sigaction=yes],
-[dump_cv_struct_sa_sigaction=no]))
-AC_MSG_RESULT($dump_cv_struct_sa_sigaction)
-if test "$dump_cv_struct_sa_sigaction" = yes; then
-  AC_DEFINE(HAVE_SIGACTION_SA_SIGACTION)
+       ], 
+       [
+       AC_DEFINE(HAVE_GLOB)
+       AC_MSG_RESULT(yes)
+       ],
+       [
+       AC_MSG_RESULT(no)
+       echo "Your system does not support extended glob, will use the internal routines"
+       ])
 fi
 
 dnl
 dnl Check for types
 dnl
-AC_CHECK_TYPE(quad_t, __s64)
-AC_CHECK_TYPE(u_quad_t, __u64)
+AC_CHECK_TYPE(quad_t, int64_t)
+AC_CHECK_TYPE(u_quad_t, uint64_t)
 
 dnl
 dnl Compute top_buildir