[BACK]Return to configure.in CVS log [TXT][DIR] Up to [Development] / xfs-cmds / xfsprogs

File: [Development] / xfs-cmds / xfsprogs / configure.in (download)

Revision 1.18, Thu Dec 19 00:38:27 2002 UTC (14 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.17: +47 -19 lines

Flush out my xfsprogs backlog - bunch of I18N and sector size related
changes mainly, also some build minor build cleanups here and there.
Changes for I18N support.

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)
test $enable_gettext = "yes" && AC_DEFINE(ENABLE_GETTEXT)
AC_SUBST(enable_gettext)

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)