fi
case $MONTH in
-Jan) E2FSPROGS_MONTH="January" ;;
-Feb) E2FSPROGS_MONTH="February" ;;
-Mar) E2FSPROGS_MONTH="March" ;;
-Apr) E2FSPROGS_MONTH="April" ;;
-May) E2FSPROGS_MONTH="May" ;;
-Jun) E2FSPROGS_MONTH="June" ;;
-Jul) E2FSPROGS_MONTH="July" ;;
-Aug) E2FSPROGS_MONTH="August" ;;
-Sep) E2FSPROGS_MONTH="September" ;;
-Oct) E2FSPROGS_MONTH="October" ;;
-Nov) E2FSPROGS_MONTH="November" ;;
-Dec) E2FSPROGS_MONTH="December" ;;
+Jan) MONTH_NUM=01; E2FSPROGS_MONTH="January" ;;
+Feb) MONTH_NUM=02; E2FSPROGS_MONTH="February" ;;
+Mar) MONTH_NUM=03; E2FSPROGS_MONTH="March" ;;
+Apr) MONTH_NUM=04; E2FSPROGS_MONTH="April" ;;
+May) MONTH_NUM=05; E2FSPROGS_MONTH="May" ;;
+Jun) MONTH_NUM=06; E2FSPROGS_MONTH="June" ;;
+Jul) MONTH_NUM=07; E2FSPROGS_MONTH="July" ;;
+Aug) MONTH_NUM=08; E2FSPROGS_MONTH="August" ;;
+Sep) MONTH_NUM=09; E2FSPROGS_MONTH="September" ;;
+Oct) MONTH_NUM=10; E2FSPROGS_MONTH="October" ;;
+Nov) MONTH_NUM=11; E2FSPROGS_MONTH="November" ;;
+Dec) MONTH_NUM=12; E2FSPROGS_MONTH="December" ;;
*) echo "Unknown month $MONTH??" ;;
esac
-unset DATE MONTH YEAR
+base_ver=`echo $E2FSPROGS_VERSION | \
+ sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS//'`
+
+date_spec=${E2FSPROGS_YEAR}.${MONTH_NUM}.${E2FSPROGS_DAY}
+
+case $E2FSPROGS_VERSION in
+*-WIP|pre-*)
+ pre_vers=`echo $base_ver 0.01 - p | dc`
+ E2FSPROGS_PKGVER="$pre_vers+${base_ver}_WIP_$date_spec"
+ ;;
+*)
+ E2FSPROGS_PKGVER="$base_ver"
+ ;;
+esac
+
+unset DATE MONTH YEAR base_ver pre_vers date_spec
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_SUBST(E2FSPROGS_PKGVER)
AC_CANONICAL_HOST
dnl
dnl Use diet libc
dnl
AC_ARG_WITH([diet-libc],
-[ --with-diet-libc Use diet libc],
+[ --with-diet-libc use diet libc],
CC="diet cc -nostdinc"
AC_MSG_RESULT(CC=$CC))dnl
dnl
export CC
AC_SUBST([CC])
AC_PROG_CC
+AC_PROG_CPP
dnl
dnl set $(LD) from --with-linker=value
dnl
)
AC_SUBST(HTREE_CMT)
dnl
+dnl This needs to be before all of the --enable-*-shlibs options
+dnl
+E2_PKG_CONFIG_STATIC=--static
+dnl
dnl handle --enable-elf-shlibs
dnl
AC_ARG_ENABLE([elf-shlibs],
MAKEFILE_ELF=/dev/null
echo "Disabling ELF shared libraries"
else
+ E2_PKG_CONFIG_STATIC=
ELF_CMT=
MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib
[case "$host_os" in
MAKEFILE_BSDLIB=/dev/null
echo "Disabling BSD shared libraries"
else
+ E2_PKG_CONFIG_STATIC=
BSDLIB_CMT=
MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
LIB_EXT=.so
echo "Disabling testio 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],
)
AC_SUBST(RESIZER_CMT)
dnl
-dnl handle --enable-dynamic-e2fsck
-dnl
-AC_ARG_ENABLE([dynamic-e2fsck],
-[ --enable-dynamic-e2fsck build e2fsck dynamically],
-if test "$enableval" = "no"
-then
- E2FSCK_TYPE=static
- echo "Building e2fsck statically"
-else
- E2FSCK_TYPE=shared
- echo "Building e2fsck dynamically"
-fi
-,
-E2FSCK_TYPE=static
-echo "Building e2fsck statically by default"
-)
-AC_SUBST(E2FSCK_TYPE)
-dnl
dnl See whether to install the `fsck' wrapper program (that calls e2fsck)
dnl
AC_ARG_ENABLE([fsck],
AC_SUBST(E2INITRD_MAN)
dnl handle --enable-blkid-devmapper
dnl
+STATIC_BLKID_DEVMAPPER_LIBS=''
AC_ARG_ENABLE([blkid-devmapper],
[ --enable-blkid-devmapper build with device-mapper support],
[if test "$enableval" = "no"
AC_DEFINE(HAVE_DEVMAPPER)
echo "Enabling device-mapper support"
- DEVMAPPER_REQ='libselinux libsepol'
- DEVMAPPER_PC_LIBS='-ldevmapper'
- DEVMAPPER_LIBS='-lpthread -ldevmapper -lselinux -lsepol'
- STATIC_DEVMAPPER_LIBS='-lpthread /usr/lib/libdevmapper.a /usr/lib/libselinux.a /usr/lib/libsepol.a'
+ PKG_PROG_PKG_CONFIG()
+ if test -z "$PKG_CONFIG"; then
+ echo "pkg-config not installed; please install it."
+ exit 1;
+ fi
+
+ AC_CHECK_LIB(devmapper, dm_tree_create,
+ [DEVMAPPER_LIBS=`$PKG_CONFIG --libs devmapper`;
+ STATIC_DEVMAPPER_LIBS=`$PKG_CONFIG --static --libs devmapper`;
+ DEVMAPPER_REQ="devmapper";
+ DEVMAPPER_PC_LIBS="-ldevmapper"],
+ [AC_MSG_ERROR([device-mapper library not found])],
+ [$DEVMAPPER_LIBS])
+ # work around stupid devmapper.pc bug in Debian
+ case "$STATIC_DEVMAPPER_LIBS" in
+ *pthread*)
+ ;;
+ *)
+ echo "Working around Debian bug #390243..."
+ STATIC_DEVMAPPER_LIBS="-pthread $STATIC_DEVMAPPER_LIBS"
+ ;;
+ esac
+ if test "$E2_PKG_CONFIG_STATIC" = "--static"; then
+ DEVMAPPER_LIBS="$STATIC_DEVMAPPER_LIBS"
+ STATIC_BLKID_DEVMAPPER_LIBS="$STATIC_DEVMAPPER_LIBS"
+ fi
fi]
,
echo "Disabling device-mapper support by default"
AC_SUBST(DEVMAPPER_PC_LIBS)
AC_SUBST(DEVMAPPER_LIBS)
AC_SUBST(STATIC_DEVMAPPER_LIBS)
+AC_SUBST(STATIC_BLKID_DEVMAPPER_LIBS)
+dnl
+dnl
+dnl
+AC_ARG_ENABLE([tls],
+[ --disable-tls disable use of thread local support],
+[if test "$enableval" = "no"
+then
+ try_tls=""
+ echo "Disabling thread local support"
+else
+ try_tls="yes"
+ echo "Enabling thread local support"
+fi]
+,
+try_tls="yes"
+echo "Try using thread local support by default"
+)
+if test "$try_tls" = "yes"
+then
+AX_TLS
+fi
+dnl
+dnl
+dnl
+AC_ARG_ENABLE([uuidd],
+[ --disable-uuidd disable building the uuid daemon],
+[if test "$enableval" = "no"
+then
+ echo "Not building uuidd"
+ UUIDD_CMT="#"
+else
+ AC_DEFINE(USE_UUIDD)
+ UUIDD_CMT=""
+ echo "Building uuidd"
+fi]
+,
+AC_DEFINE(USE_UUIDD)
+UUIDD_CMT=""
+echo "Building uuidd by default"
+)
+AC_SUBST(UUIDD_CMT)
dnl
dnl
dnl
AC_CHECK_TOOL(AR, ar, ar)
AC_CHECK_TOOL(RANLIB, ranlib, :)
AC_CHECK_TOOL(STRIP, strip, :)
+AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, )
+if test "_$MAKEINFO" = "_"; then
+ MAKEINFO="@echo Makeinfo is missing. Info documentation will not be built.;true"
+else
+ case "$MAKEINFO" in
+ */missing.*)
+ AC_MSG_WARN([
+*** Makeinfo is missing. Info documentation will not be built.])
+ ;;
+ *)
+ ;;
+ esac
+fi
+AC_SUBST(MAKEINFO)
AC_PROG_INSTALL
# See if we need a separate native compiler.
if test $cross_compiling = no; then
else
AC_CHECK_PROGS(BUILD_CC, gcc cc)
fi
-AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.h stdint.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/prctl.h sys/queue.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_dl.h netinet/in.h)
+AC_CHECK_HEADERS(dirent.h errno.h getopt.h malloc.h mntent.h paths.h setjmp.h signal.h stdarg.h stdint.h stdlib.h termios.h unistd.h utime.h linux/fd.h linux/major.h net/if_dl.h netinet/in.h sys/disklabel.h sys/ioctl.h sys/mkdev.h sys/mman.h sys/prctl.h sys/queue.h sys/resource.h sys/select.h sys/socket.h sys/sockio.h sys/stat.h sys/syscall.h sys/sysmacros.h sys/time.h sys/types.h sys/un.h sys/wait.h)
AC_CHECK_HEADERS(sys/disk.h sys/mount.h,,,
[[
#if HAVE_SYS_QUEUE_H
dnl
dnl Word sizes...
dnl
-if test "$cross_compiling" = yes -a "$ac_cv_sizeof_long" = ""; then
- # if cross-compiling, with no cached values, just assume something common.
- ac_cv_sizeof_short=2
- ac_cv_sizeof_int=4
- ac_cv_sizeof_long=4
- ac_cv_sizeof_long_long=8
- AC_MSG_WARN([Cross-compiling, so cannot check type sizes; assuming short=2, int=4, long=4, long long=8])
-fi
AC_CHECK_SIZEOF(short)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long)
AC_SUBST(SIZEOF_LONG)
AC_SUBST(SIZEOF_LONG_LONG)
AC_C_BIGENDIAN
-/bin/sh $ac_aux_dir/parse-types.sh
+BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
ASM_TYPES_HEADER=./asm_types.h
AC_SUBST_FILE(ASM_TYPES_HEADER)
dnl
+dnl Save the configuration #defines needed for the public ext2fs.h
+dnl header file
+dnl
+echo "/* These defines are needed for the public ext2fs.h header file */" \
+ > public_config.h
+if grep HAVE_SYS_TYPES_H confdefs.h > tmp_config.$$; then
+ uniq tmp_config.$$ >> public_config.h
+else
+ echo "#undef HAVE_SYS_TYPES_H" >> public_config.h
+fi
+if grep WORDS_BIGENDIAN confdefs.h > tmp_config.$$; then
+ uniq tmp_config.$$ >> public_config.h
+else
+ echo "#undef WORDS_BIGENDIAN" >> public_config.h
+fi
+rm -f tmp_config.$$
+PUBLIC_CONFIG_HEADER=./public_config.h
+AC_SUBST_FILE(PUBLIC_CONFIG_HEADER)
+dnl
dnl See if we have inttypes.h and if intptr_t is defined
dnl
AC_CHECK_HEADERS([inttypes.h])
[#include <sys/types.h>
#include <sys/socket.h>])
dnl
-AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 fstat64 getmntinfo strtoull strcasecmp srandom fchown mallinfo fdatasync strnlen strptime sysconf pathconf posix_memalign memalign valloc __secure_getenv prctl)
+AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 fstat64 ftruncate64 getmntinfo strtoull strcasecmp srandom jrand48 fchown mallinfo fdatasync strnlen strptime strdup sysconf pathconf posix_memalign memalign valloc __secure_getenv prctl mmap utime setresuid setresgid)
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
dnl Check for unified diff
dnl
AC_MSG_CHECKING(for unified diff option)
-if diff -u $0 $0 >& /dev/null ; then
+if diff -u $0 $0 > /dev/null 2>&1 ; then
UNI_DIFF_OPTS=-u
else
UNI_DIFF_OPTS=-c
root_libdir='${root_prefix}/lib'
root_sysconfdir='${root_prefix}/etc'
fi
+if test "$bindir" != '${exec_prefix}/bin'; then
+ root_bindir=$bindir
+ echo "Setting root_bindir to $root_bindir"
+fi
+if test "$sbindir" != '${exec_prefix}/sbin'; then
+ root_sbindir=$sbindir
+ echo "Setting root_sbindir to $root_sbindir"
+fi
+if test "$libdir" != '${exec_prefix}/lib'; then
+ root_libdir=$libdir
+ echo "Setting root_libdir to $root_libdir"
+fi
+if test "$sysconfdir" != '${prefix}/etc'; then
+ root_sysconfdir=$sysconfdir
+ echo "Setting root_sysconfdir to $root_sysconfdir"
+fi
AC_SUBST(root_prefix)
AC_SUBST(root_bindir)
AC_SUBST(root_sbindir)