From: Andreas Gruenbacher Date: Tue, 24 Mar 2009 12:50:06 +0000 (+0100) Subject: automake and libtool fixes X-Git-Tag: v3.0.1~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=07c561fe21514ba644c2c766c249a974ddd81c17;p=thirdparty%2Fxfsprogs-dev.git automake and libtool fixes Remove aclocal.m4 from the repository and generate it when needed. Move the AC_PROG_LIBTOOL autoconf macro and use libtoolize according to the libtool info pages. Make sure that libtoolize adds the auxiliary files (config.guess and config.sub). Move install-sh into include/ so that libtoolize does not destroy it. Split up the ``make clean'' and ``make distclean'' targets: the former removes all files generated during a build. The latter removes all files generated by libtoolize, autoconf, and configure as well. Signed-off-by: Andreas Gruenbacher Signed-off-by: Christoph Hellwig --- diff --git a/Makefile b/Makefile index 133e4963b..c0f4974a7 100644 --- a/Makefile +++ b/Makefile @@ -9,8 +9,11 @@ ifeq ($(HAVE_BUILDDEFS), yes) include $(TOPDIR)/include/builddefs endif -CONFIGURE = configure include/builddefs include/platform_defs.h -LSRCFILES = configure configure.in Makepkgs aclocal.m4 install-sh README VERSION +CONFIGURE = aclocal.m4 configure config.guess config.sub \ + ltmain.sh m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 \ + m4/ltversion.m4 m4/lt~obsolete.m4 \ + include/builddefs include/platform_defs.h +LSRCFILES = configure.in Makepkgs install-sh README VERSION $(CONFIGURE) LDIRT = config.log .dep config.status config.cache confdefs.h conftest* \ Logs/* built .census install.* install-dev.* *.gz @@ -21,7 +24,7 @@ TOOL_SUBDIRS = copy db estimate fsck fsr growfs io logprint mkfs quota \ SUBDIRS = include $(LIB_SUBDIRS) $(TOOL_SUBDIRS) -default: include/builddefs include/platform_defs.h +default: configure include/builddefs include/platform_defs.h ifeq ($(HAVE_BUILDDEFS), no) $(MAKE) -C . $@ else @@ -45,7 +48,15 @@ else clean: # if configure hasn't run, nothing to clean endif +# Recent versions of libtool require the -i option for copying auxiliary +# files (config.sub, config.guess, install-sh, ltmain.sh), while older +# versions will copy those files anyway, and don't understand -i. +LIBTOOLIZE_INSTALL = `libtoolize -n -i >/dev/null 2>/dev/null && echo -i` + configure include/builddefs: + libtoolize -c $(LIBTOOLIZE_INSTALL) -f + cp include/install-sh . + aclocal -I m4 autoconf ./configure \ --prefix=/ \ @@ -68,9 +79,6 @@ include/platform_defs.h: include/builddefs $(MAKE) $(AM_MAKEFLAGS) include/builddefs; \ fi -aclocal.m4:: - aclocal --acdir=`pwd`/m4 --output=$@ - install: default $(addsuffix -install,$(SUBDIRS)) $(INSTALL) -m 755 -d $(PKG_DOC_DIR) $(INSTALL) -m 644 README $(PKG_DOC_DIR) @@ -90,4 +98,5 @@ install-qa: install $(addsuffix -install-qa,$(SUBDIRS)) realclean distclean: clean rm -f $(LDIRT) $(CONFIGURE) + rm -f include/builddefs include/config.h install-sh libtool rm -rf autom4te.cache Logs diff --git a/aclocal.m4 b/aclocal.m4 deleted file mode 100644 index eadf4dace..000000000 --- a/aclocal.m4 +++ /dev/null @@ -1,507 +0,0 @@ -# generated automatically by aclocal 1.9.6 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005 Free Software Foundation, Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -# Find format of installed man pages. -# Always gzipped on Debian, but not Redhat pre-7.0. -# We don't deal with bzip2'd man pages, which Mandrake uses, -# someone will send us a patch sometime hopefully. :-) -# -AC_DEFUN([AC_MANUAL_FORMAT], - [ 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) - ]) - -# The AC_MULTILIB macro was extracted and modified from -# gettext-0.15's AC_LIB_PREPARE_MULTILIB macro in the lib-prefix.m4 file -# so that the correct paths can be used for 64-bit libraries. -# -dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl From Bruno Haible. - -dnl AC_MULTILIB creates a variable libdirsuffix, containing -dnl the suffix of the libdir, either "" or "64". -dnl Only do this if the given enable parameter is "yes". -AC_DEFUN([AC_MULTILIB], -[ - dnl There is no formal standard regarding lib and lib64. The current - dnl practice is that on a system supporting 32-bit and 64-bit instruction - dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit - dnl libraries go under $prefix/lib. We determine the compiler's default - dnl mode by looking at the compiler's library search path. If at least - dnl of its elements ends in /lib64 or points to a directory whose absolute - dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the - dnl default, namely "lib". - enable_lib64="$1" - libdirsuffix="" - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test "$enable_lib64" = "yes" -a -n "$searchpath"; then - save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) libdirsuffix=64 ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) libdirsuffix=64 ;; - esac ;; - esac - fi - done - IFS="$save_IFS" - fi - AC_SUBST(libdirsuffix) -]) - -# -# Check if we have a libaio.h installed -# -AC_DEFUN([AC_PACKAGE_WANT_AIO], - [ AC_CHECK_HEADERS(libaio.h, [ have_aio=true ], [ have_aio=false ]) - AC_SUBST(have_aio) - ]) - -# -# Check if we have an aio.h installed -# -AC_DEFUN([AC_PACKAGE_NEED_AIO_H], - [ AC_CHECK_HEADERS(aio.h) - if test $ac_cv_header_aio_h = no; then - echo - echo 'FATAL ERROR: could not find a valid header.' - exit 1 - fi - ]) - -# -# Check if we have the lio_listio routine in either libc/librt -# -AC_DEFUN([AC_PACKAGE_NEED_LIO_LISTIO], - [ AC_CHECK_FUNCS(lio_listio) - if test $ac_cv_func_lio_listio = yes; then - librt="" - else - AC_CHECK_LIB(rt, lio_listio,, [ - echo - echo 'FATAL ERROR: could not find a library with lio_listio.' - exit 1]) - librt="-lrt" - fi - AC_SUBST(librt) - ]) - - -# -# Generic macro, sets up all of the global packaging variables. -# The following environment variables may be set to override defaults: -# DEBUG OPTIMIZER MALLOCLIB PLATFORM DISTRIBUTION INSTALL_USER INSTALL_GROUP -# BUILD_VERSION -# -AC_DEFUN([AC_PACKAGE_GLOBALS], - [ pkg_name="$1" - AC_SUBST(pkg_name) - - . ./VERSION - pkg_version=${PKG_MAJOR}.${PKG_MINOR}.${PKG_REVISION} - AC_SUBST(pkg_version) - pkg_release=$PKG_BUILD - test -z "$BUILD_VERSION" || pkg_release="$BUILD_VERSION" - AC_SUBST(pkg_release) - - DEBUG=${DEBUG:-'-DDEBUG'} dnl -DNDEBUG - debug_build="$DEBUG" - AC_SUBST(debug_build) - - OPTIMIZER=${OPTIMIZER:-'-g -O2'} - opt_build="$OPTIMIZER" - AC_SUBST(opt_build) - - MALLOCLIB=${MALLOCLIB:-''} dnl /usr/lib/libefence.a - malloc_lib="$MALLOCLIB" - AC_SUBST(malloc_lib) - - pkg_user=`id -u -n` - test -z "$INSTALL_USER" || pkg_user="$INSTALL_USER" - AC_SUBST(pkg_user) - - pkg_group=`id -g -n` - test -z "$INSTALL_GROUP" || pkg_group="$INSTALL_GROUP" - AC_SUBST(pkg_group) - - pkg_distribution=`uname -s` - test -z "$DISTRIBUTION" || pkg_distribution="$DISTRIBUTION" - AC_SUBST(pkg_distribution) - - pkg_platform=`uname -s | tr 'A-Z' 'a-z' | sed -e 's/irix64/irix/'` - test -z "$PLATFORM" || pkg_platform="$PLATFORM" - AC_SUBST(pkg_platform) - ]) - -# -# Check if we have a working fadvise system call -# -AC_DEFUN([AC_HAVE_FADVISE], - [ AC_MSG_CHECKING([for fadvise ]) - AC_TRY_COMPILE([ -#define _GNU_SOURCE -#define _FILE_OFFSET_BITS 64 -#include - ], [ - posix_fadvise(0, 1, 0, POSIX_FADV_NORMAL); - ], have_fadvise=yes - AC_MSG_RESULT(yes), - AC_MSG_RESULT(no)) - AC_SUBST(have_fadvise) - ]) - -# -# Check if we have a working madvise system call -# -AC_DEFUN([AC_HAVE_MADVISE], - [ AC_MSG_CHECKING([for madvise ]) - AC_TRY_COMPILE([ -#define _GNU_SOURCE -#define _FILE_OFFSET_BITS 64 -#include - ], [ - posix_madvise(0, 0, MADV_NORMAL); - ], have_madvise=yes - AC_MSG_RESULT(yes), - AC_MSG_RESULT(no)) - AC_SUBST(have_madvise) - ]) - -# -# Check if we have a working mincore system call -# -AC_DEFUN([AC_HAVE_MINCORE], - [ AC_MSG_CHECKING([for mincore ]) - AC_TRY_COMPILE([ -#define _GNU_SOURCE -#define _FILE_OFFSET_BITS 64 -#include - ], [ - mincore(0, 0, 0); - ], have_mincore=yes - AC_MSG_RESULT(yes), - AC_MSG_RESULT(no)) - AC_SUBST(have_mincore) - ]) - -# -# Check if we have a working sendfile system call -# -AC_DEFUN([AC_HAVE_SENDFILE], - [ AC_MSG_CHECKING([for sendfile ]) - AC_TRY_COMPILE([ -#define _GNU_SOURCE -#define _FILE_OFFSET_BITS 64 -#include - ], [ - sendfile(0, 0, 0, 0); - ], have_sendfile=yes - AC_MSG_RESULT(yes), - AC_MSG_RESULT(no)) - AC_SUBST(have_sendfile) - ]) - -# -# Check if we have a getmntent libc call (IRIX, Linux) -# -AC_DEFUN([AC_HAVE_GETMNTENT], - [ AC_MSG_CHECKING([for getmntent ]) - AC_TRY_COMPILE([ -#include -#include - ], [ - getmntent(0); - ], have_getmntent=yes - AC_MSG_RESULT(yes), - AC_MSG_RESULT(no)) - AC_SUBST(have_getmntent) - ]) - -# -# Check if we have a getmntinfo libc call (FreeBSD, Mac OS X) -# -AC_DEFUN([AC_HAVE_GETMNTINFO], - [ AC_MSG_CHECKING([for getmntinfo ]) - AC_TRY_COMPILE([ -#include -#include -#include - ], [ - getmntinfo(0, 0); - ], have_getmntinfo=yes - AC_MSG_RESULT(yes), - AC_MSG_RESULT(no)) - AC_SUBST(have_getmntinfo) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_PTHREAD_H], - [ AC_CHECK_HEADERS(pthread.h) - if test $ac_cv_header_pthread_h = no; then - AC_CHECK_HEADERS(pthread.h,, [ - echo - echo 'FATAL ERROR: could not find a valid pthread header.' - exit 1]) - fi - ]) - -AC_DEFUN([AC_PACKAGE_NEED_PTHREADMUTEXINIT], - [ AC_CHECK_LIB(pthread, pthread_mutex_init,, [ - echo - echo 'FATAL ERROR: could not find a valid pthread library.' - exit 1 - ]) - libpthread=-lpthread - AC_SUBST(libpthread) - ]) - -# -# Check if we have a type for the pointer's size integer (__psint_t) -# -AC_DEFUN([AC_TYPE_PSINT], - [ AC_MSG_CHECKING([for __psint_t ]) - AC_TRY_COMPILE([ -#include -#include -#include - ], [ - __psint_t psint; - ], AC_DEFINE(HAVE___PSINT_T) AC_MSG_RESULT(yes) , AC_MSG_RESULT(no)) - ]) - -# -# Check if we have a type for the pointer's size unsigned (__psunsigned_t) -# -AC_DEFUN([AC_TYPE_PSUNSIGNED], - [ AC_MSG_CHECKING([for __psunsigned_t ]) - AC_TRY_COMPILE([ -#include -#include -#include - ], [ - __psunsigned_t psuint; - ], AC_DEFINE(HAVE___PSUNSIGNED_T) AC_MSG_RESULT(yes) , AC_MSG_RESULT(no)) - ]) - -# -# Check if we have a type for __u32 -# -AC_DEFUN([AC_TYPE_U32], - [ AC_MSG_CHECKING([for __u32 ]) - AC_TRY_COMPILE([ -#include -#include -#include - ], [ - __u32 u32; - ], AC_DEFINE(HAVE___U32) AC_MSG_RESULT(yes) , AC_MSG_RESULT(no)) - ]) - -# -# Check type sizes -# -AC_DEFUN([AC_SIZEOF_POINTERS_AND_LONG], - [ if test "$cross_compiling" = yes -a -z "$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) - if test $ac_cv_sizeof_long -eq 4 -o $ac_cv_sizeof_long -eq 0; then - AC_DEFINE(HAVE_32BIT_LONG) - fi - if test $ac_cv_sizeof_long -eq 8; then - AC_DEFINE(HAVE_64BIT_LONG) - fi - if test $ac_cv_sizeof_char_p -eq 4 -o $ac_cv_sizeof_char_p -eq 0; then - AC_DEFINE(HAVE_32BIT_PTR) - fi - if test $ac_cv_sizeof_char_p -eq 8; then - AC_DEFINE(HAVE_64BIT_PTR) - fi - ]) - -# -# Check for specified utility (env var) - if unset, fail. -# -AC_DEFUN([AC_PACKAGE_NEED_UTILITY], - [ if test -z "$2"; then - echo - echo FATAL ERROR: $3 does not seem to be installed. - echo $1 cannot be built without a working $4 installation. - exit 1 - fi - ]) - -# -# Generic macro, sets up all of the global build variables. -# The following environment variables may be set to override defaults: -# CC MAKE LIBTOOL TAR ZIP MAKEDEPEND AWK SED ECHO SORT -# MSGFMT MSGMERGE XGETTEXT RPM -# -AC_DEFUN([AC_PACKAGE_UTILITIES], - [ AC_PROG_CC - cc="$CC" - AC_SUBST(cc) - AC_PACKAGE_NEED_UTILITY($1, "$cc", cc, [C compiler]) - - if test -z "$MAKE"; then - AC_PATH_PROG(MAKE, gmake,, /usr/bin:/usr/local/bin:/usr/freeware/bin) - fi - if test -z "$MAKE"; then - AC_PATH_PROG(MAKE, make,, /usr/bin) - fi - make=$MAKE - AC_SUBST(make) - AC_PACKAGE_NEED_UTILITY($1, "$make", make, [GNU make]) - - if test -z "$LIBTOOL"; then - AC_PATH_PROG(LIBTOOL, glibtool,, /usr/bin) - fi - if test -z "$LIBTOOL"; then - AC_PATH_PROG(LIBTOOL, libtool,, /usr/bin:/usr/local/bin:/usr/freeware/bin) - fi - libtool=$LIBTOOL - AC_SUBST(libtool) - AC_PACKAGE_NEED_UTILITY($1, "$libtool", libtool, [GNU libtool]) - - if test -z "$TAR"; then - AC_PATH_PROG(TAR, tar,, /usr/freeware/bin:/bin:/usr/local/bin:/usr/bin) - fi - tar=$TAR - AC_SUBST(tar) - if test -z "$ZIP"; then - AC_PATH_PROG(ZIP, gzip,, /bin:/usr/bin:/usr/local/bin:/usr/freeware/bin) - fi - - zip=$ZIP - AC_SUBST(zip) - - if test -z "$MAKEDEPEND"; then - AC_PATH_PROG(MAKEDEPEND, makedepend, /bin/true) - fi - makedepend=$MAKEDEPEND - AC_SUBST(makedepend) - - if test -z "$AWK"; then - AC_PATH_PROG(AWK, awk,, /bin:/usr/bin) - fi - awk=$AWK - AC_SUBST(awk) - - if test -z "$SED"; then - AC_PATH_PROG(SED, sed,, /bin:/usr/bin) - fi - sed=$SED - AC_SUBST(sed) - - if test -z "$ECHO"; then - AC_PATH_PROG(ECHO, echo,, /bin:/usr/bin) - fi - echo=$ECHO - AC_SUBST(echo) - - if test -z "$SORT"; then - AC_PATH_PROG(SORT, sort,, /bin:/usr/bin) - fi - sort=$SORT - AC_SUBST(sort) - - dnl check if symbolic links are supported - AC_PROG_LN_S - - if test "$enable_gettext" = yes; then - if test -z "$MSGFMT"; then - AC_PATH_PROG(MSGFMT, msgfmt,, /usr/bin:/usr/local/bin:/usr/freeware/bin) - fi - msgfmt=$MSGFMT - AC_SUBST(msgfmt) - AC_PACKAGE_NEED_UTILITY($1, "$msgfmt", msgfmt, gettext) - - if test -z "$MSGMERGE"; then - AC_PATH_PROG(MSGMERGE, msgmerge,, /usr/bin:/usr/local/bin:/usr/freeware/bin) - fi - msgmerge=$MSGMERGE - AC_SUBST(msgmerge) - AC_PACKAGE_NEED_UTILITY($1, "$msgmerge", msgmerge, gettext) - - if test -z "$XGETTEXT"; then - AC_PATH_PROG(XGETTEXT, xgettext,, /usr/bin:/usr/local/bin:/usr/freeware/bin) - fi - xgettext=$XGETTEXT - AC_SUBST(xgettext) - AC_PACKAGE_NEED_UTILITY($1, "$xgettext", xgettext, gettext) - fi - - if test -z "$RPM"; then - AC_PATH_PROG(RPM, rpm,, /bin:/usr/bin:/usr/freeware/bin) - fi - rpm=$RPM - AC_SUBST(rpm) - - dnl .. and what version is rpm - rpm_version=0 - test -n "$RPM" && test -x "$RPM" && rpm_version=`$RPM --version \ - | awk '{print $NF}' | awk -F. '{V=1; print $V}'` - 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) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_UUID_H], - [ AC_CHECK_HEADERS([uuid.h sys/uuid.h uuid/uuid.h]) - if test $ac_cv_header_uuid_h = no -a \ - $ac_cv_header_sys_uuid_h = no -a \ - $ac_cv_header_uuid_uuid_h = no; then - echo - echo 'FATAL ERROR: could not find a valid UUID header.' - echo 'Install the Universally Unique Identifiers development package.' - exit 1 - fi - ]) - -AC_DEFUN([AC_PACKAGE_NEED_UUIDCOMPARE], - [ AC_CHECK_FUNCS(uuid_compare) - if test $ac_cv_func_uuid_compare = yes; then - libuuid="" - else - AC_CHECK_LIB(uuid, uuid_compare,, [ - echo - echo 'FATAL ERROR: could not find a valid UUID library.' - echo 'Install the Universally Unique Identifiers library package.' - exit 1]) - libuuid="-luuid" - fi - AC_SUBST(libuuid) - ]) - diff --git a/configure.in b/configure.in index 4e4e50c74..b385ad64f 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,10 @@ AC_INIT(include/libxfs.h) +AC_CONFIG_AUX_DIR([.]) +AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADER(include/platform_defs.h) +AC_PROG_LIBTOOL + AC_ARG_ENABLE(shared, [ --enable-shared=[yes/no] Enable use of shared libraries [default=yes]],, enable_shared=yes) diff --git a/include/Makefile b/include/Makefile index c9ca886ca..a7cd5c140 100644 --- a/include/Makefile +++ b/include/Makefile @@ -36,8 +36,8 @@ HFILES += $(PKG_PLATFORM).h PHFILES = darwin.h freebsd.h irix.h linux.h DKHFILES = volume.h fstyp.h dvh.h LSRCFILES = $(shell echo $(PHFILES) | sed -e "s/$(PKG_PLATFORM).h//g") -LSRCFILES += platform_defs.h.in builddefs.in buildmacros buildrules $(DKHFILES) -LSRCFILES += command.h input.h path.h project.h unaligned.h +LSRCFILES += platform_defs.h.in builddefs.in buildmacros buildrules install-sh +LSRCFILES += $(DKHFILES) command.h input.h path.h project.h unaligned.h LDIRT = xfs disk default install: xfs disk diff --git a/install-sh b/include/install-sh old mode 100755 new mode 100644 similarity index 100% rename from install-sh rename to include/install-sh diff --git a/m4/package_utilies.m4 b/m4/package_utilies.m4 index 6569e3b6e..f42bd6bce 100644 --- a/m4/package_utilies.m4 +++ b/m4/package_utilies.m4 @@ -32,8 +32,6 @@ AC_DEFUN([AC_PACKAGE_UTILITIES], AC_SUBST(make) AC_PACKAGE_NEED_UTILITY($1, "$make", make, [GNU make]) - AC_PROG_LIBTOOL - if test -z "$TAR"; then AC_PATH_PROG(TAR, tar,, /usr/freeware/bin:/bin:/usr/local/bin:/usr/bin) fi