From: Nathan Scott Date: Mon, 19 May 2003 05:14:50 +0000 (+0000) Subject: Updates to QA scrdiff script to keep package configure macros in sync. X-Git-Tag: v1.1.0~988 X-Git-Url: https://git.ceph.com/?p=xfstests-dev.git;a=commitdiff_plain;h=c1ef92a938a11dc2b95fc8228a0286473b6145c2 Updates to QA scrdiff script to keep package configure macros in sync. --- diff --git a/m4/Makefile b/m4/Makefile new file mode 100644 index 00000000..556a9936 --- /dev/null +++ b/m4/Makefile @@ -0,0 +1,54 @@ +# +# Copyright (c) 2003 Silicon Graphics, Inc. All Rights Reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of version 2 of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it would be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Further, this software is distributed without any warranty that it is +# free of the rightful claim of any third person regarding infringement +# or the like. Any license provided herein, whether implied or +# otherwise, applies only to this software file. Patent licenses, if +# any, provided herein do not apply to combinations of this program with +# other software, or any other product whatsoever. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write the Free Software Foundation, Inc., 59 +# Temple Place - Suite 330, Boston MA 02111-1307, USA. +# +# Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, +# Mountain View, CA 94043, or: +# +# http://www.sgi.com +# +# For further information regarding this notice, see: +# +# http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ +# + +TOPDIR = .. +include $(TOPDIR)/include/builddefs + +LSRCFILES = \ + manual_format.m4 \ + package_acldev.m4 \ + package_gdbmdev.m4 \ + package_attrdev.m4 \ + package_dmapidev.m4 \ + package_globals.m4 \ + package_ncurses.m4 \ + package_types.m4 \ + package_utilies.m4 \ + package_uuiddev.m4 \ + package_xfslibs.m4 \ + visibility_hidden.m4 + +default: + +include $(BUILDRULES) + +install install-dev install-lib: default diff --git a/m4/manual_format.m4 b/m4/manual_format.m4 new file mode 100644 index 00000000..50c6a914 --- /dev/null +++ b/m4/manual_format.m4 @@ -0,0 +1,17 @@ +# +# 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) + ]) diff --git a/m4/package_acldev.m4 b/m4/package_acldev.m4 new file mode 100644 index 00000000..2228543d --- /dev/null +++ b/m4/package_acldev.m4 @@ -0,0 +1,37 @@ +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-lib" 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-lib" 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 /usr/lib/libacl.la && libacl="/usr/lib/libacl.la" + AC_SUBST(libacl) + ]) diff --git a/m4/package_attrdev.m4 b/m4/package_attrdev.m4 new file mode 100644 index 00000000..831d1fd8 --- /dev/null +++ b/m4/package_attrdev.m4 @@ -0,0 +1,76 @@ +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-lib" 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-lib" from the attr source.' + exit 1 + fi + ]) + +AC_DEFUN([AC_PACKAGE_NEED_ATTR_ATTRIBUTES_H], + [ AC_CHECK_HEADERS([attr/attributes.h]) + if test "$ac_cv_header_attr_attributes_h" != "yes"; then + echo + echo 'FATAL ERROR: attr/attributes.h does not exist.' + echo 'Install the extended attributes (attr) development package.' + echo 'Alternatively, run "make install-lib" from the attr source.' + exit 1 + fi + ]) + +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 /usr/lib/libattr.la && libattr="/usr/lib/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 /usr/lib/libattr.la && libattr="/usr/lib/libattr.la" + AC_SUBST(libattr) + ]) + +AC_DEFUN([AC_PACKAGE_NEED_ATTRIBUTES_MACROS], + [ AC_MSG_CHECKING([macros in attr/attributes.h]) + AC_TRY_LINK([ +#include +#include ], + [ int x = ATTR_SHIFT; ], [ + echo + echo 'FATAL ERROR: incorrect macros exist in attributes.h header file.' + echo 'Upgrade the extended attributes (attr) development package.' + echo 'Alternatively, run "make install-dev" from the attr source.' + exit 1 ], + [ echo ok ]) + ]) diff --git a/m4/package_dmapidev.m4 b/m4/package_dmapidev.m4 new file mode 100644 index 00000000..1f9824ab --- /dev/null +++ b/m4/package_dmapidev.m4 @@ -0,0 +1,25 @@ +AC_DEFUN([AC_PACKAGE_NEED_XFS_DMAPI_H], + [ AC_CHECK_HEADERS([xfs/dmapi.h]) + if test "$ac_cv_header_xfs_dmapi_h" != yes; then + echo + echo 'FATAL ERROR: could not find a valid DMAPI library header.' + echo 'Install the data migration API (dmapi) development package.' + echo 'Alternatively, run "make install-dev" from the dmapi source.' + exit 1 + fi + ]) + +AC_DEFUN([AC_PACKAGE_NEED_MAKEHANDLE_LIBDM], + [ AC_CHECK_LIB(dm, dm_make_handle,, [ + 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 + ]) + libdm="-ldm" + test -f `pwd`/../dmapi/libdm/libdm.la && \ + libdm="`pwd`/../dmapi/libdm/libdm.la" + test -f /usr/lib/libdm.la && libdm="/usr/lib/libdm.la" + AC_SUBST(libdm) + ]) diff --git a/m4/package_gdbmdev.m4 b/m4/package_gdbmdev.m4 new file mode 100644 index 00000000..69e45452 --- /dev/null +++ b/m4/package_gdbmdev.m4 @@ -0,0 +1,8 @@ +AC_DEFUN([AC_PACKAGE_WANT_LIBGDBM], + [ AC_CHECK_HEADER([gdbm/ndbm.h], [have_db=true ], [ have_db=false ]) + if test $have_db = true -a -f /usr/lib/libgdbm.a; then + libgdbm="/usr/lib/libgdbm.a" + fi + AC_SUBST(libgdbm) + AC_SUBST(have_db) + ]) diff --git a/m4/package_globals.m4 b/m4/package_globals.m4 new file mode 100644 index 00000000..25b387d3 --- /dev/null +++ b/m4/package_globals.m4 @@ -0,0 +1,45 @@ +# +# 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'} dnl -O2 + opt_build="$OPTIMIZER" + AC_SUBST(opt_build) + + MALLOCLIB=${MALLOCLIB:-''} dnl /usr/lib/libefence.a + malloc_lib="$MALLOCLIB" + AC_SUBST(malloc_lib) + + PKG_USER=${INSTALL_USER:-'root'} + pkg_user="$PKG_USER" + AC_SUBST(pkg_user) + + PKG_GROUP=${INSTALL_GROUP:-'root'} + pkg_group="$PKG_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) + ]) diff --git a/m4/package_ncurses.m4 b/m4/package_ncurses.m4 new file mode 100644 index 00000000..83a2c382 --- /dev/null +++ b/m4/package_ncurses.m4 @@ -0,0 +1,30 @@ +AC_DEFUN([AC_PACKAGE_NEED_NCURSES_H], + [ AC_CHECK_HEADERS([ncurses.h]) + if test "$ac_cv_header_ncurses_h" != yes; then + echo + echo 'FATAL ERROR: could not find a valid ncurses header.' + echo 'Install the ncurses development package.' + exit 1 + fi + ]) + +AC_DEFUN([AC_PACKAGE_WANT_WORKING_LIBNCURSES], + [ AC_CHECK_LIB(ncurses, initscr,, [ + echo + echo 'FATAL ERROR: could not find a valid ncurses library.' + echo 'Install the ncurses library package.' + exit 1 + ]) + AC_MSG_CHECKING([for bad glibc/ncurses header interaction]) + libcurses="-lncurses" + LIBS="$LIBS $libcurses" + CFLAGS="$CFLAGS -D_GNU_SOURCE" + AC_TRY_LINK([ +#include +#include ], + [wgetch(stdscr);], + [enable_curses=yes; AC_MSG_RESULT([ok])], + [enable_curses=no; libcurses=""; AC_MSG_RESULT([disabling curses])]) + AC_SUBST(enable_curses) + AC_SUBST(libcurses) + ]) diff --git a/m4/package_types.m4 b/m4/package_types.m4 new file mode 100644 index 00000000..1bd69751 --- /dev/null +++ b/m4/package_types.m4 @@ -0,0 +1,50 @@ +# +# 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 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; 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; then + AC_DEFINE(HAVE_32BIT_PTR) + fi + if test $ac_cv_sizeof_char_p -eq 8; then + AC_DEFINE(HAVE_64BIT_PTR) + fi + ]) diff --git a/m4/package_utilies.m4 b/m4/package_utilies.m4 new file mode 100644 index 00000000..e0116ce9 --- /dev/null +++ b/m4/package_utilies.m4 @@ -0,0 +1,115 @@ +# +# 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], + [ if test -z "$CC"; then + AC_PROG_CC + fi + cc="$CC" + AC_SUBST(cc) + AC_PACKAGE_NEED_UTILITY($1, "$cc", cc, [C compiler]) + + if test -z "$MAKE"; then + AC_PATH_PROG(MAKE, make, /usr/bin/make) + fi + make=$MAKE + AC_SUBST(make) + AC_PACKAGE_NEED_UTILITY($1, "$make", make, [GNU make]) + + if test -z "$LIBTOOL"; then + AC_PATH_PROG(LIBTOOL, libtool,,/usr/bin:/usr/local/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) + fi + tar=$TAR + AC_SUBST(tar) + if test -z "$ZIP"; then + AC_PATH_PROG(ZIP, gzip, /bin/gzip) + 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/awk) + fi + awk=$AWK + AC_SUBST(awk) + if test -z "$SED"; then + AC_PATH_PROG(SED, sed, /bin/sed) + fi + sed=$SED + AC_SUBST(sed) + if test -z "$ECHO"; then + AC_PATH_PROG(ECHO, echo, /bin/echo) + fi + echo=$ECHO + AC_SUBST(echo) + if test -z "$SORT"; then + AC_PATH_PROG(SORT, sort, /bin/sort) + 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_CHECK_PROG(MSGFMT, msgfmt, /usr/bin/msgfmt) + fi + msgfmt=$MSGFMT + AC_SUBST(msgfmt) + AC_PACKAGE_NEED_UTILITY($1, "$msgfmt", msgfmt, gettext) + if test -z "$MSGMERGE"; then + AC_CHECK_PROG(MSGMERGE, msgmerge, /usr/bin/msgmerge) + 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/rpm) + fi + rpm=$RPM + AC_SUBST(rpm) + dnl .. and what version is rpm + rpm_version=0 + test -x $RPM && rpm_version=`$RPM --version \ + | awk '{print $NF}' | awk -F. '{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) + ]) diff --git a/m4/package_uuiddev.m4 b/m4/package_uuiddev.m4 new file mode 100644 index 00000000..1e406772 --- /dev/null +++ b/m4/package_uuiddev.m4 @@ -0,0 +1,26 @@ +AC_DEFUN([AC_PACKAGE_NEED_UUID_H], + [ AC_CHECK_HEADERS(uuid.h) + if test $ac_cv_header_uuid_h = no; then + AC_CHECK_HEADERS(uuid/uuid.h,, [ + 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 = no; then + AC_CHECK_LIB(uuid, uuid_compare, [libuuid=/usr/lib/libuuid.a], [ + echo + echo 'FATAL ERROR: could not find a valid UUID library.' + echo 'Install the Universally Unique Identifiers library package.' + exit 1]) + fi + AC_SUBST(libuuid) + ]) + +AC_DEFUN([AC_PACKAGE_CHECK_LIBUUID], + [ test $pkg_platform = freebsd && libuuid="" + ]) diff --git a/m4/package_xfslibs.m4 b/m4/package_xfslibs.m4 new file mode 100644 index 00000000..7831bc4e --- /dev/null +++ b/m4/package_xfslibs.m4 @@ -0,0 +1,63 @@ +AC_DEFUN([AC_PACKAGE_NEED_XFS_LIBXFS_H], + [ AC_CHECK_HEADERS([xfs/libxfs.h]) + if test "$ac_cv_header_xfs_libxfs_h" != "yes"; then + echo + echo 'FATAL ERROR: XFS header does not exist.' + echo 'Install the XFS programs (xfsprogs) 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: XFS header does not exist.' + echo 'Install the XFS programs (xfsprogs) 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 the XFS programs (xfsprogs) 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 /usr/lib/libxfs.la && libxfs="/usr/lib/libxfs.la" + AC_SUBST(libxfs) + ]) + +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 the XFS programs (xfsprogs) 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 /usr/lib/libhandle.la && libhdl="/usr/lib/libhandle.la" + AC_SUBST(libhdl) + ]) + +AC_DEFUN([AC_PACKAGE_NEED_XFSCTL_MACRO], + [ AC_MSG_CHECKING([xfsctl from xfs/libxfs.h]) + AC_TRY_LINK([#include ], [ 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 + ]) + ]) diff --git a/m4/visibility_hidden.m4 b/m4/visibility_hidden.m4 new file mode 100644 index 00000000..8b6d9e19 --- /dev/null +++ b/m4/visibility_hidden.m4 @@ -0,0 +1,22 @@ +AC_DEFUN([AC_FUNC_GCC_VISIBILITY], + [AC_CACHE_CHECK(whether __attribute__((visibility())) is supported, + libc_cv_visibility_attribute, + [cat > conftest.c </dev/null 2>&1; then + if grep '\.hidden.*foo' conftest.s >/dev/null; then + if grep '\.protected.*bar' conftest.s >/dev/null; then + libc_cv_visibility_attribute=yes + fi + fi + fi + rm -f conftest.[cs] + ]) + if test $libc_cv_visibility_attribute = yes; then + AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE) + fi + ]) diff --git a/tools/srcdiff b/tools/srcdiff index 4ad70bf1..d366f4cb 100755 --- a/tools/srcdiff +++ b/tools/srcdiff @@ -73,9 +73,24 @@ sub straightdiff { } } +# +# xfstests directory m4 directory is a repository of all of the +# custom m4 macros used in the packages we look after. +# +sub m4macrodiff { + my ( $package ) = @_; + + foreach (`ls cmd/$package/m4/*.m4`) { + my $m4 = `basename $_`; + chomp($m4); + straightdiff $m4, "cmd/$package/m4", "cmd/xfstests/m4"; + } +} + my $first = shift @pkglist; foreach (@pkglist) { print "\n=== Checking $_ package ===\n"; + m4macrodiff $_; straightdiff 'buildrules', "cmd/$first/include", "cmd/$_/include"; straightdiff 'buildmacros', "cmd/$first/include", "cmd/$_/include"; straightdiff 'Makefile', "cmd/$first/build", "cmd/$_/build"; diff --git a/tools/srctest b/tools/srctest deleted file mode 100644 index 12d3332d..00000000 --- a/tools/srctest +++ /dev/null @@ -1,86 +0,0 @@ -#!/bin/sh -x -# -# Simple script which does the following: -# o Generates a src tarball from a WORKAREA -# o Copies it over to ~/test and unpacks it -# o Generates a src tarball from src tarball -# o Compares the build status' ... reports problems -# o removes ~/test -# - -package="$1" -tmpdir="$HOME/test" - -if [ -z "$package" ] -then - echo "srctest requires one argument - package name" - exit 1 -fi - -if [ -z "$WORKAREA" ] -then - echo "WORKAREA is not set -- aborting." - exit 1 -fi - -if [ -d $tmpdir ] -then - echo "$tmpdir exists already -- aborting." - exit 1 -else - mkdir $tmpdir - if [ ! -d $tmpdir ] - then - echo "Cannot create $tmpdir -- aborting." - exit 1 - fi -fi - -# -# Pleasantries are now out of the way, lets proceed. -# NB: If something goes wrong we'll leave the unpacked -# source alone for consumption by a human. -# - -_cleanup() -{ - if [ $status -eq 0 ] - then - rm -fr $tmpdir - else - echo "Problem? -- leaving $tmpdir for inspection" - fi -} - -_buildme() -{ - cd $1 - - if ./Makepkgs - then - : - else - echo Makepkgs thinks theres a problem in $1 - exit 1 - fi - - if [ ! -f build/$package-*.src.tar.gz ] - then - echo Makepkgs failed to create build/package-*.src.tar.gz - exit 1 - fi -} - -status=1 -trap "_cleanup; exit \$status" 0 1 2 3 15 - -# first, build from the WORKAREA -_buildme $WORKAREA/cmd/$package - -cd $tmpdir -gunzip < $WORKAREA/cmd/$package/build/$package-*.src.tar.gz | tar xf - - -# now, cross check the src build -_buildme $tmpdir/$package-* - -status=0