]> git.wh0rd.org - dump.git/blobdiff - configure.in
Added EA/ACL support in dump and restore.
[dump.git] / configure.in
index 9a980eaa0ce57273e04914ddca4dcaed2e7957d1..3788737049e9edfe9a492949e03fc264e5f6f2d8 100644 (file)
@@ -1,4 +1,5 @@
 AC_INIT(dump/dump.h)
 AC_INIT(dump/dump.h)
+AC_PREREQ(2.57)
 
 MCONFIG=./MCONFIG
 AC_SUBST_FILE(MCONFIG)
 
 MCONFIG=./MCONFIG
 AC_SUBST_FILE(MCONFIG)
@@ -19,6 +20,10 @@ AC_CHECK_TOOL(PATCH, patch, :)
 AC_PROG_CC
 AC_PROG_INSTALL
 
 AC_PROG_CC
 AC_PROG_INSTALL
 
+AC_CHECK_HEADERS([sys/types.h])
+
+CPPFLAGS="-D_BSD_SOURCE -D_USE_BSD_SIGNAL ${CPPFLAGS}"
+
 dnl
 dnl Handle --enable-debug
 dnl
 dnl
 dnl Handle --enable-debug
 dnl
@@ -60,6 +65,24 @@ echo "Linking dump and restore dynamically by default"
 )
 AC_SUBST(STATIC)
 
 )
 AC_SUBST(STATIC)
 
+dnl
+dnl Handle --enable-staticz
+dnl
+AC_ARG_ENABLE([staticz],
+[  --enable-staticz           link libz and libbz2 statically (default is NO)],
+if test "$enableval" = "no"
+then
+       STATICZ="no"
+       echo "Linking libz and libbz2 dynamically"
+else
+       STATICZ="yes"
+       echo "Linking libz and libbz2 statically"
+fi
+,
+STATICZ="no"
+echo "Linking libz and libbz2 dynamically by default"
+)
+
 dnl
 dnl Handle --enable-rmt
 dnl
 dnl
 dnl Handle --enable-rmt
 dnl
@@ -138,16 +161,15 @@ then
        READLINE=""
        echo "Not including readline support"
 else
        READLINE=""
        echo "Not including readline support"
 else
-       READLINE="-lreadline -ltermcap"
-       AC_DEFINE(HAVE_READLINE)
+       READLINE="yes"
+       AC_DEFINE([HAVE_READLINE],1,[Define if you want to include readline support.])
        echo "Including readline support"
 fi
 ,
        echo "Including readline support"
 fi
 ,
-READLINE="-lreadline -ltermcap"
-AC_DEFINE(HAVE_READLINE)
+READLINE="yes"
+AC_DEFINE([HAVE_READLINE],1,[Define if you want to include readline support.])
 echo "Including readline support by default"
 )
 echo "Including readline support by default"
 )
-AC_SUBST(READLINE)
 
 dnl
 dnl Handle --enable-oldsylefscript
 
 dnl
 dnl Handle --enable-oldsylefscript
@@ -156,7 +178,7 @@ AC_ARG_ENABLE([oldstylefscript],
 [  --enable-oldstylefscript   enable old style F script (no arguments) (default is NO)],
 if test "$enableval" = "yes"
 then
 [  --enable-oldstylefscript   enable old style F script (no arguments) (default is NO)],
 if test "$enableval" = "yes"
 then
-       AC_DEFINE(OLD_STYLE_FSCRIPT)
+       AC_DEFINE([OLD_STYLE_FSCRIPT],1,[Define this is you want old style F script (no arguments).])
        echo "Using old style F script"
 else
        echo "Using new style F script"
        echo "Using old style F script"
 else
        echo "Using new style F script"
@@ -172,13 +194,13 @@ AC_ARG_ENABLE([largefile],
 [  --enable-largefile         enable Large File System support (default is YES)],
 if test "$enableval" = "yes"
 then
 [  --enable-largefile         enable Large File System support (default is YES)],
 if test "$enableval" = "yes"
 then
-       AC_DEFINE(USE_LFS)
+       AC_DEFINE([USE_LFS],1,[Define this if you want Large File System support.])
        echo "Enabling Large File System support"
 else
        echo "Not enabling Large File System support"
 fi
 ,
        echo "Enabling Large File System support"
 else
        echo "Not enabling Large File System support"
 fi
 ,
-AC_DEFINE(USE_LFS)
+AC_DEFINE([USE_LFS],1,[Define this if you want Large File System support.])
 echo "Enabling Large File System support by default"
 )
 
 echo "Enabling Large File System support by default"
 )
 
@@ -189,13 +211,13 @@ AC_ARG_ENABLE([qfa],
 [  --enable-qfa               enable Quick File Access support (default is YES)],
 if test "$enableval" = "yes"
 then
 [  --enable-qfa               enable Quick File Access support (default is YES)],
 if test "$enableval" = "yes"
 then
-       AC_DEFINE(USE_QFA)
+       AC_DEFINE([USE_QFA],1,[Define this if you want Quick File Access support.])
        echo "Enabling Quick File Access support"
 else
        echo "Not enabling Quick File Access support"
 fi
 ,
        echo "Enabling Quick File Access support"
 else
        echo "Not enabling Quick File Access support"
 fi
 ,
-AC_DEFINE(USE_QFA)
+AC_DEFINE([USE_QFA],1,[Define this if you want Quick File Access support.])
 echo "Enabling Quick File Access support by default"
 )
 
 echo "Enabling Quick File Access support by default"
 )
 
@@ -206,7 +228,7 @@ AC_ARG_ENABLE([qfadebug],
 [  --enable-qfadebug          include Quick File Access debugging code (default is NO)],
 if test "$enableval" = "yes"
 then
 [  --enable-qfadebug          include Quick File Access debugging code (default is NO)],
 if test "$enableval" = "yes"
 then
-       AC_DEFINE(DEBUG_QFA)
+       AC_DEFINE([DEBUG_QFA],1,[Define this if you want to include Quick File Access debugging code.])
        echo "Including Quick File Access debugging code"
 else
        echo "Not including Quick File Access debugging code"
        echo "Including Quick File Access debugging code"
 else
        echo "Not including Quick File Access debugging code"
@@ -215,6 +237,23 @@ fi
 echo "Not including Quick File Access debugging code by default"
 )
 
 echo "Not including Quick File Access debugging code by default"
 )
 
+dnl
+dnl Handle --enable-macosx
+dnl
+AC_ARG_ENABLE([macosx],
+[  --enable-macosx            include Mac OSX restore compatibility (default is NO)],
+if test "$enableval" = "yes"
+then
+       AC_DEFINE([DUMP_MACOSX],1,[Define this if you want to include Mac OSX restore compatibility.])
+       echo "Including Mac OSX restore compatibility code"
+else
+       echo "Not including Mac OSX restore compatibility code"
+fi
+,
+echo "Not including Mac OSX restore compatibility code by default"
+)
+
+
 dnl
 dnl set $(CC) from --with-cc=value
 dnl
 dnl
 dnl set $(CC) from --with-cc=value
 dnl
@@ -354,6 +393,14 @@ 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
 
        AC_MSG_ERROR(You need to install the Ext2fs libraries from the E2fsprogs distribution first - hint: make install-libs)
 fi
 
+dnl
+dnl Check for ext2fs_read_inode_full
+dnl
+AC_CHECK_LIB(ext2fs, ext2fs_read_inode_full, [rif=yes], [rif=no], [-lcom_err])
+if test "$rif" = yes; then
+       AC_DEFINE([HAVE_EXT2FS_READ_INODE_FULL],1,[Define this if your ext2fs libs have the ext2fs_read_inode_full function.])
+fi
+
 dnl
 dnl Try to use ext2_fs.h header from libext2fs instead of from the kernel
 dnl
 dnl
 dnl Try to use ext2_fs.h header from libext2fs instead of from the kernel
 dnl
@@ -371,7 +418,8 @@ AC_TRY_COMPILE([#include <stdio.h>
 #endif
 #include <ext2fs/ext2fs.h>],
 [ext2_ino_t ino = 0;], 
 #endif
 #include <ext2fs/ext2fs.h>],
 [ext2_ino_t ino = 0;], 
-[AC_DEFINE(HAVE_EXT2_INO_T) AC_MSG_RESULT(yes)],
+[AC_DEFINE([HAVE_EXT2_INO_T],1,[Define if we have the ext2_ino_t type (from e2fsprogs 1.20+).])
+ AC_MSG_RESULT(yes)],
 AC_MSG_RESULT(no))
 
 dnl
 AC_MSG_RESULT(no))
 
 dnl
@@ -386,36 +434,59 @@ AC_TRY_COMPILE([#include <stdio.h>
 #endif
 #include <ext2fs/ext2fs.h>],
 [struct ext2_super_block es; es.s_journal_inum = 0;],
 #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_DEFINE([HAVE_EXT2_JOURNAL_INUM],1,[Define if we have the s_journal_inum field in struct ext2_super_block.])
+ AC_MSG_RESULT(yes)],
 AC_MSG_RESULT(no))
 
 dnl
 AC_MSG_RESULT(no))
 
 dnl
-dnl Check for termcap libraries
+dnl Check for blkid headers libraries
+dnl
+AC_CHECK_HEADER(blkid/blkid.h, [blkid_h=yes], [blkid_h=no], [-])
+AC_CHECK_LIB(blkid, blkid_get_devname, [blkid_lib=yes], [blkid_lib=no], [-luuid])
+if test "$blkid_h" = yes -a "$blkid_lib" = yes; then
+       AC_DEFINE([HAVE_BLKID],1,[Define this if you have the blkid library.])
+       BLKID="-lblkid -luuid"
+fi
+AC_SUBST(BLKID)
+
+dnl
+dnl Check for ncurses or termcap libraries
 dnl
 dnl
+AC_CHECK_LIB(ncurses, tgetent, [ncurses_lib=yes], [ncurses_lib=no])
 AC_CHECK_LIB(termcap, tgetent, [termcap_lib=yes], [termcap_lib=no])
 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 library or configure without --enable-readline)
+
+if test "$ncurses_lib" = no -a "$termcap_lib" = no; then
+       if test "$READLINE" = "yes"; then
+               AC_MSG_ERROR(You need to install the ncurses or termcap library or configure without --enable-readline)
        fi
 fi
        fi
 fi
+if test "$ncurses_lib" = yes; then
+       rdllib="-lncurses"
+elif test "$termcap_lib" = yes; then
+       rdllib="-ltermcap"
+fi
 
 dnl
 dnl Check for readline headers and libraries
 dnl
 AC_CHECK_HEADER(readline/readline.h, [readline_h=yes], [readline_h=no], [-])
 
 dnl
 dnl Check for readline headers and libraries
 dnl
 AC_CHECK_HEADER(readline/readline.h, [readline_h=yes], [readline_h=no], [-])
-AC_CHECK_LIB(readline, readline, [readline_lib=yes], [readline_lib=no], "-ltermcap")
+AC_CHECK_LIB(readline, readline, [readline_lib=yes], [readline_lib=no], $rdllib)
 if test "$readline_h" = no -o "$readline_lib" = no; then
 if test "$readline_h" = no -o "$readline_lib" = no; then
-       if test "$READLINE" = "-lreadline -ltermcap"; then
+       if test "$READLINE" = "yes"; then
                AC_MSG_ERROR(You need to install the GNU readline library or configure without --enable-readline)
        fi
 fi
                AC_MSG_ERROR(You need to install the GNU readline library or configure without --enable-readline)
        fi
 fi
+if test "$READLINE" = yes; then
+       READLINE="-lreadline $rdllib"
+fi
+AC_SUBST(READLINE)
 
 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
 
 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)
+       AC_DEFINE([HAVE_READLINE_RLCM],1,[Define this if your readline libs have the rl_completion_matches library.])
 fi
 
 dnl
 fi
 
 dnl
@@ -423,7 +494,7 @@ 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
 dnl
 AC_CHECK_LIB(readline, rl_completion_append_character, [rcac=yes], [rcac=no], "-ltermcap")
 if test "$rcac" = yes; then
-       AC_DEFINE(HAVE_READLINE_CAC)
+       AC_DEFINE([HAVE_READLINE_CAC],1,[Define this if your readline libs have the rl_completion_append_character variable.])
 fi
 
 dnl
 fi
 
 dnl
@@ -432,8 +503,12 @@ 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
 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)
+       if test "$STATICZ" = yes; then
+               ZLIB="-Wl,-Bstatic -lz -Wl,-Bdynamic"
+       else
+               ZLIB="-lz"
+       fi
+       AC_DEFINE([HAVE_ZLIB],1,[Define this if you have zlib compression library.])
 else
        ZLIB=""
 fi
 else
        ZLIB=""
 fi
@@ -445,8 +520,12 @@ 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
 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)
+       if test "$STATICZ" = yes; then
+               BZLIB="-Wl,-Bstatic -lbz2 -Wl,-Bdynamic"
+       else
+               BZLIB="-lbz2"
+       fi
+       AC_DEFINE([HAVE_BZLIB],1,[Define this if you have bzlib compression library.])
 else
        BZLIB=""
 fi
 else
        BZLIB=""
 fi
@@ -471,7 +550,7 @@ if test "$ac_cv_func_glob" = "yes"; then
 #      endif
        ], 
        [
 #      endif
        ], 
        [
-       AC_DEFINE(HAVE_GLOB)
+       AC_DEFINE([HAVE_GLOB],1,[Define if you have the glob function.])
        AC_MSG_RESULT(yes)
        ],
        [
        AC_MSG_RESULT(yes)
        ],
        [