]> git.wh0rd.org - dump.git/blobdiff - configure.in
More improvements from Aaron S. Hawley <aaron.s.hawley@gmail.com>.
[dump.git] / configure.in
index 4bc4abd93778ccc0364b295adeeafa136c6a8c3c..85215ae23e8d8ee99ae5e4f2224f7da1a4a84173 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
@@ -143,16 +161,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 +237,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
@@ -359,6 +416,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
 
+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 +462,50 @@ 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], [-])
+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 -ldevmapper -lselinux -lsepol"
+fi
+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
@@ -439,7 +529,11 @@ 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"
+       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,7 +546,11 @@ 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=""