1997-04-26 21:58:21 +08:00
|
|
|
AC_INIT(version.h)
|
2012-12-23 11:24:45 +08:00
|
|
|
AC_PREREQ(2.54)
|
2004-12-01 08:00:19 +08:00
|
|
|
AC_CONFIG_AUX_DIR(config)
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_CONFIG_HEADERS([lib/config.h])
|
2014-01-31 07:48:23 +08:00
|
|
|
AH_BOTTOM([#include <dirpaths.h>])
|
1997-04-26 21:58:21 +08:00
|
|
|
MCONFIG=./MCONFIG
|
|
|
|
AC_SUBST_FILE(MCONFIG)
|
1997-04-26 22:37:06 +08:00
|
|
|
BINARY_TYPE=bin
|
|
|
|
dnl
|
|
|
|
dnl This is to figure out the version number and the date....
|
|
|
|
dnl
|
|
|
|
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 \" " "`
|
2016-03-15 13:10:29 +08:00
|
|
|
E2FSPROGS_DAY=$(echo $DATE | awk -F- '{print $1}' | sed -e '/^[[1-9]]$/s/^/0/')
|
1997-04-26 22:37:06 +08:00
|
|
|
MONTH=`echo $DATE | awk -F- '{print $2}'`
|
|
|
|
YEAR=`echo $DATE | awk -F- '{print $3}'`
|
|
|
|
|
1999-01-09 13:06:02 +08:00
|
|
|
if expr $YEAR ">" 1900 > /dev/null ; then
|
|
|
|
E2FSPROGS_YEAR=$YEAR
|
|
|
|
elif expr $YEAR ">" 90 >/dev/null ; then
|
1997-04-26 22:37:06 +08:00
|
|
|
E2FSPROGS_YEAR=19$YEAR
|
|
|
|
else
|
|
|
|
E2FSPROGS_YEAR=20$YEAR
|
|
|
|
fi
|
|
|
|
|
|
|
|
case $MONTH in
|
2006-11-13 08:41:25 +08:00
|
|
|
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" ;;
|
2008-08-22 22:52:42 +08:00
|
|
|
*) AC_MSG_WARN([Unknown month $MONTH??]) ;;
|
1997-04-26 22:37:06 +08:00
|
|
|
esac
|
|
|
|
|
2006-11-13 08:41:25 +08:00
|
|
|
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-*)
|
2016-03-15 13:10:29 +08:00
|
|
|
E2FSPROGS_PKGVER="$base_ver~WIP.$date_spec"
|
2006-11-13 08:41:25 +08:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
E2FSPROGS_PKGVER="$base_ver"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
unset DATE MONTH YEAR base_ver pre_vers date_spec
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION])
|
|
|
|
AC_MSG_RESULT([Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}])
|
1997-04-26 22:37:06 +08:00
|
|
|
AC_SUBST(E2FSPROGS_YEAR)
|
|
|
|
AC_SUBST(E2FSPROGS_MONTH)
|
2003-03-23 14:37:53 +08:00
|
|
|
AC_SUBST(E2FSPROGS_DAY)
|
1997-04-26 22:37:06 +08:00
|
|
|
AC_SUBST(E2FSPROGS_VERSION)
|
2006-11-13 08:41:25 +08:00
|
|
|
AC_SUBST(E2FSPROGS_PKGVER)
|
2009-11-26 23:38:04 +08:00
|
|
|
dnl
|
2003-05-05 21:00:24 +08:00
|
|
|
dnl Use diet libc
|
|
|
|
dnl
|
2008-07-10 22:21:42 +08:00
|
|
|
WITH_DIET_LIBC=
|
2003-05-05 21:00:24 +08:00
|
|
|
AC_ARG_WITH([diet-libc],
|
2007-12-31 23:45:01 +08:00
|
|
|
[ --with-diet-libc use diet libc],
|
2003-05-05 21:00:24 +08:00
|
|
|
CC="diet cc -nostdinc"
|
2008-07-10 22:21:42 +08:00
|
|
|
WITH_DIET_LIBC=yes
|
2014-01-05 09:44:29 +08:00
|
|
|
if test -z "$LIBS"
|
|
|
|
then
|
|
|
|
LIBS="-lcompat"
|
|
|
|
else
|
|
|
|
LIBS="$LIBS -lcompat"
|
|
|
|
fi
|
2003-05-05 21:00:24 +08:00
|
|
|
AC_MSG_RESULT(CC=$CC))dnl
|
|
|
|
dnl
|
2014-01-05 09:44:29 +08:00
|
|
|
AC_CANONICAL_HOST
|
|
|
|
dnl
|
|
|
|
dnl Check to see if libdl exists for the sake of dlopen
|
|
|
|
dnl
|
|
|
|
DLOPEN_LIB=''
|
2016-06-07 12:14:35 +08:00
|
|
|
AC_CHECK_LIB(dl, dlopen,DLOPEN_LIB=-ldl)
|
2014-01-05 09:44:29 +08:00
|
|
|
AC_SUBST(DLOPEN_LIB)
|
|
|
|
dnl
|
1997-04-26 22:37:06 +08:00
|
|
|
AC_ARG_WITH([cc],
|
2009-09-07 09:28:47 +08:00
|
|
|
AC_HELP_STRING([--with-cc],[no longer supported, use CC= instead]),
|
|
|
|
AC_MSG_ERROR([--with-cc no longer supported; use CC= instead]))
|
1997-04-26 22:37:06 +08:00
|
|
|
dnl
|
2009-09-07 09:28:47 +08:00
|
|
|
AC_ARG_WITH([ccopts],
|
|
|
|
AC_HELP_STRING([--with-ccopts],[no longer supported, use CFLAGS= instead]),
|
|
|
|
AC_MSG_ERROR([--with-ccopts no longer supported; use CFLAGS= instead]))
|
1997-04-26 22:37:06 +08:00
|
|
|
dnl
|
2009-09-07 09:28:47 +08:00
|
|
|
AC_ARG_WITH([ldopts],
|
|
|
|
AC_HELP_STRING([--with-ldopts],[no longer supported, use LDFLAGS= instead]),
|
|
|
|
AC_MSG_ERROR([--with-ldopts no longer supported; use LDFLAGS= instead]))
|
1997-04-26 22:37:06 +08:00
|
|
|
dnl
|
2009-09-07 09:28:47 +08:00
|
|
|
AC_PROG_CC
|
2011-08-12 02:56:49 +08:00
|
|
|
if test "$GCC" = yes; then
|
|
|
|
RDYNAMIC="-rdynamic"
|
|
|
|
AC_SUBST(RDYNAMIC)
|
|
|
|
fi
|
2009-09-07 09:28:47 +08:00
|
|
|
AC_PROG_CPP
|
1997-04-26 22:37:06 +08:00
|
|
|
dnl
|
2004-02-24 04:30:11 +08:00
|
|
|
dnl Alpha computers use fast and imprecise floating point code that may
|
|
|
|
dnl miss exceptions by default. Force sane options if we're using GCC.
|
|
|
|
AC_MSG_CHECKING(for additional special compiler flags)
|
|
|
|
if test "$GCC" = yes
|
|
|
|
then
|
|
|
|
case "$host_cpu" in
|
|
|
|
alpha) addcflags="-mieee" ;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
if test "x$addcflags" != x
|
|
|
|
then
|
|
|
|
AC_MSG_RESULT($addcflags)
|
|
|
|
CFLAGS="$addcflags $CFLAGS"
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([[(none)]])
|
|
|
|
fi
|
2014-07-04 11:44:13 +08:00
|
|
|
AC_USE_SYSTEM_EXTENSIONS
|
2004-02-24 04:30:11 +08:00
|
|
|
dnl
|
2017-10-08 19:30:08 +08:00
|
|
|
dnl Set default values for library extensions. Will be dealt with after
|
|
|
|
dnl parsing configuration options, which may modify these
|
1997-04-29 22:28:00 +08:00
|
|
|
dnl
|
|
|
|
LIB_EXT=.a
|
|
|
|
STATIC_LIB_EXT=.a
|
2009-04-22 21:18:30 +08:00
|
|
|
PROFILED_LIB_EXT=.a
|
1997-04-29 22:28:00 +08:00
|
|
|
dnl
|
Many files:
configure.in: Change how the installation directions are selected.
Previously, we had prefix and usr_prefix, where prefix was '' and
usr_prefix was /usr, and we then defined bindir, ubindir, libdir,
ulibdir, etc. in terms of that. In autoconf 2.12, it's possible to
override bindir, libdir, etc., and so in order to make our
installation directory makefile variables more in line with autoconf
2.12, I've changed all of the various makefiles to use prefix and
root_prefix, where the default Linux definitions are /usr and '',
respectively. What used to be bindir is now root_bindir, and what
used to be ubindir, is now bindir.
MCONFIG.in: Change directories to match with new installation
directory convention (see above). Add Makefile
dependencies for makefile fragments, and define
DEP_LIB_MAKEFILES which library makefiles can use to
define DEP_MAKEFILES, so that the library makefiles will
get regenerated when the makefile fragments change.
Remove the cat?dir variables, since we aren't creating
those directories any more.
Makefile.in: Add top-level uninstall targets.
e2fsprogs-1.12.spec: Add to the RPM package the e2label man page, and
to reflect that fact that we now compile_et and mk_cmds for the
development package.
ChangeLog, Makefile.in:
Makefile.in: Add uninstall target (which is a just a no-op).
version.h, RELEASE-NOTES:
Update to interim version numbers for release purposes.
1998-04-04 00:12:25 +08:00
|
|
|
dnl Allow separate `root_prefix' to be specified
|
1997-04-29 22:51:31 +08:00
|
|
|
dnl
|
Many files:
configure.in: Change how the installation directions are selected.
Previously, we had prefix and usr_prefix, where prefix was '' and
usr_prefix was /usr, and we then defined bindir, ubindir, libdir,
ulibdir, etc. in terms of that. In autoconf 2.12, it's possible to
override bindir, libdir, etc., and so in order to make our
installation directory makefile variables more in line with autoconf
2.12, I've changed all of the various makefiles to use prefix and
root_prefix, where the default Linux definitions are /usr and '',
respectively. What used to be bindir is now root_bindir, and what
used to be ubindir, is now bindir.
MCONFIG.in: Change directories to match with new installation
directory convention (see above). Add Makefile
dependencies for makefile fragments, and define
DEP_LIB_MAKEFILES which library makefiles can use to
define DEP_MAKEFILES, so that the library makefiles will
get regenerated when the makefile fragments change.
Remove the cat?dir variables, since we aren't creating
those directories any more.
Makefile.in: Add top-level uninstall targets.
e2fsprogs-1.12.spec: Add to the RPM package the e2label man page, and
to reflect that fact that we now compile_et and mk_cmds for the
development package.
ChangeLog, Makefile.in:
Makefile.in: Add uninstall target (which is a just a no-op).
version.h, RELEASE-NOTES:
Update to interim version numbers for release purposes.
1998-04-04 00:12:25 +08:00
|
|
|
AC_ARG_WITH([root-prefix],
|
|
|
|
[ --with-root-prefix=PREFIX override prefix variable for files to be placed in the root],
|
|
|
|
root_prefix=$withval,
|
|
|
|
root_prefix=NONE)dnl
|
1997-04-29 22:51:31 +08:00
|
|
|
dnl
|
2005-02-04 23:43:58 +08:00
|
|
|
dnl handle --enable-maintainer-mode
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([maintainer-mode],
|
|
|
|
[ --enable-maintainer-mode enable makefile rules useful for maintainers],
|
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
MAINTAINER_CMT=#
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling maintainer mode])
|
2005-02-04 23:43:58 +08:00
|
|
|
else
|
|
|
|
MAINTAINER_CMT=
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Enabling maintainer mode])
|
2005-02-04 23:43:58 +08:00
|
|
|
fi
|
|
|
|
,
|
|
|
|
MAINTAINER_CMT=#
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling maintainer mode by default])
|
2005-02-04 23:43:58 +08:00
|
|
|
)
|
|
|
|
AC_SUBST(MAINTAINER_CMT)
|
|
|
|
dnl
|
2010-05-18 07:21:42 +08:00
|
|
|
dnl handle --enable-symlink-install
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([symlink-install],
|
|
|
|
[ --enable-symlink-install use symlinks when installing instead of hard links],
|
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
LINK_INSTALL_FLAGS=-f
|
|
|
|
AC_MSG_RESULT([Disabling symlinks for install])
|
|
|
|
else
|
|
|
|
LINK_INSTALL_FLAGS=-sf
|
|
|
|
AC_MSG_RESULT([Enabling symlinks for install])
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
LINK_INSTALL_FLAGS=-f
|
2012-05-13 11:13:24 +08:00
|
|
|
AC_MSG_RESULT([Disabling symlinks for install by default])
|
2010-05-18 07:21:42 +08:00
|
|
|
)
|
|
|
|
AC_SUBST(LINK_INSTALL_FLAGS)
|
|
|
|
dnl
|
2012-05-13 11:13:24 +08:00
|
|
|
dnl handle --enable-relative-symlinks
|
|
|
|
dnl
|
2012-09-07 11:01:14 +08:00
|
|
|
relative_symlink_defined=
|
|
|
|
AC_ARG_ENABLE([relative-symlinks],
|
2012-05-13 11:13:24 +08:00
|
|
|
[ --enable-relative-symlinks use relative symlinks when installing],
|
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
SYMLINK_RELATIVE=
|
2012-09-07 11:01:14 +08:00
|
|
|
relative_symlink_defined=yes
|
2012-05-13 11:13:24 +08:00
|
|
|
AC_MSG_RESULT([Disabling relative symlinks for install])
|
|
|
|
else
|
|
|
|
SYMLINK_RELATIVE=--relative
|
2012-09-07 11:01:14 +08:00
|
|
|
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])
|
2012-05-13 11:13:24 +08:00
|
|
|
fi
|
|
|
|
,
|
2012-09-07 11:01:14 +08:00
|
|
|
if test -z "$relative_symlink_defined"
|
|
|
|
then
|
2012-05-13 11:13:24 +08:00
|
|
|
SYMLINK_RELATIVE=
|
|
|
|
AC_MSG_RESULT([Disabling relative symlinks for install by default])
|
2012-09-07 11:01:14 +08:00
|
|
|
fi
|
2012-05-13 11:13:24 +08:00
|
|
|
)
|
|
|
|
AC_SUBST(SYMLINK_RELATIVE)
|
|
|
|
dnl
|
2010-05-18 07:21:42 +08:00
|
|
|
dnl handle --enable-symlink-build
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([symlink-build],
|
|
|
|
[ --enable-symlink-build use symlinks while building instead of hard links],
|
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
LINK_BUILD_FLAGS=
|
|
|
|
AC_MSG_RESULT([Disabling symlinks for build])
|
|
|
|
else
|
|
|
|
LINK_BUILD_FLAGS=-s
|
|
|
|
AC_MSG_RESULT([Enabling symlinks for build])
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
LINK_BUILD_FLAGS=
|
2012-05-13 11:13:24 +08:00
|
|
|
AC_MSG_RESULT([Disabling symlinks for build by default])
|
2010-05-18 07:21:42 +08:00
|
|
|
)
|
|
|
|
AC_SUBST(LINK_BUILD_FLAGS)
|
|
|
|
dnl
|
2009-07-02 12:11:17 +08:00
|
|
|
dnl handle --enable-verbose-makecmds
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([verbose-makecmds],
|
2010-05-18 07:21:42 +08:00
|
|
|
[ --enable-verbose-makecmds enable verbose make command output],
|
2009-07-02 12:11:17 +08:00
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
AC_MSG_RESULT([Disabling verbose make commands])
|
|
|
|
E=@echo
|
2012-06-14 03:29:13 +08:00
|
|
|
ES=echo
|
2009-07-02 12:11:17 +08:00
|
|
|
Q=@
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([Enabling verbose make commands])
|
|
|
|
E=@\\#
|
2012-06-14 03:29:13 +08:00
|
|
|
ES=\\#
|
2009-07-02 12:11:17 +08:00
|
|
|
Q=
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
AC_MSG_RESULT([Disabling verbose make commands])
|
|
|
|
E=@echo
|
2012-06-14 03:29:13 +08:00
|
|
|
ES=echo
|
2009-07-02 12:11:17 +08:00
|
|
|
Q=@
|
|
|
|
)
|
|
|
|
AC_SUBST(E)
|
2012-06-14 03:29:13 +08:00
|
|
|
AC_SUBST(ES)
|
2009-07-02 12:11:17 +08:00
|
|
|
AC_SUBST(Q)
|
|
|
|
dnl
|
2008-01-02 09:05:04 +08:00
|
|
|
dnl This needs to be before all of the --enable-*-shlibs options
|
|
|
|
dnl
|
|
|
|
E2_PKG_CONFIG_STATIC=--static
|
2008-09-03 11:12:38 +08:00
|
|
|
LDFLAG_DYNAMIC=
|
|
|
|
PRIVATE_LIBS_CMT=
|
2008-01-02 09:05:04 +08:00
|
|
|
dnl
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl handle --enable-elf-shlibs
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([elf-shlibs],
|
1997-04-29 22:28:00 +08:00
|
|
|
[ --enable-elf-shlibs select ELF shared libraries],
|
1997-04-26 21:58:21 +08:00
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
ELF_CMT=#
|
|
|
|
MAKEFILE_ELF=/dev/null
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling ELF shared libraries])
|
1997-04-26 21:58:21 +08:00
|
|
|
else
|
2008-01-02 09:05:04 +08:00
|
|
|
E2_PKG_CONFIG_STATIC=
|
1997-04-26 21:58:21 +08:00
|
|
|
ELF_CMT=
|
|
|
|
MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib
|
2000-10-25 10:38:39 +08:00
|
|
|
[case "$host_os" in
|
|
|
|
solaris2.*)
|
|
|
|
MAKEFILE_ELF=$srcdir/lib/Makefile.solaris-lib
|
|
|
|
;;
|
|
|
|
esac]
|
1997-04-26 22:37:06 +08:00
|
|
|
BINARY_TYPE=elfbin
|
1997-04-29 22:28:00 +08:00
|
|
|
LIB_EXT=.so
|
2008-09-03 11:12:38 +08:00
|
|
|
PRIVATE_LIBS_CMT=#
|
|
|
|
LDFLAG_DYNAMIC=['-Wl,-rpath-link,$(top_builddir)/lib']
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Enabling ELF shared libraries])
|
1997-04-26 21:58:21 +08:00
|
|
|
fi
|
|
|
|
,
|
|
|
|
MAKEFILE_ELF=/dev/null
|
|
|
|
ELF_CMT=#
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling ELF shared libraries by default])
|
1997-04-26 21:58:21 +08:00
|
|
|
)
|
|
|
|
AC_SUBST(ELF_CMT)
|
|
|
|
AC_SUBST_FILE(MAKEFILE_ELF)
|
|
|
|
dnl
|
|
|
|
dnl handle --enable-bsd-shlibs
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([bsd-shlibs],
|
1997-04-29 22:28:00 +08:00
|
|
|
[ --enable-bsd-shlibs select BSD shared libraries],
|
1997-04-26 21:58:21 +08:00
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
BSDLIB_CMT=#
|
|
|
|
MAKEFILE_BSDLIB=/dev/null
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling BSD shared libraries])
|
1997-04-26 21:58:21 +08:00
|
|
|
else
|
2008-01-02 09:05:04 +08:00
|
|
|
E2_PKG_CONFIG_STATIC=
|
1997-04-26 21:58:21 +08:00
|
|
|
BSDLIB_CMT=
|
|
|
|
MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
|
1997-04-29 22:28:00 +08:00
|
|
|
LIB_EXT=.so
|
2003-03-14 15:13:48 +08:00
|
|
|
[case "$host_os" in
|
2003-03-17 23:01:22 +08:00
|
|
|
darwin*)
|
2003-03-14 15:13:48 +08:00
|
|
|
MAKEFILE_BSDLIB=$srcdir/lib/Makefile.darwin-lib
|
|
|
|
LIB_EXT=.dylib
|
|
|
|
;;
|
|
|
|
esac]
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Enabling BSD shared libraries])
|
1997-04-26 21:58:21 +08:00
|
|
|
fi
|
|
|
|
,
|
|
|
|
MAKEFILE_BSDLIB=/dev/null
|
|
|
|
BSDLIB_CMT=#
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling BSD shared libraries by default])
|
1997-04-26 21:58:21 +08:00
|
|
|
)
|
|
|
|
AC_SUBST(BSDLIB_CMT)
|
|
|
|
AC_SUBST_FILE(MAKEFILE_BSDLIB)
|
|
|
|
dnl
|
|
|
|
dnl handle --enable-profile
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([profile],
|
1997-04-29 22:28:00 +08:00
|
|
|
[ --enable-profile build profiling libraries],
|
1997-04-26 21:58:21 +08:00
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
PROFILE_CMT=#
|
|
|
|
MAKEFILE_PROFILE=/dev/null
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling profiling libraries])
|
1997-04-26 21:58:21 +08:00
|
|
|
else
|
|
|
|
PROFILE_CMT=
|
|
|
|
MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile
|
1997-04-29 22:28:00 +08:00
|
|
|
PROFILED_LIB_EXT=_p.a
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Building profiling libraries])
|
1997-04-26 21:58:21 +08:00
|
|
|
fi
|
|
|
|
,
|
|
|
|
PROFILE_CMT=#
|
|
|
|
MAKEFILE_PROFILE=/dev/null
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling profiling libraries by default])
|
1997-04-26 21:58:21 +08:00
|
|
|
)
|
|
|
|
AC_SUBST(PROFILE_CMT)
|
|
|
|
AC_SUBST_FILE(MAKEFILE_PROFILE)
|
|
|
|
dnl
|
2014-02-23 13:17:09 +08:00
|
|
|
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
|
|
|
|
)
|
2016-05-22 11:51:19 +08:00
|
|
|
dnl
|
|
|
|
dnl handle --enable-hardening
|
|
|
|
dnl
|
|
|
|
CFLAGS_SHLIB="${CFLAGS_SHLIB:-$CFLAGS}"
|
|
|
|
CFLAGS_STLIB="${CFLAGS_STLIB:-$CFLAGS}"
|
|
|
|
LDFLAGS_SHLIB=${LDFLAGS_SHLIB:-$LDFLAGS}
|
|
|
|
LDFLAGS_STATIC=${LDFLAGS_STATIC:-$LDFLAGS}
|
|
|
|
AC_ARG_ENABLE([hardening],
|
|
|
|
[ --enable-hardening build for coverage testing using gcov],
|
|
|
|
if test "$enableval" = "yes"
|
|
|
|
then
|
|
|
|
HARDEN_CFLAGS="-D_FORTIFY_SOURCE=2 -fstack-protector-strong"
|
|
|
|
HARDEN_LDFLAGS=["-Wl,-z,relro -Wl,-z,now"]
|
|
|
|
CFLAGS="$CFLAGS $HARDEN_CFLAGS -fPIE"
|
|
|
|
CFLAGS_SHLIB="$CFLAGS_SHLIB $HARDEN_CFLAGS"
|
|
|
|
CFLAGS_STLIB="$CFLAGS_STLIB $HARDEN_CFLAGS -fPIE"
|
|
|
|
LDFLAGS="$LDFLAGS $HARDEN_LDFLAGS -fPIE -pie"
|
|
|
|
LDFLAGS_STATIC="$LDFLAGS_STATIC $HARDEN_LDFLAGS"
|
|
|
|
LDFLAGS_SHLIB="$LDFLAGS_SHLIB $HARDEN_LDFLAGS"
|
|
|
|
AC_MSG_RESULT([Enabling hardening support])
|
|
|
|
fi
|
|
|
|
)
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
1997-04-29 22:28:00 +08:00
|
|
|
dnl Substitute library extensions
|
|
|
|
dnl
|
|
|
|
AC_SUBST(LIB_EXT)
|
|
|
|
AC_SUBST(STATIC_LIB_EXT)
|
|
|
|
AC_SUBST(PROFILED_LIB_EXT)
|
2008-09-03 11:12:38 +08:00
|
|
|
AC_SUBST(LDFLAG_DYNAMIC)
|
|
|
|
AC_SUBST(PRIVATE_LIBS_CMT)
|
1997-04-29 22:28:00 +08:00
|
|
|
dnl
|
2002-11-09 07:46:45 +08:00
|
|
|
dnl handle --enable-jbd-debug
|
2001-06-14 06:16:47 +08:00
|
|
|
dnl
|
2002-11-09 07:46:45 +08:00
|
|
|
AC_ARG_ENABLE([jbd-debug],
|
|
|
|
[ --enable-jbd-debug enable journal debugging],
|
2001-06-14 06:16:47 +08:00
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling journal debugging])
|
2001-06-14 06:16:47 +08:00
|
|
|
else
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(CONFIG_JBD_DEBUG, 1,
|
|
|
|
[Define to 1 if debugging ext3/4 journal code])
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Enabling journal debugging])
|
2001-06-14 06:16:47 +08:00
|
|
|
fi
|
|
|
|
,
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling journal debugging by default])
|
2001-06-14 06:16:47 +08:00
|
|
|
)
|
|
|
|
dnl
|
2003-02-23 02:19:53 +08:00
|
|
|
dnl handle --enable-blkid-debug
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([blkid-debug],
|
2003-05-05 21:00:24 +08:00
|
|
|
[ --enable-blkid-debug enable blkid debugging],
|
2003-02-23 02:19:53 +08:00
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling blkid debugging])
|
2003-02-23 02:19:53 +08:00
|
|
|
else
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(CONFIG_BLKID_DEBUG, 1,
|
|
|
|
[Define to 1 if debugging the blkid library])
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Enabling blkid debugging])
|
2003-02-23 02:19:53 +08:00
|
|
|
fi
|
|
|
|
,
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling blkid debugging by default])
|
2003-05-06 00:08:47 +08:00
|
|
|
)
|
|
|
|
dnl
|
|
|
|
dnl handle --enable-testio-debug
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([testio-debug],
|
2008-09-01 23:27:27 +08:00
|
|
|
[ --disable-testio-debug disable the use of the test I/O manager for debugging],
|
2011-09-19 05:34:37 +08:00
|
|
|
AH_TEMPLATE([CONFIG_TESTIO_DEBUG],
|
|
|
|
[Define to 1 if the testio I/O manager should be enabled])
|
2003-05-06 00:08:47 +08:00
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling testio debugging])
|
2008-09-01 23:27:27 +08:00
|
|
|
TEST_IO_CMT="#"
|
2003-05-06 00:08:47 +08:00
|
|
|
else
|
2008-09-01 23:27:27 +08:00
|
|
|
TEST_IO_CMT=
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(CONFIG_TESTIO_DEBUG, 1)
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Enabling testio debugging])
|
2003-05-06 00:08:47 +08:00
|
|
|
fi
|
|
|
|
,
|
2008-09-01 23:27:27 +08:00
|
|
|
AC_MSG_RESULT([Enabling testio debugging by default])
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(CONFIG_TESTIO_DEBUG, 1)
|
2008-09-01 23:27:27 +08:00
|
|
|
TEST_IO_CMT=
|
2003-02-23 02:19:53 +08:00
|
|
|
)
|
2008-09-01 23:27:27 +08:00
|
|
|
AC_SUBST(TEST_IO_CMT)
|
2003-02-23 02:19:53 +08:00
|
|
|
dnl
|
2009-05-14 20:03:25 +08:00
|
|
|
dnl handle --disable-libuuid
|
|
|
|
dnl
|
|
|
|
PKG_PROG_PKG_CONFIG
|
|
|
|
LIBUUID=
|
|
|
|
DEPLIBUUID=
|
|
|
|
STATIC_LIBUUID=
|
|
|
|
DEPSTATIC_LIBUUID=
|
|
|
|
PROFILED_LIBUUID=
|
|
|
|
DEPPROFILED_LIBUUID=
|
|
|
|
UUID_CMT=
|
|
|
|
AC_ARG_ENABLE([libuuid],
|
2015-06-21 02:20:14 +08:00
|
|
|
[ --enable-libuuid build and use private uuid library],
|
2009-05-14 20:03:25 +08:00
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
if test -z "$PKG_CONFIG"; then
|
|
|
|
AC_MSG_ERROR([pkg-config not installed; please install it.])
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_CHECK_LIB(uuid, uuid_generate,
|
|
|
|
[LIBUUID=`$PKG_CONFIG --libs uuid`;
|
|
|
|
STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`],
|
2014-07-05 12:27:02 +08:00
|
|
|
[AC_MSG_ERROR([external uuid library not found])])
|
2014-09-19 09:11:33 +08:00
|
|
|
PROFILED_LIBUUID=$LIBUUID
|
2009-05-14 20:03:25 +08:00
|
|
|
UUID_CMT=#
|
|
|
|
AC_MSG_RESULT([Disabling private uuid library])
|
|
|
|
else
|
|
|
|
LIBUUID='$(LIB)/libuuid'$LIB_EXT
|
|
|
|
DEPLIBUUID=$LIBUUID
|
|
|
|
STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT
|
|
|
|
DEPSTATIC_LIBUUID=$STATIC_LIBUUID
|
|
|
|
PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT
|
|
|
|
DEPPROFILED_LIBUUID=$PROFILED_LIBUUID
|
|
|
|
AC_MSG_RESULT([Enabling private uuid library])
|
|
|
|
fi
|
|
|
|
,
|
2015-06-21 02:20:14 +08:00
|
|
|
if test -n "$PKG_CONFIG"; then
|
|
|
|
AC_CHECK_LIB(uuid, uuid_generate,
|
|
|
|
[LIBUUID=`$PKG_CONFIG --libs uuid`;
|
|
|
|
STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`])
|
|
|
|
fi
|
|
|
|
if test -n "$LIBUUID"; then
|
|
|
|
PROFILED_LIBUUID=$LIBUUID
|
|
|
|
UUID_CMT=#
|
|
|
|
AC_MSG_RESULT([Using system uuid by default])
|
|
|
|
else
|
|
|
|
LIBUUID='$(LIB)/libuuid'$LIB_EXT
|
|
|
|
DEPLIBUUID=$LIBUUID
|
|
|
|
STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT
|
|
|
|
DEPSTATIC_LIBUUID=$STATIC_LIBUUID
|
|
|
|
PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT
|
|
|
|
DEPPROFILED_LIBUUID=$PROFILED_LIBUUID
|
|
|
|
AC_MSG_RESULT([Enabling private uuid library by default])
|
|
|
|
fi
|
2009-05-14 20:03:25 +08:00
|
|
|
)
|
|
|
|
AC_SUBST(LIBUUID)
|
|
|
|
AC_SUBST(DEPLIBUUID)
|
|
|
|
AC_SUBST(STATIC_LIBUUID)
|
|
|
|
AC_SUBST(DEPSTATIC_LIBUUID)
|
|
|
|
AC_SUBST(PROFILED_LIBUUID)
|
|
|
|
AC_SUBST(DEPPROFILED_LIBUUID)
|
|
|
|
AC_SUBST(UUID_CMT)
|
|
|
|
dnl
|
2009-04-22 21:18:30 +08:00
|
|
|
dnl handle --disable-libblkid
|
|
|
|
dnl
|
|
|
|
PKG_PROG_PKG_CONFIG
|
|
|
|
LIBBLKID=
|
|
|
|
DEPLIBBLKID=
|
|
|
|
STATIC_LIBBLKID=
|
|
|
|
DEPSTATIC_LIBBLKID=
|
|
|
|
PROFILED_LIBBLKID=
|
|
|
|
DEPPROFILED_LIBBLKID=
|
|
|
|
BLKID_CMT=
|
2011-09-19 05:34:37 +08:00
|
|
|
AH_TEMPLATE([CONFIG_BUILD_FINDFS], [Define to 1 to compile findfs])
|
2009-04-22 21:18:30 +08:00
|
|
|
AC_ARG_ENABLE([libblkid],
|
2015-06-21 02:20:14 +08:00
|
|
|
[ --enable-libblkid build and use private blkid library],
|
2009-04-22 21:18:30 +08:00
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
if test -z "$PKG_CONFIG"; then
|
|
|
|
AC_MSG_ERROR([pkg-config not installed; please install it.])
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_CHECK_LIB(blkid, blkid_get_cache,
|
|
|
|
[LIBBLKID=`$PKG_CONFIG --libs blkid`;
|
|
|
|
STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`],
|
2014-07-05 12:27:02 +08:00
|
|
|
[AC_MSG_ERROR([external blkid library not found])], -luuid)
|
2009-04-22 21:18:30 +08:00
|
|
|
BLKID_CMT=#
|
2014-09-19 09:11:33 +08:00
|
|
|
PROFILED_LIBBLKID=$LIBBLKID
|
2009-04-22 21:18:30 +08:00
|
|
|
AC_MSG_RESULT([Disabling private blkid library])
|
|
|
|
else
|
|
|
|
LIBBLKID='$(LIB)/libblkid'$LIB_EXT
|
|
|
|
DEPLIBBLKID=$LIBBLKID
|
|
|
|
STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT
|
|
|
|
DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID
|
|
|
|
PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT
|
|
|
|
DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(CONFIG_BUILD_FINDFS, 1)
|
2009-04-22 21:18:30 +08:00
|
|
|
AC_MSG_RESULT([Enabling private blkid library])
|
|
|
|
fi
|
|
|
|
,
|
2015-06-21 02:20:14 +08:00
|
|
|
if test -n "$PKG_CONFIG"; then
|
|
|
|
AC_CHECK_LIB(blkid, blkid_get_cache,
|
|
|
|
[LIBBLKID=`$PKG_CONFIG --libs blkid`;
|
|
|
|
STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`])
|
|
|
|
fi
|
|
|
|
if test -n "$LIBBLKID"; then
|
|
|
|
BLKID_CMT=#
|
|
|
|
PROFILED_LIBBLKID=$LIBBLKID
|
|
|
|
AC_MSG_RESULT([Using system blkid library by default])
|
|
|
|
else
|
|
|
|
LIBBLKID='$(LIB)/libblkid'$LIB_EXT
|
|
|
|
DEPLIBBLKID=$LIBBLKID
|
|
|
|
STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT
|
|
|
|
DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID
|
|
|
|
PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT
|
|
|
|
DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID
|
|
|
|
AC_DEFINE(CONFIG_BUILD_FINDFS, 1)
|
|
|
|
AC_MSG_RESULT([Enabling private blkid library by default])
|
|
|
|
fi
|
2009-04-22 21:18:30 +08:00
|
|
|
)
|
|
|
|
AC_SUBST(LIBBLKID)
|
|
|
|
AC_SUBST(DEPLIBBLKID)
|
|
|
|
AC_SUBST(STATIC_LIBBLKID)
|
|
|
|
AC_SUBST(DEPSTATIC_LIBBLKID)
|
|
|
|
AC_SUBST(PROFILED_LIBBLKID)
|
|
|
|
AC_SUBST(DEPPROFILED_LIBBLKID)
|
|
|
|
AC_SUBST(BLKID_CMT)
|
|
|
|
dnl
|
2018-08-18 23:19:25 +08:00
|
|
|
dnl handle --enable-subset
|
|
|
|
dnl
|
|
|
|
ALL_CMT=
|
2018-08-25 05:12:20 +08:00
|
|
|
SUBSET_CMT=
|
2018-08-18 23:19:25 +08:00
|
|
|
AC_ARG_ENABLE([subset],
|
|
|
|
[ --enable-subset enable subset-only build],
|
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
2018-08-25 05:12:20 +08:00
|
|
|
SUBSET_CMT=#
|
2018-08-18 23:19:25 +08:00
|
|
|
AC_MSG_RESULT([Disabling subset-only build])
|
|
|
|
else
|
|
|
|
ALL_CMT=#
|
|
|
|
AC_MSG_RESULT([Enabling subset-only-build])
|
|
|
|
fi
|
|
|
|
,)
|
|
|
|
AC_SUBST(ALL_CMT)
|
2018-08-25 05:12:20 +08:00
|
|
|
AC_SUBST(SUBSET_CMT)
|
2018-08-18 23:19:25 +08:00
|
|
|
dnl
|
2013-06-17 04:14:40 +08:00
|
|
|
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
|
2001-06-14 06:16:47 +08:00
|
|
|
dnl handle --enable-debugfs
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([debugfs],
|
|
|
|
[ --disable-debugfs disable support of debugfs program],
|
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling debugfs support])
|
2001-06-14 06:16:47 +08:00
|
|
|
DEBUGFS_CMT="#"
|
|
|
|
else
|
|
|
|
DEBUGFS_CMT=
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Enabling debugfs support])
|
2001-06-14 06:16:47 +08:00
|
|
|
fi
|
|
|
|
,
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Enabling debugfs support by default])
|
2001-06-14 06:16:47 +08:00
|
|
|
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
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling e2image support])
|
2001-06-14 06:16:47 +08:00
|
|
|
IMAGER_CMT="#"
|
|
|
|
else
|
|
|
|
IMAGER_CMT=
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Enabling e2image support])
|
2001-06-14 06:16:47 +08:00
|
|
|
fi
|
|
|
|
,
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Enabling e2image support by default])
|
2001-06-14 06:16:47 +08:00
|
|
|
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
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling e2resize support])
|
2001-06-14 06:16:47 +08:00
|
|
|
RESIZER_CMT="#"
|
|
|
|
else
|
|
|
|
RESIZER_CMT=
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Enabling e2resize support])
|
2001-06-14 06:16:47 +08:00
|
|
|
fi
|
|
|
|
,
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Enabling e2resize support by default])
|
2001-06-14 06:16:47 +08:00
|
|
|
RESIZER_CMT=
|
|
|
|
)
|
|
|
|
AC_SUBST(RESIZER_CMT)
|
|
|
|
dnl
|
2010-12-25 04:19:44 +08:00
|
|
|
dnl handle --enable-defrag
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([defrag],
|
|
|
|
[ --disable-defrag disable support of e4defrag program],
|
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
AC_MSG_RESULT([Disabling e4defrag support])
|
|
|
|
DEFRAG_CMT="#"
|
|
|
|
else
|
|
|
|
DEFRAG_CMT=
|
|
|
|
AC_MSG_RESULT([Enabling e4defrag support])
|
|
|
|
fi
|
|
|
|
,
|
2014-01-05 09:44:29 +08:00
|
|
|
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
|
2010-12-25 04:19:44 +08:00
|
|
|
)
|
|
|
|
AC_SUBST(DEFRAG_CMT)
|
|
|
|
dnl
|
1997-04-29 22:51:31 +08:00
|
|
|
dnl See whether to install the `fsck' wrapper program (that calls e2fsck)
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([fsck],
|
|
|
|
[ --enable-fsck build fsck wrapper program],
|
|
|
|
[if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
FSCK_PROG='' FSCK_MAN=''
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Not building fsck wrapper])
|
1997-04-29 22:51:31 +08:00
|
|
|
else
|
|
|
|
FSCK_PROG=fsck FSCK_MAN=fsck.8
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Building fsck wrapper])
|
1997-04-29 22:51:31 +08:00
|
|
|
fi]
|
|
|
|
,
|
|
|
|
[case "$host_os" in
|
2004-05-05 07:39:54 +08:00
|
|
|
gnu*)
|
1997-04-29 22:51:31 +08:00
|
|
|
FSCK_PROG='' FSCK_MAN=''
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Not building fsck wrapper by default])
|
1997-04-29 22:51:31 +08:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
FSCK_PROG=fsck FSCK_MAN=fsck.8
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Building fsck wrapper by default])
|
1997-04-29 22:51:31 +08:00
|
|
|
esac]
|
|
|
|
)
|
|
|
|
AC_SUBST(FSCK_PROG)
|
|
|
|
AC_SUBST(FSCK_MAN)
|
|
|
|
dnl
|
2004-09-19 02:53:14 +08:00
|
|
|
dnl See whether to install the `e2initrd-helper' program
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([e2initrd-helper],
|
|
|
|
[ --enable-e2initrd-helper build e2initrd-helper program],
|
|
|
|
[if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
E2INITRD_PROG='' E2INITRD_MAN=''
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Not building e2initrd helper])
|
2004-09-19 02:53:14 +08:00
|
|
|
else
|
|
|
|
E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Building e2initrd helper])
|
2004-09-19 02:53:14 +08:00
|
|
|
fi]
|
|
|
|
,
|
|
|
|
E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Building e2initrd helper by default])
|
2004-09-19 02:53:14 +08:00
|
|
|
)
|
|
|
|
AC_SUBST(E2INITRD_PROG)
|
|
|
|
AC_SUBST(E2INITRD_MAN)
|
2006-03-09 03:17:28 +08:00
|
|
|
dnl
|
2004-09-19 02:53:14 +08:00
|
|
|
dnl
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
2007-12-31 23:45:01 +08:00
|
|
|
AC_ARG_ENABLE([tls],
|
|
|
|
[ --disable-tls disable use of thread local support],
|
|
|
|
[if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
try_tls=""
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Disabling thread local support])
|
2007-12-31 23:45:01 +08:00
|
|
|
else
|
|
|
|
try_tls="yes"
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Enabling thread local support])
|
2007-12-31 23:45:01 +08:00
|
|
|
fi]
|
|
|
|
,
|
2008-07-10 22:21:42 +08:00
|
|
|
if test -n "$WITH_DIET_LIBC"
|
|
|
|
then
|
|
|
|
try_tls=""
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Diet libc does not support thread local support])
|
2008-07-10 22:21:42 +08:00
|
|
|
else
|
|
|
|
try_tls="yes"
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Try using thread local support by default])
|
2008-07-10 22:21:42 +08:00
|
|
|
fi
|
2007-12-31 23:45:01 +08:00
|
|
|
)
|
|
|
|
if test "$try_tls" = "yes"
|
|
|
|
then
|
|
|
|
AX_TLS
|
|
|
|
fi
|
|
|
|
dnl
|
|
|
|
dnl
|
|
|
|
dnl
|
2011-09-19 05:34:37 +08:00
|
|
|
AH_TEMPLATE([USE_UUIDD], [Define to 1 to build uuidd])
|
2008-01-01 00:16:56 +08:00
|
|
|
AC_ARG_ENABLE([uuidd],
|
|
|
|
[ --disable-uuidd disable building the uuid daemon],
|
|
|
|
[if test "$enableval" = "no"
|
|
|
|
then
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Not building uuidd])
|
2008-01-01 00:16:56 +08:00
|
|
|
UUIDD_CMT="#"
|
|
|
|
else
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(USE_UUIDD, 1)
|
2008-01-01 00:16:56 +08:00
|
|
|
UUIDD_CMT=""
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Building uuidd])
|
2008-01-01 00:16:56 +08:00
|
|
|
fi]
|
|
|
|
,
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(USE_UUIDD, 1)
|
2014-09-19 12:26:26 +08:00
|
|
|
if test -z "$UUID_CMT"
|
|
|
|
then
|
|
|
|
UUIDD_CMT=""
|
|
|
|
AC_MSG_RESULT([Building uuidd by default])
|
|
|
|
else
|
|
|
|
UUIDD_CMT="#"
|
|
|
|
AC_MSG_RESULT([Disabling uuidd by default])
|
|
|
|
fi
|
2008-01-01 00:16:56 +08:00
|
|
|
)
|
|
|
|
AC_SUBST(UUIDD_CMT)
|
|
|
|
dnl
|
2012-06-26 09:42:15 +08:00
|
|
|
dnl handle --disable-mmp
|
|
|
|
dnl
|
|
|
|
AH_TEMPLATE([CONFIG_MMP], [Define to 1 to enable mmp support])
|
|
|
|
AC_ARG_ENABLE([mmp],
|
|
|
|
[ --disable-mmp disable support mmp, Multi Mount Protection],
|
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
AC_MSG_RESULT([Disabling mmp support])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([Enabling mmp support])
|
|
|
|
AC_DEFINE(CONFIG_MMP, 1)
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
AC_MSG_RESULT([Enabling mmp support by default])
|
|
|
|
AC_DEFINE(CONFIG_MMP, 1)
|
|
|
|
)
|
|
|
|
dnl
|
2016-05-30 08:48:54 +08:00
|
|
|
dnl handle --disable-tdb
|
|
|
|
dnl
|
|
|
|
AH_TEMPLATE([CONFIG_TDB], [Define to 1 to enable tdb support])
|
|
|
|
AC_ARG_ENABLE([tdb],
|
|
|
|
[ --disable-tdb disable tdb support],
|
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
AC_MSG_RESULT([Disabling tdb support])
|
|
|
|
TDB_CMT="#"
|
|
|
|
TDB_MAN_COMMENT='.\"'
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([Enabling tdb support])
|
|
|
|
AC_DEFINE(CONFIG_TDB, 1)
|
|
|
|
TDB_CMT=""
|
|
|
|
TDB_MAN_COMMENT=""
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
AC_MSG_RESULT([Enabling mmp support by default])
|
|
|
|
AC_DEFINE(CONFIG_TDB, 1)
|
|
|
|
TDB_CMT=""
|
|
|
|
TDB_MAN_COMMENT=""
|
|
|
|
)
|
|
|
|
AC_SUBST(TDB_CMT)
|
|
|
|
AC_SUBST(TDB_MAN_COMMENT)
|
|
|
|
dnl
|
2012-07-31 02:44:12 +08:00
|
|
|
dnl handle --disable-bmap-stats
|
|
|
|
dnl
|
|
|
|
AH_TEMPLATE([ENABLE_BMAP_STATS], [Define to 1 to enable bitmap stats.])
|
|
|
|
AC_ARG_ENABLE([bmap-stats],
|
|
|
|
[ --disable-bmap-stats disable collection of bitmap stats.],
|
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
AC_MSG_RESULT([Disabling bitmap statistics support])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([Enabling bitmap statistics support])
|
|
|
|
AC_DEFINE(ENABLE_BMAP_STATS, 1)
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
AC_MSG_RESULT([Enabling bitmap statistics support by default])
|
|
|
|
AC_DEFINE(ENABLE_BMAP_STATS, 1)
|
|
|
|
)
|
|
|
|
dnl
|
|
|
|
dnl handle --enable-bmap-stats-ops
|
|
|
|
dnl
|
|
|
|
AH_TEMPLATE([ENABLE_BMAP_STATS_OPS], [Define to 1 to enable bitmap stats.])
|
|
|
|
AC_ARG_ENABLE([bmap-stats-ops],
|
|
|
|
[ --enable-bmap-stats-ops enable collection of additional bitmap stats],
|
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
AC_MSG_RESULT([Disabling additional bitmap statistics])
|
|
|
|
else
|
|
|
|
dnl There has to be a better way!
|
|
|
|
AS_IF([test "x${enable_bmap_stats}" = "xno"],
|
|
|
|
AC_MSG_FAILURE([Error --enable-bmap-stats-ops requires bmap-stats]))
|
|
|
|
|
|
|
|
AC_MSG_RESULT([Enabling additional bitmap statistics])
|
|
|
|
AC_DEFINE(ENABLE_BMAP_STATS_OPS, 1)
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
AC_MSG_RESULT([Disabling additional bitmap statistics by default])
|
|
|
|
)
|
|
|
|
dnl
|
2008-01-01 00:16:56 +08:00
|
|
|
dnl
|
|
|
|
dnl
|
1997-04-26 21:58:21 +08:00
|
|
|
MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
|
|
|
|
AC_SUBST_FILE(MAKEFILE_LIBRARY)
|
|
|
|
dnl
|
2001-06-14 06:16:47 +08:00
|
|
|
dnl Add internationalization support, using gettext.
|
|
|
|
dnl
|
2004-12-01 08:00:19 +08:00
|
|
|
GETTEXT_PACKAGE=e2fsprogs
|
2001-06-14 06:16:47 +08:00
|
|
|
PACKAGE=e2fsprogs
|
|
|
|
VERSION="$E2FSPROGS_VERSION"
|
2004-12-01 08:00:19 +08:00
|
|
|
VERSION=0.14.1
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package name for gettext])
|
|
|
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [version for gettext])
|
2004-12-01 08:00:19 +08:00
|
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
2001-06-14 06:16:47 +08:00
|
|
|
AC_SUBST(PACKAGE)
|
|
|
|
AC_SUBST(VERSION)
|
|
|
|
|
|
|
|
AM_GNU_GETTEXT
|
|
|
|
dnl
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl End of configuration options
|
|
|
|
dnl
|
1997-04-26 22:37:06 +08:00
|
|
|
AC_SUBST(BINARY_TYPE)
|
1997-04-26 21:58:21 +08:00
|
|
|
AC_PROG_MAKE_SET
|
2009-07-03 06:19:10 +08:00
|
|
|
CHECK_GNU_MAKE
|
1997-04-26 21:58:21 +08:00
|
|
|
AC_PATH_PROG(LN, ln, ln)
|
2014-07-10 22:39:05 +08:00
|
|
|
AC_PROG_MKDIR_P
|
1997-04-29 22:51:31 +08:00
|
|
|
AC_PROG_LN_S
|
1997-04-26 21:58:21 +08:00
|
|
|
AC_PATH_PROG(MV, mv, mv)
|
|
|
|
AC_PATH_PROG(CP, cp, cp)
|
|
|
|
AC_PATH_PROG(RM, rm, rm)
|
|
|
|
AC_PATH_PROG(CHMOD, chmod, :)
|
2005-01-18 08:13:39 +08:00
|
|
|
AC_PROG_AWK
|
|
|
|
AC_PROG_EGREP
|
1997-04-26 21:58:21 +08:00
|
|
|
AC_PATH_PROG(SED, sed, sed)
|
1999-07-04 04:25:58 +08:00
|
|
|
AC_PATH_PROG(PERL, perl, perl)
|
2001-05-20 06:02:22 +08:00
|
|
|
AC_PATH_PROG(LDCONFIG, ldconfig, :)
|
1997-04-26 21:58:21 +08:00
|
|
|
AC_CHECK_TOOL(AR, ar, ar)
|
|
|
|
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
|
|
|
AC_CHECK_TOOL(STRIP, strip, :)
|
2008-04-14 19:50:03 +08:00
|
|
|
AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, )
|
|
|
|
if test "_$MAKEINFO" = "_"; then
|
2016-09-12 11:30:25 +08:00
|
|
|
MAKEINFO="echo Makeinfo is missing. Info documentation will not be built."
|
2008-04-14 19:50:03 +08:00
|
|
|
else
|
|
|
|
case "$MAKEINFO" in
|
|
|
|
*/missing.*)
|
|
|
|
AC_MSG_WARN([
|
|
|
|
*** Makeinfo is missing. Info documentation will not be built.])
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
AC_SUBST(MAKEINFO)
|
1997-04-26 21:58:21 +08:00
|
|
|
AC_PROG_INSTALL
|
1999-07-04 04:37:03 +08:00
|
|
|
# See if we need a separate native compiler.
|
|
|
|
if test $cross_compiling = no; then
|
|
|
|
BUILD_CC="$CC"
|
|
|
|
AC_SUBST(BUILD_CC)
|
|
|
|
else
|
|
|
|
AC_CHECK_PROGS(BUILD_CC, gcc cc)
|
|
|
|
fi
|
2012-03-07 09:13:54 +08:00
|
|
|
AC_CHECK_HEADERS(m4_flatten([
|
|
|
|
dirent.h
|
|
|
|
errno.h
|
|
|
|
execinfo.h
|
|
|
|
getopt.h
|
|
|
|
malloc.h
|
|
|
|
mntent.h
|
|
|
|
paths.h
|
|
|
|
semaphore.h
|
|
|
|
setjmp.h
|
|
|
|
signal.h
|
|
|
|
stdarg.h
|
|
|
|
stdint.h
|
|
|
|
stdlib.h
|
|
|
|
termios.h
|
|
|
|
termio.h
|
|
|
|
unistd.h
|
|
|
|
utime.h
|
2014-07-11 00:44:38 +08:00
|
|
|
attr/xattr.h
|
2012-03-07 09:13:54 +08:00
|
|
|
linux/falloc.h
|
|
|
|
linux/fd.h
|
2017-05-16 02:37:11 +08:00
|
|
|
linux/fsmap.h
|
2012-03-07 09:13:54 +08:00
|
|
|
linux/major.h
|
2013-12-16 13:48:12 +08:00
|
|
|
linux/loop.h
|
2016-11-24 02:21:42 +08:00
|
|
|
linux/types.h
|
2012-03-07 09:13:54 +08:00
|
|
|
net/if_dl.h
|
|
|
|
netinet/in.h
|
2015-05-14 08:22:40 +08:00
|
|
|
sys/acl.h
|
2012-03-07 09:13:54 +08:00
|
|
|
sys/disklabel.h
|
2014-06-12 02:59:05 +08:00
|
|
|
sys/disk.h
|
2012-03-07 09:13:54 +08:00
|
|
|
sys/file.h
|
|
|
|
sys/ioctl.h
|
2015-06-20 07:28:25 +08:00
|
|
|
sys/key.h
|
2012-03-07 09:13:54 +08:00
|
|
|
sys/mkdev.h
|
|
|
|
sys/mman.h
|
2014-06-12 02:59:05 +08:00
|
|
|
sys/mount.h
|
2012-03-07 09:13:54 +08:00
|
|
|
sys/prctl.h
|
|
|
|
sys/resource.h
|
|
|
|
sys/select.h
|
|
|
|
sys/socket.h
|
|
|
|
sys/sockio.h
|
|
|
|
sys/stat.h
|
|
|
|
sys/syscall.h
|
2015-04-21 10:27:19 +08:00
|
|
|
sys/sysctl.h
|
2012-03-07 09:13:54 +08:00
|
|
|
sys/sysmacros.h
|
|
|
|
sys/time.h
|
|
|
|
sys/types.h
|
|
|
|
sys/un.h
|
|
|
|
sys/wait.h
|
2017-05-19 01:46:49 +08:00
|
|
|
sys/xattr.h
|
2012-03-07 09:13:54 +08:00
|
|
|
]))
|
2017-08-29 13:02:36 +08:00
|
|
|
dnl Check where to find a dd(1) that supports iflag=fullblock
|
|
|
|
dnl and oflag=append
|
|
|
|
AC_MSG_CHECKING([for a dd(1) program that supports iflag=fullblock])
|
|
|
|
DD=
|
|
|
|
for i in dd gdd ; do
|
|
|
|
if "$i" if=/dev/null of=/dev/null count=1 bs=10k 2>/dev/null iflag=fullblock oflag=append ; then
|
|
|
|
DD=$i
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
if test -n "$DD" ; then
|
|
|
|
AC_MSG_RESULT([$DD])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([not found, using dd])
|
|
|
|
DD=dd
|
|
|
|
AC_MSG_WARN([No GNU-compatible dd(1) program found, expect some self-test failures.])
|
|
|
|
fi
|
|
|
|
AC_SUBST([DD])
|
|
|
|
|
2005-01-19 12:29:01 +08:00
|
|
|
AC_CHECK_HEADERS(net/if.h,,,
|
|
|
|
[[
|
|
|
|
#if HAVE_SYS_TYPES_H
|
|
|
|
#include <sys/types.h>
|
|
|
|
#endif
|
|
|
|
#if HAVE_SYS_SOCKET
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#endif
|
|
|
|
]])
|
1997-04-26 21:58:21 +08:00
|
|
|
AC_FUNC_VPRINTF
|
2003-04-13 12:44:19 +08:00
|
|
|
dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen
|
2017-10-08 19:30:08 +08:00
|
|
|
dnl is not declared.
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1,
|
|
|
|
[Define to 1 if dirent has d_reclen])],,
|
2005-01-20 01:59:48 +08:00
|
|
|
[#include <dirent.h>])
|
2014-01-03 13:26:43 +08:00
|
|
|
AC_CHECK_MEMBERS([struct stat.st_atim])
|
2011-09-19 05:34:37 +08:00
|
|
|
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])],,
|
2005-01-20 01:59:48 +08:00
|
|
|
[#include <sys/types.h>])
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
1997-10-21 07:36:30 +08:00
|
|
|
dnl Check to see if llseek() is declared in unistd.h. On some libc's
|
|
|
|
dnl it is, and on others it isn't..... Thank you glibc developers....
|
|
|
|
dnl
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1,
|
|
|
|
[Define to 1 if llseek declared in unistd.h])],,
|
2005-01-20 01:59:48 +08:00
|
|
|
[#include <unistd.h>])
|
1997-10-21 07:36:30 +08:00
|
|
|
dnl
|
2000-05-26 07:28:50 +08:00
|
|
|
dnl Check to see if lseek64() is declared in unistd.h. Glibc's header files
|
|
|
|
dnl are so convoluted that I can't tell whether it will always be defined,
|
|
|
|
dnl and if it isn't defined while lseek64 is defined in the library,
|
|
|
|
dnl disaster will strike.
|
|
|
|
dnl
|
|
|
|
dnl Warning! Use of --enable-gcc-wall may throw off this test.
|
|
|
|
dnl
|
|
|
|
dnl
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1,
|
|
|
|
[Define to 1 if lseek64 declared in unistd.h])],,
|
2005-01-20 01:59:48 +08:00
|
|
|
[#define _LARGEFILE_SOURCE
|
|
|
|
#define _LARGEFILE64_SOURCE
|
|
|
|
#include <unistd.h>])
|
2000-05-26 07:28:50 +08:00
|
|
|
dnl
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl Word sizes...
|
|
|
|
dnl
|
|
|
|
AC_CHECK_SIZEOF(short)
|
|
|
|
AC_CHECK_SIZEOF(int)
|
|
|
|
AC_CHECK_SIZEOF(long)
|
1997-04-29 22:51:31 +08:00
|
|
|
AC_CHECK_SIZEOF(long long)
|
2013-01-25 00:21:56 +08:00
|
|
|
AC_CHECK_SIZEOF(off_t)
|
2016-05-29 13:07:40 +08:00
|
|
|
AC_CHECK_SIZEOF(time_t)
|
1997-04-26 21:58:21 +08:00
|
|
|
SIZEOF_SHORT=$ac_cv_sizeof_short
|
|
|
|
SIZEOF_INT=$ac_cv_sizeof_int
|
|
|
|
SIZEOF_LONG=$ac_cv_sizeof_long
|
1997-04-29 22:51:31 +08:00
|
|
|
SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
|
2013-01-25 00:21:56 +08:00
|
|
|
SIZEOF_OFF_T=$ac_cv_sizeof_off_t
|
2016-05-29 13:07:40 +08:00
|
|
|
SIZEOF_TIME_T=$ac_cv_sizeof_time_t
|
1997-04-26 21:58:21 +08:00
|
|
|
AC_SUBST(SIZEOF_SHORT)
|
|
|
|
AC_SUBST(SIZEOF_INT)
|
|
|
|
AC_SUBST(SIZEOF_LONG)
|
1997-04-29 22:51:31 +08:00
|
|
|
AC_SUBST(SIZEOF_LONG_LONG)
|
2013-01-25 00:21:56 +08:00
|
|
|
AC_SUBST(SIZEOF_OFF_T)
|
2016-05-29 13:07:40 +08:00
|
|
|
AC_SUBST(SIZEOF_TIME_T)
|
2001-06-11 14:54:13 +08:00
|
|
|
AC_C_BIGENDIAN
|
2014-05-06 09:08:42 +08:00
|
|
|
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
|
2006-04-09 20:41:55 +08:00
|
|
|
ASM_TYPES_HEADER=./asm_types.h
|
|
|
|
AC_SUBST_FILE(ASM_TYPES_HEADER)
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
2008-06-07 20:55:21 +08:00
|
|
|
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
|
2003-08-02 02:26:23 +08:00
|
|
|
dnl See if we have inttypes.h and if intptr_t is defined
|
|
|
|
dnl
|
|
|
|
AC_CHECK_HEADERS([inttypes.h])
|
2005-01-09 13:57:45 +08:00
|
|
|
AC_CHECK_TYPES(intptr_t)
|
2003-08-02 02:26:23 +08:00
|
|
|
dnl
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl See if struct stat has a st_flags field, in which case we can get file
|
|
|
|
dnl flags somewhat portably. Also check for the analogous setter, chflags().
|
|
|
|
dnl
|
|
|
|
AC_MSG_CHECKING(whether struct stat has a st_flags field)
|
|
|
|
AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags,
|
|
|
|
AC_TRY_COMPILE([#include <sys/stat.h>],
|
|
|
|
[struct stat stat; stat.st_flags = 0;],
|
|
|
|
[e2fsprogs_cv_struct_st_flags=yes],
|
|
|
|
[e2fsprogs_cv_struct_st_flags=no]))
|
|
|
|
AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags)
|
|
|
|
if test "$e2fsprogs_cv_struct_st_flags" = yes; then
|
1999-10-21 02:20:36 +08:00
|
|
|
AC_MSG_CHECKING(whether st_flags field is useful)
|
|
|
|
AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut,
|
|
|
|
AC_TRY_COMPILE([#include <sys/stat.h>],
|
|
|
|
[struct stat stat; stat.st_flags |= UF_IMMUTABLE;],
|
|
|
|
[e2fsprogs_cv_struct_st_flags_immut=yes],
|
|
|
|
[e2fsprogs_cv_struct_st_flags_immut=no]))
|
|
|
|
AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut)
|
|
|
|
if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(HAVE_STAT_FLAGS, 1,
|
|
|
|
[Define to 1 if struct stat has st_flags])
|
1999-10-21 02:20:36 +08:00
|
|
|
fi
|
1997-04-26 21:58:21 +08:00
|
|
|
fi
|
2004-03-20 08:29:17 +08:00
|
|
|
dnl
|
|
|
|
dnl Check for the presence of SA_LEN
|
|
|
|
dnl
|
2005-01-20 01:59:48 +08:00
|
|
|
AC_CHECK_MEMBER(struct sockaddr.sa_len,
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1,
|
|
|
|
[Define to 1 if if struct sockaddr contains sa_len]),,
|
2005-01-20 01:59:48 +08:00
|
|
|
[#include <sys/types.h>
|
|
|
|
#include <sys/socket.h>])
|
2004-03-20 08:29:17 +08:00
|
|
|
dnl
|
2009-10-03 00:32:42 +08:00
|
|
|
dnl This will add -lblkid to the AC_CHECK_FUNCS search if we are using
|
|
|
|
dnl the system-provided blkid library
|
|
|
|
dnl
|
|
|
|
if test -n "$BLKID_CMT"; then
|
|
|
|
AC_SEARCH_LIBS([blkid_probe_all], [blkid])
|
|
|
|
fi
|
|
|
|
dnl
|
2016-06-07 12:14:35 +08:00
|
|
|
if test -n "$DLOPEN_LIB" ; then
|
|
|
|
ac_cv_func_dlopen=yes
|
|
|
|
fi
|
2012-03-07 09:13:54 +08:00
|
|
|
AC_CHECK_FUNCS(m4_flatten([
|
|
|
|
__secure_getenv
|
2015-06-20 07:28:25 +08:00
|
|
|
add_key
|
2012-03-07 09:13:54 +08:00
|
|
|
backtrace
|
|
|
|
blkid_probe_get_topology
|
2014-05-05 13:22:22 +08:00
|
|
|
blkid_probe_enable_partitions
|
2012-03-07 09:13:54 +08:00
|
|
|
chflags
|
2016-06-07 12:14:35 +08:00
|
|
|
dlopen
|
2014-01-03 02:05:37 +08:00
|
|
|
fadvise64
|
2012-03-07 09:13:54 +08:00
|
|
|
fallocate
|
|
|
|
fallocate64
|
|
|
|
fchown
|
2016-11-24 02:21:42 +08:00
|
|
|
fcntl
|
2012-03-07 09:13:54 +08:00
|
|
|
fdatasync
|
|
|
|
fstat64
|
2016-11-24 02:21:42 +08:00
|
|
|
fsync
|
2012-03-07 09:13:54 +08:00
|
|
|
ftruncate64
|
2014-01-03 13:26:43 +08:00
|
|
|
futimes
|
2014-01-05 09:44:29 +08:00
|
|
|
getcwd
|
2012-03-07 09:13:54 +08:00
|
|
|
getdtablesize
|
misc: add e2mmpstatus utility via dumpe2fs
e2mmpstatus is a Multi-Mount Protection (MMP) helper utility to read
an MMP block to see if it is being updated. It can also output the
latest update time, nodename, and device from the MMP block.
This is useful for HA and other maintenance scripts to determine if
the filesystem is in use on another node, and which node it is.
Signed-off-by: Shuichi Ihara <sihara@ddn.com>
Signed-off-by: Li Xi <lixi@ddn.com>
Signed-off-by: Wang Shilong <wshilong@ddn.com>
Moved e2mmpstatus checking/dumping code to be part of dumpe2fs rather
than a standalone program, using the "-m" option to check MMP status,
and "-i" to dump info. If dumpe2fs is called as "e2mmpstatus" (and
also "mmpstatus" for compatibility reasons), assume "-m" is specified.
Re-use the existing MMP block handing routines (with some changes) to
check and dump the MMP block, rather than adding duplicate versions.
Modify dumpe2fs to exit with a non-zero error code if there is an
error while reading the filesystem metadata or MMP block, or if
"-m" is used with the "mmp" feature and is in use by another node.
Add a configure check for gethostname() rather than depending on
_BSD_SOURCE or _XOPEN_SOURCE to be set.
Update the f_mmp, m_mmp, m_mmp_bad_csum, and m_mmp_bad_magic tests
to use e2mmpstatus to check and dump the MMP state before and after
e2fsck is run to verify that the tool is working correctly.
Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2018-05-02 12:26:06 +08:00
|
|
|
gethostname
|
2012-03-07 09:13:54 +08:00
|
|
|
getmntinfo
|
2012-04-06 06:16:50 +08:00
|
|
|
getpwuid_r
|
2012-03-07 09:13:54 +08:00
|
|
|
getrlimit
|
|
|
|
getrusage
|
|
|
|
jrand48
|
2015-06-20 07:28:25 +08:00
|
|
|
keyctl
|
2014-07-11 00:44:38 +08:00
|
|
|
llistxattr
|
2012-03-07 09:13:54 +08:00
|
|
|
llseek
|
|
|
|
lseek64
|
|
|
|
mallinfo
|
|
|
|
mbstowcs
|
|
|
|
memalign
|
2014-01-05 09:44:29 +08:00
|
|
|
mempcpy
|
2012-03-07 09:13:54 +08:00
|
|
|
mmap
|
|
|
|
msync
|
|
|
|
nanosleep
|
|
|
|
open64
|
|
|
|
pathconf
|
|
|
|
posix_fadvise
|
2014-01-03 02:05:37 +08:00
|
|
|
posix_fadvise64
|
2012-03-07 09:13:54 +08:00
|
|
|
posix_memalign
|
|
|
|
prctl
|
2014-08-03 07:18:03 +08:00
|
|
|
pread
|
|
|
|
pwrite
|
2014-08-09 04:42:05 +08:00
|
|
|
pread64
|
|
|
|
pwrite64
|
2013-06-17 02:34:59 +08:00
|
|
|
secure_getenv
|
2012-04-06 06:31:09 +08:00
|
|
|
setmntent
|
2012-03-07 09:13:54 +08:00
|
|
|
setresgid
|
|
|
|
setresuid
|
2014-07-09 08:02:48 +08:00
|
|
|
snprintf
|
2012-03-07 09:13:54 +08:00
|
|
|
srandom
|
2014-01-05 09:44:29 +08:00
|
|
|
stpcpy
|
2012-03-07 09:13:54 +08:00
|
|
|
strcasecmp
|
|
|
|
strdup
|
|
|
|
strnlen
|
|
|
|
strptime
|
|
|
|
strtoull
|
|
|
|
sync_file_range
|
|
|
|
sysconf
|
|
|
|
usleep
|
|
|
|
utime
|
2014-10-20 10:02:48 +08:00
|
|
|
utimes
|
2012-03-07 09:13:54 +08:00
|
|
|
valloc
|
|
|
|
]))
|
1997-04-29 22:51:31 +08:00
|
|
|
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
|
|
|
|
SOCKET_LIB=''
|
|
|
|
AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
|
|
|
|
AC_SUBST(SOCKET_LIB)
|
|
|
|
dnl
|
2014-09-14 06:12:46 +08:00
|
|
|
dnl See if libmagic exists
|
|
|
|
dnl
|
|
|
|
AC_CHECK_LIB(magic, magic_file, [MAGIC_LIB=-lmagic
|
|
|
|
AC_CHECK_HEADERS([magic.h])])
|
2016-06-07 12:14:35 +08:00
|
|
|
if test "$ac_cv_func_dlopen" = yes ; then
|
2014-09-21 13:25:58 +08:00
|
|
|
MAGIC_LIB=$DLOPEN_LIB
|
|
|
|
fi
|
2014-09-14 06:12:46 +08:00
|
|
|
AC_SUBST(MAGIC_LIB)
|
|
|
|
dnl
|
2016-06-10 04:56:15 +08:00
|
|
|
dnl Check to see if librt is required for clock_gettime() (glibc < 2.17)
|
|
|
|
dnl
|
|
|
|
AC_CHECK_LIB(rt, clock_gettime, [CLOCK_GETTIME_LIB=-lrt])
|
|
|
|
AC_SUBST(CLOCK_GETTIME_LIB)
|
|
|
|
dnl
|
2015-05-14 08:22:40 +08:00
|
|
|
dnl Check to see if the FUSE library is -lfuse or -losxfuse
|
|
|
|
dnl
|
|
|
|
FUSE_CMT=
|
|
|
|
FUSE_LIB=
|
|
|
|
dnl osxfuse.dylib supersedes fuselib.dylib
|
|
|
|
AC_ARG_ENABLE([fuse2fs],
|
2015-06-21 02:20:14 +08:00
|
|
|
[ --disable-fuse2fs do not build fuse2fs],
|
2015-05-14 08:22:40 +08:00
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
FUSE_CMT="#"
|
|
|
|
AC_MSG_RESULT([Disabling fuse2fs])
|
|
|
|
else
|
|
|
|
AC_CHECK_HEADERS([pthread.h fuse.h], [],
|
|
|
|
[AC_MSG_FAILURE([Cannot find fuse2fs headers.])],
|
|
|
|
[#define _FILE_OFFSET_BITS 64
|
|
|
|
#define FUSE_USE_VERSION 29])
|
|
|
|
|
|
|
|
AC_PREPROC_IFELSE(
|
|
|
|
[AC_LANG_PROGRAM([[#define FUSE_USE_VERSION 29
|
|
|
|
#ifdef __linux__
|
|
|
|
#include <linux/fs.h>
|
|
|
|
#include <linux/falloc.h>
|
|
|
|
#include <linux/xattr.h>
|
|
|
|
#endif
|
|
|
|
]], [])], [], [AC_MSG_FAILURE([Cannot find fuse2fs Linux headers.])])
|
|
|
|
|
|
|
|
AC_CHECK_LIB(osxfuse, fuse_main, [FUSE_LIB=-losxfuse],
|
|
|
|
[AC_CHECK_LIB(fuse, fuse_main, [FUSE_LIB=-lfuse],
|
|
|
|
[AC_MSG_FAILURE([Cannot find fuse library.])])])
|
|
|
|
AC_MSG_RESULT([Enabling fuse2fs])
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
AC_CHECK_HEADERS([pthread.h fuse.h], [], [FUSE_CMT="#"],
|
|
|
|
[#define _FILE_OFFSET_BITS 64
|
|
|
|
#define FUSE_USE_VERSION 29
|
|
|
|
#ifdef __linux__
|
|
|
|
# include <linux/fs.h>
|
|
|
|
# include <linux/falloc.h>
|
|
|
|
# include <linux/xattr.h>
|
|
|
|
#endif])
|
|
|
|
if test -z "$FUSE_CMT"
|
|
|
|
then
|
|
|
|
AC_CHECK_LIB(osxfuse, fuse_main, [FUSE_LIB=-losxfuse],
|
|
|
|
[AC_CHECK_LIB(fuse, fuse_main, [FUSE_LIB=-lfuse], [FUSE_CMT="#"])])
|
|
|
|
fi
|
|
|
|
if test -z "$FUSE_CMT"
|
|
|
|
then
|
|
|
|
AC_MSG_RESULT([Enabling fuse2fs by default.])
|
|
|
|
fi
|
|
|
|
)
|
|
|
|
AC_SUBST(FUSE_LIB)
|
|
|
|
AC_SUBST(FUSE_CMT)
|
|
|
|
dnl
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl See if optreset exists
|
|
|
|
dnl
|
|
|
|
AC_MSG_CHECKING(for optreset)
|
|
|
|
AC_CACHE_VAL(ac_cv_have_optreset,
|
|
|
|
[AC_EGREP_HEADER(optreset, unistd.h,
|
|
|
|
ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl
|
|
|
|
AC_MSG_RESULT($ac_cv_have_optreset)
|
|
|
|
if test $ac_cv_have_optreset = yes; then
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if optreset for getopt is present])
|
1997-04-26 21:58:21 +08:00
|
|
|
fi
|
|
|
|
dnl
|
2008-09-12 22:15:26 +08:00
|
|
|
dnl Test for sem_init, and which library it might require:
|
|
|
|
dnl
|
2011-09-19 05:34:37 +08:00
|
|
|
AH_TEMPLATE([HAVE_SEM_INIT], [Define to 1 if sem_init() exists])
|
2008-09-12 22:15:26 +08:00
|
|
|
SEM_INIT_LIB=''
|
2017-07-28 07:43:00 +08:00
|
|
|
echo GL_THREADS_API: ${gl_threads_api}
|
|
|
|
if test "${gl_threads_api}" != none
|
|
|
|
then
|
|
|
|
AC_CHECK_FUNC(sem_init, ,
|
|
|
|
AC_CHECK_LIB(pthread, sem_init,
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(HAVE_SEM_INIT, 1)
|
2008-09-12 22:15:26 +08:00
|
|
|
SEM_INIT_LIB=-lpthread,
|
2017-07-28 07:43:00 +08:00
|
|
|
AC_CHECK_LIB(rt, sem_init,
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(HAVE_SEM_INIT, 1)
|
2008-09-12 22:15:26 +08:00
|
|
|
SEM_INIT_LIB=-lrt,
|
2017-07-28 07:43:00 +08:00
|
|
|
AC_CHECK_LIB(posix4, sem_init,
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(HAVE_SEM_INIT, 1)
|
2008-09-12 22:15:26 +08:00
|
|
|
SEM_INIT_LIB=-lposix4))))dnl
|
2017-07-28 07:43:00 +08:00
|
|
|
fi
|
2008-09-12 22:15:26 +08:00
|
|
|
AC_SUBST(SEM_INIT_LIB)
|
|
|
|
dnl
|
2006-08-07 02:33:13 +08:00
|
|
|
dnl Check for unified diff
|
|
|
|
dnl
|
|
|
|
AC_MSG_CHECKING(for unified diff option)
|
2008-04-02 08:32:55 +08:00
|
|
|
if diff -u $0 $0 > /dev/null 2>&1 ; then
|
2006-08-07 02:33:13 +08:00
|
|
|
UNI_DIFF_OPTS=-u
|
|
|
|
else
|
|
|
|
UNI_DIFF_OPTS=-c
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($UNI_DIFF_OPTS)
|
|
|
|
AC_SUBST(UNI_DIFF_OPTS)
|
|
|
|
dnl
|
2000-02-11 13:04:44 +08:00
|
|
|
dnl We use the EXT2 ioctls only under Linux
|
|
|
|
dnl
|
|
|
|
case "$host_os" in
|
|
|
|
linux*)
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(HAVE_EXT2_IOCTLS, 1, [Define to 1 if Ext2 ioctls present])
|
2000-02-11 13:04:44 +08:00
|
|
|
;;
|
|
|
|
esac
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
2003-04-13 12:44:19 +08:00
|
|
|
dnl OS-specific uncomment control
|
2002-08-18 15:37:10 +08:00
|
|
|
dnl
|
|
|
|
LINUX_CMT="#"
|
2003-04-13 12:44:19 +08:00
|
|
|
CYGWIN_CMT="#"
|
|
|
|
UNIX_CMT=
|
2002-08-18 15:37:10 +08:00
|
|
|
case "$host_os" in
|
|
|
|
linux*)
|
|
|
|
LINUX_CMT=
|
|
|
|
;;
|
2003-04-13 12:44:19 +08:00
|
|
|
cygwin)
|
|
|
|
CYGWIN_CMT=
|
|
|
|
UNIX_CMT="#"
|
|
|
|
;;
|
2002-08-18 15:37:10 +08:00
|
|
|
esac
|
|
|
|
AC_SUBST(LINUX_CMT)
|
2003-04-13 12:44:19 +08:00
|
|
|
AC_SUBST(CYGWIN_CMT)
|
|
|
|
AC_SUBST(UNIX_CMT)
|
2002-08-18 15:37:10 +08:00
|
|
|
dnl
|
1999-07-04 04:37:03 +08:00
|
|
|
dnl Linux and Hurd places root files in the / by default
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
|
|
|
case "$host_os" in
|
2003-07-12 14:45:05 +08:00
|
|
|
linux* | gnu* | k*bsd*-gnu)
|
Many files:
configure.in: Change how the installation directions are selected.
Previously, we had prefix and usr_prefix, where prefix was '' and
usr_prefix was /usr, and we then defined bindir, ubindir, libdir,
ulibdir, etc. in terms of that. In autoconf 2.12, it's possible to
override bindir, libdir, etc., and so in order to make our
installation directory makefile variables more in line with autoconf
2.12, I've changed all of the various makefiles to use prefix and
root_prefix, where the default Linux definitions are /usr and '',
respectively. What used to be bindir is now root_bindir, and what
used to be ubindir, is now bindir.
MCONFIG.in: Change directories to match with new installation
directory convention (see above). Add Makefile
dependencies for makefile fragments, and define
DEP_LIB_MAKEFILES which library makefiles can use to
define DEP_MAKEFILES, so that the library makefiles will
get regenerated when the makefile fragments change.
Remove the cat?dir variables, since we aren't creating
those directories any more.
Makefile.in: Add top-level uninstall targets.
e2fsprogs-1.12.spec: Add to the RPM package the e2label man page, and
to reflect that fact that we now compile_et and mk_cmds for the
development package.
ChangeLog, Makefile.in:
Makefile.in: Add uninstall target (which is a just a no-op).
version.h, RELEASE-NOTES:
Update to interim version numbers for release purposes.
1998-04-04 00:12:25 +08:00
|
|
|
if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
|
|
|
|
root_prefix="";
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([On $host_os systems, root_prefix defaults to ''])
|
1997-04-29 22:51:31 +08:00
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
dnl
|
Many files:
configure.in: Change how the installation directions are selected.
Previously, we had prefix and usr_prefix, where prefix was '' and
usr_prefix was /usr, and we then defined bindir, ubindir, libdir,
ulibdir, etc. in terms of that. In autoconf 2.12, it's possible to
override bindir, libdir, etc., and so in order to make our
installation directory makefile variables more in line with autoconf
2.12, I've changed all of the various makefiles to use prefix and
root_prefix, where the default Linux definitions are /usr and '',
respectively. What used to be bindir is now root_bindir, and what
used to be ubindir, is now bindir.
MCONFIG.in: Change directories to match with new installation
directory convention (see above). Add Makefile
dependencies for makefile fragments, and define
DEP_LIB_MAKEFILES which library makefiles can use to
define DEP_MAKEFILES, so that the library makefiles will
get regenerated when the makefile fragments change.
Remove the cat?dir variables, since we aren't creating
those directories any more.
Makefile.in: Add top-level uninstall targets.
e2fsprogs-1.12.spec: Add to the RPM package the e2label man page, and
to reflect that fact that we now compile_et and mk_cmds for the
development package.
ChangeLog, Makefile.in:
Makefile.in: Add uninstall target (which is a just a no-op).
version.h, RELEASE-NOTES:
Update to interim version numbers for release purposes.
1998-04-04 00:12:25 +08:00
|
|
|
dnl On Linux/hurd, force the prefix to be /usr
|
1997-04-29 22:51:31 +08:00
|
|
|
dnl
|
|
|
|
case "$host_os" in
|
2003-07-12 14:45:05 +08:00
|
|
|
linux* | gnu* | k*bsd*-gnu)
|
1997-04-29 22:51:31 +08:00
|
|
|
if test "$prefix" = NONE ; then
|
Many files:
configure.in: Change how the installation directions are selected.
Previously, we had prefix and usr_prefix, where prefix was '' and
usr_prefix was /usr, and we then defined bindir, ubindir, libdir,
ulibdir, etc. in terms of that. In autoconf 2.12, it's possible to
override bindir, libdir, etc., and so in order to make our
installation directory makefile variables more in line with autoconf
2.12, I've changed all of the various makefiles to use prefix and
root_prefix, where the default Linux definitions are /usr and '',
respectively. What used to be bindir is now root_bindir, and what
used to be ubindir, is now bindir.
MCONFIG.in: Change directories to match with new installation
directory convention (see above). Add Makefile
dependencies for makefile fragments, and define
DEP_LIB_MAKEFILES which library makefiles can use to
define DEP_MAKEFILES, so that the library makefiles will
get regenerated when the makefile fragments change.
Remove the cat?dir variables, since we aren't creating
those directories any more.
Makefile.in: Add top-level uninstall targets.
e2fsprogs-1.12.spec: Add to the RPM package the e2label man page, and
to reflect that fact that we now compile_et and mk_cmds for the
development package.
ChangeLog, Makefile.in:
Makefile.in: Add uninstall target (which is a just a no-op).
version.h, RELEASE-NOTES:
Update to interim version numbers for release purposes.
1998-04-04 00:12:25 +08:00
|
|
|
prefix="/usr";
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([On $host_os systems, prefix defaults to /usr])
|
2002-05-22 10:21:38 +08:00
|
|
|
if test "$mandir" = '${prefix}/man' ; then
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([...and mandir defaults to /usr/share/man])
|
2002-05-22 10:21:38 +08:00
|
|
|
mandir=/usr/share/man
|
|
|
|
fi
|
1997-04-26 21:58:21 +08:00
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
Many files:
configure.in: Change how the installation directions are selected.
Previously, we had prefix and usr_prefix, where prefix was '' and
usr_prefix was /usr, and we then defined bindir, ubindir, libdir,
ulibdir, etc. in terms of that. In autoconf 2.12, it's possible to
override bindir, libdir, etc., and so in order to make our
installation directory makefile variables more in line with autoconf
2.12, I've changed all of the various makefiles to use prefix and
root_prefix, where the default Linux definitions are /usr and '',
respectively. What used to be bindir is now root_bindir, and what
used to be ubindir, is now bindir.
MCONFIG.in: Change directories to match with new installation
directory convention (see above). Add Makefile
dependencies for makefile fragments, and define
DEP_LIB_MAKEFILES which library makefiles can use to
define DEP_MAKEFILES, so that the library makefiles will
get regenerated when the makefile fragments change.
Remove the cat?dir variables, since we aren't creating
those directories any more.
Makefile.in: Add top-level uninstall targets.
e2fsprogs-1.12.spec: Add to the RPM package the e2label man page, and
to reflect that fact that we now compile_et and mk_cmds for the
development package.
ChangeLog, Makefile.in:
Makefile.in: Add uninstall target (which is a just a no-op).
version.h, RELEASE-NOTES:
Update to interim version numbers for release purposes.
1998-04-04 00:12:25 +08:00
|
|
|
if test "$root_prefix" = NONE ; then
|
1998-04-08 14:05:49 +08:00
|
|
|
if test "$prefix" = NONE ; then
|
Many files:
configure.in: Change how the installation directions are selected.
Previously, we had prefix and usr_prefix, where prefix was '' and
usr_prefix was /usr, and we then defined bindir, ubindir, libdir,
ulibdir, etc. in terms of that. In autoconf 2.12, it's possible to
override bindir, libdir, etc., and so in order to make our
installation directory makefile variables more in line with autoconf
2.12, I've changed all of the various makefiles to use prefix and
root_prefix, where the default Linux definitions are /usr and '',
respectively. What used to be bindir is now root_bindir, and what
used to be ubindir, is now bindir.
MCONFIG.in: Change directories to match with new installation
directory convention (see above). Add Makefile
dependencies for makefile fragments, and define
DEP_LIB_MAKEFILES which library makefiles can use to
define DEP_MAKEFILES, so that the library makefiles will
get regenerated when the makefile fragments change.
Remove the cat?dir variables, since we aren't creating
those directories any more.
Makefile.in: Add top-level uninstall targets.
e2fsprogs-1.12.spec: Add to the RPM package the e2label man page, and
to reflect that fact that we now compile_et and mk_cmds for the
development package.
ChangeLog, Makefile.in:
Makefile.in: Add uninstall target (which is a just a no-op).
version.h, RELEASE-NOTES:
Update to interim version numbers for release purposes.
1998-04-04 00:12:25 +08:00
|
|
|
root_prefix="$ac_default_prefix"
|
|
|
|
else
|
|
|
|
root_prefix="$prefix"
|
|
|
|
fi
|
2002-05-12 07:17:00 +08:00
|
|
|
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'
|
Many files:
configure.in: Change how the installation directions are selected.
Previously, we had prefix and usr_prefix, where prefix was '' and
usr_prefix was /usr, and we then defined bindir, ubindir, libdir,
ulibdir, etc. in terms of that. In autoconf 2.12, it's possible to
override bindir, libdir, etc., and so in order to make our
installation directory makefile variables more in line with autoconf
2.12, I've changed all of the various makefiles to use prefix and
root_prefix, where the default Linux definitions are /usr and '',
respectively. What used to be bindir is now root_bindir, and what
used to be ubindir, is now bindir.
MCONFIG.in: Change directories to match with new installation
directory convention (see above). Add Makefile
dependencies for makefile fragments, and define
DEP_LIB_MAKEFILES which library makefiles can use to
define DEP_MAKEFILES, so that the library makefiles will
get regenerated when the makefile fragments change.
Remove the cat?dir variables, since we aren't creating
those directories any more.
Makefile.in: Add top-level uninstall targets.
e2fsprogs-1.12.spec: Add to the RPM package the e2label man page, and
to reflect that fact that we now compile_et and mk_cmds for the
development package.
ChangeLog, Makefile.in:
Makefile.in: Add uninstall target (which is a just a no-op).
version.h, RELEASE-NOTES:
Update to interim version numbers for release purposes.
1998-04-04 00:12:25 +08:00
|
|
|
fi
|
2008-01-05 05:55:37 +08:00
|
|
|
if test "$bindir" != '${exec_prefix}/bin'; then
|
|
|
|
root_bindir=$bindir
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Setting root_bindir to $root_bindir])
|
2008-01-05 05:55:37 +08:00
|
|
|
fi
|
|
|
|
if test "$sbindir" != '${exec_prefix}/sbin'; then
|
|
|
|
root_sbindir=$sbindir
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Setting root_sbindir to $root_sbindir])
|
2008-01-05 05:55:37 +08:00
|
|
|
fi
|
|
|
|
if test "$libdir" != '${exec_prefix}/lib'; then
|
|
|
|
root_libdir=$libdir
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Setting root_libdir to $root_libdir])
|
2008-01-05 05:55:37 +08:00
|
|
|
fi
|
|
|
|
if test "$sysconfdir" != '${prefix}/etc'; then
|
|
|
|
root_sysconfdir=$sysconfdir
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Setting root_sysconfdir to $root_sysconfdir])
|
2008-01-05 05:55:37 +08:00
|
|
|
fi
|
Many files:
configure.in: Change how the installation directions are selected.
Previously, we had prefix and usr_prefix, where prefix was '' and
usr_prefix was /usr, and we then defined bindir, ubindir, libdir,
ulibdir, etc. in terms of that. In autoconf 2.12, it's possible to
override bindir, libdir, etc., and so in order to make our
installation directory makefile variables more in line with autoconf
2.12, I've changed all of the various makefiles to use prefix and
root_prefix, where the default Linux definitions are /usr and '',
respectively. What used to be bindir is now root_bindir, and what
used to be ubindir, is now bindir.
MCONFIG.in: Change directories to match with new installation
directory convention (see above). Add Makefile
dependencies for makefile fragments, and define
DEP_LIB_MAKEFILES which library makefiles can use to
define DEP_MAKEFILES, so that the library makefiles will
get regenerated when the makefile fragments change.
Remove the cat?dir variables, since we aren't creating
those directories any more.
Makefile.in: Add top-level uninstall targets.
e2fsprogs-1.12.spec: Add to the RPM package the e2label man page, and
to reflect that fact that we now compile_et and mk_cmds for the
development package.
ChangeLog, Makefile.in:
Makefile.in: Add uninstall target (which is a just a no-op).
version.h, RELEASE-NOTES:
Update to interim version numbers for release purposes.
1998-04-04 00:12:25 +08:00
|
|
|
AC_SUBST(root_prefix)
|
2002-05-12 07:17:00 +08:00
|
|
|
AC_SUBST(root_bindir)
|
|
|
|
AC_SUBST(root_sbindir)
|
|
|
|
AC_SUBST(root_libdir)
|
|
|
|
AC_SUBST(root_sysconfdir)
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
2011-09-19 11:53:23 +08:00
|
|
|
dnl Allow specification of the multiarch arch
|
|
|
|
dnl
|
|
|
|
AC_ARG_WITH([multiarch],
|
|
|
|
[ --with-multiarch=ARCH specify the multiarch triplet],
|
2014-02-06 04:45:36 +08:00
|
|
|
if test "$withval" = "lib64"; then
|
|
|
|
libdir=/usr/lib64
|
|
|
|
root_libdir=/lib64
|
|
|
|
else
|
|
|
|
libdir=$libdir/$withval
|
|
|
|
root_libdir=$root_libdir/$withval
|
|
|
|
fi
|
2011-09-19 11:53:23 +08:00
|
|
|
)dnl
|
|
|
|
dnl
|
2012-12-16 11:10:27 +08:00
|
|
|
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.
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
2012-12-16 11:10:27 +08:00
|
|
|
AC_MSG_CHECKING([whether we can link with -static])
|
1997-04-30 02:13:24 +08:00
|
|
|
AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
|
2016-05-22 11:51:19 +08:00
|
|
|
[SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS_STATIC -static"
|
1997-04-30 02:13:24 +08:00
|
|
|
AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
|
|
|
|
ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no)
|
|
|
|
LDFLAGS=$SAVE_LDFLAGS])
|
1999-01-04 15:39:19 +08:00
|
|
|
dnl
|
|
|
|
dnl Regardless of how the test turns out, Solaris doesn't handle -static
|
|
|
|
dnl This is caused by the socket library requiring the nsl library, which
|
|
|
|
dnl requires the -dl library, which only works for dynamically linked
|
|
|
|
dnl programs. It basically means you can't have statically linked programs
|
|
|
|
dnl which use the network under Solaris.
|
|
|
|
dnl
|
|
|
|
case "$host_os" in
|
|
|
|
solaris2.*)
|
|
|
|
ac_cv_e2fsprogs_use_static=no
|
|
|
|
;;
|
|
|
|
esac
|
1997-04-30 02:13:24 +08:00
|
|
|
AC_MSG_RESULT($ac_cv_e2fsprogs_use_static)
|
|
|
|
if test $ac_cv_e2fsprogs_use_static = yes; then
|
2016-05-22 11:51:19 +08:00
|
|
|
LDFLAGS_STATIC="$LDFLAGS_STATIC -static"
|
1997-04-30 02:13:24 +08:00
|
|
|
fi
|
2016-05-22 11:51:19 +08:00
|
|
|
AC_SUBST(LDFLAGS_STATIC)
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
2003-07-06 02:50:24 +08:00
|
|
|
dnl Work around mysterious Darwin / GNU libintl problem
|
|
|
|
dnl (__asm__ redirection doesn't work for some mysterious reason. Looks like
|
|
|
|
dnl Apple hacked gcc somehow?)
|
|
|
|
dnl
|
|
|
|
case "$host_os" in
|
|
|
|
darwin*)
|
2008-08-22 22:52:42 +08:00
|
|
|
AC_MSG_RESULT([Using Apple Darwin / GNU libintl workaround])
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_DEFINE(_INTL_REDIRECT_MACROS, 1,
|
|
|
|
[Define to 1 if Apple Darwin libintl workaround is needed])
|
2003-07-06 02:50:24 +08:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
dnl
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl Only try to run the test suite if we're not cross compiling.
|
|
|
|
dnl
|
|
|
|
if test "$cross_compiling" = yes ; then
|
|
|
|
DO_TEST_SUITE=
|
|
|
|
else
|
|
|
|
DO_TEST_SUITE=check
|
|
|
|
fi
|
|
|
|
AC_SUBST(DO_TEST_SUITE)
|
|
|
|
dnl
|
2003-05-18 04:29:27 +08:00
|
|
|
dnl Only include the intl include files if we're building with them
|
2011-09-19 05:34:37 +08:00
|
|
|
dnl
|
|
|
|
INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib'
|
|
|
|
if test -n "$CPPFLAGS" ; then
|
|
|
|
INCLUDES="$INCLUDES $CPPFLAGS"
|
|
|
|
fi
|
2003-05-18 04:29:27 +08:00
|
|
|
if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
|
2011-09-19 05:34:37 +08:00
|
|
|
INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl'
|
2003-05-18 04:29:27 +08:00
|
|
|
fi
|
2014-01-05 09:44:29 +08:00
|
|
|
if test -n "$WITH_DIET_LIBC" ; then
|
|
|
|
INCLUDES="$INCLUDES -D_REENTRANT"
|
|
|
|
fi
|
2011-09-19 05:34:37 +08:00
|
|
|
AC_SUBST(INCLUDES)
|
2003-05-18 04:29:27 +08:00
|
|
|
dnl
|
2005-11-10 06:37:07 +08:00
|
|
|
dnl Build CFLAGS
|
|
|
|
dnl
|
|
|
|
if test $cross_compiling = no; then
|
2014-01-03 13:26:43 +08:00
|
|
|
BUILD_CFLAGS="$CFLAGS $CPPFLAGS $INCLUDES -DHAVE_CONFIG_H"
|
2005-11-10 06:37:07 +08:00
|
|
|
BUILD_LDFLAGS="$LDFLAGS"
|
|
|
|
fi
|
|
|
|
AC_SUBST(BUILD_CFLAGS)
|
|
|
|
AC_SUBST(BUILD_LDFLAGS)
|
|
|
|
dnl
|
2016-05-22 11:51:19 +08:00
|
|
|
dnl Define CFLAGS and LDFLAGS for shared libraries
|
|
|
|
dnl
|
|
|
|
CFLAGS_SHLIB=${CFLAGS_SHLIB:-$CFLAGS}
|
|
|
|
CFLAGS_STLIB=${CFLAGS_STLIB:-$CFLAGS}
|
|
|
|
LDFLAGS_SHLIB=${LDFLAGS_SHLIB:-$LDFLAGS}
|
|
|
|
AC_SUBST(CFLAGS_SHLIB)
|
|
|
|
AC_SUBST(CFLAGS_STLIB)
|
|
|
|
AC_SUBST(LDFLAGS_SHLIB)
|
|
|
|
dnl
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl Make our output files, being sure that we create the some miscellaneous
|
|
|
|
dnl directories
|
|
|
|
dnl
|
|
|
|
test -d lib || mkdir lib
|
|
|
|
test -d include || mkdir include
|
|
|
|
test -d include/linux || mkdir include/linux
|
1999-01-04 15:39:19 +08:00
|
|
|
test -d include/asm || mkdir include/asm
|
2015-07-02 07:42:05 +08:00
|
|
|
if test -z "$UUID_CMT" ; then
|
|
|
|
uuid_out_list="lib/uuid/Makefile lib/uuid/uuid.pc \
|
|
|
|
lib/uuid/uuid_types.h"
|
|
|
|
fi
|
|
|
|
if test -z "$BLKID_CMT" ; then
|
|
|
|
blkid_out_list="lib/blkid/Makefile lib/blkid/blkid.pc \
|
|
|
|
lib/blkid/blkid_types.h"
|
|
|
|
fi
|
2018-08-18 22:42:44 +08:00
|
|
|
for i in MCONFIG Makefile \
|
2012-05-13 11:13:24 +08:00
|
|
|
util/Makefile util/subst.conf util/gen-tarball util/install-symlink \
|
2006-04-09 20:41:55 +08:00
|
|
|
lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \
|
|
|
|
lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \
|
2015-07-12 11:05:57 +08:00
|
|
|
$uuid_out_list $blkid_out_list lib/support/Makefile \
|
2015-07-02 07:42:05 +08:00
|
|
|
lib/ss/ss.pc lib/et/com_err.pc lib/e2p/e2p.pc lib/ext2fs/ext2fs.pc \
|
2004-11-20 06:25:27 +08:00
|
|
|
misc/Makefile ext2ed/Makefile e2fsck/Makefile \
|
2003-03-02 15:07:14 +08:00
|
|
|
debugfs/Makefile tests/Makefile tests/progs/Makefile \
|
2009-07-15 23:37:52 +08:00
|
|
|
resize/Makefile doc/Makefile intl/Makefile \
|
|
|
|
intl/libgnuintl.h po/Makefile.in ; do
|
2003-03-02 15:07:14 +08:00
|
|
|
if test -d `dirname ${srcdir}/$i` ; then
|
|
|
|
outlist="$outlist $i"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
AC_OUTPUT($outlist)
|
2005-02-06 04:53:56 +08:00
|
|
|
if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi
|