summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in162
1 files changed, 138 insertions, 24 deletions
diff --git a/configure.in b/configure.in
index 32d57684..6592e707 100644
--- a/configure.in
+++ b/configure.in
@@ -1,8 +1,8 @@
AC_INIT(version.h)
-AC_PREREQ(2.50)
+AC_PREREQ(2.54)
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_HEADERS([lib/config.h])
-AH_BOTTOM([#include "dirpaths.h"])
+AH_BOTTOM([#include <dirpaths.h>])
MCONFIG=./MCONFIG
AC_SUBST_FILE(MCONFIG)
BINARY_TYPE=bin
@@ -63,15 +63,6 @@ AC_SUBST(E2FSPROGS_MONTH)
AC_SUBST(E2FSPROGS_DAY)
AC_SUBST(E2FSPROGS_VERSION)
AC_SUBST(E2FSPROGS_PKGVER)
-AC_CANONICAL_HOST
-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, 1, [Define to 1 if dlopen/libdl exists])])
-AC_SUBST(DLOPEN_LIB)
dnl
dnl Use diet libc
dnl
@@ -80,8 +71,24 @@ AC_ARG_WITH([diet-libc],
[ --with-diet-libc use diet libc],
CC="diet cc -nostdinc"
WITH_DIET_LIBC=yes
+if test -z "$LIBS"
+then
+ LIBS="-lcompat"
+else
+ LIBS="$LIBS -lcompat"
+fi
AC_MSG_RESULT(CC=$CC))dnl
dnl
+AC_CANONICAL_HOST
+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, 1, [Define to 1 if dlopen/libdl exists])])
+AC_SUBST(DLOPEN_LIB)
+dnl
AC_ARG_WITH([cc],
AC_HELP_STRING([--with-cc],[no longer supported, use CC= instead]),
AC_MSG_ERROR([--with-cc no longer supported; use CC= instead]))
@@ -164,10 +171,43 @@ else
fi
,
LINK_INSTALL_FLAGS=-f
-AC_MSG_RESULT([Disabling symlinks for install])
+AC_MSG_RESULT([Disabling symlinks for install by default])
)
AC_SUBST(LINK_INSTALL_FLAGS)
dnl
+dnl handle --enable-relative-symlinks
+dnl
+relative_symlink_defined=
+AC_ARG_ENABLE([relative-symlinks],
+[ --enable-relative-symlinks use relative symlinks when installing],
+if test "$enableval" = "no"
+then
+ SYMLINK_RELATIVE=
+ relative_symlink_defined=yes
+ AC_MSG_RESULT([Disabling relative symlinks for install])
+else
+ SYMLINK_RELATIVE=--relative
+ relative_symlink_defined=yes
+ AC_MSG_RESULT([Enabling relative symlinks for install])
+fi)
+AC_ARG_ENABLE([symlink-relative-symlinks],,
+if test "$enableval" = "no"
+then
+ SYMLINK_RELATIVE=yes
+ AC_MSG_RESULT([Disabling relative symlinks for install])
+else
+ SYMLINK_RELATIVE=--relative
+ AC_MSG_RESULT([Enabling relative symlinks for install])
+fi
+,
+if test -z "$relative_symlink_defined"
+then
+ SYMLINK_RELATIVE=
+AC_MSG_RESULT([Disabling relative symlinks for install by default])
+fi
+)
+AC_SUBST(SYMLINK_RELATIVE)
+dnl
dnl handle --enable-symlink-build
dnl
AC_ARG_ENABLE([symlink-build],
@@ -182,7 +222,7 @@ else
fi
,
LINK_BUILD_FLAGS=
-AC_MSG_RESULT([Disabling symlinks for build])
+AC_MSG_RESULT([Disabling symlinks for build by default])
)
AC_SUBST(LINK_BUILD_FLAGS)
dnl
@@ -194,18 +234,22 @@ if test "$enableval" = "no"
then
AC_MSG_RESULT([Disabling verbose make commands])
E=@echo
+ ES=echo
Q=@
else
AC_MSG_RESULT([Enabling verbose make commands])
E=@\\#
+ ES=\\#
Q=
fi
,
AC_MSG_RESULT([Disabling verbose make commands])
E=@echo
+ES=echo
Q=@
)
AC_SUBST(E)
+AC_SUBST(ES)
AC_SUBST(Q)
dnl
dnl handle --enable-compression
@@ -337,6 +381,18 @@ AC_MSG_RESULT([Disabling profiling libraries by default])
AC_SUBST(PROFILE_CMT)
AC_SUBST_FILE(MAKEFILE_PROFILE)
dnl
+dnl handle --enable-gcov
+dnl
+AC_ARG_ENABLE([gcov],
+[ --enable-gcov build for coverage testing using gcov],
+if test "$enableval" = "yes"
+then
+ CFLAGS="-g -fprofile-arcs -ftest-coverage"
+ LDFLAGS="-fprofile-arcs -ftest-coverage"
+ AC_MSG_RESULT([Enabling gcov support])
+fi
+)
+dnl
dnl handle --enable-checker
dnl
AC_ARG_ENABLE([checker],
@@ -528,18 +584,26 @@ AC_SUBST(BLKID_CMT)
dnl
dnl handle --enable-quota
dnl
+QUOTA_MAN_COMMENT='.\"'
+QUOTA_CMT=
+AC_SUBST(QUOTA_MAN_COMMENT)
PKG_PROG_PKG_CONFIG
AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support])
AC_ARG_ENABLE([quota],
-[ --enable-libquota enable quota support],
+[ --enable-quota enable quota support],
if test "$enableval" = "no"
then
+ QUOTA_CMT=#
AC_MSG_RESULT([Disabling quota support])
else
+ QUOTA_CMT=
AC_DEFINE(CONFIG_QUOTA, 1)
AC_MSG_RESULT([Enabling quota support])
+ QUOTA_MAN_COMMENT=""
+ AC_SUBST(QUOTA_MAN_COMMENT)
fi
,
+QUOTA_CMT=#
AC_MSG_RESULT([Disabling quota support by default])
)
dnl
@@ -559,6 +623,22 @@ AC_SUBST(PROFILED_LIBQUOTA)
AC_SUBST(DEPPROFILED_LIBQUOTA)
AC_SUBST(QUOTA_CMT)
dnl
+dnl handle --disable-backtrace
+dnl
+AH_TEMPLATE([DISABLE_BACKTRACE], [Define to 1 to disable use of backtrace])
+AC_ARG_ENABLE([backtrace],
+[ --disable-backtrace disable use backtrace],
+if test "$enableval" = "no"
+then
+ AC_MSG_RESULT([Disabling use of backtrace])
+ AC_DEFINE(DISABLE_BACKTRACE, 1)
+else
+ AC_MSG_RESULT([Enabling use of backtrace])
+fi
+,
+AC_MSG_RESULT([Enabling use of backtrace by default])
+)
+dnl
dnl handle --enable-debugfs
dnl
AC_ARG_ENABLE([debugfs],
@@ -626,8 +706,14 @@ else
AC_MSG_RESULT([Enabling e4defrag support])
fi
,
-AC_MSG_RESULT([Enabling e4defrag support by default])
-DEFRAG_CMT=
+if test -z "$WITH_DIET_LIBC"
+then
+ AC_MSG_RESULT([Enabling e4defrag support by default])
+ DEFRAG_CMT=
+else
+ AC_MSG_RESULT([Disabling e4defrag support by default])
+ DEFRAG_CMT="#"
+fi
)
AC_SUBST(DEFRAG_CMT)
dnl
@@ -805,6 +891,7 @@ AC_CHECK_HEADERS(m4_flatten([
linux/falloc.h
linux/fd.h
linux/major.h
+ linux/loop.h
net/if_dl.h
netinet/in.h
sys/disklabel.h
@@ -847,6 +934,7 @@ dnl is not decleared.
AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1,
[Define to 1 if dirent has d_reclen])],,
[#include <dirent.h>])
+AC_CHECK_MEMBERS([struct stat.st_atim])
dnl Check to see if ssize_t was declared
AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T, 1,
[Define to 1 if ssize_t declared])],,
@@ -879,16 +967,23 @@ AC_CHECK_SIZEOF(short)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(long long)
+AC_CHECK_SIZEOF(off_t)
SIZEOF_SHORT=$ac_cv_sizeof_short
SIZEOF_INT=$ac_cv_sizeof_int
SIZEOF_LONG=$ac_cv_sizeof_long
SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
+SIZEOF_OFF_T=$ac_cv_sizeof_off_t
AC_SUBST(SIZEOF_SHORT)
AC_SUBST(SIZEOF_INT)
AC_SUBST(SIZEOF_LONG)
AC_SUBST(SIZEOF_LONG_LONG)
+AC_SUBST(SIZEOF_OFF_T)
AC_C_BIGENDIAN
-BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
+if test $cross_compiling = no; then
+ BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
+else
+ CROSS_COMPILE="1" BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
+fi
ASM_TYPES_HEADER=./asm_types.h
AC_SUBST_FILE(ASM_TYPES_HEADER)
dnl
@@ -959,15 +1054,20 @@ AC_CHECK_FUNCS(m4_flatten([
__secure_getenv
backtrace
blkid_probe_get_topology
+ blkid_probe_enable_partitions
chflags
+ fadvise64
fallocate
fallocate64
fchown
fdatasync
fstat64
ftruncate64
+ futimes
+ getcwd
getdtablesize
getmntinfo
+ getpwuid_r
getrlimit
getrusage
jrand48
@@ -976,18 +1076,22 @@ AC_CHECK_FUNCS(m4_flatten([
mallinfo
mbstowcs
memalign
+ mempcpy
mmap
msync
nanosleep
open64
pathconf
posix_fadvise
+ posix_fadvise64
posix_memalign
prctl
- quotactl
+ secure_getenv
+ setmntent
setresgid
setresuid
srandom
+ stpcpy
strcasecmp
strdup
strnlen
@@ -1138,13 +1242,20 @@ dnl Allow specification of the multiarch arch
dnl
AC_ARG_WITH([multiarch],
[ --with-multiarch=ARCH specify the multiarch triplet],
-libdir=$libdir/$withval
-root_libdir=$root_libdir/$withval
+if test "$withval" = "lib64"; then
+ libdir=/usr/lib64
+ root_libdir=/lib64
+else
+ libdir=$libdir/$withval
+ root_libdir=$root_libdir/$withval
+fi
)dnl
dnl
-dnl See if -static works.
+dnl See if -static works. This could fail if the linker does not
+dnl support -static, or if required external libraries are not available
+dnl in static form.
dnl
-AC_MSG_CHECKING([whether linker accepts -static])
+AC_MSG_CHECKING([whether we can link with -static])
AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
[SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
@@ -1206,12 +1317,15 @@ fi
if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl'
fi
+if test -n "$WITH_DIET_LIBC" ; then
+ INCLUDES="$INCLUDES -D_REENTRANT"
+fi
AC_SUBST(INCLUDES)
dnl
dnl Build CFLAGS
dnl
if test $cross_compiling = no; then
- BUILD_CFLAGS="$CFLAGS"
+ BUILD_CFLAGS="$CFLAGS $CPPFLAGS $INCLUDES -DHAVE_CONFIG_H"
BUILD_LDFLAGS="$LDFLAGS"
else
BUILD_CFLAGS=
@@ -1228,7 +1342,7 @@ test -d include || mkdir include
test -d include/linux || mkdir include/linux
test -d include/asm || mkdir include/asm
for i in MCONFIG Makefile e2fsprogs.spec \
- util/Makefile util/subst.conf util/gen-tarball \
+ util/Makefile util/subst.conf util/gen-tarball util/install-symlink \
lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \
lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \
lib/uuid/Makefile lib/uuid/uuid_types.h \