X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=configure.in;h=01e8290041036a83baf7740797c8361b5ba9462c;hb=814dc05673af0e879ba073c9010b78266f832bf6;hp=9039b7d29a6e54a97467e27c16eee97fabb77ca3;hpb=877eb6d9234f529594daf7850c2bafc02bdbdcd9;p=tools%2Fe2fsprogs.git diff --git a/configure.in b/configure.in index 9039b7d..01e8290 100644 --- a/configure.in +++ b/configure.in @@ -10,6 +10,7 @@ E2FSPROGS_VERSION=`grep E2FSPROGS_VERSION ${srcdir}/version.h \ | awk '{print $3}' | tr \" " " | awk '{print $1}'` DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \ | tr \" " "` +E2FSPROGS_DAY=`echo $DATE | awk -F- '{print $1}'` MONTH=`echo $DATE | awk -F- '{print $2}'` YEAR=`echo $DATE | awk -F- '{print $3}'` @@ -42,8 +43,9 @@ echo "Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION" echo "Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}" AC_SUBST(E2FSPROGS_YEAR) AC_SUBST(E2FSPROGS_MONTH) +AC_SUBST(E2FSPROGS_DAY) AC_SUBST(E2FSPROGS_VERSION) -AC_REQUIRE([AC_CANONICAL_HOST]) +AC_CANONICAL_HOST dnl dnl set $(CC) from --with-cc=value dnl @@ -125,6 +127,73 @@ fi echo "Disabling compression support by default" ) dnl +dnl handle --enable-htree +dnl +AC_ARG_ENABLE([htree], +[ --enable-htree enable EXPERIMENTAL htree directory support], +if test "$enableval" = "no" +then + HTREE_CMT=# + echo "Disabling htree directory support" +else + HTREE_CMT= + AC_DEFINE(ENABLE_HTREE) + echo "Enabling htree directory support" +fi +, +HTREE_CMT= +AC_DEFINE(ENABLE_HTREE) +echo "Enabling htree directory support by default" +) +AC_SUBST(HTREE_CMT) +dnl +dnl handle --enable-clear-htree +dnl +AC_ARG_ENABLE([htree-clear], +[ --enable-htree-clear clear htree because we don't trust e2fsck], +if test "$enableval" = "no" +then + HTREE_CLR_CMT=# + echo "Disabling htree clearing" +else + HTREE_CLR_CMT= + AC_DEFINE(ENABLE_HTREE_CLEAR) + echo "Enabling htree clearing" +fi +, +HTREE_CLR_CMT=# +echo "Disabling htree clearing by default" +) +AC_SUBST(HTREE_CLR_CMT) +dnl +dnl handle --enable-emvs-10 +dnl +EVMS_ABI_CODE=120 +AC_ARG_ENABLE([evms-10], +[ --enable-evms-10 use EVMS 1.0 ABI (instead of EVMS 1.2)], +if test "$enableval" != "no" +then + EVMS_ABI_CODE=100 + echo "Enabling EVMS 1.0.0 ABI" +fi +) +dnl +dnl handle --enable-emvs-11 +dnl +AC_ARG_ENABLE([evms-11], +[ --enable-evms-11 use EVMS 1.1 ABI (instead of EVMS 1.1)], +if test "$enableval" != "no" +then + EVMS_ABI_CODE=110 + echo "Enabling EVMS 1.1.0 ABI" +fi +) +if test "$EVMS_ABI_CODE" = "120" +then + echo "Using EVMS 1.2.0 ABI by default" +fi +AC_SUBST(EVMS_ABI_CODE) +dnl dnl handle --enable-dll-shlibs dnl AC_ARG_ENABLE([dll-shlibs], @@ -191,6 +260,12 @@ else BSDLIB_CMT= MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib LIB_EXT=.so + [case "$host_os" in + darwin*) + MAKEFILE_BSDLIB=$srcdir/lib/Makefile.darwin-lib + LIB_EXT=.dylib + ;; + esac] echo "Enabling BSD shared libraries" fi , @@ -201,53 +276,6 @@ echo "Disabling BSD shared libraries by default" AC_SUBST(BSDLIB_CMT) AC_SUBST_FILE(MAKEFILE_BSDLIB) dnl -dnl handle --enable-jfs-debug -dnl -AC_ARG_ENABLE([jfs-debug], -[ --enable-jfs-debug enable journal debugging], -if test "$enableval" = "no" -then - echo "Disabling journal debugging" -else - AC_DEFINE(JFS_DEBUG) - echo "Enabling journal debugging" -fi -, -echo "Disabling journal debugging by default" -) -dnl -dnl handle --enable-swapfs -dnl -AC_ARG_ENABLE([swapfs], -[ --disable-swapfs disable support of legacy byte-swapped filesystems], -if test "$enableval" = "no" -then - echo "Disabling swapfs support" - SWAPFS_CMT="#" -else - AC_DEFINE(ENABLE_SWAPFS) - SWAPFS_CMT= - echo "Enabling swapfs support" -fi -, -echo "Enabling swapfs support by default" -AC_DEFINE(ENABLE_SWAPFS) -SWAPFS_CMT= -) -AC_SUBST(SWAPFS_CMT) -dnl -dnl Add internationalization support, using gettext. -dnl -PACKAGE=e2fsprogs -VERSION="$E2FSPROGS_VERSION" -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") -AC_DEFINE_UNQUOTED(VERSION, "$VERSION") -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) - -ALL_LINGUAS="it nyc" -AM_GNU_GETTEXT -dnl dnl handle --enable-profile dnl AC_ARG_ENABLE([profile], @@ -299,6 +327,110 @@ AC_SUBST(LIB_EXT) AC_SUBST(STATIC_LIB_EXT) AC_SUBST(PROFILED_LIB_EXT) dnl +dnl handle --enable-jbd-debug +dnl +AC_ARG_ENABLE([jbd-debug], +[ --enable-jbd-debug enable journal debugging], +if test "$enableval" = "no" +then + echo "Disabling journal debugging" +else + AC_DEFINE(CONFIG_JBD_DEBUG) + echo "Enabling journal debugging" +fi +, +echo "Disabling journal debugging by default" +) +dnl +dnl handle --enable-blkid-debug +dnl +AC_ARG_ENABLE([blkid-debug], +[ --enable-blkid-debug enable blkid debugging], +if test "$enableval" = "no" +then + echo "Disabling blkid debugging" +else + AC_DEFINE(CONFIG_BLKID_DEBUG) + echo "Enabling blkid debugging" +fi +, +echo "Disabling blkid debugging by default" +) +dnl +dnl handle --enable-swapfs +dnl +AC_ARG_ENABLE([swapfs], +[ --disable-swapfs disable support of legacy byte-swapped filesystems], +if test "$enableval" = "no" +then + SWAPFS_CMT=# + echo "Disabling swapfs support" +else + SWAPFS_CMT= + AC_DEFINE(ENABLE_SWAPFS) + echo "Enabling swapfs support" +fi +, +SWAPFS_CMT= +echo "Enabling swapfs support by default" +AC_DEFINE(ENABLE_SWAPFS) +) +AC_SUBST(SWAPFS_CMT) +dnl +dnl handle --enable-debugfs +dnl +AC_ARG_ENABLE([debugfs], +[ --disable-debugfs disable support of debugfs program], +if test "$enableval" = "no" +then + echo "Disabling debugfs support" + DEBUGFS_CMT="#" +else + DEBUGFS_CMT= + echo "Enabling debugfs support" +fi +, +echo "Enabling debugfs support by default" +DEBUGFS_CMT= +) +AC_SUBST(DEBUGFS_CMT) +dnl +dnl handle --enable-imager +dnl +AC_ARG_ENABLE([imager], +[ --disable-imager disable support of e2image program], +if test "$enableval" = "no" +then + echo "Disabling e2image support" + IMAGER_CMT="#" +else + IMAGER_CMT= + echo "Enabling e2image support" +fi +, +echo "Enabling e2image support by default" +IMAGER_CMT= +) +AC_SUBST(IMAGER_CMT) +dnl +dnl handle --enable-resizer +dnl +AC_ARG_ENABLE([resizer], +[ --disable-resizer disable support of e2resize program], +if test "$enableval" = "no" +then + echo "Disabling e2resize support" + RESIZER_CMT="#" +else + RESIZER_CMT= + echo "Enabling e2resize support" +fi +, +echo "Enabling e2resize support by default" +RESIZER_CMT= +) +AC_SUBST(RESIZER_CMT) +dnl dnl handle --enable-dynamic-e2fsck dnl AC_ARG_ENABLE([dynamic-e2fsck], @@ -362,6 +494,18 @@ fi echo "Using standard bitmask operations by default" ) dnl +dnl Add internationalization support, using gettext. +dnl +PACKAGE=e2fsprogs +VERSION="$E2FSPROGS_VERSION" +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") +AC_DEFINE_UNQUOTED(VERSION, "$VERSION") +AC_SUBST(PACKAGE) +AC_SUBST(VERSION) + +ALL_LINGUAS="it nyc tr de de-utf" +AM_GNU_GETTEXT +dnl dnl End of configuration options dnl AC_SUBST(BINARY_TYPE) @@ -387,24 +531,30 @@ if test $cross_compiling = no; then else AC_CHECK_PROGS(BUILD_CC, gcc cc) fi -AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h signal.h termios.h linux/fd.h linux/major.h sys/disklabel.h sys/ioctl.h sys/mkdev.h sys/mount.h sys/sockio.h sys/sysmacros.h sys/time.h sys/stat.h sys/types.h net/if.h netinet/in.h) +AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h signal.h termios.h linux/fd.h linux/major.h sys/disklabel.h sys/ioctl.h sys/mkdev.h sys/mount.h sys/sockio.h sys/socket.h sys/sysmacros.h sys/time.h sys/stat.h sys/types.h sys/wait.h sys/resource.h net/if.h netinet/in.h) AC_FUNC_VPRINTF -dnl -dnl See if struct dirent has a d_namlen field (like bsd systems), implying -dnl that the actual length of the structure may be grater than the declared -dnl length. -dnl -AC_MSG_CHECKING(whether struct dirent has a d_namlen field) -AC_CACHE_VAL(e2fsprogs_cv_struct_d_namlen, +dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen +dnl is not decleared. +AC_MSG_CHECKING(whether d_reclen declared in dirent) +AC_CACHE_VAL(e2fsprogs_cv_have_d_reclen_dirent, AC_TRY_COMPILE( -[#include -#include ], - [struct dirent de; de.d_namlen = 0;], - [e2fsprogs_cv_struct_d_namlen=yes], - [e2fsprogs_cv_struct_d_namlen=no])) -AC_MSG_RESULT($e2fsprogs_cv_struct_d_namlen) -if test "$e2fsprogs_cv_struct_d_namlen" = yes; then - AC_DEFINE(HAVE_DIRENT_NAMLEN) +[#include ], [struct dirent de; de.d_reclen = 0; ], + [e2fsprogs_cv_have_d_reclen_dirent=yes], + [e2fsprogs_cv_have_d_reclen_dirent=no])) +AC_MSG_RESULT($e2fsprogs_cv_have_d_reclen_dirent) +if test "$e2fsprogs_cv_have_d_reclen_dirent" = yes; then + AC_DEFINE(HAVE_RECLEN_DIRENT) +fi +dnl Check to see if ssize_t was decleared +AC_MSG_CHECKING(whether ssize_t declared) +AC_CACHE_VAL(e2fsprogs_cv_have_ssize_t, + AC_TRY_COMPILE( +[#include ], [ssize_t a = 0; ], + [e2fsprogs_cv_have_ssize_t=yes], + [e2fsprogs_cv_have_ssize_t=no])) +AC_MSG_RESULT($e2fsprogs_cv_have_ssize_t) +if test "$e2fsprogs_cv_have_ssize_t" = yes; then + AC_DEFINE(HAVE_TYPE_SSIZE_T) fi dnl dnl Check to see if llseek() is declared in unistd.h. On some libc's @@ -491,7 +641,7 @@ if test "$e2fsprogs_cv_struct_st_flags" = yes; then AC_DEFINE(HAVE_STAT_FLAGS) fi fi -AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 strdup getmntinfo strcasecmp srandom fchown mallinfo fdatasync) +AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 getmntinfo strtoull strcasecmp srandom fchown mallinfo fdatasync strnlen sysconf pathconf) dnl dnl Check to see if -lsocket is required (solaris) to make something dnl that uses socket() to compile; this is needed for the UUID library @@ -500,6 +650,14 @@ SOCKET_LIB='' AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket]) AC_SUBST(SOCKET_LIB) dnl +dnl Check to see if libdl exists for the sake of dlopen +dnl +DLOPEN_LIB='' +AC_CHECK_LIB(dl, dlopen, +[DLOPEN_LIB=-ldl +AC_DEFINE(HAVE_DLOPEN)]) +AC_SUBST(DLOPEN_LIB) +dnl dnl See if optreset exists dnl AC_MSG_CHECKING(for optreset) @@ -519,6 +677,25 @@ linux*) ;; esac dnl +dnl OS-specific uncomment control +dnl +LINUX_CMT="#" +CYGWIN_CMT="#" +UNIX_CMT= +case "$host_os" in +linux*) + LINUX_CMT= + ;; +cygwin) + CYGWIN_CMT= + UNIX_CMT="#" + AC_DEFINE(CYGWIN) + ;; +esac +AC_SUBST(LINUX_CMT) +AC_SUBST(CYGWIN_CMT) +AC_SUBST(UNIX_CMT) +dnl dnl Linux and Hurd places root files in the / by default dnl case "$host_os" in @@ -537,6 +714,10 @@ linux* | gnu*) if test "$prefix" = NONE ; then prefix="/usr"; echo "On $host_os systems, prefix defaults to /usr" + if test "$mandir" = '${prefix}/man' ; then + echo "...and mandir defaults to /usr/share/man" + mandir=/usr/share/man + fi fi ;; esac @@ -546,8 +727,21 @@ if test "$root_prefix" = NONE ; then else root_prefix="$prefix" fi + root_bindir=$bindir + root_sbindir=$sbindir + root_libdir=$libdir + root_sysconfdir=$sysconfdir +else + root_bindir='${root_prefix}/bin' + root_sbindir='${root_prefix}/sbin' + root_libdir='${root_prefix}/lib' + root_sysconfdir='${root_prefix}/etc' fi AC_SUBST(root_prefix) +AC_SUBST(root_bindir) +AC_SUBST(root_sbindir) +AC_SUBST(root_libdir) +AC_SUBST(root_sysconfdir) dnl dnl See if -static works. dnl @@ -599,12 +793,16 @@ test -d lib || mkdir lib test -d include || mkdir include test -d include/linux || mkdir include/linux test -d include/asm || mkdir include/asm -rmakefile= -if test -d ${srcdir}/resize ; then - rmakefile=resize/Makefile -fi -AC_OUTPUT(MCONFIG Makefile util/Makefile util/subst.conf lib/et/Makefile - lib/ss/Makefile lib/ext2fs/Makefile lib/e2p/Makefile lib/uuid/Makefile - misc/Makefile e2fsck/Makefile debugfs/Makefile tests/Makefile - tests/progs/Makefile $rmakefile doc/Makefile - intl/Makefile po/Makefile.in) +for i in MCONFIG Makefile e2fsprogs.spec \ + util/Makefile util/subst.conf util/gen-tarball \ + lib/et/Makefile lib/ss/Makefile lib/ext2fs/Makefile lib/e2p/Makefile \ + lib/uuid/Makefile lib/uuid/uuid_types.h \ + lib/blkid/Makefile lib/blkid/blkid_types.h \ + lib/evms/Makefile misc/Makefile ext2ed/Makefile e2fsck/Makefile \ + debugfs/Makefile tests/Makefile tests/progs/Makefile \ + resize/Makefile doc/Makefile intl/Makefile po/Makefile.in ; do + if test -d `dirname ${srcdir}/$i` ; then + outlist="$outlist $i" + fi +done +AC_OUTPUT($outlist)