]> git.wh0rd.org - dump.git/blobdiff - configure.in
Regenerate configure.
[dump.git] / configure.in
index 4bc4abd93778ccc0364b295adeeafa136c6a8c3c..70d7f68be93e73b6128d5d063b8219ba1b8abd32 100644 (file)
@@ -65,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
@@ -95,7 +113,6 @@ AC_ARG_ENABLE([ermt],
 if test "$enableval" = "no"
 then
        ERMT=""
-       CRYPTO=""
        echo "Not compiling ermt"
 else
        if test "$RMTDIR" = ""
@@ -103,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
@@ -143,16 +157,15 @@ then
        READLINE=""
        echo "Not including readline support"
 else
-       READLINE="-lreadline -ltermcap"
+       READLINE="yes"
        AC_DEFINE([HAVE_READLINE],1,[Define if you want to include readline support.])
        echo "Including readline support"
 fi
 ,
-READLINE="-lreadline -ltermcap"
+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
@@ -220,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
@@ -354,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
@@ -397,25 +461,56 @@ AC_TRY_COMPILE([#include <stdio.h>
 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
@@ -437,9 +532,13 @@ 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"
+       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=""
@@ -452,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"
+       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
@@ -488,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
@@ -519,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)