xfstests: Automatic build dependencies
cover xfstests: Automatic build dependencies
This patch series removes the need for 'make depend' by building the dependencies as part of the normal build.
The first patch is cleaning up the current aclocal.m4 file and it's generation as the second patch introduces a new configure test that required regeneration.
The second patch is what changes the dependency calculation to use gcc rather than makedepend and the makefile changes needed to build and include those depencies automatically.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
PATCH 1/2 xfstests: rebuild aclocal.m4
The local m4 configuration has not been built in a long time. Trying to rebuild it results in failures with dmapi library detection and libxfs.h detection macros. Fix the errors and rebuild it.
Note: the new format for the aclocal.m4 file uses m4_include directives which means it is much smaller than before and won't need updating unless we include new m4 macro files.
--- aclocal.m4 | 526 +---------------------------------------------- configure.in | 2 +- m4/package_dmapidev.m4 | 15 +- 3 files changed, 22 insertions(+), 521 deletions(-)
aclocal.m4 +12 -514
@@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.9.6 -*- Autoconf -*- +# generated automatically by aclocal 1.11 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008, 2009 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.
@@ -11,515 +11,13 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -# 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) -]) - -AC_DEFUN([AC_PACKAGE_NEED_SYS_ACL_H], - [ AC_CHECK_HEADERS([sys/acl.h]) - if test "$ac_cv_header_sys_acl_h" != "yes"; then - echo - echo 'FATAL ERROR: sys/acl.h does not exist.' - echo 'Install the access control lists (acl) development package.' - echo 'Alternatively, run "make install-dev" from the acl source.' - exit 1 - fi - ]) - -AC_DEFUN([AC_PACKAGE_NEED_ACL_LIBACL_H], - [ AC_CHECK_HEADERS([acl/libacl.h]) - if test "$ac_cv_header_acl_libacl_h" != "yes"; then - echo - echo 'FATAL ERROR: acl/libacl.h does not exist.' - echo 'Install the access control lists (acl) development package.' - echo 'Alternatively, run "make install-dev" from the acl source.' - exit 1 - fi - ]) - - -AC_DEFUN([AC_PACKAGE_NEED_ACLINIT_LIBACL], - [ AC_CHECK_LIB(acl, acl_init,, [ - echo - echo 'FATAL ERROR: could not find a valid Access Control List library.' - echo 'Install either the libacl (rpm) or the libacl1 (deb) package.' - echo 'Alternatively, run "make install-lib" from the acl source.' - exit 1 - ]) - libacl="-lacl" - test -f `pwd`/../acl/libacl/libacl.la && \ - libacl="`pwd`/../acl/libacl/libacl.la" - test -f ${libexecdir}${libdirsuffix}/libacl.la && \ - libacl="${libexecdir}${libdirsuffix}/libacl.la" - AC_SUBST(libacl) - ]) - -AC_DEFUN([AC_PACKAGE_WANT_AIO], - [ AC_CHECK_HEADERS(libaio.h, [ have_aio=true ], [ have_aio=false ]) - AC_SUBST(have_aio) - ]) - -AC_DEFUN([AC_PACKAGE_WANT_DMAPI], - [ AC_CHECK_HEADERS(sys/dmapi/dmapi.h, [ have_dmapi=true ], [ have_dmapi=false ]) - AC_SUBST(have_dmapi) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_ATTR_XATTR_H], - [ AC_CHECK_HEADERS([attr/xattr.h]) - if test "$ac_cv_header_attr_xattr_h" != "yes"; then - echo - echo 'FATAL ERROR: attr/xattr.h does not exist.' - echo 'Install the extended attributes (attr) development package.' - echo 'Alternatively, run "make install-dev" from the attr source.' - exit 1 - fi - ]) - -AC_DEFUN([AC_PACKAGE_NEED_ATTR_ERROR_H], - [ AC_CHECK_HEADERS([attr/error_context.h]) - if test "$ac_cv_header_attr_error_context_h" != "yes"; then - echo - echo 'FATAL ERROR: attr/error_context.h does not exist.' - echo 'Install the extended attributes (attr) development package.' - echo 'Alternatively, run "make install-dev" from the attr source.' - exit 1 - fi - ]) - -AC_DEFUN([AC_PACKAGE_NEED_ATTRIBUTES_H], - [ have_attributes_h=false - AC_CHECK_HEADERS([attr/attributes.h sys/attributes.h], [have_attributes_h=true], ) - if test "$have_attributes_h" = "false"; then - echo - echo 'FATAL ERROR: attributes.h does not exist.' - echo 'Install the extended attributes (attr) development package.' - echo 'Alternatively, run "make install-dev" from the attr source.' - exit 1 - fi - ]) - -AC_DEFUN([AC_PACKAGE_WANT_ATTRLIST_LIBATTR], - [ AC_CHECK_LIB(attr, attr_list, [have_attr_list=true], [have_attr_list=false]) - AC_SUBST(have_attr_list) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_GETXATTR_LIBATTR], - [ AC_CHECK_LIB(attr, getxattr,, [ - echo - echo 'FATAL ERROR: could not find a valid Extended Attributes library.' - echo 'Install the extended attributes (attr) development package.' - echo 'Alternatively, run "make install-lib" from the attr source.' - exit 1 - ]) - libattr="-lattr" - test -f `pwd`/../attr/libattr/libattr.la && \ - libattr="`pwd`/../attr/libattr/libattr.la" - test -f ${libexecdir}${libdirsuffix}/libattr.la && \ - libattr="${libexecdir}${libdirsuffix}/libattr.la" - AC_SUBST(libattr) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_ATTRGET_LIBATTR], - [ AC_CHECK_LIB(attr, attr_get,, [ - echo - echo 'FATAL ERROR: could not find a valid Extended Attributes library.' - echo 'Install the extended attributes (attr) development package.' - echo 'Alternatively, run "make install-lib" from the attr source.' - exit 1 - ]) - libattr="-lattr" - test -f `pwd`/../attr/libattr/libattr.la && \ - libattr="`pwd`/../attr/libattr/libattr.la" - test -f ${libexecdir}${libdirsuffix}/libattr.la && \ - libattr="${libexecdir}${libdirsuffix}/libattr.la" - AC_SUBST(libattr) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_ATTRIBUTES_MACROS], - [ AC_MSG_CHECKING([macros in attr/attributes.h]) - AC_TRY_LINK([ -#include <sys/types.h> -#include <attr/attributes.h>], - [ int x = ATTR_SECURE; ], [ echo ok ], [ - echo - echo 'FATAL ERROR: could not find a current attributes header.' - echo 'Upgrade the extended attributes (attr) development package.' - echo 'Alternatively, run "make install-dev" from the attr source.' - exit 1 ]) - ]) - -AC_DEFUN([AC_PACKAGE_WANT_NDBM], - [ AC_CHECK_HEADERS(ndbm.h, [ have_db=true ], [ have_db=false ]) - libgdbm="" - AC_SUBST(libgdbm) - AC_SUBST(have_db) - ]) - -AC_DEFUN([AC_PACKAGE_WANT_GDBM], - [ AC_CHECK_HEADERS([gdbm/ndbm.h], [ have_db=true ], [ have_db=false ]) - if test $have_db = true; then - libgdbm="-lgdbm" - fi - AC_SUBST(libgdbm) - AC_SUBST(have_db) - ]) - -# -# 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 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 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) - 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) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_XFS_XFS_H], - [ AC_CHECK_HEADERS([xfs/xfs.h]) - if test "$ac_cv_header_xfs_xfs_h" != "yes"; then - echo - echo 'FATAL ERROR: cannot find a valid <xfs/xfs.h> header file.' - echo 'Install or upgrade the XFS development package.' - echo 'Alternatively, run "make install-dev" from the xfsprogs source.' - exit 1 - fi - ]) - -AC_DEFUN([AC_PACKAGE_WANT_XFS_LIBXFS_H], - [ AC_CHECK_HEADERS([xfs/libxfs.h], [ have_libxfs=true ], [ have_libxfs=false ]) - AC_SUBST(have_libxfs) - ]) - -AC_DEFUN([AC_PACKAGE_WANT_XLOG_ASSIGN_LSN], - [ AC_CHECK_DECL(xlog_assign_lsn, - [ have_xlog_assign_lsn=true ], [ have_xlog_assign_lsn=false ], - [[#include <xfs/libxfs.h>]]) - AC_SUBST(have_xlog_assign_lsn) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_XFS_XQM_H], - [ AC_CHECK_HEADERS([xfs/xqm.h]) - if test "$ac_cv_header_xfs_xqm_h" != "yes"; then - echo - echo 'FATAL ERROR: cannot find a valid <xfs/xqm.h> header file.' - echo 'Install or upgrade the XFS development package.' - echo 'Alternatively, run "make install-dev" from the xfsprogs source.' - exit 1 - fi - ]) - -AC_DEFUN([AC_PACKAGE_NEED_XFS_HANDLE_H], - [ AC_CHECK_HEADERS([xfs/handle.h]) - if test "$ac_cv_header_xfs_handle_h" != "yes"; then - echo - echo 'FATAL ERROR: cannot find a valid <xfs/handle.h> header file.' - echo 'Install or upgrade the XFS development package.' - echo 'Alternatively, run "make install-dev" from the xfsprogs source.' - exit 1 - fi - ]) - -AC_DEFUN([AC_PACKAGE_NEED_LIBXFSINIT_LIBXFS], - [ AC_CHECK_LIB(xfs, libxfs_init,, [ - echo - echo 'FATAL ERROR: could not find a valid XFS base library.' - echo 'Install or upgrade the XFS library package.' - echo 'Alternatively, run "make install-dev" from the xfsprogs source.' - exit 1 - ]) - libxfs="-lxfs" - test -f `pwd`/../xfsprogs/libxfs/libxfs.la && \ - libxfs="`pwd`/../xfsprogs/libxfs/libxfs.la" - test -f ${libexecdir}${libdirsuffix}/libxfs.la && \ - libxfs="${libexecdir}${libdirsuffix}/libxfs.la" - AC_SUBST(libxfs) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_OPEN_BY_FSHANDLE], - [ AC_CHECK_LIB(handle, open_by_fshandle,, [ - echo - echo 'FATAL ERROR: could not find a current XFS handle library.' - echo 'Install or upgrade the XFS library package.' - echo 'Alternatively, run "make install-dev" from the xfsprogs source.' - exit 1 - ]) - libhdl="-lhandle" - test -f `pwd`/../xfsprogs/libhandle/libhandle.la && \ - libhdl="`pwd`/../xfsprogs/libhandle/libhandle.la" - test -f ${libexecdir}${libdirsuffix}/libhandle.la && \ - libhdl="${libexecdir}${libdirsuffix}/libhandle.la" - AC_SUBST(libhdl) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_ATTRLIST_LIBHANDLE], - [ AC_CHECK_LIB(handle, attr_list_by_handle,, [ - echo - echo 'FATAL ERROR: could not find a current XFS handle library.' - echo 'Install or upgrade the XFS library package.' - echo 'Alternatively, run "make install-lib" from the xfsprogs source.' - exit 1 - ]) - libhdl="-lhandle" - test -f `pwd`/../xfsprogs/libhandle/libhandle.la && \ - libhdl="`pwd`/../xfsprogs/libhandle/libhandle.la" - test -f ${libexecdir}${libdirsuffix}/libhandle.la && \ - libhdl="${libexecdir}${libdirsuffix}/libhandle.la" - AC_SUBST(libhdl) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_IRIX_LIBHANDLE], - [ - AC_MSG_CHECKING([libhandle.a for IRIX]) - libhdl="`pwd`/../irix/libhandle/libhandle.a" - if ! test -f $libhdl; then - echo 'no' - echo 'FATAL ERROR: could not find IRIX XFS handle library.' - exit 1 - fi - echo 'yes' - AC_SUBST(libhdl) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_XFSCTL_MACRO], - [ AC_MSG_CHECKING([xfsctl from xfs/xfs.h]) - AC_TRY_LINK([#include <xfs/xfs.h>], [ int x = xfsctl(0, 0, 0, 0); ], - [ echo ok ], - [ echo - echo 'FATAL ERROR: cannot find required macros in the XFS headers.' - echo 'Upgrade your XFS programs (xfsprogs) development package.' - echo 'Alternatively, run "make install-dev" from the xfsprogs source.' - exit 1 - ]) - ]) - +m4_include([m4/multilib.m4]) +m4_include([m4/package_acldev.m4]) +m4_include([m4/package_aiodev.m4]) +m4_include([m4/package_attrdev.m4]) +m4_include([m4/package_dmapidev.m4]) +m4_include([m4/package_gdbmdev.m4]) +m4_include([m4/package_globals.m4]) +m4_include([m4/package_utilies.m4]) +m4_include([m4/package_uuiddev.m4]) +m4_include([m4/package_xfslibs.m4])
configure.in +1 -1
@@ -45,7 +45,7 @@ in *) AC_MULTILIB($enable_lib64) AC_PACKAGE_NEED_XFS_XFS_H - AC_PACKAGE_WANT_XFS_LIBXFS_H + AC_PACKAGE_WANT_LIBXFS_H AC_PACKAGE_WANT_XLOG_ASSIGN_LSN AC_PACKAGE_NEED_XFS_XQM_H AC_PACKAGE_NEED_XFSCTL_MACRO
m4/package_dmapidev.m4 +9 -6
@@ -9,13 +9,15 @@ AC_DEFUN([AC_PACKAGE_NEED_XFS_DMAPI_H], fi ]) -AC_DEFUN([AC_PACKAGE_NEED_MAKEHANDLE_LIBDM], - [ AC_CHECK_LIB(dm, dm_make_handle,, [ +AC_DEFUN([AC_PACKAGE_WANT_DMAPI], + [ AC_CHECK_LIB(dm, dm_make_handle, [ have_dmapi=true ], [ + have_dmapi=false echo - echo 'FATAL ERROR: could not find a valid DMAPI base library.' - echo 'Install the data migration API (dmapi) library package.' - echo 'Alternatively, run "make install" from the dmapi source.' - exit 1 + echo 'WARNING: could not find a valid DMAPI base library.' + echo 'If you want DMAPI support please install the data migration' + echo 'API (dmapi) library package. Alternatively, run "make install"' + echo 'from the dmapi source.' + echo ]) libdm="-ldm" test -f `pwd`/../dmapi/libdm/libdm.la && \
@@ -23,4 +25,5 @@ AC_DEFUN([AC_PACKAGE_NEED_MAKEHANDLE_LIBDM], test -f ${libexecdir}${libdirsuffix}/libdm.la && \ libdm="${libexecdir}${libdirsuffix}/libdm.la" AC_SUBST(libdm) + AC_SUBST(have_dmapi) ])
Signature · 6 lines
1.6.5 _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 1/2] xfstests: rebuild aclocal.m4
Quoted 8 lines · Dave Chinner
The local m4 configuration has not been built in a long time. Trying to rebuild it results in failures with dmapi library detection and
libxfs.hdetection macros. Fix the errors and rebuild it.Note: the new format for the aclocal.m4 file uses
m4_includedirectives which means it is much smaller th an before and won't need updating unless we include new m4 macro files.
Looks good, but shouldn't we create aclocal.m4 automocatically as part of make configure which generates the rest of the auto* stuff and stop having it checked into the git repository?
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 1/2] xfstests: rebuild aclocal.m4
Quoted 6 lines · Christoph Hellwig
Quoted 5 lines · Dave Chinner
The local m4 configuration has not been built in a long time. Trying to rebuild it results in failures with dmapi library detection and
libxfs.hdetection macros. Fix the errors and rebuild it.
Quoted 7 lines
Quoted 3 lines
Note: the new format for the aclocal.m4 file uses
m4_includedirectives which means it is much smaller th an before and won't need updating unless we include new m4 macro files.Looks good, but shouldn't we create aclocal.m4 automocatically as part of make configure which generates the rest of the auto* stuff and stop having it checked into the git repository?
I'll do that as a separate patch - I'm not sure what is involved in doing this yet. No need to hold up the automatic dependency changes for this....
Cheers,
Dave.
Signature · 7 lines
Dave Chinner [email protected] _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs
PATCH 2/2 xfstests: Automatic build dependency calculations
In reply to Dave ChinnerCurrently the xfstest builds do not have any automatic dependency calculations. It relies on a separate make depend run to build or update dependency information. It also relies on an external makedepend binary. If that binary does not exist, the dependencies do not get calculated.
To remove the dependency on makedepend, gcc can be used instead as it has a command to generate dependency information. This patch changes the dependency rule building to use gcc.
In case anyone uses an old (several years) gcc compiler or a compiler that doesn't support gcc compatible dependency generation, a new configure check is added to turn off dependency checking so builds can still be done.
To use the dependencies automatically, we need to use a special include makefile directive to include the build dependencies into the current makefile. Essentially once the dependencies are calculated, they can be included into the makefile and make will recalculate the build dependencies automatically based on that information.
Hence we get a build that automatically calculates and keeps dependencies up to date without dependence on any external tools.
--- .gitignore | 3 +++ include/builddefs.in | 4 ---- include/buildrules | 36 ++++++++++-------------------------- lib/Makefile | 4 +++- ltp/Makefile | 3 ++- m4/package_utilies.m4 | 27 +++++++++++++++++++++++---- src/Makefile | 19 ++++++++++--------- src/aio-dio-regress/Makefile | 4 +++- 8 files changed, 54 insertions(+), 46 deletions(-)
.gitignore +3 -0
@@ -1,9 +1,12 @@ *.lo *.o *.la +.dep autom4te.cache configure +config.log +config.status include/builddefs include/config.h include/config.h.in
include/builddefs.in +0 -4
@@ -65,18 +65,14 @@ GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall ifeq ($(PKG_PLATFORM),linux) PCFLAGS = -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 $(GCCFLAGS) -DEPENDFLAGS = -D__linux__ endif ifeq ($(PKG_PLATFORM),darwin) PCFLAGS = -traditional-cpp $(GCCFLAGS) -DEPENDFLAGS = -D__APPLE__ endif ifeq ($(PKG_PLATFORM),irix) PCFLAGS = -nostdinc -I$(ROOT)/usr/include -I$(TOPDIR)/../irix/include -DEPENDFLAGS = -D__sgi__ endif ifeq ($(PKG_PLATFORM),freebsd) -DEPENDFLAGS = -D__FreeBSD__ endif GCFLAGS = $(OPTIMIZER) $(DEBUG) $(CPPFLAGS) \
include/buildrules +10 -26
@@ -8,7 +8,7 @@ include $(TOPDIR)/include/builddefs clean clobber : $(addsuffix -clean,$(SUBDIRS)) $(Q)rm -f $(DIRT) - $(Q)rm -fr .libs + $(Q)rm -fr .libs .dep %-clean: @echo "Cleaning $*"
@@ -70,32 +70,16 @@ endif # _BUILDRULES_INCLUDED_ $(_FORCE): -.PHONY : depend +# dependency build is automatic, relies on gcc -MM to generate. +.PHONY : depend ltdepend -DEPENDSCRIPT := $(MAKEDEPEND) $(DEPENDFLAGS) -f - -- $(CFLAGS) -- $(CFILES) | \ - $(SED) -e 's,`pwd`,$(TOPDIR),g' \ - -e 's, */[^ ]*,,g' \ - -e '/^[^ ]*: *$$/d' \ - -e '/^ *$$/d' +MAKEDEP := $(MAKEDEPEND) $(CFLAGS) -ifdef LTLIBRARY -DEPENDSCRIPT := $(DEPENDSCRIPT) | $(SED) -e 's,^\([^:]*\)\.o,\1.lo,' -endif +ltdepend: $(CFILES) $(HFILES) + @echo " [DEP]" + $(Q)$(MAKEDEP) $(CFILES) | $(SED) -e 's,^\([^:]*\)\.o,\1.lo,' > .dep -depend : $(CFILES) $(HFILES) $(addsuffix -depend,$(SUBDIRS)) - $(DEPENDSCRIPT) > .dep - test -s .dep || rm -f .dep +depend: $(CFILES) $(HFILES) + @echo " [DEP]" + $(Q)$(MAKEDEP) $(CFILES) | $(SED) -e 's,^\([^:]*\)\.o,\1,' > .dep -%-depend: - $(MAKE) -C $* depend - -# Include dep, but only if it exists -ifeq ($(shell test -f .dep && echo .dep), .dep) -include .dep -else -ifdef LTLIBRARY -$(LTOBJECTS): $(HFILES) -else -$(OBJECTS): $(HFILES) -endif -endif
lib/Makefile +3 -1
@@ -19,8 +19,10 @@ CFILES = dataascii.c databin.c datapid.c file_lock.c forker.c \ str_to_bytes.c tlibio.c write_log.c \ random.c -default: $(LTLIBRARY) +default: ltdepend $(LTLIBRARY) include $(BUILDRULES) install install-dev: default + +-include .dep
ltp/Makefile +2 -1
@@ -27,7 +27,7 @@ LCFLAGS += -DAIO LLDLIBS += -laio -lpthread endif -default: $(TARGETS) +default: depend $(TARGETS) include $(BUILDRULES)
@@ -39,3 +39,4 @@ install: default $(INSTALL) -m 755 -d $(PKG_LIB_DIR)/ltp $(INSTALL) -m 755 $(TARGETS) $(PKG_LIB_DIR)/ltp +-include .dep
m4/package_utilies.m4 +23 -4
@@ -11,9 +11,27 @@ AC_DEFUN([AC_PACKAGE_NEED_UTILITY], ]) # +#check compiler can generate dependencies +# +AC_DEFUN([AC_PACKAGE_GCC_DEPS], + [AC_CACHE_CHECK(whether gcc -MM is supported, + ac_cv_gcc_nodeps, + [cat > conftest.c <<EOF + #include <stdio.h> + int main() { exit(0); } +EOF + ac_cv_gcc_nodeps=no + if ${CC} -MM conftest.c >/dev/null 2>&1; then + ac_cv_gcc_nodeps=yes + fi + rm -f conftest.c a.out + ]) + ]) + +# # 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 +# CC MAKE LIBTOOL TAR ZIP eMAKEDEPEND AWK SED ECHO SORT # MSGFMT MSGMERGE RPM # AC_DEFUN([AC_PACKAGE_UTILITIES],
@@ -54,10 +72,11 @@ AC_DEFUN([AC_PACKAGE_UTILITIES], zip=$ZIP AC_SUBST(zip) - if test -z "$MAKEDEPEND"; then - AC_PATH_PROG(MAKEDEPEND, makedepend, /bin/true) + AC_PACKAGE_GCC_DEPS() + makedepend="$cc -MM" + if test $ac_cv_gcc_nodeps = no; then + makedepend=/bin/true fi - makedepend=$MAKEDEPEND AC_SUBST(makedepend) if test -z "$AWK"; then
src/Makefile +10 -9
@@ -13,11 +13,12 @@ TARGETS = dirstress fill fill2 getpagesize holes lstat64 \ multi_open_unlink dmiperf unwritten_sync genhashnames LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize \ - preallo_rw_pattern_reader preallo_rw_pattern_writer ftrunc trunc \ - fs_perms testx looptest locktest unwritten_mmap \ + ftrunc trunc fs_perms testx looptest locktest unwritten_mmap \ bulkstat_unlink_test bulkstat_unlink_test_modified t_dir_offset \ t_futimens +SUBDIRS = + LLDLIBS = $(LIBATTR) $(LIBHANDLE) $(LIBACL) ifeq ($(HAVE_XLOG_ASSIGN_LSN), true)
@@ -27,6 +28,7 @@ endif IRIX_TARGETS = open_unlink ifeq ($(PKG_PLATFORM),linux) +PREALLO_TARGETS = preallo_rw_pattern_reader TARGETS += $(LINUX_TARGETS) TARGETS += t_immutable endif
@@ -45,13 +47,10 @@ ifeq ($(HAVE_AIO), true) SUBDIRS += aio-dio-regress endif -CFILES = $(TARGETS:=.c) -LDIRT = $(TARGETS) - +CFILES := $(TARGETS:=.c) +LDIRT := $(TARGETS) $(PREALLO_TARGETS) -default: $(TARGETS) $(SUBDIRS) - -PREALLO_TARGETS = preallo_rw_pattern_reader preallo_rw_pattern_writer +default: depend $(TARGETS) $(PREALLO_TARGETS) $(SUBDIRS) include $(BUILDRULES)
@@ -63,7 +62,7 @@ preallo_rw_pattern_writer: @echo " [CC] $@" $(Q)$(LTLINK) iopat.c -DWRITE -o $@ $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(LIBTEST) -$(filter-out $(PREALLO_TARGETS), $(TARGETS)): $(LIBTEST) +$(TARGETS): $(LIBTEST) @echo " [CC] $@" $(Q)$(LTLINK) [email protected] -o $@ $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(LIBTEST)
@@ -77,3 +76,5 @@ install: default $(addsuffix -install,$(SUBDIRS)) %-install: $(MAKE) -C $* install + +-include .dep
src/aio-dio-regress/Makefile +3 -1
@@ -8,7 +8,7 @@ LDIRT = $(TARGETS) LLDLIBS = -laio -lpthread -default: $(TARGETS) +default: depend $(TARGETS) include $(BUILDRULES)
@@ -19,3 +19,5 @@ $(TARGETS): install: $(INSTALL) -m 755 -d $(PKG_LIB_DIR)/src/aio-dio-regress $(INSTALL) -m 755 $(TARGETS) $(PKG_LIB_DIR)/src/aio-dio-regress + +-include .dep
Signature · 6 lines
1.6.5 _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 2/2] xfstests: Automatic build dependency calculations
Quoted 13 lines
LINUX_TARGETS= xfsctl bstatt_mtabgetdevicesize \src/Makefile +3
-2- preallo_rw_pattern_reader preallo_rw_pattern_writer ftrunc trunc \ - fs_perms testx looptest locktest unwritten_mmap \ + ftrunc trunc fs_perms testx looptest locktest unwritten_mmap \ bulkstat_unlink_test bulkstat_unlink_test_modified t_dir_offset \ t_futimens +SUBDIRS = + LLDLIBS = $(LIBATTR) $(LIBHANDLE) $(LIBACL) ifeq ($(HAVE_XLOG_ASSIGN_LSN), true)
src/Makefile endif · line 31
Quoted 4 lines
src/Makefile +1
-0@@ -27,6 +28,7 @@ endif IRIX_TARGETS = open_unlink ifeq ($(PKG_PLATFORM),linux) +PREALLO_TARGETS = preallo_rw_pattern_reader
What happens to the writer here? Before introducing more special cases for this duplicates let me post my patch to make the file compiled more normal, will send it out ASAP.
Otherwise looks good to me.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 2/2] xfstests: Automatic build dependency calculations
Quoted 11 lines · Christoph Hellwig
Quoted 11 lines
LINUX_TARGETS= xfsctl bstatt_mtabgetdevicesize \src/Makefile +3
-2- preallo_rw_pattern_reader preallo_rw_pattern_writer ftrunc trunc \ - fs_perms testx looptest locktest unwritten_mmap \ + ftrunc trunc fs_perms testx looptest locktest unwritten_mmap \ bulkstat_unlink_test bulkstat_unlink_test_modified t_dir_offset \ t_futimens +SUBDIRS = + LLDLIBS = $(LIBATTR) $(LIBHANDLE) $(LIBACL)
Quoted 8 lines
src/Makefile endif · line 31
Quoted 6 lines
ifeq ($(HAVE_XLOG_ASSIGN_LSN), true)
src/Makefile +1
-0@@ -27,6 +28,7 @@ endif IRIX_TARGETS = open_unlink ifeq ($(PKG_PLATFORM),linux) +PREALLO_TARGETS = preallo_rw_pattern_readerWhat happens to the writer here?
Oops, missed it.
Quoted 4 lines
Before introducing more special cases
for this duplicates let me post my patch to make the file compiled more normal, will send it out ASAP.
OK, I'll pull your patch into my series and rebase my change on it before pushing the lot of them.
Cheers,
Dave.
Signature · 7 lines
Dave Chinner [email protected] _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 2/2] xfstests: Automatic build dependency calculations
In reply to Dave ChinnerQuoted 22 lines · Dave Chinner
Currently the xfstest builds do not have any automatic dependency calculations. It relies on a separate make depend run to build or update dependency information. It also relies on an external makedepend binary. If that binary does not exist, the dependencies do not get calculated.
To remove the dependency on makedepend, gcc can be used instead as it has a command to generate dependency information. This patch changes the dependency rule building to use gcc.
In case anyone uses an old (several years) gcc compiler or a compiler that doesn't support gcc compatible dependency generation, a new configure check is added to turn off dependency checking so builds can still be done.
To use the dependencies automatically, we need to use a special include makefile directive to include the build dependencies into the current makefile. Essentially once the dependencies are calculated, they can be included into the makefile and make will recalculate the build dependencies automatically based on that information.
Quoted 4 lines
Hence we get a build that automatically calculates and keeps dependencies up to date without dependence on any external tools.
Signed-off-by Dave Chinner <[email protected]>
seems to be some fallout from this at least on my F10 box:
/usr/bin/makedepend: warning: ignoring option -Wall /usr/bin/makedepend: error: cannot open "no-strict-aliasing"
also this change:
- preallo_rw_pattern_reader preallo_rw_pattern_writer ftrunc trunc \
- fs_perms testx looptest locktest unwritten_mmap \
+ ftrunc trunc fs_perms testx looptest locktest unwritten_mmap \
bulkstat_unlink_test bulkstat_unlink_test_modified t_dir_offset \...
+PREALLO_TARGETS = preallo_rw_pattern_reader
seems to have lost the build of preallo_rw_pattern_reader & writer.
Was that stray, or what were you going for there?
-Eric
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 2/2] xfstests: Automatic build dependency calculations
Quoted 17 lines · Eric Sandeen
seems to be some fallout from this at least on my F10 box:
/usr/bin/makedepend: warning: ignoring option -Wall/usr/bin/makedepend: error: cannot open "no-strict-aliasing"also this change:
src/Makefile +2
-2- preallo_rw_pattern_reader preallo_rw_pattern_writer ftrunc trunc \ - fs_perms testx looptest locktest unwritten_mmap \ + ftrunc trunc fs_perms testx looptest locktest unwritten_mmap \ bulkstat_unlink_test bulkstat_unlink_test_modified t_dir_offset \ +PREALLO_TARGETS = preallo_rw_pattern_reader
Quoted 3 lines
seems to have lost the build of
preallo_rw_pattern_reader& writer.Was that stray, or what were you going for there?
It's stray now that I fixed up the way preallo_rw_pattern_reader/write are compiled. The patch needs a little respin.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 2/2] xfstests: Automatic build dependency calculations
Quoted 16 lines · Christoph Hellwig
Quoted 15 lines · Eric Sandeen
seems to be some fallout from this at least on my F10 box:
/usr/bin/makedepend: warning: ignoring option -Wall/usr/bin/makedepend: error: cannot open "no-strict-aliasing"also this change:
src/Makefile +1
-2- preallo_rw_pattern_reader preallo_rw_pattern_writer ftrunc trunc \ - fs_perms testx looptest locktest unwritten_mmap \ + ftrunc trunc fs_perms testx looptest locktest unwritten_mmap \ bulkstat_unlink_test bulkstat_unlink_test_modified t_dir_offset \
Quoted 9 lines
Quoted 5 lines
+PREALLO_TARGETS =
preallo_rw_pattern_readerseems to have lost the build of
preallo_rw_pattern_reader& writer.Was that stray, or what were you going for there?
It's stray now that I fixed up the way preallo_rw_pattern_reader/write are compiled. The patch needs a little respin.
ok, whatever is in the repo at this point is busted :)
-Eric
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
PATCH 1/1 xfstests: fix compilation of iopat targets
Now that PREALLO_TARGETS is gone these tests must be listed in the main LINUX_TARGETS list.
src/Makefile +4 -6
@@ -12,10 +12,10 @@ TARGETS = dirstress fill fill2 getpagesi godown resvtest writemod makeextents itrash rename \ multi_open_unlink dmiperf unwritten_sync genhashnames -LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize \ - ftrunc trunc fs_perms testx looptest locktest unwritten_mmap \ - bulkstat_unlink_test bulkstat_unlink_test_modified t_dir_offset \ - t_futimens +LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize preallo_rw_pattern_reader \ + preallo_rw_pattern_writer ftrunc trunc fs_perms testx looptest \ + locktest unwritten_mmap bulkstat_unlink_test \ + bulkstat_unlink_test_modified t_dir_offset t_futimens t_immutable SUBDIRS =
@@ -28,9 +28,7 @@ endif IRIX_TARGETS = open_unlink ifeq ($(PKG_PLATFORM),linux) -PREALLO_TARGETS = preallo_rw_pattern_reader TARGETS += $(LINUX_TARGETS) -TARGETS += t_immutable endif ifeq ($(PKG_PLATFORM),irix)
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH] xfstests: fix compilation of iopat targets
Quoted 4 lines · Christoph Hellwig
Now that
PREALLO_TARGETSis gone these tests must be listed in the mainLINUX_TARGETSlist.Signed-off-by Christoph Hellwig <[email protected]>
Thanks,
Quoted 21 lines
Index: xfstests-dev/src/Makefile
===================================================================src/Makefile +4
-4@@ -12,10 +12,10 @@ TARGETS = dirstress fill fill2 getpagesi godown resvtest writemod makeextents itrash rename \ multi_open_unlink dmiperf unwritten_sync genhashnames -LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize \ - ftrunc trunc fs_perms testx looptest locktest unwritten_mmap \ - bulkstat_unlink_test bulkstat_unlink_test_modified t_dir_offset \ - t_futimens +LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize preallo_rw_pattern_reader \ + preallo_rw_pattern_writer ftrunc trunc fs_perms testx looptest \ + locktest unwritten_mmap bulkstat_unlink_test \ + bulkstat_unlink_test_modified t_dir_offset t_futimens t_immutable SUBDIRS =
src/Makefile endif · line 34
Quoted 9 lines
src/Makefile +0
-2@@ -28,9 +28,7 @@ endif IRIX_TARGETS = open_unlink ifeq ($(PKG_PLATFORM),linux) -PREALLO_TARGETS = preallo_rw_pattern_reader TARGETS += $(LINUX_TARGETS) -TARGETS += t_immutable endif ifeq ($(PKG_PLATFORM),irix)
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 2/2] xfstests: Automatic build dependency calculations
In reply to Eric SandeenQuoted 45 lines · Eric Sandeen
Quoted 22 lines · Dave Chinner
Currently the xfstest builds do not have any automatic dependency calculations. It relies on a separate make depend run to build or update dependency information. It also relies on an external makedepend binary. If that binary does not exist, the dependencies do not get calculated.
To remove the dependency on makedepend, gcc can be used instead as it has a command to generate dependency information. This patch changes the dependency rule building to use gcc.
In case anyone uses an old (several years) gcc compiler or a compiler that doesn't support gcc compatible dependency generation, a new configure check is added to turn off dependency checking so builds can still be done.
To use the dependencies automatically, we need to use a special include makefile directive to include the build dependencies into the current makefile. Essentially once the dependencies are calculated, they can be included into the makefile and make will recalculate the build dependencies automatically based on that information.
Quoted 4 lines
Hence we get a build that automatically calculates and keeps dependencies up to date without dependence on any external tools.
Signed-off-by Dave Chinner <[email protected]>seems to be some fallout from this at least on my F10 box:
/usr/bin/makedepend: warning: ignoring option -Wall/usr/bin/makedepend: error: cannot open "no-strict-aliasing"also this change:
src/Makefile +2
-2- preallo_rw_pattern_reader preallo_rw_pattern_writer ftrunc trunc \ - fs_perms testx looptest locktest unwritten_mmap \ + ftrunc trunc fs_perms testx looptest locktest unwritten_mmap \ bulkstat_unlink_test bulkstat_unlink_test_modified t_dir_offset \ +PREALLO_TARGETS = preallo_rw_pattern_reader
Quoted 3 lines
seems to have lost the build of
preallo_rw_pattern_reader& writer.Was that stray, or what were you going for there?
I thought I fixed all that up after hch's patches went in. Bugger. I'll try to get a few minutes at lunchtime to fix it.
Cheers,
Dave.
Signature · 7 lines
Dave Chinner [email protected] _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 2/2] xfstests: Automatic build dependency calculations
Quoted 43 lines · Dave Chinner
Quoted 42 lines · Eric Sandeen
Quoted 22 lines · Dave Chinner
Currently the xfstest builds do not have any automatic dependency calculations. It relies on a separate make depend run to build or update dependency information. It also relies on an external makedepend binary. If that binary does not exist, the dependencies do not get calculated.
To remove the dependency on makedepend, gcc can be used instead as it has a command to generate dependency information. This patch changes the dependency rule building to use gcc.
In case anyone uses an old (several years) gcc compiler or a compiler that doesn't support gcc compatible dependency generation, a new configure check is added to turn off dependency checking so builds can still be done.
To use the dependencies automatically, we need to use a special include makefile directive to include the build dependencies into the current makefile. Essentially once the dependencies are calculated, they can be included into the makefile and make will recalculate the build dependencies automatically based on that information.
Quoted 4 lines
Hence we get a build that automatically calculates and keeps dependencies up to date without dependence on any external tools.
Signed-off-by Dave Chinner <[email protected]>seems to be some fallout from this at least on my F10 box:
/usr/bin/makedepend: warning: ignoring option -Wall/usr/bin/makedepend: error: cannot open "no-strict-aliasing"also this change:
src/Makefile +1
-2- preallo_rw_pattern_reader preallo_rw_pattern_writer ftrunc trunc \ - fs_perms testx looptest locktest unwritten_mmap \ + ftrunc trunc fs_perms testx looptest locktest unwritten_mmap \ bulkstat_unlink_test bulkstat_unlink_test_modified t_dir_offset \
Quoted 8 lines
Quoted 5 lines
+PREALLO_TARGETS =
preallo_rw_pattern_readerseems to have lost the build of
preallo_rw_pattern_reader& writer.Was that stray, or what were you going for there?
I thought I fixed all that up after hch's patches went in. Bugger. I'll try to get a few minutes at lunchtime to fix it.
hch has the 2nd one fixed already. not sure about the warnings.
-Eric
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs