finish off the tests restructuring.
authorNathan Scott <nathans@sgi.com>
Tue, 16 Jan 2001 04:10:42 +0000 (04:10 +0000)
committerNathan Scott <nathans@sgi.com>
Tue, 16 Jan 2001 04:10:42 +0000 (04:10 +0000)
VERSION [new file with mode: 0644]
configure.in [new file with mode: 0644]
include/Makefile [new file with mode: 0644]
include/builddefs.in [new file with mode: 0644]
include/buildrules [new file with mode: 0644]

diff --git a/VERSION b/VERSION
new file mode 100644 (file)
index 0000000..6143fa6
--- /dev/null
+++ b/VERSION
@@ -0,0 +1,7 @@
+#
+# This file is used by configure to get version information
+#
+PKG_MAJOR=1
+PKG_MINOR=0
+PKG_REVISION=0
+PKG_BUILD=0
diff --git a/configure.in b/configure.in
new file mode 100644 (file)
index 0000000..1f363b4
--- /dev/null
@@ -0,0 +1,246 @@
+dnl unpacking check - this file must exist
+AC_INIT(src/fsstress.c)
+pkg_name="xfstests"
+AC_SUBST(pkg_name)
+
+#
+# Note: the following environment variables may be set to override the
+# defaults (to change paths and/or executables, build parameters, etc):
+#
+#   DEBUG  OPTIMIZER  MAKE  CC  LD  TAR  ZIP  RPM  AWK  SED  ECHO
+#   MALLOCLIB  DISTRIBUTION  PACKAGE_BUILDER  PREFIX  ROOT_PREFIX
+#
+
+DEBUG=${DEBUG:-'-DDEBUG'}              # -DNDEBUG
+OPTIMIZER=${OPTIMIZER:-'-g'}           # -O2
+MALLOCLIB=${MALLOCLIB:-''}             # /usr/lib/libefence.a
+
+dnl Debug build?
+debug_build="$DEBUG"
+AC_SUBST(debug_build)
+
+dnl Optimization options?
+opt_build="$OPTIMIZER"
+AC_SUBST(opt_build)
+
+dnl Alternate malloc library?
+malloc_lib="$MALLOCLIB"
+AC_SUBST(malloc_lib)
+
+dnl Set version
+. VERSION
+
+pkg_version=${PKG_MAJOR}.${PKG_MINOR}.${PKG_REVISION}
+pkg_release=$PKG_BUILD
+AC_SUBST(pkg_version)
+AC_SUBST(pkg_release)
+
+pkg_distribution="SGI ProPack"
+test -z "$DISTRIBUTION" || pkg_distribution="$DISTRIBUTION"
+AC_SUBST(pkg_distribution)
+
+pkg_builder=`id -u -n`@`hostname -f`
+test -z "$PACKAGE_BUILDER" || pkg_builder="$PACKAGE_BUILDER"
+AC_SUBST(pkg_builder)
+
+dnl check if user wants their own C compiler
+test -z "$CC" && AC_PROG_CC
+cc=$CC
+AC_SUBST(cc)
+
+dnl check if users wants their own make
+test -z "$MAKE" && AC_PATH_PROG(MAKE, make, /usr/bin/make)
+make=$MAKE
+AC_SUBST(make)
+
+dnl check if users wants their own linker
+test -z "$LD" && AC_PATH_PROG(LD, ld, /usr/bin/ld)
+ld=$LD
+AC_SUBST(ld)
+
+dnl check if the tar program is available
+test -z "$TAR" && AC_PATH_PROG(TAR, tar)
+tar=$TAR
+AC_SUBST(tar)
+
+dnl check if the gzip program is available
+test -z "$ZIP" && AC_PATH_PROG(ZIP, gzip, /bin/gzip)
+zip=$ZIP
+AC_SUBST(zip)
+
+dnl check if the rpm program is available
+test -z "$RPM" && AC_PATH_PROG(RPM, rpm, /bin/rpm)
+rpm=$RPM
+AC_SUBST(rpm)
+
+dnl .. and what version is rpm
+rpm_version=0
+test -x $RPM && \
+       rpm_version=`$RPM --version | awk '{print $NF}' | awk -F. '{print $1}'`
+AC_SUBST(rpm_version)
+
+dnl check if the makedepend program is available
+test -z "$MAKEDEPEND" && AC_PATH_PROG(MAKEDEPEND, makedepend, /bin/true)
+makedepend=$MAKEDEPEND
+AC_SUBST(makedepend)
+
+dnl check if symbolic links are supported
+AC_PROG_LN_S
+
+dnl check if user wants their own awk, sed and echo
+test -z "$AWK" && AC_PATH_PROG(AWK, awk, /bin/awk)
+awk=$AWK
+AC_SUBST(awk)
+test -z "$SED" && AC_PATH_PROG(SED, sed, /bin/sed)
+sed=$SED
+AC_SUBST(sed)
+test -z "$ECHO" && AC_PATH_PROG(ECHO, echo, /bin/echo)
+echo=$ECHO
+AC_SUBST(echo)
+
+CPPFLAGS="-I/usr/include/xfs"
+AC_SUBST(CPPFLAGS)
+
+dnl Checks for UUID header and library.
+AC_CHECK_HEADER(uuid/uuid.h,, [
+       echo
+       echo 'FATAL ERROR: could not find a valid UUID header.'
+       echo 'Install either the e2fsprogs-devel (rpm) or the uuid-dev (deb) package.'
+       exit 1
+])
+AC_CHECK_LIB(uuid, uuid_generate,, [
+       echo
+       echo 'FATAL ERROR: could not find a valid UUID library.'
+       echo 'Install either the e2fsprogs-devel (rpm) or the uuid-dev (deb) package.'
+       exit 1
+])
+libuuid="/usr/lib/libuuid.a"
+AC_SUBST(libuuid)
+
+dnl Checks for base XFS headers and libraries.
+AC_CHECK_HEADER(xfs/libxfs.h,, [
+       echo
+       echo 'FATAL ERROR: could not find a valid XFS library header.'
+       echo 'Install either the xfsprogs-devel (rpm) or the xfslibs-dev (deb) package.'
+       exit 1
+])
+AC_CHECK_LIB(xfs, libxfs_init,, [
+       echo
+       echo 'FATAL ERROR: could not find a valid XFS base library.'
+       echo 'Install either the xfsprogs-devel (rpm) or the xfslibs-dev (deb) package.'
+])
+AC_CHECK_HEADER(xfs/handle.h,, [
+       echo
+       echo 'FATAL ERROR: could not find a valid XFS handle header.'
+       echo 'Install either the xfsprogs-devel (rpm) or the xfslibs-dev (deb) package.'
+       exit 1
+])
+AC_CHECK_LIB(handle, path_to_handle,, [
+       echo
+       echo 'FATAL ERROR: could not find a valid XFS handle library.'
+       echo 'Install either the xfsprogs-devel (rpm) or the xfslibs-dev (deb) package.'
+])
+libxfs="-lxfs"
+libhdl="-lhandle"
+AC_SUBST(libxfs)
+AC_SUBST(libhdl)
+
+dnl Checks for Extended Attributes header and library.
+AC_CHECK_HEADER(attr/attributes.h,, [
+       echo
+       echo 'FATAL ERROR: could not find a valid Extended Attributes header.'
+       echo 'Install either the attr-devel (rpm) or the attr-dev (deb) package.'
+       exit 1
+])
+AC_CHECK_LIB(attr, attr_get,, [
+       echo
+       echo 'FATAL ERROR: could not find a valid Extended Attributes library.'
+       echo 'Install either the attr-devel (rpm) or the attr-dev (deb) package.'
+])
+libattr="/usr/lib/libattr.a"
+AC_SUBST(libattr)
+
+dnl Checks for Access Control List header and library.
+AC_CHECK_HEADER(acl/acl.h,, [
+       echo
+       echo 'FATAL ERROR: could not find a valid Access Control List header.'
+       echo 'Install either the acl-devel (rpm) or the acl-dev (deb) package.'
+       exit 1
+])
+AC_CHECK_LIB(acl, acl_get,, [
+       echo
+       echo 'FATAL ERROR: could not find a valid Access Control List library.'
+       echo 'Install either the acl-devel (rpm) or the acl-dev (deb) package.'
+])
+libacl="/usr/lib/libacl.a"
+AC_SUBST(libacl)
+
+dnl Checks for GNU database manager header and library.
+AC_CHECK_HEADER(gdbm.h,, [
+       echo
+       echo 'FATAL ERROR: could not find a valid GNU database manager header.'
+       echo 'Install either the gdbm-devel (rpm) or the libgdbmg1-dev (deb) package.'
+])
+AC_CHECK_LIB(gdbm, gdbm_open,, [
+       echo
+       echo 'FATAL ERROR: could not find a valid GNU database manager library.'
+       echo 'Install either the gdbm-devel (rpm) or the libgdbmg1-dev (deb) package.'
+])
+libgdbm="/usr/lib/libgdbm.a"
+AC_SUBST(libgdbm)
+
+
+dnl alternate root and usr prefixes
+test -z "$ROOT_PREFIX" && ROOT_PREFIX=""
+root_prefix="$ROOT_PREFIX"
+test -z "$PREFIX" && PREFIX="/usr"
+prefix="$PREFIX"
+
+dnl man pages (source)
+dnl also check if man page source is gzipped
+dnl (usually on Debian, but not Redhat pre-7.0)
+have_zipped_manpages=false
+for d in ${prefix}/share/man ${prefix}/man ; do
+    if test -f $d/man1/man.1.gz
+    then
+       pkg_man_dir=$d
+       have_zipped_manpages=true
+       break
+    fi
+done
+AC_SUBST(pkg_man_dir)
+AC_SUBST(have_zipped_manpages)
+
+dnl binaries
+pkg_bin_dir=${prefix}/sbin
+AC_SUBST(pkg_bin_dir)
+
+dnl static libraries
+pkg_lib_dir=${prefix}/lib
+AC_SUBST(pkg_lib_dir)
+
+dnl runtime shared system libraries
+pkg_slib_dir=${root_prefix}/lib
+AC_SUBST(pkg_slib_dir)
+
+dnl system binaries
+pkg_sbin_dir=${root_prefix}/sbin
+AC_SUBST(pkg_sbin_dir)
+
+dnl include files
+pkg_inc_dir=${prefix}/include
+AC_SUBST(pkg_inc_dir)
+
+dnl doc directory
+pkg_doc_dir=${prefix}/share/doc/${pkg_name}
+AC_SUBST(pkg_doc_dir)
+
+
+dnl
+dnl output files
+dnl
+
+AC_OUTPUT( \
+dnl  Build definitions for use in Makefiles
+    include/builddefs \
+)
diff --git a/include/Makefile b/include/Makefile
new file mode 100644 (file)
index 0000000..c12a317
--- /dev/null
@@ -0,0 +1,40 @@
+#
+# Copyright (c) 2000 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 = builddefs.in buildrules
+
+default install install-dev:
+
+include $(BUILDRULES)
diff --git a/include/builddefs.in b/include/builddefs.in
new file mode 100644 (file)
index 0000000..707a9ce
--- /dev/null
@@ -0,0 +1,172 @@
+#
+# Copyright (c) 2000 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/
+#
+# @configure_input@
+#
+
+ifndef _BUILDDEFS_INCLUDED_
+_BUILDDEFS_INCLUDED_ = 1
+
+DEBUG = @debug_build@
+OPTIMIZER = @opt_build@
+MALLOCLIB = @malloc_lib@
+
+LIBXFS = @libxfs@
+LIBACL = @libacl@
+LIBATTR = @libattr@
+LIBGDBM = @libgdbm@
+LIBUUID = @libuuid@
+LIBHANDLE = @libhdl@
+CPPFLAGS = -I/usr/include/xfs -I/usr/include/attr
+
+BUILDRULES = $(TOPDIR)/include/buildrules
+
+# General package information
+PKG_NAME = @pkg_name@
+PKG_RELEASE = @pkg_release@
+PKG_VERSION = @pkg_version@
+PKG_DISTRIBUTION = @pkg_distribution@
+PKG_BUILDER = @pkg_builder@
+PKG_BIN_DIR = @pkg_bin_dir@
+PKG_LIB_DIR = @pkg_lib_dir@
+PKG_SBIN_DIR = @pkg_sbin_dir@
+PKG_SLIB_DIR = @pkg_slib_dir@
+PKG_INC_DIR = @pkg_inc_dir@
+PKG_MAN_DIR = @pkg_man_dir@
+PKG_DOC_DIR = @pkg_doc_dir@
+
+# LCFLAGS, LLDFLAGS, LLDLIBS, LSRCFILES and LDIRT may be specified in
+# user Makefiles. Note: LSRCFILES is anything other than Makefile, $(CFILES)
+# $(CXXFILES), or $(HFILES) and is used to construct the manifest list
+# during the "dist" phase (packaging).
+
+CFLAGS += $(OPTIMIZER) $(DEBUG) -funsigned-char -Wall -Wno-parentheses \
+       $(LCFLAGS) -I$(TOPDIR)/include '-DVERSION="$(PKG_VERSION)"' \
+       -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
+
+LDFLAGS = $(LLDFLAGS)
+LDLIBS = $(LLDLIBS) $(MALLOCLIB)
+
+MAKEOPTS = --no-print-directory
+SRCFILES = Makefile $(HFILES) $(CFILES) $(LSRCFILES) $(LFILES) $(YFILES)
+DIRT = $(LDIRT) dep dep.bak $(OBJECTS) $(CMDTARGET) $(LIBTARGET) \
+       $(STATICLIBTARGET) *.[1-9].gz
+
+OBJECTS = $(ASFILES:.s=.o) \
+          $(CFILES:.c=.o) \
+          $(LFILES:.l=.o) \
+          $(YFILES:%.y=%.tab.o)
+
+MAKE   = @make@
+CC     = @cc@
+LD     = @ld@
+AWK    = @awk@
+SED    = @sed@
+INSTALL        = $(TOPDIR)/install-sh -o root -g root
+ECHO   = @echo@
+LN_S   = @LN_S@
+
+CCF    = $(CC) $(CFLAGS)
+MAKEF  = $(MAKE) $(MAKEOPTS)
+CXXF   = $(CXX) $(CXXFLAGS)
+LDF    = $(LD) $(LDFLAGS)
+MAKEDEPEND  = @makedepend@
+
+ZIP    = @zip@
+TAR    = @tar@
+RPM    = @rpm@
+RPM_VERSION = @rpm_version@
+
+HAVE_ZIPPED_MANPAGES = @have_zipped_manpages@
+
+SHELL = /bin/sh
+IMAGES_DIR = $(TOPDIR)/all-images
+DIST_DIR = $(TOPDIR)/dist
+
+SUBDIRS_MAKERULE = \
+       @for d in $(SUBDIRS) ""; do \
+           if test -d "$$d" -a ! -z "$$d"; then \
+               $(ECHO) === $$d ===; \
+               $(MAKEF) -C $$d $@ || exit $$?; \
+           fi; \
+       done
+
+MAN_MAKERULE = \
+    @for f in *.[12345678] ""; do \
+       if test ! -z "$$f"; then \
+           $(ZIP) --best -c < $$f > $$f.gz; \
+       fi; \
+    done
+
+INSTALL_MAN = \
+    @for d in $(MAN_PAGES); do \
+       first=true; \
+       for m in `$(AWK) '/^\.SH NAME/ {ok=1; next} ok {print; exit}' $$d \
+       | sed -e 's/,/ /g' -e 's/\\-.*//' -e 's/\\\f[0-9]//g' -e 's/  / /g;q'`; \
+       do \
+           [ -z "$$m" -o "$$m" = "\\" ] && continue; \
+           t=$(MAN_DEST)/$$m.$(MAN_SECTION); \
+           if $$first; then \
+               if $(HAVE_ZIPPED_MANPAGES); then \
+                   $(ZIP) --best -c $$d > $$d.gz; _sfx=.gz; \
+               fi; \
+               u=$$m.$(MAN_SECTION)$$_sfx; \
+               echo $(INSTALL) -m 644 $${d}$$_sfx $${t}$$_sfx; \
+               $(INSTALL) -m 644 $${d}$$_sfx $${t}$$_sfx; \
+           else \
+               echo $(INSTALL) -S $$u $${t}$$_sfx; \
+               $(INSTALL) -S $$u $${t}$$_sfx; \
+           fi; \
+           first=false; \
+       done; \
+    done
+
+DIST_MAKERULE = \
+       $(MAKEF) -C build dist
+
+SOURCE_MAKERULE = \
+       @test -z "$$DIR" && DIR="."; \
+       for f in $(SRCFILES) ""; do \
+           if test ! -z "$$f"; then $(ECHO) $$DIR/$$f; fi;\
+       done; \
+       for d in `echo $(SUBDIRS)` ; do \
+           if test -d "$$d" -a ! -z "$$d"; then \
+               $(MAKEF) DIR=$$DIR/$$d -C $$d $@ || exit $$?; \
+           fi; \
+       done
+
+endif
+
+#
+# For targets that should always be rebuilt,
+# define a target that is never up-to-date.
+# Targets needing this should depend on $(_FORCE)
+_FORCE = __force_build
diff --git a/include/buildrules b/include/buildrules
new file mode 100644 (file)
index 0000000..dab3fae
--- /dev/null
@@ -0,0 +1,77 @@
+#
+# Copyright (C) 1999 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 Fondation.
+# 
+# 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, any license provided herein,
+# whether implied or otherwise, is limited to this program in accordance with
+# the express provisions of the GNU General Public License.  Patent licenses,
+# if any, provided herein do not apply to combinations of this program with
+# other product or programs, or any other product whatsoever.  This program is
+# distributed without any warranty that the program is delivered free of the
+# rightful claim of any third person by way of infringement or the like.  See
+# the GNU General Public License for more details.
+# 
+# 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.
+# Common build rules for gmake
+#
+ifndef _BUILDRULES_INCLUDED_
+_BUILDRULES_INCLUDED_ = 1
+
+include $(TOPDIR)/include/builddefs
+
+#
+# Standard targets
+#
+ifdef CMDTARGET
+$(CMDTARGET) : $(SUBDIRS) $(OBJECTS)
+       $(CCF) -o $(CMDTARGET) $(LDFLAGS) $(OBJECTS) $(LDLIBS) 
+$(CMDTARGET).static : $(SUBDIRS) $(OBJECTS)
+       $(CCF) -static -o $(CMDTARGET).static $(LDFLAGS) $(OBJECTS) $(LDLIBS) 
+endif
+
+ifdef LIBTARGET
+$(LIBTARGET) : $(SUBDIRS) $(OBJECTS)
+       $(CC) $(LDFLAGS) -fPIC -shared -Wl,-soname,$(LIBTARGET) -o $(LIBTARGET) $(OBJECTS) $(LDLIBS)
+endif
+
+ifdef STATICLIBTARGET
+$(STATICLIBTARGET) : $(SUBDIRS) $(OBJECTS)
+       $(AR) crf $(STATICLIBTARGET) $?
+endif
+
+clean clobber : $(SUBDIRS)
+       rm -f $(DIRT)
+       $(SUBDIRS_MAKERULE)
+
+# Never blow away subdirs
+ifdef SUBDIRS
+.PRECIOUS: $(SUBDIRS)
+$(SUBDIRS):
+       $(SUBDIRS_MAKERULE)
+endif
+
+source :
+       $(SOURCE_MAKERULE)
+
+endif
+
+$(_FORCE):
+
+.PHONY : depend
+
+depend : $(CFILES) $(HFILES)
+       $(SUBDIRS_MAKERULE)
+       touch dep
+       $(MAKEDEPEND) -fdep -- $(CFLAGS) -- $(CFILES)
+
+# Include dep, but only if it exists
+ifeq ($(shell test -f dep && echo dep), dep)
+include dep
+endif