mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
xfstests updates - rework build to be like other xfs packages, revive some old fs test tools and reenable xfs extensions, move ltp code into a separate subdir to help keeping in sync with real ltp project (hopefully)
This commit is contained in:
@@ -85,7 +85,7 @@ _do_test()
|
||||
echo "fsstress.$_n : $_param"
|
||||
echo "-----------------------------------------------"
|
||||
# -v >$tmp.out
|
||||
if ! $here/src/fsstress $_param $FSSTRESS_AVOID -n $_count -d $out >/dev/null 2>&1
|
||||
if ! $here/ltp/fsstress $_param $FSSTRESS_AVOID -n $_count -d $out >/dev/null 2>&1
|
||||
then
|
||||
echo " fsstress (count=$_count) returned $? - see $seq.full"
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# Test out a level 0 dump/restore to a tape of a subdir
|
||||
# i.e. it is testing out drive_scsitape.c
|
||||
#
|
||||
# Use src/fsstress to create a directory structure with a mix of files
|
||||
# Use fsstress to create a directory structure with a mix of files
|
||||
#
|
||||
#-----------------------------------------------------------------------
|
||||
# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
QA output created by 022
|
||||
Put scsi tape driver into variable block size mode
|
||||
Creating directory system to dump using src/fsstress.
|
||||
Creating directory system to dump using fsstress.
|
||||
|
||||
-----------------------------------------------
|
||||
fsstress : -f link=10 -f creat=10 -f mkdir=10 -f truncate=5 -f symlink=10
|
||||
|
||||
@@ -106,7 +106,7 @@ mount -t xfs -o loop $SCRATCH_MNT/test.xfs $SCRATCH_MNT/test >> $seq.full 2>&1 \
|
||||
|| _fail "!!! failed to loop mount xfs"
|
||||
|
||||
_log "stress"
|
||||
src/fsstress -d $SCRATCH_MNT/test -n 1000 $FSSTRESS_AVOID >> $seq.full 2>&1 \
|
||||
ltp/fsstress -d $SCRATCH_MNT/test -n 1000 $FSSTRESS_AVOID >> $seq.full 2>&1 \
|
||||
|| _fail "!!! stress failed"
|
||||
|
||||
_log "clean"
|
||||
@@ -126,7 +126,7 @@ mount -t ext2 -o loop $SCRATCH_MNT/test/test.ext2 $SCRATCH_MNT/test2 >> $seq.ful
|
||||
|| _fail "!!! failed to loop mount xfs"
|
||||
|
||||
_log "stress ext2 on xfs via loop"
|
||||
src/fsstress -d $SCRATCH_MNT/test2 -n 1000 $FSSTRESS_AVOID >> $seq.full 2>&1 \
|
||||
ltp/fsstress -d $SCRATCH_MNT/test2 -n 1000 $FSSTRESS_AVOID >> $seq.full 2>&1 \
|
||||
|| _fail "!!! stress ext2 failed"
|
||||
|
||||
_log "clean"
|
||||
|
||||
@@ -98,8 +98,7 @@ umount $SCRATCH_DEV
|
||||
#
|
||||
|
||||
_wipe_fs
|
||||
mkdir -p $dump_dir ||\
|
||||
_error "cannot mkdir \"$dump_dir\""
|
||||
mkdir -p $dump_dir || _fail "cannot mkdir \"$dump_dir\""
|
||||
cd $dump_dir
|
||||
|
||||
echo "Do the incremental dumps"
|
||||
|
||||
@@ -59,9 +59,8 @@ _acl_requirements
|
||||
_require_scratch
|
||||
|
||||
# set up fs for 1K inodes
|
||||
export MKFS_OPTIONS="-i size=1024"
|
||||
_scratch_mkfs_xfs >>$here/$seq.full || _error "mkfs failed"
|
||||
_scratch_mount >>$here/$seq.full || _error "mount failed"
|
||||
_scratch_mkfs_xfs -i size=1024 >>$here/$seq.full || _fail "mkfs failed"
|
||||
_scratch_mount >>$here/$seq.full || _fail "mount failed"
|
||||
cd $SCRATCH_MNT
|
||||
|
||||
# xfs_growfs -n $SCRATCH_MNT
|
||||
|
||||
@@ -181,7 +181,7 @@ then
|
||||
# -n 10 makes this take about 10 seconds,
|
||||
# This allows the loop to end shortly after $tmp/running
|
||||
# is deleted
|
||||
$here/src/fsstress -d "$STRESS_DIR" -n 10 > /dev/null 2>&1
|
||||
$here/ltp/fsstress -d "$STRESS_DIR" -n 10 > /dev/null 2>&1
|
||||
sync
|
||||
done
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
|
||||
|
||||
# real QA test starts here
|
||||
|
||||
$here/src/fsstress \
|
||||
$here/ltp/fsstress \
|
||||
-d $TEST_DIR/fsstress \
|
||||
-f allocsp=0 \
|
||||
-f freesp=0 \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved.
|
||||
# Copyright (c) 2000-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
|
||||
@@ -39,11 +39,11 @@ endif
|
||||
|
||||
TESTS = $(shell sed -n -e '/^[0-9][0-9][0-9]*/s/ .*//p' group)
|
||||
CONFIGURE = configure include/builddefs
|
||||
LSRCFILES = configure configure.in
|
||||
LDIRT = *.bad *.new *.core *.full *.raw core a.out *.bak \
|
||||
check.log check.time config.* conftest*
|
||||
LSRCFILES = configure configure.in aclocal.m4 README VERSION
|
||||
LDIRT = config.log .dep config.status config.cache confdefs.h conftest* \
|
||||
check.log check.time
|
||||
|
||||
SUBDIRS = include src
|
||||
SUBDIRS = include lib ltp src m4
|
||||
|
||||
default: $(CONFIGURE) new remake check $(TESTS)
|
||||
ifeq ($(HAVE_BUILDDEFS), no)
|
||||
@@ -58,14 +58,13 @@ else
|
||||
clean: # if configure hasn't run, nothing to clean
|
||||
endif
|
||||
|
||||
$(CONFIGURE): configure.in include/builddefs.in
|
||||
rm -f config.cache
|
||||
$(CONFIGURE):
|
||||
autoconf
|
||||
./configure
|
||||
|
||||
install install-dev: default
|
||||
$(SUBDIRS_MAKERULE)
|
||||
aclocal.m4::
|
||||
aclocal --acdir=$(TOPDIR)/m4 --output=$@
|
||||
|
||||
realclean distclean: clean
|
||||
rm -f $(LDIRT) $(CONFIGURE)
|
||||
rm -rf autom4te.cache
|
||||
rm -rf autom4te.cache Logs
|
||||
|
||||
+2
-1
@@ -76,7 +76,7 @@ export MOUNT_OPTIONS=${MOUNT_OPTIONS:=-ologbufs=2}
|
||||
export CHECK_OPTIONS=${CHECK_OPTIONS:="-g auto"}
|
||||
export BENCH_PASSES=${BENCH_PASSES:=5}
|
||||
|
||||
export DEBUG=${DEBUG:=-DEXPERIMENTAL_LARGE_SECTORS}
|
||||
#export DEBUG=${DEBUG:=...} # arbitrary CFLAGS really.
|
||||
export MALLOCLIB=${MALLOCLIB:=/usr/lib/libefence.a}
|
||||
export LOCAL_CONFIGURE_OPTIONS=${LOCAL_CONFIGURE_OPTIONS:=--enable-readline=yes}
|
||||
|
||||
@@ -106,6 +106,7 @@ in
|
||||
MODULAR=0
|
||||
EMAIL="nathans@larry"
|
||||
TEST_DEV=/dev/sda5
|
||||
TEST_LOGDEV=/dev/sda9
|
||||
TEST_DIR=/xfsqa1
|
||||
SCRATCH_DEV=/dev/sda6
|
||||
SCRATCH_LOGDEV=/dev/sda7
|
||||
|
||||
+16
-29
@@ -228,20 +228,12 @@ _require_tape()
|
||||
_set_variable
|
||||
}
|
||||
|
||||
_error()
|
||||
{
|
||||
echo "Error: $*" | tee -a $here/$seq.full
|
||||
echo "(see $here/$seq.full for details)"
|
||||
status=1
|
||||
exit
|
||||
}
|
||||
|
||||
_wipe_fs()
|
||||
{
|
||||
_require_scratch
|
||||
|
||||
_scratch_mkfs_xfs >>$here/$seq.full || _error "mkfs failed"
|
||||
_scratch_mount >>$here/$seq.full || _error "mount failed"
|
||||
_scratch_mkfs_xfs >>$here/$seq.full || _fail "mkfs failed"
|
||||
_scratch_mount >>$here/$seq.full || _fail "mount failed"
|
||||
}
|
||||
|
||||
#
|
||||
@@ -286,20 +278,20 @@ _cleanup()
|
||||
_stable_fs()
|
||||
{
|
||||
_saveddir=`pwd`; cd /
|
||||
umount $SCRATCH_MNT >>$here/$seq.full || _error "unmount failed"
|
||||
_scratch_mount >>$here/$seq.full || _error "mount failed"
|
||||
umount $SCRATCH_MNT >>$here/$seq.full || _fail "unmount failed"
|
||||
_scratch_mount >>$here/$seq.full || _fail "mount failed"
|
||||
cd $_saveddir
|
||||
}
|
||||
|
||||
#
|
||||
# Run src/fsstress to create a mixture of
|
||||
# Run fsstress to create a mixture of
|
||||
# files,dirs,links,symlinks
|
||||
#
|
||||
# Pinched from test 013.
|
||||
#
|
||||
_create_dumpdir_stress()
|
||||
{
|
||||
echo "Creating directory system to dump using src/fsstress."
|
||||
echo "Creating directory system to dump using fsstress."
|
||||
|
||||
_wipe_fs
|
||||
|
||||
@@ -315,7 +307,7 @@ _create_dumpdir_stress()
|
||||
echo "-----------------------------------------------"
|
||||
echo "fsstress : $_param"
|
||||
echo "-----------------------------------------------"
|
||||
if ! $here/src/fsstress $_param -s 1 $FSSTRESS_AVOID -n $_count -d $dump_dir >$tmp.out 2>&1
|
||||
if ! $here/ltp/fsstress $_param -s 1 $FSSTRESS_AVOID -n $_count -d $dump_dir >$tmp.out 2>&1
|
||||
then
|
||||
echo " fsstress (count=$_count) returned $? - see $here/$seq.full"
|
||||
|
||||
@@ -452,8 +444,7 @@ _do_create_dumpdir_fill()
|
||||
{
|
||||
echo "Creating directory system to dump using src/fill."
|
||||
|
||||
mkdir -p $dump_dir ||\
|
||||
_error "cannot mkdir \"$dump_dir\""
|
||||
mkdir -p $dump_dir || _fail "cannot mkdir \"$dump_dir\""
|
||||
cd $dump_dir
|
||||
|
||||
$verbose && echo -n "Setup "
|
||||
@@ -524,8 +515,7 @@ _do_create_dumpdir_fill()
|
||||
_create_dumpdir_largefile()
|
||||
{
|
||||
_wipe_fs
|
||||
mkdir -p $dump_dir ||\
|
||||
_error "cannot mkdir \"$dump_dir\""
|
||||
mkdir -p $dump_dir || _fail "cannot mkdir \"$dump_dir\""
|
||||
_largesize=4294967297
|
||||
_largefile=$dump_dir/largefile
|
||||
echo "dd a largefile at offset $_largesize"
|
||||
@@ -598,8 +588,7 @@ _do_create_dump_symlinks()
|
||||
{
|
||||
echo "Creating directory system of symlinks to dump."
|
||||
|
||||
mkdir -p $dump_dir ||\
|
||||
_error "cannot mkdir \"$dump_dir\""
|
||||
mkdir -p $dump_dir || _fail "cannot mkdir \"$dump_dir\""
|
||||
cd $dump_dir
|
||||
|
||||
$verbose && echo -n "Setup "
|
||||
@@ -721,8 +710,7 @@ _create_dumpdir_hardlinks()
|
||||
_wipe_fs
|
||||
echo "Creating directory system of hardlinks to incrementally dump."
|
||||
|
||||
mkdir -p $dump_dir ||\
|
||||
_error "cannot mkdir \"$dump_dir\""
|
||||
mkdir -p $dump_dir || _fail "cannot mkdir \"$dump_dir\""
|
||||
cd $dump_dir
|
||||
|
||||
_create_hardset $_numsets
|
||||
@@ -838,12 +826,12 @@ _parse_args()
|
||||
case $1
|
||||
in
|
||||
-f)
|
||||
[ -z "$2" ] && _error "missing argument for -f"
|
||||
[ -z "$2" ] && _fail "missing argument for -f"
|
||||
dumptape=$2
|
||||
shift
|
||||
;;
|
||||
-L)
|
||||
[ -z "$2" ] && _error "missing argument for -L"
|
||||
[ -z "$2" ] && _fail "missing argument for -L"
|
||||
session_label=$2
|
||||
shift
|
||||
;;
|
||||
@@ -864,12 +852,12 @@ _parse_args()
|
||||
do_quota_check=false
|
||||
;;
|
||||
-l)
|
||||
[ -z "$2" ] && _error "missing argument for -l"
|
||||
[ -z "$2" ] && _fail "missing argument for -l"
|
||||
dump_args="$dump_args -l$2"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
_error "invalid argument to common.dump function: $1"
|
||||
_fail "invalid argument to common.dump function: $1"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
@@ -958,8 +946,7 @@ _do_dump_multi_file()
|
||||
_prepare_restore_dir()
|
||||
{
|
||||
rm -rf $restore_dir
|
||||
mkdir $restore_dir ||\
|
||||
_error "failed to mkdir $restore_dir"
|
||||
mkdir $restore_dir || _fail "failed to mkdir $restore_dir"
|
||||
}
|
||||
|
||||
|
||||
|
||||
+17
-256
@@ -1,261 +1,22 @@
|
||||
dnl unpacking check - this file must exist
|
||||
AC_INIT(src/fsstress.c)
|
||||
pkg_name="xfstests"
|
||||
AC_SUBST(pkg_name)
|
||||
AC_INIT(src/xfsctl.c)
|
||||
AC_PACKAGE_GLOBALS(xfstests)
|
||||
AC_PACKAGE_UTILITIES(xfstests)
|
||||
|
||||
#
|
||||
# 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
|
||||
#
|
||||
AC_PACKAGE_NEED_UUID_H
|
||||
AC_PACKAGE_NEED_UUIDCOMPARE
|
||||
|
||||
DEBUG=${DEBUG:-'-DDEBUG'} # -DNDEBUG
|
||||
OPTIMIZER=${OPTIMIZER:-'-g'} # (-O1 enforced default)
|
||||
MALLOCLIB=${MALLOCLIB:-''} # /usr/lib/libefence.a
|
||||
AC_PACKAGE_NEED_XFS_LIBXFS_H
|
||||
AC_PACKAGE_NEED_XFSCTL_MACRO
|
||||
AC_PACKAGE_NEED_LIBXFSINIT_LIBXFS
|
||||
AC_PACKAGE_NEED_XFS_HANDLE_H
|
||||
AC_PACKAGE_NEED_ATTRLIST_LIBHANDLE
|
||||
|
||||
dnl Debug build?
|
||||
debug_build="$DEBUG"
|
||||
AC_SUBST(debug_build)
|
||||
AC_PACKAGE_NEED_ATTR_XATTR_H
|
||||
AC_PACKAGE_NEED_GETXATTR_LIBATTR
|
||||
AC_PACKAGE_NEED_SYS_ACL_H
|
||||
AC_PACKAGE_NEED_ACL_LIBACL_H
|
||||
AC_PACKAGE_NEED_ACLINIT_LIBACL
|
||||
|
||||
dnl Optimization options?
|
||||
opt_build="$OPTIMIZER"
|
||||
AC_SUBST(opt_build)
|
||||
AC_PACKAGE_WANT_LIBGDBM
|
||||
|
||||
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`
|
||||
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.'
|
||||
echo 'Alternatively, run "make install-dev" from the xfsprogs source.'
|
||||
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.'
|
||||
echo 'Alternatively, run "make install-dev" from the xfsprogs source.'
|
||||
exit 1
|
||||
])
|
||||
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.'
|
||||
echo 'Alternatively, run "make install-dev" from the xfsprogs source.'
|
||||
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.'
|
||||
echo 'Alternatively, run "make install-dev" from the xfsprogs source.'
|
||||
exit 1
|
||||
])
|
||||
libxfs="-lxfs"
|
||||
libhdl="-lhandle"
|
||||
AC_SUBST(libxfs)
|
||||
AC_SUBST(libhdl)
|
||||
|
||||
dnl Checks for Extended Attributes header and library.
|
||||
AC_CHECK_HEADER(attr/xattr.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.'
|
||||
echo 'Alternatively, run "make install-dev" from the attr source.'
|
||||
exit 1
|
||||
])
|
||||
AC_CHECK_LIB(attr, getxattr,, [
|
||||
echo
|
||||
echo 'FATAL ERROR: could not find a valid Extended Attributes library.'
|
||||
echo 'Install either the libattr (rpm) or the libattr1 (deb) package.'
|
||||
echo 'Alternatively, run "make install-lib" from the attr source.'
|
||||
exit 1
|
||||
])
|
||||
libattr="-lattr"
|
||||
AC_SUBST(libattr)
|
||||
|
||||
dnl Checks for Access Control List headers and library.
|
||||
AC_CHECK_HEADER(sys/acl.h,, [
|
||||
echo
|
||||
echo 'FATAL ERROR: could not find a valid Access Control List headers.'
|
||||
echo 'Install either the acl-devel (rpm) or the acl (deb) package.'
|
||||
echo 'Alternatively, run "make install-dev" from the acl source.'
|
||||
exit 1
|
||||
])
|
||||
AC_CHECK_HEADER(acl/libacl.h,, [
|
||||
echo
|
||||
echo 'FATAL ERROR: could not find a valid Access Control List headers.'
|
||||
echo 'Install either the acl-devel (rpm) or the acl (deb) package.'
|
||||
echo 'Alternatively, run "make install-dev" from the acl source.'
|
||||
exit 1
|
||||
])
|
||||
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"
|
||||
AC_SUBST(libacl)
|
||||
|
||||
dnl Checks for GNU database manager header and library.
|
||||
libgdbm=""
|
||||
have_db=true
|
||||
AC_CHECK_HEADER(gdbm/ndbm.h,, [ 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)
|
||||
|
||||
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)
|
||||
pkg_man_dir=${prefix}/share/man
|
||||
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 \
|
||||
)
|
||||
AC_OUTPUT(include/builddefs)
|
||||
|
||||
@@ -130,4 +130,4 @@ ioctl nathans@sgi.com
|
||||
070 attr auto
|
||||
071 rw
|
||||
072 rw
|
||||
073 copy
|
||||
#073 copy
|
||||
|
||||
+3
-1
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved.
|
||||
# Copyright (c) 2000-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
|
||||
@@ -33,6 +33,8 @@
|
||||
TOPDIR = ..
|
||||
include $(TOPDIR)/include/builddefs
|
||||
|
||||
HFILES = dataascii.h databin.h pattern.h \
|
||||
random_range.h string_to_tokens.h tlibio.h write_log.h
|
||||
LSRCFILES = builddefs.in buildrules
|
||||
|
||||
default install install-dev:
|
||||
|
||||
+28
-100
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved.
|
||||
# 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
|
||||
@@ -45,124 +45,52 @@ LIBATTR = @libattr@
|
||||
LIBGDBM = @libgdbm@
|
||||
LIBUUID = @libuuid@
|
||||
LIBHANDLE = @libhdl@
|
||||
HAVE_DB = @have_db@
|
||||
CPPFLAGS = -I/usr/include/xfs -I/usr/include/attr
|
||||
LIBTEST = $(TOPDIR)/lib/libtest.la
|
||||
|
||||
BUILDRULES = $(TOPDIR)/include/buildrules
|
||||
|
||||
# General package information
|
||||
PKG_NAME = @pkg_name@
|
||||
PKG_USER = @pkg_user@
|
||||
PKG_GROUP = @pkg_group@
|
||||
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@
|
||||
PKG_PLATFORM = @pkg_platform@
|
||||
PKG_DISTRIBUTION= @pkg_distribution@
|
||||
|
||||
# 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 += -O1 $(OPTIMIZER) $(DEBUG) -funsigned-char -Wall $(LCFLAGS) \
|
||||
-I$(TOPDIR)/include '-DVERSION="$(PKG_VERSION)"' -D_GNU_SOURCE \
|
||||
-D_FILE_OFFSET_BITS=64
|
||||
|
||||
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
|
||||
TAR = @tar@
|
||||
ZIP = @zip@
|
||||
MAKE = @make@
|
||||
ECHO = @echo@
|
||||
SORT = @sort@
|
||||
LN_S = @LN_S@
|
||||
|
||||
CCF = $(CC) $(CFLAGS)
|
||||
MAKEF = $(MAKE) $(MAKEOPTS)
|
||||
CXXF = $(CXX) $(CXXFLAGS)
|
||||
LDF = $(LD) $(LDFLAGS)
|
||||
LIBTOOL = @LIBTOOL@
|
||||
MAKEDEPEND = @makedepend@
|
||||
|
||||
ZIP = @zip@
|
||||
TAR = @tar@
|
||||
MSGFMT = @msgfmt@
|
||||
MSGMERGE = @msgmerge@
|
||||
|
||||
RPM = @rpm@
|
||||
RPMBUILD = @rpmbuild@
|
||||
RPM_VERSION = @rpm_version@
|
||||
|
||||
HAVE_ZIPPED_MANPAGES = @have_zipped_manpages@
|
||||
ENABLE_SHARED = @enable_shared@
|
||||
ENABLE_DBM = @enable_dbm@
|
||||
|
||||
SHELL = /bin/sh
|
||||
IMAGES_DIR = $(TOPDIR)/all-images
|
||||
DIST_DIR = $(TOPDIR)/dist
|
||||
ifeq ($(PKG_PLATFORM),linux)
|
||||
PCFLAGS = -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
|
||||
endif
|
||||
ifeq ($(PKG_PLATFORM),darwin)
|
||||
PCFLAGS = -traditional-cpp
|
||||
endif
|
||||
|
||||
SUBDIRS_MAKERULE = \
|
||||
@for d in $(SUBDIRS) ""; do \
|
||||
if test -d "$$d" -a ! -z "$$d"; then \
|
||||
$(ECHO) === $$d ===; \
|
||||
$(MAKEF) -C $$d $@ || exit $$?; \
|
||||
fi; \
|
||||
done
|
||||
CFLAGS += -O1 $(OPTIMIZER) $(DEBUG) -funsigned-char -Wall -I$(TOPDIR)/include \
|
||||
-DVERSION=\"$(PKG_VERSION)\"
|
||||
|
||||
MAN_MAKERULE = \
|
||||
@for f in *.[12345678] ""; do \
|
||||
if test ! -z "$$f"; then \
|
||||
$(ZIP) --best -c < $$f > $$f.gz; \
|
||||
fi; \
|
||||
done
|
||||
# Global, Platform, Local CFLAGS
|
||||
CFLAGS += $(GCFLAGS) $(PCFLAGS) $(LCFLAGS)
|
||||
|
||||
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
|
||||
include $(TOPDIR)/include/buildmacros
|
||||
|
||||
endif
|
||||
|
||||
|
||||
@@ -0,0 +1,181 @@
|
||||
#
|
||||
# Copyright (c) 2002-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/
|
||||
#
|
||||
|
||||
BUILDRULES = $(TOPDIR)/include/buildrules
|
||||
|
||||
# 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).
|
||||
|
||||
LDFLAGS = $(LLDFLAGS)
|
||||
LDLIBS = $(LLDLIBS) $(PLDLIBS) $(MALLOCLIB)
|
||||
|
||||
MAKEOPTS = --no-print-directory
|
||||
SRCFILES = Makefile $(HFILES) $(CFILES) $(LSRCFILES) $(LFILES) $(YFILES)
|
||||
|
||||
DEPDIRT = dep dep.bak
|
||||
MANDIRT = *.[1-9].gz
|
||||
PODIRT = *.tmpo *.mo
|
||||
CDIRT = $(OBJECTS) $(LTOBJECTS) $(LTCOMMAND) $(LTLIBRARY)
|
||||
DIRT = $(LDIRT) $(DEPDIRT) $(MANDIRT) $(PODIRT) $(CDIRT)
|
||||
|
||||
OBJECTS = $(ASFILES:.s=.o) \
|
||||
$(CFILES:.c=.o) \
|
||||
$(LFILES:.l=.o) \
|
||||
$(YFILES:%.y=%.tab.o)
|
||||
|
||||
INSTALL = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
|
||||
|
||||
SHELL = /bin/sh
|
||||
IMAGES_DIR = $(TOPDIR)/all-images
|
||||
DIST_DIR = $(TOPDIR)/dist
|
||||
|
||||
CCF = $(CC) $(CFLAGS) $(CPPFLAGS)
|
||||
MAKEF = $(MAKE) $(MAKEOPTS)
|
||||
CXXF = $(CXX) $(CXXFLAGS)
|
||||
|
||||
# For libtool.
|
||||
LIBNAME = $(basename $(LTLIBRARY))
|
||||
LTOBJECTS = $(OBJECTS:.o=.lo)
|
||||
LTVERSION = $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
|
||||
|
||||
LTLINK = $(LIBTOOL) --mode=link $(CC)
|
||||
LTEXEC = $(LIBTOOL) --mode=execute
|
||||
LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CCF) -D_REENTRANT -fno-strict-aliasing
|
||||
|
||||
ifeq ($(ENABLE_SHARED),yes)
|
||||
LTLDFLAGS += -rpath $(PKG_LIB_DIR)
|
||||
LTLDFLAGS += -version-info $(LTVERSION)
|
||||
endif
|
||||
|
||||
ifeq ($(ENABLE_SHARED),yes)
|
||||
INSTALL_LTLIB = \
|
||||
cd $(TOPDIR)/$(LIBNAME)/.libs; \
|
||||
../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
|
||||
../$(INSTALL) -m 644 -T so_dot_version $(LIBNAME).lai $(PKG_LIB_DIR); \
|
||||
test "$(PKG_DISTRIBUTION)" = debian || \
|
||||
../$(INSTALL) -T so_dot_current $(LIBNAME).lai $(PKG_LIB_DIR)
|
||||
endif
|
||||
|
||||
# Libtool thinks the static and shared libs should be in the same dir, so
|
||||
# make the static lib appear in the place we chose as rpath (using the two
|
||||
# symlinks below).
|
||||
# Other things want the shared libs to appear in /usr/lib, else they'll
|
||||
# link with the static libs there. So, another symlink to get the .so into
|
||||
# /usr/lib.
|
||||
ifeq ($(ENABLE_SHARED),yes)
|
||||
INSTALL_LTLIB_DEV = \
|
||||
cd $(TOPDIR)/$(LIBNAME)/.libs; \
|
||||
../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \
|
||||
../$(INSTALL) -m 644 -T old_lib $(LIBNAME).lai $(PKG_DEVLIB_DIR); \
|
||||
../$(INSTALL) -m 644 $(LIBNAME).lai $(PKG_DEVLIB_DIR)/$(LIBNAME).la ; \
|
||||
../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
|
||||
../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_LIB_DIR); \
|
||||
../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
|
||||
../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
|
||||
../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).so $(PKG_DEVLIB_DIR)/$(LIBNAME).so
|
||||
else
|
||||
INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC)
|
||||
endif
|
||||
|
||||
INSTALL_LTLIB_STATIC = \
|
||||
cd $(TOPDIR)/$(LIBNAME)/.libs; \
|
||||
../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \
|
||||
../$(INSTALL) -m 644 -T old_lib $(LIBNAME).lai $(PKG_DEVLIB_DIR)
|
||||
|
||||
INSTALL_MAN = \
|
||||
@for d in $(MAN_PAGES); do \
|
||||
first=true; \
|
||||
for m in `$(AWK) \
|
||||
'/^\.S[h|H] NAME/ {ok=1; next} ok {print; exit}' $$d \
|
||||
| $(SED) \
|
||||
-e 's/^\.Nm //' -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) -9 -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
|
||||
|
||||
ifeq ($(ENABLE_GETTEXT),yes)
|
||||
INSTALL_LINGUAS = \
|
||||
@for l in $(LINGUAS) ""; do \
|
||||
if test -f "$$l.mo" ; then \
|
||||
ldir=$(PKG_LOCALE_DIR)/$$l/LC_MESSAGES; \
|
||||
$(INSTALL) -m 755 -d $$ldir; \
|
||||
$(INSTALL) -m 644 $$l.mo $$ldir/$(PKG_NAME).mo; \
|
||||
fi; \
|
||||
done
|
||||
endif
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
+44
-26
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1999, 2001 Silicon Graphics, Inc. All Rights Reserved.
|
||||
# Copyright (c) 1999, 2001-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
|
||||
@@ -26,28 +26,9 @@ _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)
|
||||
@rm -fr .libs
|
||||
$(SUBDIRS_MAKERULE)
|
||||
|
||||
# Never blow away subdirs
|
||||
@@ -57,10 +38,41 @@ $(SUBDIRS):
|
||||
$(SUBDIRS_MAKERULE)
|
||||
endif
|
||||
|
||||
#
|
||||
# Standard targets
|
||||
#
|
||||
|
||||
ifdef LTCOMMAND
|
||||
$(LTCOMMAND) : $(SUBDIRS) $(OBJECTS) $(LTDEPENDENCIES)
|
||||
$(LTLINK) -o $@ $(LDFLAGS) $(OBJECTS) $(LDLIBS)
|
||||
endif
|
||||
|
||||
ifdef LTLIBRARY
|
||||
$(LTLIBRARY) : $(SUBDIRS) $(LTOBJECTS)
|
||||
$(LTLINK) $(LTLDFLAGS) -o $(LTLIBRARY) $(LTOBJECTS) $(LTLIBS)
|
||||
|
||||
%.lo: %.c
|
||||
$(LTCOMPILE) -c $<
|
||||
endif
|
||||
|
||||
ifdef LINGUAS
|
||||
%.pot: $(XGETTEXTFILES)
|
||||
xgettext --omit-header --language=C --keyword=_ -o $@ $(XGETTEXTFILES)
|
||||
|
||||
%.po: $(PKG_NAME).pot
|
||||
$(MSGMERGE) -o $@.tmpo $@ $<
|
||||
@if ! diff $@.tmpo $@ >/dev/null; then \
|
||||
echo "$@ is out of date, see $@.tmpo"; \
|
||||
fi
|
||||
|
||||
%.mo: %.po
|
||||
$(MSGFMT) -o $@ $<
|
||||
endif
|
||||
|
||||
source :
|
||||
$(SOURCE_MAKERULE)
|
||||
|
||||
endif
|
||||
endif # _BUILDRULES_INCLUDED_
|
||||
|
||||
$(_FORCE):
|
||||
|
||||
@@ -68,10 +80,16 @@ $(_FORCE):
|
||||
|
||||
depend : $(CFILES) $(HFILES)
|
||||
$(SUBDIRS_MAKERULE)
|
||||
touch dep
|
||||
$(MAKEDEPEND) -fdep -- $(CFLAGS) -- $(CFILES)
|
||||
touch .dep
|
||||
$(MAKEDEPEND) -f - -- $(CFLAGS) -- $(CFILES) | \
|
||||
$(SED) -e 's,`pwd`,$(TOPDIR),g' \
|
||||
-e 's, */[^ ]*,,g' \
|
||||
-e '/^[^ ]*: *$$/d' \
|
||||
-e '/^#.*/d' -e '/^ *$$/d' \
|
||||
> .dep
|
||||
test -s .dep || rm -f .dep
|
||||
|
||||
# Include dep, but only if it exists
|
||||
ifeq ($(shell test -f dep && echo dep), dep)
|
||||
include dep
|
||||
ifeq ($(shell test -f .dep && echo .dep), .dep)
|
||||
include .dep
|
||||
endif
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* 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/NoticeExplan/
|
||||
*/
|
||||
#ifndef _DATAASCII_H_
|
||||
#define _DATAASCII_H_
|
||||
|
||||
/***********************************************************************
|
||||
* int dataasciigen(listofchars, buffer, size, offset)
|
||||
*
|
||||
* This function fills buffer with ascii characters.
|
||||
* The ascii characters are obtained from listofchars or the CHARS array
|
||||
* if listofchars is NULL.
|
||||
* Each char is selected by an index. The index is the remainder
|
||||
* of count divided by the array size.
|
||||
* This method allows more than one process to write to a location
|
||||
* in a file without corrupting it for another process' point of view.
|
||||
*
|
||||
* The return value will be the number of character written in buffer
|
||||
* (size).
|
||||
*
|
||||
***********************************************************************/
|
||||
int dataasciigen(char *, char *, int, int);
|
||||
|
||||
/***********************************************************************
|
||||
* int dataasciichk(listofchars, buffer, size, count, errmsg)
|
||||
*
|
||||
* This function checks the contents of a buffer produced by
|
||||
* dataasciigen.
|
||||
*
|
||||
* return values:
|
||||
* >= 0 : error at character count
|
||||
* < 0 : no error
|
||||
***********************************************************************/
|
||||
|
||||
int dataasciichk(char *, char *, int, int, char**);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,44 @@
|
||||
#ifndef _DATABIN_H_
|
||||
#define _DATABIN_H_
|
||||
|
||||
/*******************************************************************************
|
||||
* NAME
|
||||
* databingen - fill a buffer with a data pattern
|
||||
*
|
||||
* SYNOPSIS
|
||||
* (void) databingen(mode, buffer, bsize, offset)
|
||||
* int mode;
|
||||
* char *buffer;
|
||||
* int bsize;
|
||||
* int offset;
|
||||
*
|
||||
* DESCRIPTION
|
||||
* datagen fills the buffer pointed to by 'buffer' with 'bsize' bytes
|
||||
* of data of the form indicated by 'mode'.
|
||||
* All modes (expect r -random) are file offset based.
|
||||
* This allows more than process to do writing to the file without
|
||||
* corrupting it if the same modes were used.
|
||||
* They data modes to choose from, these are:
|
||||
*
|
||||
* 'a' - writes an alternating bit pattern (i.e. 0x5555555...)
|
||||
*
|
||||
* 'c' - writes a checkerboard pattern (i.e. 0xff00ff00ff00...)
|
||||
*
|
||||
* 'C' - writes counting pattern (i.e. 0 - 07, 0 - 07, ...);
|
||||
*
|
||||
* 'o' - writes all bits set (i.e. 0xffffffffffffff...)
|
||||
*
|
||||
* 'z' - writes all bits cleared (i.e. 0x000000000...);
|
||||
*
|
||||
* 'r' - writes random integers
|
||||
*
|
||||
* RETURN VALUE
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
|
||||
void databingen( int mode, unsigned char *buffer, int bsize, int offset );
|
||||
|
||||
void databinchedk( int mode, unsigned char *buffer, int bsize, int offset, char **errmsg);
|
||||
|
||||
#endif
|
||||
@@ -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/NoticeExplan/
|
||||
*/
|
||||
#ifndef _FILE_LOCK_H_
|
||||
#define _FILE_LOCK_H_
|
||||
|
||||
extern char Fl_syscall_str[128];
|
||||
|
||||
int file_lock( int , int, char ** );
|
||||
int record_lock( int , int , int , int , char ** );
|
||||
|
||||
#endif /* _FILE_LOCK_H_ */
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user