1997-04-26 21:58:21 +08:00
|
|
|
AC_INIT(version.h)
|
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_PREREQ(2.12)
|
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 \" " "`
|
|
|
|
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
|
|
|
|
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" ;;
|
|
|
|
*) echo "Unknown month $MONTH??" ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
unset DATE MONTH YEAR
|
|
|
|
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_VERSION)
|
1997-04-29 22:51:31 +08:00
|
|
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
1997-04-26 22:37:06 +08:00
|
|
|
dnl
|
|
|
|
dnl set $(CC) from --with-cc=value
|
|
|
|
dnl
|
|
|
|
AC_ARG_WITH([cc],
|
|
|
|
[ --with-cc=COMPILER select compiler to use],
|
|
|
|
AC_MSG_RESULT(CC=$withval)
|
|
|
|
CC=$withval,
|
|
|
|
if test -z "$CC" ; then CC=cc; fi
|
|
|
|
[AC_MSG_RESULT(CC defaults to $CC)])dnl
|
|
|
|
export CC
|
|
|
|
AC_SUBST([CC])
|
|
|
|
dnl
|
|
|
|
dnl set $(LD) from --with-linker=value
|
|
|
|
dnl
|
|
|
|
AC_ARG_WITH([linker],
|
|
|
|
[ --with-linker=LINKER select linker to use],
|
|
|
|
AC_MSG_RESULT(LD=$withval)
|
|
|
|
LD=$withval,
|
|
|
|
if test -z "$LD" ; then LD=$CC; fi
|
|
|
|
[AC_MSG_RESULT(LD defaults to $LD)])dnl
|
|
|
|
export LD
|
|
|
|
AC_SUBST([LD])
|
|
|
|
dnl
|
|
|
|
dnl set $(CCOPTS) from --with-ccopts=value
|
|
|
|
dnl
|
|
|
|
AC_ARG_WITH([ccopts],
|
|
|
|
[ --with-ccopts=CCOPTS select compiler command line options],
|
|
|
|
AC_MSG_RESULT(CCOPTS is $withval)
|
|
|
|
CCOPTS=$withval
|
|
|
|
CFLAGS="$CFLAGS $withval",
|
|
|
|
CCOPTS=)dnl
|
|
|
|
AC_SUBST(CCOPTS)
|
|
|
|
dnl
|
1999-10-26 12:19:45 +08:00
|
|
|
dnl On systems without linux header files, we add an extra include directory
|
|
|
|
dnl that holds enough to fake it (hopefully). Note that the $(top_srcdir) here
|
|
|
|
dnl is quoted so that it gets expanded by make, not by configure.
|
|
|
|
dnl
|
|
|
|
AC_CHECK_HEADER(linux/fs.h, [linux_headers=yes], [linux_headers=no])
|
|
|
|
if test "$linux_headers" = yes; then
|
|
|
|
AC_DEFINE(HAVE_LINUX_FS_H)
|
|
|
|
else
|
|
|
|
LINUX_INCLUDE='-I$(top_srcdir)/include -I$(top_builddir)/include'
|
|
|
|
# Use this include directory with test compiles in the configure script too.
|
|
|
|
CPPFLAGS="$CPPFLAGS -I$srcdir/include -I./include"
|
|
|
|
fi
|
|
|
|
AC_SUBST(LINUX_INCLUDE)
|
|
|
|
dnl
|
1997-04-29 22:28:00 +08:00
|
|
|
dnl Set default values for library extentions. Will be dealt with after
|
|
|
|
dnl parsing configuration opions, which may modify these
|
|
|
|
dnl
|
|
|
|
LIB_EXT=.a
|
|
|
|
STATIC_LIB_EXT=.a
|
|
|
|
PROFILE_LIB_EXT=.a
|
|
|
|
dnl
|
1997-04-26 22:37:06 +08:00
|
|
|
dnl set $(LDFLAGS) from --with-ldopts=value
|
|
|
|
dnl
|
|
|
|
AC_ARG_WITH([ldopts],
|
|
|
|
[ --with-ldopts=LDOPTS select linker command line options],
|
|
|
|
AC_MSG_RESULT(LDFLAGS is $withval)
|
|
|
|
LDFLAGS=$withval,
|
|
|
|
LDFLAGS=)dnl
|
|
|
|
AC_SUBST(LDFLAGS)
|
1997-04-26 21:58:21 +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
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl handle --enable-dll-shlibs
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([dll-shlibs],
|
1997-04-29 22:28:00 +08:00
|
|
|
[ --enable-dll-shlibs select DLL libraries],
|
1997-04-26 21:58:21 +08:00
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
DLL_CMT=#
|
|
|
|
MAKEFILE_DLL=/dev/null
|
|
|
|
echo "Disabling DLL shared libraries"
|
|
|
|
else
|
|
|
|
DLL_CMT=
|
|
|
|
MAKEFILE_DLL=$srcdir/lib/Makefile.dll-lib
|
1997-04-26 22:37:06 +08:00
|
|
|
BINARY_TYPE=dllbin
|
1997-04-29 22:28:00 +08:00
|
|
|
LIB_EXT=.sa
|
1997-04-26 21:58:21 +08:00
|
|
|
echo "Enabling DLL shared libraries"
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
MAKEFILE_DLL=/dev/null
|
|
|
|
DLL_CMT=#
|
|
|
|
echo "Disabling DLL shared libraries by default"
|
|
|
|
)
|
|
|
|
AC_SUBST(DLL_CMT)
|
|
|
|
AC_SUBST_FILE(MAKEFILE_DLL)
|
|
|
|
dnl
|
|
|
|
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
|
|
|
|
echo "Disabling ELF shared libraries"
|
|
|
|
else
|
|
|
|
ELF_CMT=
|
|
|
|
MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib
|
1997-04-26 22:37:06 +08:00
|
|
|
BINARY_TYPE=elfbin
|
1997-04-29 22:28:00 +08:00
|
|
|
LIB_EXT=.so
|
1997-04-26 21:58:21 +08:00
|
|
|
echo "Enabling ELF shared libraries"
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
MAKEFILE_ELF=/dev/null
|
|
|
|
ELF_CMT=#
|
|
|
|
echo "Disabling ELF shared libraries by default"
|
|
|
|
)
|
|
|
|
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
|
|
|
|
echo "Disabling BSD shared libraries"
|
|
|
|
else
|
|
|
|
BSDLIB_CMT=
|
|
|
|
MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
|
1997-04-29 22:28:00 +08:00
|
|
|
LIB_EXT=.so
|
1997-04-26 21:58:21 +08:00
|
|
|
echo "Enabling BSD shared libraries"
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
MAKEFILE_BSDLIB=/dev/null
|
|
|
|
BSDLIB_CMT=#
|
|
|
|
echo "Disabling BSD shared libraries by default"
|
|
|
|
)
|
|
|
|
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
|
|
|
|
echo "Disabling profiling libraries"
|
|
|
|
else
|
|
|
|
PROFILE_CMT=
|
|
|
|
MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile
|
1997-04-29 22:28:00 +08:00
|
|
|
PROFILED_LIB_EXT=_p.a
|
1997-04-26 21:58:21 +08:00
|
|
|
echo "Building profiling libraries"
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
PROFILE_CMT=#
|
|
|
|
MAKEFILE_PROFILE=/dev/null
|
|
|
|
echo "Disabling profiling libraries by default"
|
|
|
|
)
|
|
|
|
AC_SUBST(PROFILE_CMT)
|
|
|
|
AC_SUBST_FILE(MAKEFILE_PROFILE)
|
|
|
|
dnl
|
|
|
|
dnl handle --enable-checker
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([checker],
|
1997-04-29 22:28:00 +08:00
|
|
|
[ --enable-checker build checker libraries],
|
1997-04-26 21:58:21 +08:00
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
CHECKER_CMT=#
|
|
|
|
MAKEFILE_CHECKER=/dev/null
|
|
|
|
echo "Disabling checker libraries"
|
|
|
|
else
|
|
|
|
CHECKER_CMT=
|
|
|
|
MAKEFILE_CHECKER=$srcdir/lib/Makefile.checker
|
|
|
|
echo "Building checker libraries"
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
CHECKER_CMT=#
|
|
|
|
MAKEFILE_CHECKER=/dev/null
|
|
|
|
echo "Disabling checker libraries by default"
|
|
|
|
)
|
|
|
|
AC_SUBST(CHECKER_CMT)
|
|
|
|
AC_SUBST_FILE(MAKEFILE_CHECKER)
|
|
|
|
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)
|
|
|
|
dnl
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl handle --enable-gcc-wall
|
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([gcc-wall],
|
1997-10-21 07:36:30 +08:00
|
|
|
[ --enable-gcc-wall enable GCC anal warnings (DON'T USE IN PRODUCTION)],
|
1997-04-26 21:58:21 +08:00
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
W=#
|
|
|
|
echo "Disabling GCC warnings"
|
|
|
|
else
|
|
|
|
W=
|
|
|
|
echo "Enabling GCC warnings"
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
W=#
|
|
|
|
echo "Disabling GCC warnings by default"
|
|
|
|
)
|
|
|
|
AC_SUBST(W)
|
1997-04-29 22:28:00 +08:00
|
|
|
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)
|
1997-04-26 21:58:21 +08:00
|
|
|
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=''
|
|
|
|
echo "Not building fsck wrapper"
|
|
|
|
else
|
|
|
|
FSCK_PROG=fsck FSCK_MAN=fsck.8
|
|
|
|
echo "Building fsck wrapper"
|
|
|
|
fi]
|
|
|
|
,
|
|
|
|
[case "$host_os" in
|
|
|
|
gnu*)
|
|
|
|
FSCK_PROG='' FSCK_MAN=''
|
|
|
|
echo "Not building fsck wrapper by default"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
FSCK_PROG=fsck FSCK_MAN=fsck.8
|
|
|
|
echo "Building fsck wrapper by default"
|
|
|
|
esac]
|
|
|
|
)
|
|
|
|
AC_SUBST(FSCK_PROG)
|
|
|
|
AC_SUBST(FSCK_MAN)
|
|
|
|
dnl
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
|
|
|
MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
|
|
|
|
AC_SUBST_FILE(MAKEFILE_LIBRARY)
|
|
|
|
dnl
|
1997-04-29 22:51:31 +08:00
|
|
|
dnl
|
|
|
|
AC_ARG_ENABLE([old-bitops],
|
|
|
|
[ --enable-old-bitops Use old (non-standard but native) bitmask operations],
|
|
|
|
if test "$enableval" = "no"
|
|
|
|
then
|
|
|
|
echo "Using new (standard) bitmask operations"
|
|
|
|
else
|
|
|
|
AC_DEFINE(EXT2_OLD_BITOPS)
|
|
|
|
echo "Using old (native) bitmask operations"
|
|
|
|
|
|
|
|
fi
|
|
|
|
,
|
|
|
|
echo "Using standard bitmask operations by default"
|
|
|
|
)
|
|
|
|
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
|
|
|
|
AC_PATH_PROG(LN, ln, ln)
|
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, :)
|
|
|
|
AC_PATH_PROG(AWK, awk, awk)
|
|
|
|
AC_PATH_PROG(SED, sed, sed)
|
1999-07-04 04:25:58 +08:00
|
|
|
AC_PATH_PROG(PERL, perl, perl)
|
1997-04-26 21:58:21 +08:00
|
|
|
AC_CHECK_TOOL(AR, ar, ar)
|
|
|
|
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
|
|
|
AC_CHECK_TOOL(STRIP, strip, :)
|
|
|
|
AC_PROG_CC
|
|
|
|
AC_PROG_INSTALL
|
|
|
|
AC_C_CROSS
|
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
|
1999-10-26 12:28:53 +08:00
|
|
|
AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h signal.h termios.h linux/fd.h linux/major.h sys/disklabel.h sys/sockio.h sys/time.h sys/stat.h sys/types.h net/if.h netinet/in.h)
|
1997-04-26 21:58:21 +08:00
|
|
|
AC_FUNC_VPRINTF
|
|
|
|
dnl
|
|
|
|
dnl See if struct dirent has a d_namlen field (like bsd systems), implying
|
|
|
|
dnl that the actual length of the structure may be grater than the declared
|
|
|
|
dnl length.
|
|
|
|
dnl
|
|
|
|
AC_MSG_CHECKING(whether struct dirent has a d_namlen field)
|
|
|
|
AC_CACHE_VAL(e2fsprogs_cv_struct_d_namlen,
|
|
|
|
AC_TRY_COMPILE(
|
|
|
|
[#include <sys/types.h>
|
|
|
|
#include <dirent.h>],
|
|
|
|
[struct dirent de; de.d_namlen = 0;],
|
|
|
|
[e2fsprogs_cv_struct_d_namlen=yes],
|
|
|
|
[e2fsprogs_cv_struct_d_namlen=no]))
|
|
|
|
AC_MSG_RESULT($e2fsprogs_cv_struct_d_namlen)
|
|
|
|
if test "$e2fsprogs_cv_struct_d_namlen" = yes; then
|
|
|
|
AC_DEFINE(HAVE_DIRENT_NAMLEN)
|
|
|
|
fi
|
|
|
|
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
|
|
|
|
dnl Warning! Use of --enable-gcc-wall may throw off this test.
|
|
|
|
dnl
|
|
|
|
dnl
|
|
|
|
AC_MSG_CHECKING(whether llseek declared in unistd.h)
|
|
|
|
AC_CACHE_VAL(e2fsprogs_cv_have_llseek_prototype,
|
|
|
|
AC_TRY_COMPILE(
|
|
|
|
[#include <unistd.h>], [extern int llseek(int);],
|
|
|
|
[e2fsprogs_cv_have_llseek_prototype=no],
|
|
|
|
[e2fsprogs_cv_have_llseek_prototype=yes]))
|
|
|
|
AC_MSG_RESULT($e2fsprogs_cv_have_llseek_prototype)
|
|
|
|
if test "$e2fsprogs_cv_have_llseek_prototype" = yes; then
|
|
|
|
AC_DEFINE(HAVE_LLSEEK_PROTOTYPE)
|
|
|
|
fi
|
|
|
|
dnl
|
1997-04-26 21:58:21 +08:00
|
|
|
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
|
1999-07-04 04:37:03 +08:00
|
|
|
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])
|
1997-04-26 21:58:21 +08:00
|
|
|
fi
|
|
|
|
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)
|
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
|
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)
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
|
|
|
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
|
|
|
|
AC_DEFINE(HAVE_STAT_FLAGS)
|
|
|
|
fi
|
1997-04-26 21:58:21 +08:00
|
|
|
fi
|
1999-03-17 03:24:34 +08:00
|
|
|
AC_CHECK_FUNCS(chflags getrusage llseek strdup getmntinfo strcasecmp srandom fchown mallinfo)
|
1997-04-29 22:51:31 +08:00
|
|
|
dnl
|
|
|
|
dnl Check to see if ino_t is defined
|
|
|
|
dnl
|
|
|
|
AC_MSG_CHECKING(ino_t defined by sys/types.h)
|
|
|
|
AC_CACHE_VAL(e2fsprogs_cv_ino_t,
|
|
|
|
AC_TRY_COMPILE([#include <sys/types.h>],
|
|
|
|
[ino_t ino; ino = 0;],
|
|
|
|
[e2fsprogs_cv_ino_t=yes],
|
|
|
|
[e2fsprogs_cv_ino_t=no]))
|
|
|
|
AC_MSG_RESULT($e2fsprogs_cv_ino_t)
|
|
|
|
if test "$e2fsprogs_cv_ino_t" = yes; then
|
|
|
|
AC_DEFINE(HAVE_INO_T)
|
|
|
|
fi
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
1997-04-29 22:51:31 +08:00
|
|
|
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
|
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
|
|
|
|
AC_DEFINE(HAVE_OPTRESET)
|
|
|
|
fi
|
|
|
|
dnl
|
1999-10-26 09:58:54 +08:00
|
|
|
dnl See if using the EXT2 ioctls causes a compile-time barf (as on the Hurd).
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
|
|
|
AC_MSG_CHECKING(whether the ext2 ioctls compile)
|
|
|
|
AC_CACHE_VAL(e2fsprogs_cv_ioctl_ext2,
|
|
|
|
AC_TRY_COMPILE([#include <linux/ext2_fs.h>
|
|
|
|
#include <sys/ioctl.h>],
|
|
|
|
[ioctl (0, EXT2_IOC_SETVERSION, 0);],
|
|
|
|
[e2fsprogs_cv_ioctl_ext2=yes],
|
|
|
|
[e2fsprogs_cv_ioctl_ext2=no]))
|
|
|
|
AC_MSG_RESULT($e2fsprogs_cv_ioctl_ext2)
|
|
|
|
if test "$e2fsprogs_cv_ioctl_ext2" = yes; then
|
|
|
|
AC_DEFINE(HAVE_EXT2_IOCTLS)
|
|
|
|
fi
|
|
|
|
dnl
|
1999-06-25 23:30:33 +08:00
|
|
|
dnl Check if ext2_inode has i_version (changed to i_generation in Linux 2.3)
|
|
|
|
dnl
|
|
|
|
AC_MSG_CHECKING(whether struct ext2_inode has an i_version field)
|
|
|
|
AC_CACHE_VAL(e2fsprogs_cv_ext2_inode_version,
|
|
|
|
AC_TRY_COMPILE([#include <linux/ext2_fs.h>],
|
|
|
|
[struct ext2_inode e2i; e2i.i_version=0;],
|
|
|
|
[e2fsprogs_cv_ext2_inode_version=yes],
|
|
|
|
[e2fsprogs_cv_ext2_inode_version=no]))
|
|
|
|
AC_MSG_RESULT($e2fsprogs_cv_ext2_inode_version)
|
|
|
|
if test "$e2fsprogs_cv_ext2_inode_version" = yes; then
|
|
|
|
AC_DEFINE(HAVE_EXT2_INODE_VERSION)
|
|
|
|
fi
|
|
|
|
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
|
1999-07-04 04:37:03 +08:00
|
|
|
linux* | 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="";
|
|
|
|
echo "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
|
|
|
|
linux* | gnu*)
|
|
|
|
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";
|
|
|
|
echo "On $host_os systems, prefix defaults to /usr"
|
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
|
|
|
|
fi
|
|
|
|
AC_SUBST(root_prefix)
|
1997-04-26 21:58:21 +08:00
|
|
|
dnl
|
|
|
|
dnl See if -static works.
|
|
|
|
dnl
|
1997-04-30 02:13:24 +08:00
|
|
|
AC_MSG_CHECKING([whether linker accepts -static])
|
|
|
|
AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
|
|
|
|
[SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
|
|
|
|
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)
|
1997-04-26 22:37:06 +08:00
|
|
|
LDFLAG_STATIC=
|
1997-04-30 02:13:24 +08:00
|
|
|
if test $ac_cv_e2fsprogs_use_static = yes; then
|
1997-04-26 21:58:21 +08:00
|
|
|
LDFLAG_STATIC=-static
|
1997-04-30 02:13:24 +08:00
|
|
|
fi
|
1997-04-26 21:58:21 +08:00
|
|
|
AC_SUBST(LDFLAG_STATIC)
|
|
|
|
dnl
|
|
|
|
dnl Make the ss and et directories work correctly.
|
|
|
|
dnl
|
|
|
|
SS_DIR=`cd ${srcdir}/lib/ss; pwd`
|
|
|
|
ET_DIR=`cd ${srcdir}/lib/et; pwd`
|
|
|
|
AC_SUBST(SS_DIR)
|
|
|
|
AC_SUBST(ET_DIR)
|
|
|
|
dnl
|
|
|
|
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
|
1997-04-29 22:28:00 +08:00
|
|
|
dnl
|
|
|
|
dnl
|
|
|
|
DO_SUBSTITUTE_SCRIPT=$srcdir/lib/do_substitute
|
|
|
|
AC_SUBST_FILE(DO_SUBSTITUTE_SCRIPT)
|
|
|
|
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
|
1997-06-08 04:42:58 +08:00
|
|
|
rmakefile=
|
|
|
|
if test -d ${srcdir}/resize ; then
|
|
|
|
rmakefile=resize/Makefile
|
|
|
|
fi
|
1997-10-15 10:47:20 +08:00
|
|
|
AC_OUTPUT(MCONFIG Makefile util/Makefile util/subst.conf lib/et/Makefile
|
1997-04-29 22:51:31 +08:00
|
|
|
lib/ss/Makefile lib/ext2fs/Makefile lib/e2p/Makefile lib/uuid/Makefile
|
|
|
|
misc/Makefile e2fsck/Makefile debugfs/Makefile tests/Makefile
|
1997-06-08 04:42:58 +08:00
|
|
|
tests/progs/Makefile $rmakefile doc/Makefile)
|