AC_INIT(dump/dump.h)
+AC_PREREQ(2.57)
MCONFIG=./MCONFIG
AC_SUBST_FILE(MCONFIG)
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
)
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
if test "$enableval" = "no"
then
ERMT=""
- CRYPTO=""
echo "Not compiling ermt"
else
if test "$RMTDIR" = ""
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
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
[ --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"
[ --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"
)
[ --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"
)
[ --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 "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
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
#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
#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
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
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
# endif
],
[
- AC_DEFINE(HAVE_GLOB)
+ AC_DEFINE([HAVE_GLOB],1,[Define if you have the glob function.])
AC_MSG_RESULT(yes)
],
[
])
fi
+dnl
+dnl Check for OpenSSL, for ermt and encryption.
+dnl
+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
dnl
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)