Skip to contentSkip to conversation

xfstests: Automatic build dependencies

PATCH In review Dave Chinner 3 participants 14 messages Jan 21, 2010 – Jan 27, 2010 Library code

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw

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
index 6e1e672..02f56f2 100644
@@ -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
index 6c2afe7..0d6f153 100644
@@ -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
index 89330bd..652db30 100644
@@ -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
#2 lore raw

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.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 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

#3 lore raw

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.h detection macros. Fix the errors and rebuild it.

Quoted 7 lines
Quoted 3 lines

Note: the new format for the aclocal.m4 file uses m4_include directives 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
#4 lore raw

PATCH 2/2 xfstests: Automatic build dependency calculations

In reply to 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.

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
index d7cbab1..563c30a 100644
@@ -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
index 7827ed5..23a4991 100644
@@ -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
index 5428391..5388210 100644
@@ -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
index 435c38c..43fb0a0 100644
@@ -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
index fee10f5..d74a9df 100644
@@ -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
index c034a7c..726406c 100644
@@ -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
index e2a42ce..398b9dc 100644
@@ -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
index f0e4d15..3f9d1c2 100644
@@ -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
#5 lore raw

Re: [PATCH 2/2] xfstests: Automatic build dependency calculations

Quoted 13 lines

LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize \

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

#6 lore raw

Re: [PATCH 2/2] xfstests: Automatic build dependency calculations

Quoted 11 lines · Christoph Hellwig
Quoted 11 lines

LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize \

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_reader

What 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
#7 lore raw

Re: [PATCH 2/2] xfstests: Automatic build dependency calculations

In reply to Dave Chinner
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.

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

#8 lore raw

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

#9 lore raw

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_reader

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.

ok, whatever is in the repo at this point is busted :)

-Eric

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#10 lore raw

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
Index: xfstests-dev/src/Makefile
===================================================================
@@ -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

Reviewed-by on v1 1/1
#11 lore raw

Re: [PATCH] xfstests: fix compilation of iopat targets

Quoted 4 lines · Christoph Hellwig

Now that PREALLO_TARGETS is gone these tests must be listed in the main LINUX_TARGETS list.

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

#12 lore raw

Re: [PATCH 2/2] xfstests: Automatic build dependency calculations

In reply to Eric Sandeen
Quoted 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.

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
#13 lore raw

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.

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_reader

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.

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