]> git.wh0rd.org - dump.git/blobdiff - configure.in
Regenerate configure.
[dump.git] / configure.in
index 9a980eaa0ce57273e04914ddca4dcaed2e7957d1..70d7f68be93e73b6128d5d063b8219ba1b8abd32 100644 (file)
@@ -1,4 +1,5 @@
 AC_INIT(dump/dump.h)
+AC_PREREQ(2.57)
 
 MCONFIG=./MCONFIG
 AC_SUBST_FILE(MCONFIG)
@@ -19,6 +20,10 @@ AC_CHECK_TOOL(PATCH, patch, :)
 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
@@ -60,6 +65,24 @@ echo "Linking dump and restore dynamically by default"
 )
 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
@@ -90,7 +113,6 @@ AC_ARG_ENABLE([ermt],
 if test "$enableval" = "no"
 then
        ERMT=""
-       CRYPTO=""
        echo "Not compiling ermt"
 else
        if test "$RMTDIR" = ""
@@ -98,16 +120,13 @@ else
                AC_MSG_ERROR(ermt requires --enable-rmt)
        fi
        ERMT="ermt"
-       CRYPTO="-lcrypto"
        echo "Compiling ermt"
 fi
 ,
 ERMT=""
-CRYPTO=""
 echo "Not compiling ermt by default"
 )
 AC_SUBST(ERMT)
-AC_SUBST(CRYPTO)
 
 dnl
 dnl Handle --enable-kerberos
@@ -138,16 +157,15 @@ then
        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
 ,
-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"
 )
-AC_SUBST(READLINE)
 
 dnl
 dnl Handle --enable-oldsylefscript
@@ -156,7 +174,7 @@ AC_ARG_ENABLE([oldstylefscript],
 [  --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"
@@ -172,13 +190,13 @@ AC_ARG_ENABLE([largefile],
 [  --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
 ,
-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"
 )
 
@@ -189,13 +207,13 @@ AC_ARG_ENABLE([qfa],
 [  --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
 ,
-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"
 )
 
@@ -206,7 +224,7 @@ AC_ARG_ENABLE([qfadebug],
 [  --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"
@@ -215,6 +233,46 @@ fi
 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 Handle --enable-transselinux
+dnl
+AC_ARG_ENABLE([transselinux],
+[  --enable-transselinux      restore can translate SELinux EAs (default is YES)],
+if test "$enableval" = "yes"
+then
+       LTRANSSELINUX="-lselinux"
+       CCTRANSSELINUX="-DTRANSSELINUX"
+       echo "restore can translate SELinux EAs"
+else
+       LTRANSSELINUX=""
+       CCTRANSSELINUX=""
+       echo "restore can not translate SELinux EAs"
+fi
+,
+LTRANSSELINUX="-lselinux"
+CCTRANSSELINUX="-DTRANSSELINUX"
+echo "restore can translate SELinux EAs by default"
+)
+AC_SUBST(LTRANSSELINUX)
+AC_SUBST(CCTRANSSELINUX)
+
+
 dnl
 dnl set $(CC) from --with-cc=value
 dnl
@@ -349,11 +407,22 @@ dnl
 dnl Check for Ext2fs headers and libraries
 dnl
 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
+PKG_CHECK_MODULES(EXT2FS, [ext2fs])
+if test -n "$STATIC" ; then
+       EXT2FS_LIBS=`$PKG_CONFIG --libs --static ext2fs`
+fi
+if test "$ext2fs_h" = no -o "x$EXT2FS_LIBS" = "x"; then
        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
@@ -371,7 +440,8 @@ AC_TRY_COMPILE([#include <stdio.h>
 #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
@@ -386,36 +456,68 @@ AC_TRY_COMPILE([#include <stdio.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_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
-dnl Check for termcap libraries
+dnl Check for blkid headers libraries
+dnl
+AC_CHECK_HEADER(blkid/blkid.h, [blkid_h=yes], [blkid_h=no], [-])
+PKG_CHECK_EXISTS([blkid],
+       [
+       if test -n $STATIC ; then
+               BLKID=`$PKG_CONFIG --libs --static blkid`
+       else
+               BLKID=`$PKG_CONFIG --libs blkid`
+       fi
+       if test "$blkid_h" = yes ; then
+               AC_DEFINE([HAVE_BLKID],1,[Define this if you have the blkid library.])
+       fi
+       ],[BLKID=""])
+AC_SUBST(BLKID)
+
+dnl
+dnl Check for ncurses or termcap libraries
 dnl
+AC_CHECK_LIB(ncurses, tgetent, [ncurses_lib=yes], [ncurses_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)
+AC_CHECK_LIB(tinfo, tgetent, [tinfo_lib=yes], [tinfo_lib=no])
+
+if test "$ncurses_lib" = no -a "$termcap_lib" = no -a "$tinfo_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
+if test "$tinfo_lib" = yes; then
+       rdllib="-ltinfo"
+elif 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], [-])
-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" = "-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
+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
-       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
@@ -423,17 +525,21 @@ 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)
+       AC_DEFINE([HAVE_READLINE_CAC],1,[Define this if your readline libs have the rl_completion_append_character variable.])
 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])
+AC_CHECK_LIB(z, zlibVersion, [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
@@ -445,13 +551,34 @@ 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)
+       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
 AC_SUBST(BZLIB)
 
+dnl
+dnl Check for sqlite3 headers and libraries
+dnl
+AC_CHECK_HEADER(sqlite3.h, [sqlite3_h=yes], [sqlite3_h=no], [-])
+AC_CHECK_LIB(sqlite3, sqlite3_initialize, [sqlite3_lib=yes], [sqlite3_lib=no])
+if test "$sqlite3_h" = yes -a "$sqlite3_lib" = yes; then
+    if test "$STATICZ" = yes; then
+        SQLITE3="-Wl,-Bstatic -lsqlite3 -Wl,-Bdynamic"
+    else
+        SQLITE3="-lsqlite3"
+    fi
+    AC_DEFINE([HAVE_SQLITE3],1,[Define this if you have sqlite3 library.])
+else
+    SQLITE3=""
+fi
+AC_SUBST(SQLITE3)
+
 dnl
 dnl Check for library functions
 dnl
@@ -471,7 +598,7 @@ if test "$ac_cv_func_glob" = "yes"; then
 #      endif
        ], 
        [
-       AC_DEFINE(HAVE_GLOB)
+       AC_DEFINE([HAVE_GLOB],1,[Define if you have the glob function.])
        AC_MSG_RESULT(yes)
        ],
        [
@@ -481,15 +608,24 @@ if test "$ac_cv_func_glob" = "yes"; then
 fi
 
 dnl
-dnl Check for OpenSSL, for ermt
+dnl Check for OpenSSL, for ermt and encryption.
 dnl
-if test "$ERMT" != ""; then
-       AC_CHECK_HEADER(openssl/evp.h, [evp_h=yes], [evp_h=no])
-       AC_CHECK_LIB(crypto, EVP_CIPHER_CTX_set_padding, [crypto_lib=yes], [crypto_lib=no])
-       if test "$evp_h" = no -o "$crypto_lib" = no; then
+AC_CHECK_HEADER(openssl/evp.h, [evp_h=yes], [evp_h=no])
+AC_CHECK_LIB(crypto, EVP_CIPHER_CTX_set_padding, [crypto_lib=yes], [crypto_lib=no])
+if test "$evp_h" = yes -a "$crypto_lib" = yes; then
+       if test "$STATICZ" = yes; then
+               SSLLIB="-Wl,-Bstatic -lssl -Wl,-Bdynamic"
+       else
+               SSLLIB="-lssl"
+       fi
+       AC_DEFINE([HAVE_OPENSSL],1,[Define this if you have openssl library.])
+else
+       SSLLIB=""
+       if test "$ERMT" != ""; then
                AC_MSG_ERROR(You need to install the OpenSSL library (version 0.9.7a or later), or configure without --enable-ermt)
        fi
 fi
+AC_SUBST(SSLLIB)
 
 dnl
 dnl Check for types
@@ -512,4 +648,4 @@ test -d compat/lib || mkdir compat/lib
 dnl
 dnl Output files
 dnl
-AC_OUTPUT(MCONFIG Makefile common/Makefile compat/include/Makefile compat/lib/Makefile dump/Makefile restore/Makefile $RMTMAKEFILE)
+AC_OUTPUT(MCONFIG Makefile common/Makefile compat/include/Makefile compat/lib/Makefile dump/Makefile restore/Makefile testing/Makefile $RMTMAKEFILE)