File: [Development] / xfs-cmds / xfsprogs / configure.in (download)
Revision 1.20, Wed Mar 26 05:23:33 2003 UTC (14 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.19: +1 -1
lines
Fix readline use in xfsprogs configure script such that distributions
which have not got a correctly-linked libreadline will still work.
|
dnl unpacking check - this file must exist
AC_INIT(include/libxfs.h)
AC_CONFIG_HEADER(include/platform_defs.h)
pkg_name="xfsprogs"
AC_SUBST(pkg_name)
#
# Note: the following environment variables may be set to override the
# defaults (to change paths and/or executables, build parameters, etc):
#
# DEBUG OPTIMIZER MALLOCLIB
# PLATFORM DISTRIBUTION BUILDER
# MAKE CC LD TAR ZIP AWK SED ECHO RPM LIBTOOL
# MSGFMT MSGMERGE XGETTEXT
#
DEBUG=${DEBUG:-'-DDEBUG'} # -DNDEBUG
OPTIMIZER=${OPTIMIZER:-'-O1 -g'} # some gcc's miscompile at -O2
MALLOCLIB=${MALLOCLIB:-''} # /usr/lib/libefence.a
dnl Debug build?
debug_build="$DEBUG"
AC_SUBST(debug_build)
dnl Optimization options?
opt_build="$OPTIMIZER"
AC_SUBST(opt_build)
dnl Alternate malloc library?
malloc_lib="$MALLOCLIB"
AC_SUBST(malloc_lib)
dnl Set version
. ./VERSION
pkg_version=${PKG_MAJOR}.${PKG_MINOR}.${PKG_REVISION}
pkg_release=$PKG_BUILD
AC_SUBST(pkg_version)
AC_SUBST(pkg_release)
pkg_platform=`uname -s`
pkg_distribution="Generic $pkg_platform"
pkg_platform=`echo $pkg_platform | tr 'A-Z' 'a-z'`
test -z "$PLATFORM" || pkg_platform="$PLATFORM"
test -z "$DISTRIBUTION" || pkg_distribution="$DISTRIBUTION"
AC_SUBST(pkg_distribution)
AC_SUBST(pkg_platform)
pkg_builder=`id -u -n`@`hostname`
test -z "$BUILDER" || pkg_builder="$BUILDER"
AC_SUBST(pkg_builder)
dnl check if user wants their own C compiler
test -z "$CC" && AC_PROG_CC
cc=$CC
AC_SUBST(cc)
dnl check if users wants their own make
test -z "$MAKE" && AC_PATH_PROG(MAKE, make, /usr/bin/make)
make=$MAKE
AC_SUBST(make)
dnl check if users wants their own linker
test -z "$LD" && AC_PATH_PROG(LD, ld, /usr/bin/ld)
ld=$LD
AC_SUBST(ld)
dnl check if the tar program is available
test -z "$TAR" && AC_PATH_PROG(TAR, tar)
tar=$TAR
AC_SUBST(tar)
dnl check if the gzip program is available
test -z "$ZIP" && AC_PATH_PROG(ZIP, gzip, /bin/gzip)
zip=$ZIP
AC_SUBST(zip)
dnl check if the makedepend program is available
test -z "$MAKEDEPEND" && AC_PATH_PROG(MAKEDEPEND, makedepend, /bin/true)
makedepend=$MAKEDEPEND
AC_SUBST(makedepend)
dnl check if the rpm program is available
test -z "$RPM" && AC_PATH_PROG(RPM, rpm, /bin/rpm)
rpm=$RPM
AC_SUBST(rpm)
dnl .. and what version is rpm
rpm_version=0
test -x $RPM && \
rpm_version=`$RPM --version | awk '{print $NF}' | awk -F. '{print $1}'`
AC_SUBST(rpm_version)
dnl At some point in rpm 4.0, rpm can no longer build rpms, and
dnl rpmbuild is needed (rpmbuild may go way back; not sure)
dnl So, if rpm version >= 4.0, look for rpmbuild. Otherwise build w/ rpm
if test $rpm_version -ge 4; then
AC_PATH_PROG(RPMBUILD, rpmbuild)
rpmbuild=$RPMBUILD
else
rpmbuild=$RPM
fi
AC_SUBST(rpmbuild)
dnl check if symbolic links are supported
AC_PROG_LN_S
dnl check if user wants their own awk, sed and echo
test -z "$AWK" && AC_PATH_PROG(AWK, awk, /bin/awk)
awk=$AWK
AC_SUBST(awk)
test -z "$SED" && AC_PATH_PROG(SED, sed, /bin/sed)
sed=$SED
AC_SUBST(sed)
test -z "$ECHO" && AC_PATH_PROG(ECHO, echo, /bin/echo)
echo=$ECHO
AC_SUBST(echo)
dnl check if the msgfmt program is available
test -z "$MSGFMT" && AC_CHECK_PROG(MSGFMT, msgfmt, /usr/bin/msgfmt)
msgfmt=$MSGFMT
AC_SUBST(msgfmt)
dnl check if the msgmerge program is available
test -z "$MSGMERGE" && AC_CHECK_PROG(MSGMERGE, msgmerge, /usr/bin/msgmerge)
msgmerge=$MSGMERGE
AC_SUBST(msgmerge)
dnl ensure xgettext is installed
test -z "$XGETTEXT" && AC_CHECK_PROG(XGETTEXT, xgettext, /usr/bin/xgettext)
if test "$XGETTEXT" = ""; then
echo
echo 'FATAL ERROR: xgettext does not seem to be installed.'
echo $pkg_name cannot be built without a working gettext installation.
exit 1
fi
xgettext=$XGETTEXT
AC_SUBST(xgettext)
dnl ensure libtool is installed
test -z "$LIBTOOL" && AC_PATH_PROG(LIBTOOL, libtool,,/usr/bin)
if test "$LIBTOOL" = ""; then
echo
echo 'FATAL ERROR: libtool does not seem to be installed.'
echo $pkg_name cannot be built without a working libtool installation.
exit 1
fi
libtool=$LIBTOOL
AC_SUBST(libtool)
dnl libtool to build libraries static only?
AC_ARG_ENABLE(shared,
[ --enable-shared=[yes/no] Enable use of shared libraries [default=yes]],,
enable_shared=yes)
AC_SUBST(enable_shared)
dnl will we be making use of gettext?
AC_ARG_ENABLE(gettext,
[ --enable-gettext=[yes/no] Enable alternate language support [default=yes]],,
enable_gettext=yes)
AC_SUBST(enable_gettext)
dnl will we be making use of readline?
AC_ARG_ENABLE(readline,
[ --enable-readline=[yes/no] Enable readline command editing [default=no]],,
enable_readline=no)
libreadline="-lreadline -lncurses"
AC_SUBST(libreadline)
AC_SUBST(enable_readline)
dnl Checks for UUID header and library.
AC_CHECK_HEADER(uuid/uuid.h,, [
echo
echo 'FATAL ERROR: could not find a valid UUID header.'
echo 'Install either the e2fsprogs-devel (rpm) or the uuid-dev (deb) package.'
exit 1
])
AC_CHECK_LIB(uuid, uuid_generate,, [
echo
echo 'FATAL ERROR: could not find a valid UUID library.'
echo 'Install either the e2fsprogs-devel (rpm) or the uuid-dev (deb) package.'
exit 1
])
dnl
dnl Caution - using libuuid shared adds an additional runtime dependency,
dnl but the rpm spec file and debian control file do _not_ enforce this.
dnl We want to keep our runtime dependencies to an absolute minimum for
dnl this particular package, but the option is there.
dnl
AC_ARG_ENABLE(shared-uuid,
[ --enable-shared-uuid=[yes/no] Link shared libuuid [default=no].],
libuuid="/usr/lib/libuuid.a"
if test "$enable_shared_uuid" = yes; then
libuuid="-luuid"
fi,
libuuid="/usr/lib/libuuid.a")
AC_SUBST(libuuid)
dnl Check if we have a type for the pointer's size integer (__psint_t)
AC_MSG_CHECKING([for __psint_t ])
AC_TRY_COMPILE(
[
#include <sys/types.h>
#include <stdlib.h>
#include <stddef.h>
],
[
__psint_t psint;
], AC_DEFINE(HAVE___PSINT_T) AC_MSG_RESULT(yes) , AC_MSG_RESULT(no))
dnl Check if we have a type for the pointer's size unsigned (__psunsigned_t)
AC_MSG_CHECKING([for __psunsigned_t ])
AC_TRY_COMPILE(
[
#include <sys/types.h>
#include <stdlib.h>
#include <stddef.h>
],
[
__psunsigned_t psuint;
], AC_DEFINE(HAVE___PSUNSIGNED_T) AC_MSG_RESULT(yes) , AC_MSG_RESULT(no))
dnl Check type sizes
if test "$cross_compiling" = yes -a "$ac_cv_sizeof_long" = ""; then
AC_MSG_WARN([Cross compiling; assuming 32bit long and 32bit pointers])
fi
AC_CHECK_SIZEOF(long, 4)
AC_CHECK_SIZEOF(char *, 4)
test $ac_cv_sizeof_long -eq 4 && AC_DEFINE(HAVE_32BIT_LONG)
test $ac_cv_sizeof_long -eq 8 && AC_DEFINE(HAVE_64BIT_LONG)
test $ac_cv_sizeof_char_p -eq 4 && AC_DEFINE(HAVE_32BIT_PTR)
test $ac_cv_sizeof_char_p -eq 8 && AC_DEFINE(HAVE_64BIT_PTR)
dnl man pages (source)
dnl also check if man page source is gzipped
dnl (usually on Debian, but not Redhat pre-7.0)
have_zipped_manpages=false
for d in ${prefix}/share/man ${prefix}/man ; do
if test -f $d/man1/man.1.gz
then
have_zipped_manpages=true
break
fi
done
AC_SUBST(have_zipped_manpages)
dnl build definitions for use in Makefiles
AC_OUTPUT(include/builddefs)