X-Git-Url: https://git.wh0rd.org/?p=dump.git;a=blobdiff_plain;f=configure.in;h=85215ae23e8d8ee99ae5e4f2224f7da1a4a84173;hp=9a980eaa0ce57273e04914ddca4dcaed2e7957d1;hb=4cef8778dc5913718fc8a1963fd58993c14657ba;hpb=1828288114146017e0fc526d41b494a1d7bd3a2c diff --git a/configure.in b/configure.in index 9a980ea..85215ae 100644 --- a/configure.in +++ b/configure.in @@ -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 @@ -138,16 +161,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 +178,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 +194,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 +211,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 +228,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 +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 @@ -354,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 @@ -371,7 +441,8 @@ AC_TRY_COMPILE([#include #endif #include ], [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 +457,62 @@ AC_TRY_COMPILE([#include #endif #include ], [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], [-]) +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 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,7 +520,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 - 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 @@ -432,8 +529,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 - 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,8 +546,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 - 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 @@ -471,7 +576,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) ], [