@@ -200,8 +200,6 @@ else
AC_SUBST([WITH_REALTIME_TESTSUITE],["no"])
fi
-AC_CONFIG_SUBDIRS([utils/ffsb-6.0-rc2])
-
AC_CONFIG_COMMANDS([syscalls.h], [cd ${ac_top_srcdir}/include/lapi/syscalls; ./regen.sh])
# custom functions
deleted file mode 100644
@@ -1,4 +0,0 @@
-ext4-nsec-timestamps ext4_nsec_timestamps_test.sh
-ext4-uninit-groups ext4_uninit_groups_test.sh
-ext4-persist-prealloc ext4_persist_prealloc_test.sh
-ext4-subdir-limit ext4_subdir_limit_test.sh
deleted file mode 100644
@@ -1,4 +0,0 @@
-/ext4-inode-version/ext4_test_inode_version
-/ext4-nsec-timestamps/ext4_file_time
-/ext4-subdir-limit/create_long_dirs
-/ext4-subdir-limit/create_short_dirs
deleted file mode 100644
@@ -1,27 +0,0 @@
-#
-# kernel/fs/ext4-new-features testcases Makefile.
-#
-# Copyright (C) 2009, Cisco Systems Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-top_srcdir ?= ../../../..
-
-include $(top_srcdir)/include/mk/env_pre.mk
-
-INSTALL_TARGETS += ext4_funcs.sh
-
-include $(top_srcdir)/include/mk/generic_trunk_target.mk
deleted file mode 100644
@@ -1,127 +0,0 @@
-TEST SUITE:
-
-The directory ext4-new-features contains the tests related to the ext4
-filesystem's new features.
-
-Ext4 is an advanced level of the ext3 filesystem which incorporates scalability
-and reliability enhancements for supporting large filesystems(64 bit) in keeping
-with increasing disk capacities and state-of-the-art feature requirements. More
-extensive information of ext4 can be found at the ext4 wiki site at the URL:
-http://ext4.wiki.kernel.org
-
-There are total 117 testcases for ext4 new features test that have been added.
-Now, these testcases can test multi-block alloc/delayed alloc, inode version
-field on disk, journal checksumming, nanosec timestamps, online defrag, persist
-prealloc, subdirectory limit and uninit groups of ext4.
-The detail information of ext4 new features can be found at the URL:
-http://ext4.wiki.kernel.org/index.php/New_ext4_features
-
-
-TESTS AIM:
-
-The aim of the tests is to test ext4 new features.
-
-
-TEST STEPS:
-# cd LTPROOT/testcases/kernel/fs/ext4-new-features
-# make
-# make install
-# cd LTPROOT
-# ./runltp -f fs_ext4 -z 'big unmounted block device partition'
-
-
-NOTE:
-
-1. This test can be run by root only.
-
-2. These tests need a big unmounted block device partition. You MUST run runltp
- with "-z" option to specify such a big block device, if not, these tests
- will exit with TCONF.
-
- Be CAREFUL the data on the specified partition would be DESTROYED.
-
- The recommended size of partition is between 5G and 10G. If the partition is
- too big, the test will run for a long time, which is unnecessary.
-
-3. Before starting test ext4 new features, please check whether ext4 filesystem
- is compiled into the kernel or not, and the kernel version is *2.6.31* or
- above.
-
-4. A snapshot of config file options is given below:
- ONFIG_EXT4_FS=y
- CONFIG_EXT4DEV_COMPAT=y
- CONFIG_EXT4_FS_XATTR=y
- CONFIG_EXT4_FS_POSIX_ACL=y
- CONFIG_EXT4_FS_SECURITY=y
-
-5. Beside that, the following packages are necessary:
- e2fsprogs
- (http://www.rpmfind.net/linux/rpm2html/search.php?query=e2fsprogs)
- e2fsprogs-devel
- (http://www.rpmfind.net/linux/rpm2html/search.php?query=e2fsprogs-devel)
- e2fsprogs-libs
- (http://www.rpmfind.net/linux/rpm2html/search.php?query=e2fsprogs-libs)
- and the version of these packages should be 1.41.4 or above, otherwise the
- test will fail.
-
-
-FILES DESCRIPTION:
-
-ext4-delalloc-mballoc
----------------------
-Directory containing the shell script which is used to test multi-block
-allocation and delayed allocation of ext4.
-
-ext4-ffsb-config
-----------------
-Directory containing the config of ffsb for test.
-
-ext4-inode-version
-------------------
-Directory containing the shell script which is used to test inode version field
-on disk of ext4.
-
-ext4-journal-checksum
----------------------
-Directory containing the shell script which is used to test journal checksumming
-of ext4.
-
-ext4-nsec-timestamps
---------------------
-Directory containing the shell script which is used to test nanosec timestamps
-of ext4.
-
-ext4-online-defrag
-------------------
-Directory containing the shell script which is used to test online defrag
-feature of ext4.
-
-ext4-persist-prealloc
----------------------
-Directory containing the shell script which is used to test persist prealloc
-feature of ext4.
-
-ext4-subdir-limit
------------------
-Directory containing the shell script which is used to test subdirectory limit
-of ext4. According to the kernel documentation, we create more than 32000
-subdirectorys on the ext4 filesystem.
-
-ext4-uninit-groups
-------------------
-Directory containing the shell script which is used to test uninitialized groups
-feature of ext4.
-
-ext4_funcs.sh
--------------
-This script contains some functions for ext4 new features test script.
-such as: ext4_setup, ext4_cleanup
-
-Makefile
---------
-Each directory in this directory has its usual makefile, it is for its
-directory.
-
-README
-------
-The one you have gone through.
deleted file mode 100644
@@ -1,25 +0,0 @@
-# Copyright (C) 2009, Fujitsu LIMITED
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-top_srcdir ?= ../../../../..
-
-include $(top_srcdir)/include/mk/testcases.mk
-
-MAKE_TARGETS :=
-INSTALL_TARGETS ?= *.sh
-
-include $(top_srcdir)/include/mk/generic_leaf_target.mk
deleted file mode 100755
@@ -1,146 +0,0 @@
-#!/bin/bash
-
-################################################################################
-# #
-# Copyright (c) 2009 FUJITSU LIMITED #
-# #
-# This program is free software; you can redistribute it and#or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation; either version 2 of the License, or #
-# (at your option) any later version. #
-# #
-# This program is distributed in the hope that it will be useful, but #
-# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY #
-# or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software #
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #
-# #
-################################################################################
-
-export TCID="ext4-delalloc-mballoc"
-export TST_TOTAL=17
-
-. ext4_funcs.sh
-
-# Case 17: mount ext4 partition to ext3
-ext4_test_remount()
-{
- mkfs.ext3 -I 256 -b 1024 $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to create ext4 filesystem"
- return
- fi
-
- mount -t ext4 -o delalloc,auto_da_alloc $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount ext4 filesystem"
- return
- fi
-
- ffsb $LTPROOT/testcases/data/ext4-ffsb/ffsb-config0 > /dev/null
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "ffsb returned failure"
- umount mnt_point
- return
- fi
-
- umount mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to umount ext4 filesystem"
- return
- fi
-
- mount -t ext3 $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount to ext3"
- return
- fi
- umount mnt_point
-
- fsck -p $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "fsck returned failure"
- return
- fi
-
- tst_resm TPASS "remount test pass"
-}
-
-# Case 1-16: Use ffsb to test mballoc and delalloc
-# $1: delalloc or nodelalloc
-# $2: 0 - indirect-io, 1 - direct-io
-# $3: block size
-# $4: auto_da_alloc
-ext4_test_delalloc_mballoc()
-{
- tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, isAuto_da_alloc: $4"
-
- mkfs.ext4 -I 256 -b $3 /$EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to create ext4 filesystem"
- return
- fi
-
- tune2fs -O extents $EXT4_DEV >/dev/null 2>&1
-
- mount -t ext4 -o $1,$4 $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount ext4 filesystem"
- return
- fi
-
- ffsb $LTPROOT/testcases/data/ext4-ffsb/ffsb-config$2 > /dev/null
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "ffsb returned failure"
- umount mnt_point
- return
- fi
-
- umount mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to umount ext4 filesystem"
- return
- fi
-
- fsck -p $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "fsck returned failure"
- return
- fi
-
- tst_resm TPASS "delalloc/mballoc test pass"
-}
-
-# main
-ext4_setup
-
-tst_test_cmds ffsb
-
-DELALLOC=( "delalloc" "nodelalloc" )
-DIRECT_IO=( 0 1 )
-BLOCK_SIZE=( 1024 4096 )
-BLOCK_AUTO_DA_ALLOC=( "auto_da_alloc=1" "noauto_da_alloc" )
-
-for ((i = 0; i < 2; i++))
-{
- for ((j = 0; j < 2; j++))
- {
- for ((k = 0; k < 2; k++))
- {
- for ((l = 0; l < 2; l++))
- {
- ext4_test_delalloc_mballoc ${DELALLOC[$k]} \
- ${DIRECT_IO[$j]} \
- ${BLOCK_SIZE[$i]} \
- ${BLOCK_AUTO_DA_ALLOC[$l]}
- }
- }
- }
-}
-
-ext4_test_remount
-
-tst_exit
deleted file mode 100644
@@ -1,26 +0,0 @@
-# Copyright (C) 2009, FUJITSU LIMITED
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-top_srcdir ?= ../../../../..
-
-include $(top_srcdir)/include/mk/testcases.mk
-
-MAKE_TARGETS :=
-INSTALL_DIR := testcases/data/ext4-ffsb/
-INSTALL_TARGETS ?= ffsb-config[0-7]
-
-include $(top_srcdir)/include/mk/generic_leaf_target.mk
deleted file mode 100644
@@ -1,23 +0,0 @@
-directio=0
-time=500
-
-[filesystem0]
-location=mnt_point
-num_files=100000
-num_dirs=40
-max_filesize=40960
-min_filesize=4096
-[end0]
-
-
-[threadgroup0]
-num_threads=10
-read_weight=3
-write_weight=1
-append_weight=1
-write_random=1
-write_size=4096
-write_blocksize=4096
-read_size=4096
-read_blocksize=4096
-[end0]
deleted file mode 100644
@@ -1,23 +0,0 @@
-directio=1
-time=400
-
-[filesystem0]
-location=mnt_point
-num_files=100000
-num_dirs=40
-max_filesize=4096
-min_filesize=4096
-[end0]
-
-
-[threadgroup0]
-num_threads=10
-read_weight=3
-write_weight=1
-append_weight=1
-write_random=1
-write_size=4096
-write_blocksize=4096
-read_size=4096
-read_blocksize=4096
-[end0]
deleted file mode 100644
@@ -1,23 +0,0 @@
-directio=0
-time=500
-
-[filesystem0]
-location=mnt_point
-num_files=100000
-num_dirs=40
-max_filesize=20480
-min_filesize=4096
-[end0]
-
-
-[threadgroup0]
-num_threads=10
-read_weight=3
-write_weight=1
-append_weight=1
-write_random=1
-write_size=4096
-write_blocksize=4096
-read_size=4096
-read_blocksize=4096
-[end0]
deleted file mode 100644
@@ -1,29 +0,0 @@
-directio=0
-time=0
-
-[filesystem0]
- location=mnt_point/
- num_files=1
- num_dirs=1
- max_filesize=409600
- min_filesize=40960
- agefs=1
- [threadgroup0]
- num_threads=10
- write_size=409600
- write_blocksize=40960
- create_weight=10
- append_weight=10
- delete_weight=1
- [end0]
- desired_util=0.20
-[end0]
-
-[threadgroup0]
- num_threads=32
- read_weight=1
-
- read_size=4096
- read_blocksize=4096
-[end0]
-
deleted file mode 100644
@@ -1,29 +0,0 @@
-directio=0
-time=0
-
-[filesystem0]
- location=mnt_point/
- num_files=1
- num_dirs=1
- max_filesize=409600
- min_filesize=40960
- agefs=1
- [threadgroup0]
- num_threads=10
- write_size=409600
- write_blocksize=40960
- create_weight=10
- append_weight=10
- delete_weight=1
- [end0]
- desired_util=0.40
-[end0]
-
-[threadgroup0]
- num_threads=32
- read_weight=1
-
- read_size=4096
- read_blocksize=4096
-[end0]
-
deleted file mode 100644
@@ -1,29 +0,0 @@
-directio=0
-time=0
-
-[filesystem0]
- location=mnt_point/
- num_files=1
- num_dirs=1
- max_filesize=409600
- min_filesize=40960
- agefs=1
- [threadgroup0]
- num_threads=10
- write_size=409600
- write_blocksize=40960
- create_weight=10
- append_weight=10
- delete_weight=1
- [end0]
- desired_util=0.60
-[end0]
-
-[threadgroup0]
- num_threads=32
- read_weight=1
-
- read_size=4096
- read_blocksize=4096
-[end0]
-
deleted file mode 100644
@@ -1,29 +0,0 @@
-directio=0
-time=0
-
-[filesystem0]
- location=mnt_point/
- num_files=1
- num_dirs=1
- max_filesize=409600
- min_filesize=40960
- agefs=1
- [threadgroup0]
- num_threads=10
- write_size=409600
- write_blocksize=40960
- create_weight=10
- append_weight=10
- delete_weight=1
- [end0]
- desired_util=0.80
-[end0]
-
-[threadgroup0]
- num_threads=32
- read_weight=1
-
- read_size=4096
- read_blocksize=4096
-[end0]
-
deleted file mode 100644
@@ -1,29 +0,0 @@
-directio=0
-time=0
-
-[filesystem0]
- location=mnt_point/
- num_files=1
- num_dirs=1
- max_filesize=409600
- min_filesize=40960
- agefs=1
- [threadgroup0]
- num_threads=10
- write_size=409600
- write_blocksize=40960
- create_weight=10
- append_weight=10
- delete_weight=1
- [end0]
- desired_util=1.00
-[end0]
-
-[threadgroup0]
- num_threads=32
- read_weight=1
-
- read_size=4096
- read_blocksize=4096
-[end0]
-
deleted file mode 100644
@@ -1,25 +0,0 @@
-# Copyright (C) 2009, FUJITSU LIMITED
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-top_srcdir ?= ../../../../..
-
-include $(top_srcdir)/include/mk/testcases.mk
-
-LDLIBS += -lm
-INSTALL_TARGETS ?= *.sh
-
-include $(top_srcdir)/include/mk/generic_leaf_target.mk
deleted file mode 100755
@@ -1,41 +0,0 @@
-#! /bin/bash
-
-################################################################################
-# #
-# Copyright (c) 2009 FUJITSU LIMITED #
-# #
-# This program is free software; you can redistribute it and#or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation; either version 2 of the License, or #
-# (at your option) any later version. #
-# #
-# This program is distributed in the hope that it will be useful, but #
-# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY #
-# or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software #
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #
-# #
-################################################################################
-
-#$1: inode version of which file
-#$2: 1 - return inode version by return value
-# !1 - writting inode version to stddev
-
-inode_version=`debugfs -R "stat $1" $EXT4_DEV 2> /dev/null | grep 'Version' | awk '{
-print $NF }'`
-
-# The inode_version's format: '0x0000000a' or '0x00000000:0000000a',
-# so delete ':'
-inode_version=`echo $inode_version | sed 's/://'`
-
-inode_version=$(( $inode_version ))
-
-if [ "$2" = "1" ]; then
- exit $inode_version
-else
- echo $inode_version
-fi
-
deleted file mode 100755
@@ -1,158 +0,0 @@
-#!/bin/bash
-
-################################################################################
-## ##
-## Copyright (c) 2009 FUJITSU LIMITED ##
-## ##
-## This program is free software; you can redistribute it and#or modify ##
-## it under the terms of the GNU General Public License as published by ##
-## the Free Software Foundation; either version 2 of the License, or ##
-## (at your option) any later version. ##
-## ##
-## This program is distributed in the hope that it will be useful, but ##
-## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
-## or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software ##
-## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ##
-## ##
-## Author: Li Zefan <lizf@cn.fujitsu.com> ##
-## Miao Xie <miaox@cn.fujitsu.com> ##
-## ##
-################################################################################
-
-export TCID="ext4-inode-version"
-export TST_TOTAL=8
-
-. ext4_funcs.sh
-
-# Test that inode version is not 32 bits with 128 inode size
-ext4_test_128_inode_version()
-{
- tst_resm TINFO "Test inode version is 32 bits with 128 inode size"
-
- mkfs.ext4 -I 128 $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to create ext4 filesystem"
- return
- fi
-
- tune2fs -O extents $EXT4_DEV >/dev/null 2>&1
-
- mount -t ext4 -o i_version $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount ext4 filesystem"
- return
- fi
-
- # inode version > 0
- touch mnt_point/tmp_file
- sync
- version=`ext4_get_inode_version.sh tmp_file`
-
- if [ $version -lt 1 ]; then
- tst_resm TFAIL "inode version is smaller than 1"
- umount mnt_point
- return
- fi
-
- # inode version is 32 bits: 0x00000000
- version=`debugfs $EXT4_DEV -R "stat tmp_file" 2> /dev/null | grep 'Version'`
- version=`echo $version | awk '{ print $NF }'`
- version=`echo $version | sed 's/^0x//'`
- len=${#version}
-
- if [ $len -ne 8 ]; then
- tst_resm TFAIL "inode version is not 32 bits"
- umount mnt_point
- return
- fi
-
- umount mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to umount ext4 filesystem"
- return
- fi
-
- tst_resm TPASS "32 bits inode version with 128 inode size test pass"
-}
-
-# Test file timestamps is nanosecond with 256 inode size
-# $1: file operation
-test_inode_version()
-{
- mkfs.ext3 -I 256 $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to create ext4 filesystem"
- return
- fi
-
- mount -t ext4 -o i_version $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount ext4 filesystem"
- return
- fi
-
- # Check the inode version after some file operation
- old_version=`ext4_test_inode_version $1 mnt_point/tmp_file tmp_file`
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "inode version is wrong"
- umount mnt_point
- return
- fi
-
- umount mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to umount ext4 filesystem"
- return
- fi
-
- # Test mount to ext3 and then mount back to ext4
- mount -t ext3 $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount to ext3"
- return
- fi
- umount mnt_point
-
- mount -t ext4 $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount back to ext4"
- return
- fi
-
- version=`ext4_get_inode_version.sh tmp_file`
-# echo "remount: old - $old_version"
-# echo "remount: new - $version"
- if [ $old_version -ne $version ]; then
- tst_resm TFAIL "inode version has changed unexpected"
- umount mnt_point
- return
- else
- tst_resm TPASS "inode version with 256 inode size test pass"
- umount mnt_point
- fi
-}
-
-# main
-ext4_setup
-
-ext4_test_128_inode_version
-
-test_inode_version create
-
-test_inode_version chmod
-
-test_inode_version chown
-
-test_inode_version read
-
-test_inode_version write
-
-test_inode_version mmap_read
-
-test_inode_version mmap_write
-
-tst_exit
deleted file mode 100644
@@ -1,217 +0,0 @@
-/******************************************************************************/
-/* */
-/* Copyright (c) 2009 FUJITSU LIMITED */
-/* */
-/* This program is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* This program is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software */
-/* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
-/* */
-/* Author: Li Zefan <lizf@cn.fujitsu.com> */
-/* */
-/******************************************************************************/
-
-#include <unistd.h>
-#include <sys/wait.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-
-char *filename;
-char *filepath;
-int fd;
-
-int old_inode_version;
-int new_inode_version;
-
-int get_inode_version(void)
-{
- char buf[1024];
-
- sprintf(buf, "ext4_get_inode_version.sh %s 1", filename);
-
- /* sync before run debugfs to get inode version */
- sync();
-
- return WEXITSTATUS(system(buf));
-}
-
-void test_chmod(void)
-{
- if (fchmod(fd, S_IRUSR | S_IWUSR)) {
- fprintf(stderr, "fchmod failed\n");
- exit(1);
- }
-}
-
-void test_chown(void)
-{
- if (fchown(fd, 1, 1)) {
- fprintf(stderr, "fchown failed\n");
- exit(1);
- }
-}
-
-void test_read(void)
-{
- char buf[2];
-
- /* write something before read */
- if (write(fd, "abc", 4) == -1) {
- perror("write");
- exit(1);
- }
- close(fd);
-
- if (open(filepath, O_RDONLY) == -1) {
- perror("open");
- exit(1);
- }
-
- old_inode_version = get_inode_version();
-
- if (read(fd, buf, 1) == -1) {
- perror("read");
- exit(1);
- }
-}
-
-void test_write(void)
-{
- if (write(fd, "a", 1) == -1) {
- fprintf(stderr, "write failed\n");
- exit(1);
- }
-}
-
-void test_mmap_read(void)
-{
- char *p;
- char c;
-
- /* write something before read */
- if (write(fd, "abc", 4) == -1) {
- perror("write");
- exit(1);
- }
- close(fd);
-
- if (open(filepath, O_RDONLY) == -1) {
- perror("open");
- exit(1);
- }
-
- old_inode_version = get_inode_version();
-
- p = mmap(NULL, 1, PROT_READ, MAP_PRIVATE | MAP_FILE, fd, 0);
- if (p == (void *)-1) {
- perror("mmap");
- exit(1);
- }
- c = *p;
-
- new_inode_version = get_inode_version();
-
- msync(p, 1, MS_SYNC);
-}
-
-void test_mmap_write(void)
-{
- char *p;
-
- if (write(fd, "abc", 4) == -1) {
- perror("write");
- exit(1);
- }
- close(fd);
-
- if (open(filepath, O_RDWR) == -1) {
- perror("open");
- exit(1);
- }
-
- old_inode_version = get_inode_version();
-
- p = mmap(NULL, 1, PROT_WRITE, MAP_PRIVATE | MAP_FILE, fd, 0);
- if (p == (void *)-1) {
- perror("mmap");
- exit(1);
- }
- *p = 'x';
-
- new_inode_version = get_inode_version();
-
- msync(p, 1, MS_SYNC);
-}
-
-/**
- * argv[1]: file operation
- * argv[2]: file to test (with path)
- * argv[3]: file to test (without path)
- */
-int main(int argc, char *argv[])
-{
- if (argc != 4) {
- fprintf(stderr, "wrong argument number\n");
- return 1;
- }
- filepath = argv[2];
- filename = argv[3];
-
- /* create file and get the initial inode version */
- fd = creat(argv[2], O_RDWR);
- if (fd == -1) {
- fprintf(stderr, "failed to create file: %s\n", argv[2]);
- return 1;
- }
-
- old_inode_version = get_inode_version();
-
- if (strcmp(argv[1], "create") == 0) {
- printf("%d\n", old_inode_version);
- return 0;
- } else if (strcmp(argv[1], "chmod") == 0) {
- test_chmod();
- } else if (strcmp(argv[1], "chown") == 0) {
- test_chown();
- } else if (strcmp(argv[1], "read") == 0) {
- test_read();
- } else if (strcmp(argv[1], "write") == 0) {
- test_write();
- } else if (strcmp(argv[1], "mmap_read") == 0) {
- test_mmap_read();
- } else if (strcmp(argv[1], "mmap_write") == 0) {
- test_mmap_write();
- } else {
- fprintf(stderr, "wrong file operation: %s\n", argv[1]);
- return 1;
- }
-
- new_inode_version = get_inode_version();
-#if 0
- fprintf(stderr, "test_inode_version: old - %d\n", old_inode_version);
- fprintf(stderr, "test_inode_version: new - %d\n", new_inode_version);
-#endif
- /* wrong inode version, test failed */
- if (new_inode_version <= old_inode_version)
- return 1;
-
- printf("%d\n", new_inode_version);
-
- close(fd);
-
- return 0;
-}
deleted file mode 100644
@@ -1,25 +0,0 @@
-# Copyright (C) 2009, Fujitsu LIMITED
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-top_srcdir ?= ../../../../..
-
-include $(top_srcdir)/include/mk/testcases.mk
-
-MAKE_TARGETS :=
-INSTALL_TARGETS ?= *.sh
-
-include $(top_srcdir)/include/mk/generic_leaf_target.mk
deleted file mode 100755
@@ -1,133 +0,0 @@
-#!/bin/bash
-
-################################################################################
-## ##
-## Copyright (c) 2009 FUJITSU LIMITED ##
-## ##
-## This program is free software; you can redistribute it and#or modify ##
-## it under the terms of the GNU General Public License as published by ##
-## the Free Software Foundation; either version 2 of the License, or ##
-## (at your option) any later version. ##
-## ##
-## This program is distributed in the hope that it will be useful, but ##
-## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
-## or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software ##
-## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ##
-## ##
-## Author: Li Zefan <lizf@cn.fujitsu.com> ##
-## Miao Xie <miaox@cn.fujitsu.com> ##
-## ##
-################################################################################
-
-
-export TCID="ext4-journal-checksum"
-export TST_TOTAL=36
-
-. ext4_funcs.sh
-
-# Use ffsb to test journal checksumming
-# $1: journal mode: writeback, ordered, journal
-# $2: commit interval: 1 sec, 100 sec
-# $3: journal_checksum or not
-# $4: journal_async_commit or not
-# $5: barrier: 0, 1
-ext4_test_journal_checksum()
-{
- local checksum=
- local async_commit=
-
- if [ -z "$3" ]; then
- checksum="No use"
- else
- checksum="Used"
- fi
- if [ -z "$4" ]; then
- async_commit="No use"
- else
- async_commit="Used"
- fi
-
- tst_resm TINFO "journal mode: $1, commit interval: $2, " \
- "journal_checksum: $checksum, " \
- "journal_async_commit: $async_commit, barrier: $5"
-
- mkfs.ext4 -I 256 $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to create ext4 filesystem"
- return
- fi
-
- tune2fs -O extents $EXT4_DEV >/dev/null 2>&1
-
- mount -t ext4 -o data=$1,commit=$2,$3,$4,barrier=$5 $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount ext4 filesystem"
- return
- fi
-
- ffsb ffsb-config2 > /dev/null
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "ffsb returned failure"
- umount mnt_point
- return
- fi
-
- umount mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to umount ext4 filesystem"
- return
- fi
-
- e2fsck -p $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "fsck returned failure"
- return
- fi
-
- tst_resm TPASS "ext4 journal checksum test pass"
-}
-
-# main
-ext4_setup
-
-tst_test_cmds ffsb
-
-DATA=( "writeback" "ordered" "journal" )
-COMMIT=( 1 100 )
-JOURNAL_CHECKSUM=( "journal_checksum" "" )
-JOURNAL_ASYNC_COMMIT=( "journal_async_commit" "" )
-BARRIER=( 0 1 )
-
-for ((i = 0; i < 2; i++))
-{
- for ((j = 0; j < 2; j++))
- {
- for ((k = 0; k < 2; k++))
- {
- for ((l = 0; l < 2; l++))
- {
- for ((m = 0; m < 3; m++))
- {
-
- # when journal_async_commit is used,
- # journal_checksum is set automatically
- if [ $j -eq 0 -a $k -eq 1 ]; then
- continue
- fi
-
- ext4_test_journal_checksum ${DATA[$m]} \
- ${COMMIT[$l]} \
- "${JOURNAL_CHECKSUM[$k]}" \
- "${JOURNAL_ASYNC_COMMIT[$j]}" \
- ${BARRIER[$i]}
- }
- }
- }
- }
-}
-
-tst_exit
deleted file mode 100644
@@ -1,25 +0,0 @@
-# Copyright (C) 2009, FUJITSU LIMITED
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-top_srcdir ?= ../../../../..
-
-include $(top_srcdir)/include/mk/testcases.mk
-
-LDLIBS += -lm
-INSTALL_TARGETS ?= *.sh
-
-include $(top_srcdir)/include/mk/generic_leaf_target.mk
deleted file mode 100644
@@ -1,69 +0,0 @@
-/******************************************************************************/
-/* */
-/* Copyright (c) 2009 FUJITSU LIMITED */
-/* */
-/* This program is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* This program is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software */
-/* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
-/* */
-/* Author: Li Zefan <lizf@cn.fujitsu.com> */
-/* */
-/******************************************************************************/
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-
-/*
- * Usage: file_time <filename> <atime|mtime|ctime> <sec|nsec>
- */
-int main(int argc, char *argv[])
-{
- time_t t;
- struct stat st;
-
- if (argc != 4) {
- fprintf(stderr, "Wrong argument num!\n");
- return 1;
- }
-
- if (stat(argv[1], &st) != 0) {
- perror("stat failed");
- return 1;
- }
-
- if (strcmp(argv[3], "sec") == 0) {
- if (strcmp(argv[2], "atime") == 0)
- t = st.st_atime;
- else if (strcmp(argv[2], "mtime") == 0)
- t = st.st_mtime;
- else
- t = st.st_ctime;
- } else if (strcmp(argv[3], "nsec") == 0) {
- if (strcmp(argv[2], "atime") == 0)
- t = st.st_atim.tv_nsec;
- else if (strcmp(argv[2], "mtime") == 0)
- t = st.st_mtim.tv_nsec;
- else
- t = st.st_ctim.tv_nsec;
- } else {
- fprintf(stderr, "Wrong argument: %s\n", argv[3]);
- return 1;
- }
-
- printf("%lu\n", t);
-
- return 0;
-}
deleted file mode 100755
@@ -1,163 +0,0 @@
-#!/bin/sh
-
-################################################################################
-## ##
-## Copyright (c) 2009 FUJITSU LIMITED ##
-## ##
-## This program is free software; you can redistribute it and#or modify ##
-## it under the terms of the GNU General Public License as published by ##
-## the Free Software Foundation; either version 2 of the License, or ##
-## (at your option) any later version. ##
-## ##
-## This program is distributed in the hope that it will be useful, but ##
-## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
-## or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software ##
-## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ##
-## ##
-## Author: Li Zefan <lizf@cn.fujitsu.com> ##
-## Miao Xie <miaox@cn.fujitsu.com> ##
-## ##
-################################################################################
-
-export TCID="ext4-nsec-timestamps"
-export TST_TOTAL=2
-
-. ext4_funcs.sh
-
-# Test that file timestamps is second with 128 inode size
-ext4_test_sec_timestamps()
-{
- tst_resm TINFO "Test timestamps with 128 inode size"
-
- mkfs.ext4 -I 128 $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to create ext4 filesystem"
- return
- fi
-
- tune2fs -O extents $EXT4_DEV >/dev/null 2>&1
-
- mount -t ext4 $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount ext4 filesystem"
- return
- fi
-
- touch mnt_point/tmp_file
-
- atime=`ext4_file_time mnt_point/tmp_file atime nsec`
- mtime=`ext4_file_time mnt_point/tmp_file mtime nsec`
- ctime=`ext4_file_time mnt_point/tmp_file ctime nsec`
-
- if [ $atime -ne 0 -o $mtime -ne 0 -o $ctime -ne 0 ]; then
- tst_resm TFAIL "Timestamp is not second(atime: $atime, mtime: \
- $mtime, ctime: $ctime)"
- tst_umount mnt_point
- return
- fi
- tst_umount mnt_point
-
- tst_resm TPASS "Ext4 nanosecond timestamps test with 128 inode size pass"
-}
-
-# Test file timestamps is nanosecond with 256 inode size
-ext4_test_nsec_timestamps()
-{
- tst_resm TINFO "Test timestamps with 256 inode size"
-
- mkfs.ext3 -I 256 $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to create ext3 filesystem"
- return
- fi
-
- mount -t ext4 $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount ext4 filesystem"
- return
- fi
-
- # Create file
- touch mnt_point/tmp_file
- sleep 1
-
- # Change atime, ctime and mtime of the file
- touch mnt_point/tmp_file
-
- cur_time=`date '+%s %N'`
- sec=`echo $cur_time | awk {'print $1'}`
- nsec=`echo $cur_time | awk {'print $2'}`
-
- sec_atime=`ext4_file_time mnt_point/tmp_file atime sec`
- sec_mtime=`ext4_file_time mnt_point/tmp_file mtime sec`
- sec_ctime=`ext4_file_time mnt_point/tmp_file ctime sec`
- nsec_atime=`ext4_file_time mnt_point/tmp_file atime nsec`
- nsec_mtime=`ext4_file_time mnt_point/tmp_file mtime nsec`
- nsec_ctime=`ext4_file_time mnt_point/tmp_file ctime nsec`
-
- # Test nanosecond
- if [ $nsec_atime -eq 0 -a $nsec_mtime -eq 0 -a $nsec_ctime -eq 0 ]; then
- tst_resm TFAIL "The timestamp is not nanosecond(nsec_atime: $nsec_atime, nsec_mtime: $nsec_mtime, nsec_ctime: $nsec_ctime)"
- tst_umount mnt_point
- return
- fi
-
- diff1=$(( $sec_atime - $sec ))
- diff2=$(( $sec_mtime - $sec ))
- diff3=$(( $sec_ctime - $sec ))
-
- # Test difference between file time and current time
- if [ $diff1 -gt 1 -o $diff2 -gt 1 -o $diff2 -gt 1 ]; then
- tst_resm TFAIL "The timestamp is wrong, it must be earlier \
- than the current time we got.(sec_atime: $sec_atime, \
- sec_mtime: $sec_mtime, sec_ctime: $sec_ctime, \
- cur_time[s]: $sec)"
- tst_umount mnt_point
- return
- fi
-
- tst_umount mnt_point
-
- # Test mount to ext3 and then mount back to ext4
- mount -t ext3 $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount to ext3"
- return
- fi
- tst_umount mnt_point
-
- mount -t ext4 $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount back to ext4"
- return
- fi
-
- nsec_atime2=`ext4_file_time mnt_point/tmp_file atime nsec`
- nsec_mtime2=`ext4_file_time mnt_point/tmp_file mtime nsec`
- nsec_ctime2=`ext4_file_time mnt_point/tmp_file ctime nsec`
-
- if [ $nsec_atime -ne $nsec_atime2 -o $nsec_ctime -ne $nsec_ctime2 -o \
- $nsec_mtime -ne $nsec_mtime2 ]; then
- tst_resm TFAIL "File nanosecond timestamp has changed \
- unexpected. Before[atime mtime ctime]: $nsec_atime \
- $nsec_mtime $nsec_ctime, After[atime mtime ctime]: \
- $nsec_atime2 $nsec_mtime2 $nsec_ctime2)"
- tst_umount mnt_point
- return
- fi
-
- tst_umount mnt_point
- tst_resm TPASS "Ext4 nanosecond timestamps test with 256 inode size pass"
-}
-
-# main
-ext4_setup
-
-ext4_test_sec_timestamps
-ext4_test_nsec_timestamps
-
-tst_exit
deleted file mode 100644
@@ -1,25 +0,0 @@
-# Copyright (C) 2009, FUJITSU LIMITED
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-top_srcdir ?= ../../../../..
-
-include $(top_srcdir)/include/mk/testcases.mk
-
-LDLIBS += -lm
-INSTALL_TARGETS ?= *.sh
-
-include $(top_srcdir)/include/mk/generic_leaf_target.mk
deleted file mode 100755
@@ -1,182 +0,0 @@
-#!/bin/bash
-
-################################################################################
-# #
-# Copyright (c) 2009 FUJITSU LIMITED #
-# #
-# This program is free software; you can redistribute it and#or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation; either version 2 of the License, or #
-# (at your option) any later version. #
-# #
-# This program is distributed in the hope that it will be useful, but #
-# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY #
-# or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software #
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #
-# #
-################################################################################
-
-export TCID="ext4-online-defrag"
-export TST_TOTAL=18
-
-. ext4_funcs.sh
-
-# How to age filesystem
-EMPTY=1
-SMALL=2
-LARGE=3
-
-# Defrag what
-FILE=1
-DIR=2
-FILESYSTEM=3
-
-tst_test_cmds e4defrag
-E4DEFRAG=`which e4defrag`
-
-age_filesystem()
-{
- local dirId=
- local idx=
- rm -rf mnt_point/*
- if [ $1 -eq $EMPTY ]; then
- if [ $2 -eq $FILE -o $2 -eq $FILESYSTEM ]; then
- touch mnt_point/tmp_file
- echo "abc" > mnt_point/tmp_file
- elif [ $2 -eq $DIR ]; then
- mkdir mnt_point/tmp_dir
- echo "abc" > mnt_point/tmp_dir/tmp_file
- fi
- elif [ $1 -eq $SMALL ]; then
-
- dd if=/dev/zero of=mnt_point/occupy bs=1M count=40
-
- # age filesystem from 0.0 to 0.2 -> 0.4 -> 0.6 -> 0.8 -> 1.0
- for ((idx = 3; idx < 8; idx++))
- {
- ffsb ffsb-config$idx > /dev/null
- dirId=$((idx - 3))
- mv mnt_point/data mnt_point/data$dirId
- }
-
- rm mnt_point/occupy
-
- df
- else
- rm -rf mnt_point/*
- if [ $2 -eq $DIR ]; then
- mkdir mnt_point/tmp_dir
- dest=mnt_point/tmp_dir/tmp_file
- else
- dest=mnt_point/tmp_file
- fi
-
- bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size'`
- bsize=`echo $bsize | awk '{ print $NF }'`
- bcount=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'`
- bcount=`echo $bcount | awk '{ print $NF }'`
- bcount=$(( $bcount / 2 - 100 ))
- dd if=/dev/zero of=$dest bs=$bsize count=$bcount
-
- fi
-}
-
-my_e4defrag()
-{
- if [ $1 -eq $FILE ]; then
- if [ $2 -eq $SMALL ]; then
- $E4DEFRAG -v mnt_point/data0/
- return $?
- # EMPTY or LARGE
- else
- $E4DEFRAG -v mnt_point/tmp_file
- return $?
- fi
- elif [ $1 -eq $DIR ]; then
- if [ $2 -eq $SMALL ]; then
- $E4DEFRAG -v mnt_point/data0/
- return $?
- else
- $E4DEFRAG -v mnt_point/tmp_dir
- return $?
- fi
- else
- $E4DEFRAG -v $EXT4_DEV
- return $?
- fi
-}
-
-# Test online defragmentation feature
-# $1: defrag type
-# $2: 1 - empty, 2 - full with small files, 3 - full with large files
-# $3: block size
-ext4_test_online_defrag()
-{
- echo Test $TST_COUNT start >> ext4_online_defrag_result.txt
-
- tst_resm TINFO "defrag type: $1, defrag obj: $2, block size: $3"
-
- mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV >> ext4_online_defrag_result.txt 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to create ext4 filesystem"
- return
- fi
-
- tune2fs -O extents $EXT4_DEV >> ext4_online_defrag_result.txt 2>&1
-
- mount -t ext4 -o nodelalloc $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL"failed to mount ext4 filesystem"
- return
- fi
-
- age_filesystem $2 $1 >> ext4_online_defrag_result.txt 2>&1
-
- my_e4defrag $1 $2 >> ext4_online_defrag_result.txt
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "e4defrag returned failure"
- umount mnt_point
- return
- fi
-
- umount mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to umount ext4 filesystem"
- return
- fi
-
- e2fsck -p $EXT4_DEV >> ext4_online_defrag_result.txt 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "fsck returned failure"
- return
- fi
-
- tst_resm TPASS "ext4 online defrag test pass"
-}
-
-# main
-ext4_setup
-
-tst_test_cmds ffsb
-
-DEFRAG=( $FILE $DIR $FILESYSTEM )
-AGING=( $EMPTY $SMALL $LARGE )
-BLOCK_SIZE=( 1024 4096 )
-
-for ((i = 0; i < 2; i++))
-{
- for ((j = 0; j < 3; j++))
- {
- for ((k = 0; k < 3; k++))
- {
- ext4_test_online_defrag ${DEFRAG[$j]} ${AGING[$k]} \
- ${BLOCK_SIZE[$i]}
- }
- }
-}
-
-tst_exit
deleted file mode 100644
@@ -1,25 +0,0 @@
-# Copyright (C) 2009, Fujitsu LIMITED
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-top_srcdir ?= ../../../../..
-
-include $(top_srcdir)/include/mk/testcases.mk
-
-MAKE_TARGETS :=
-INSTALL_TARGETS ?= *.sh
-
-include $(top_srcdir)/include/mk/generic_leaf_target.mk
deleted file mode 100755
@@ -1,90 +0,0 @@
-#!/bin/bash
-
-################################################################################
-## ##
-## Copyright (c) 2009 FUJITSU LIMITED ##
-## ##
-## This program is free software; you can redistribute it and#or modify ##
-## it under the terms of the GNU General Public License as published by ##
-## the Free Software Foundation; either version 2 of the License, or ##
-## (at your option) any later version. ##
-## ##
-## This program is distributed in the hope that it will be useful, but ##
-## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
-## or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software Foundation, ##
-## Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ##
-## ##
-## Author: Li Zefan <lizf@cn.fujitsu.com> ##
-## Miao Xie <miaox@cn.fujitsu.com> ##
-## ##
-################################################################################
-
-export TCID="ext4-persistent-preallocation"
-export TST_TOTAL=2
-
-. ext4_funcs.sh
-
-# Use ltp's syscall/fallocate to test this feature
-# $1: 1024 or 4096
-ext4_test_persist_prealloc()
-{
- mkfs.ext4 -I 256 -b $1 $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to create ext4 filesystem"
- return
- fi
-
- mount -t ext4 $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount ext4 filesystem"
- return
- fi
-
- for ((i = 1; i <= 3; i++))
- {
- if ! command -v fallocate0${i} > /dev/null 2>&1; then
- tst_resm TFAIL "file - fallocate0${i} doesn't exist. Please \
- check whether it was compiled and installed.\
- (Path: LTPROOT/testcases/kernel/syscalls/fallocate)"
- umount mnt_point
- return
- fi
-
- temp_tmpdir=$TMPDIR
- TMPDIR=${PWD}/mnt_point; fallocate0${i} > /dev/null 2>&1
- ret=$?
- TMPDIR=$temp_tmpdir
-
- if [ $ret -ne 0 ]; then
- tst_resm TFAIL "fallocate's return value is not expected"
- umount mnt_point
- return
- fi
- }
-
- umount mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to umount ext4 filesystem"
- return
- fi
-
- e2fsck -p $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "fsck returned failure"
- return
- fi
-
- tst_resm TPASS "ext4 persistent preallocation test pass"
-}
-
-# main
-ext4_setup
-
-ext4_test_persist_prealloc 1024
-ext4_test_persist_prealloc 4096
-
-tst_exit
deleted file mode 100644
@@ -1,25 +0,0 @@
-# Copyright (C) 2009, FUJITSU LIMITED
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-top_srcdir ?= ../../../../..
-
-include $(top_srcdir)/include/mk/testcases.mk
-
-LDLIBS += -lm
-INSTALL_TARGETS ?= *.sh
-
-include $(top_srcdir)/include/mk/generic_leaf_target.mk
deleted file mode 100644
@@ -1,161 +0,0 @@
-/******************************************************************************/
-/* */
-/* Copyright (c) 2009 FUJITSU LIMITED */
-/* */
-/* This program is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* This program is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software */
-/* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
-/* */
-/* Author: Li Zefan <lizf@cn.fujitsu.com> */
-/* */
-/******************************************************************************/
-
-#define _ATFILE_SOURCE
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <fcntl.h>
-#include <sys/types.h>
-//#define __USE_ATFILE
-#include <sys/stat.h>
-#include "config.h"
-
-#define NAME_LEN 255
-#define NCHARS 62
-#define MAX_LEN1 62
-#define MAX_LEN2 (62 * 62)
-#define MAX_LEN3 (62 * 62 * 62)
-
-/* valid characters for the directory name */
-char chars[NCHARS + 1] =
- "0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
-
-/* to store the generated directory name */
-char name[NAME_LEN + 1];
-int names;
-int parent_fd;
-
-/*
- * init_name - initialize the directory name
- *
- * Generate a randomized directory name, and then we generate more
- * directory names based on it.
- */
-void init_name(void)
-{
- int i;
-
- srand(time(NULL));
-
- for (i = 0; i < NAME_LEN; i++)
- name[i] = chars[rand() % 62];
-}
-
-void create_dir(void)
-{
-#ifdef HAVE_MKDIRAT
- if (mkdirat(parent_fd, name, S_IRWXU)) {
- perror("mkdir");
- exit(1);
- }
-#else
- fprintf(stderr, "System lacks mkdirat() call.\n");
- exit(1);
-#endif
-}
-
-/*
- * create_dirs - create @names directory names
- * @n: how many names to be created
- *
- * if n <= 62, we need to modify 1 char of the name
- * if n <= 62*62, we need to modify 2 chars
- * if n <= 62*62*62, we need to modify 3 chars
- */
-void create_dirs(int n)
-{
- int i, j, k;
- int depth;
-
- if (n <= MAX_LEN1)
- depth = 1;
- else if (n <= MAX_LEN2)
- depth = 2;
- else
- depth = 3;
-
- for (i = 0; i < NCHARS; i++) {
- name[0] = chars[i];
- if (depth == 1) {
- create_dir();
- if (--n == 0)
- return;
- continue;
- }
-
- for (j = 0; j < NCHARS; j++) {
- name[1] = chars[j];
- if (depth == 2) {
- create_dir();
- if (--n == 0)
- return;
- continue;
- }
-
- for (k = 0; k < NCHARS; k++) {
- name[2] = chars[k];
- create_dir();
- if (--n == 0)
- return;
- }
- }
- }
-}
-
-void usage()
-{
- fprintf(stderr, "Usage: create_long_dirs nr_dirs parent_dir\n");
-}
-
-/*
- * Create long-name directories
- * @argv[1]: directory number
- * @argv[2]: parent directory
- */
-int main(int argc, char *argv[])
-{
- if (argc != 3) {
- usage();
- return 1;
- }
-
- names = atoi(argv[1]);
- if (names > MAX_LEN3 || names <= 0) {
- usage();
- return 1;
- }
-
- parent_fd = open(argv[2], O_RDONLY);
- if (parent_fd == -1) {
- perror("open parent dir failed");
- return 1;
- }
-
- init_name();
-
- create_dirs(names);
-
- return 0;
-}
deleted file mode 100644
@@ -1,163 +0,0 @@
-/******************************************************************************/
-/* */
-/* Copyright (c) 2009 FUJITSU LIMITED */
-/* */
-/* This program is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* This program is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software */
-/* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
-/* */
-/* Author: Li Zefan <lizf@cn.fujitsu.com> */
-/* */
-/******************************************************************************/
-
-#define _ATFILE_SOURCE
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include "config.h"
-
-/* valid characters for a directory name */
-char chars[] = "0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
-
-/* to store the generated directory name */
-char name[10];
-int names;
-int parent_fd;
-
-/* NCHARS = 10 + 26 + 26 = 62 */
-#define NCHARS 62
-#define MAX_LEN1 62
-#define MAX_LEN2 (62 * 62)
-#define MAX_LEN3 (62 * 62 * 62)
-#define MAX_NAMES (MAX_LEN1 + MAX_LEN2 + MAX_LEN3)
-
-void create_dir(void)
-{
-#ifdef HAVE_MKDIRAT
- if (mkdirat(parent_fd, name, S_IRWXU)) {
- perror("mkdir");
- exit(1);
- }
-#else
- fprintf(stderr, "System lacks mkdirat() call.\n");
- exit(1);
-#endif
-}
-
-/*
- * create_1 - create length-1 directory names
- * @n: how name names to be created
- */
-void create_1(int n)
-{
- int i;
-
- name[1] = '\0';
- for (i = 0; i < NCHARS; i++) {
- name[0] = chars[i];
- create_dir();
- if (--n == 0)
- return;
- }
-}
-
-/*
- * create_2 - generate length-2 directory names
- * @n: how many names to be created
- */
-void create_2(int n)
-{
- int i, j;
-
- name[2] = '\0';
- for (i = 0; i < NCHARS; i++) {
- name[0] = chars[i];
- for (j = 0; j < NCHARS; j++) {
- name[1] = chars[j];
- create_dir();
- if (--n == 0)
- return;
- }
- }
-}
-
-/*
- * create_3 - generate length-3 directory names
- * @n: how many names to be created
- */
-void create_3(int n)
-{
- int i, j, k;
-
- name[3] = '\0';
- for (i = 0; i < NCHARS; i++) {
- name[0] = chars[i];
- for (j = 0; j < NCHARS; j++) {
- name[1] = chars[j];
- for (k = 0; k < NCHARS; k++) {
- name[2] = chars[k];
- create_dir();
- if (--n == 0)
- return;
- }
- }
- }
-}
-
-void usage()
-{
- fprintf(stderr, "Usage: create_short_dirs nr_dirs parent_dir\n");
-}
-
-/*
- * Create short-name directoriess
- * @argv[1]: director number
- * @argv[2]: the parent directory
- */
-int main(int argc, char *argv[])
-{
- if (argc != 3) {
- usage();
- return 1;
- }
-
- names = atoi(argv[1]);
- if (names > MAX_NAMES || names <= 0) {
- usage();
- return 1;
- }
-
- parent_fd = open(argv[2], O_RDONLY);
- if (parent_fd == -1) {
- perror("open parent dir");
- return 1;
- }
-
- create_1(names);
- if (names <= MAX_LEN1)
- return 0;
-
- names -= MAX_LEN1;
- create_2(names);
- if (names <= MAX_LEN2)
- return 0;
-
- names -= MAX_LEN2;
- create_3(names);
-
- return 0;
-}
deleted file mode 100755
@@ -1,156 +0,0 @@
-#!/bin/bash
-
-################################################################################
-## ##
-## Copyright (c) 2009 FUJITSU LIMITED ##
-## ##
-## This program is free software; you can redistribute it and#or modify ##
-## it under the terms of the GNU General Public License as published by ##
-## the Free Software Foundation; either version 2 of the License, or ##
-## (at your option) any later version. ##
-## ##
-## This program is distributed in the hope that it will be useful, but ##
-## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
-## or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software ##
-## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ##
-## ##
-## Author: Li Zefan <lizf@cn.fujitsu.com> ##
-## Miao Xie <miaox@cn.fujitsu.com> ##
-## ##
-################################################################################
-
-
-export TCID="ext4-subdir-limit"
-export TST_TOTAL=10
-
-. ext4_funcs.sh
-
-SHORT_DIR=1
-LONG_DIR=2
-
-FAIL=1
-PASS=0
-
-prev_block_size=-1
-prev_result=$FAIL
-
-# Run a test case
-# $1: Number of directories to create
-# $2: create short dir or long dir
-# $3: parent directory
-# $4: filesystem block size
-ext4_run_case()
-{
- local dir_name_len=
-
- if [ $2 -eq $SHORT_DIR ]; then
- dir_name_len="short name"
- else
- dir_name_len="long name"
- fi
-
- tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len, " \
- "Parent dir: $3, Block size: $4"
-
- # only mkfs if block size has been changed,
- # or previous case failed
- if [ $prev_result -ne $PASS -o $4 -ne $prev_block_size ]; then
- mkfs.ext4 -b $4 -I 256 $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to create ext4 filesystem"
- return
- fi
- prev_block_size=$4
-
- tune2fs -O extents $EXT4_DEV >/dev/null 2>&1
- fi
-
- prev_result=$FAIL
-
- # mount ext4 filesystem
- mount -t ext4 $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount ext4 filesystem"
- return
- fi
-
- # create directories
- mkdir -p $3 2> /dev/null
-
- if [ $2 -eq $SHORT_DIR ]; then
- create_short_dirs $1 $3
- else
- create_long_dirs $1 $3
- fi
-
- if [ $? -ne 0 ]; then
- nr_dirs=`ls $3 | wc -l`
- tst_resm TFAIL "failed to create directories - $nr_dirs"
- umount mnt_point
- return
- fi
-
- # delete directories
- cd $3
- ls | xargs rmdir
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to remove directories"
- cd -
- umount mnt_point
- return
- fi
- cd -
-
- # unmount ext4 filesystem
- umount mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to umount ext4 filesystem"
- return
- fi
-
- # run fsck to make sure the filesystem has no errors
- e2fsck -p $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "fsck: the filesystem has errors"
- return
- fi
-
- # check dir_nlink is set
- dumpe2fs $EXT4_DEV 2> /dev/null | grep '^Filesystem features' | grep -q dir_nlink
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "feature dir_nlink is not set"
- return
- fi
-
- prev_result=$PASS
- tst_resm TPASS "ext4 subdir limit test pass"
-}
-
-# main
-ext4_setup
-
-DIR_LEN=( $SHORT_DIR $LONG_DIR )
-PARENT_DIR=( "mnt_point" "mnt_point/sub" )
-BLOCK_SIZE=( 1024 2048 4096 )
-
-for ((i = 0; i < 3; i++))
-{
- for ((j = 0; j < 2; j++))
- {
- for ((k = 0; k < 2; k++))
- {
- if [ ${DIR_LEN[$k]} -eq $LONG_DIR -a \
- ${BLOCK_SIZE[$i]} -eq 1024 ]; then
- continue
- fi
- ext4_run_case 65537 ${DIR_LEN[$k]} ${PARENT_DIR[$j]} \
- ${BLOCK_SIZE[$i]}
- }
- }
-}
-
-tst_exit
deleted file mode 100644
@@ -1,25 +0,0 @@
-# Copyright (C) 2009, Fujitsu LIMITED
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-top_srcdir ?= ../../../../..
-
-include $(top_srcdir)/include/mk/testcases.mk
-
-MAKE_TARGETS :=
-INSTALL_TARGETS ?= *.sh
-
-include $(top_srcdir)/include/mk/generic_leaf_target.mk
deleted file mode 100755
@@ -1,142 +0,0 @@
-#!/bin/bash
-
-################################################################################
-# #
-# Copyright (c) 2009 FUJITSU LIMITED #
-# #
-# This program is free software; you can redistribute it and#or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation; either version 2 of the License, or #
-# (at your option) any later version. #
-# #
-# This program is distributed in the hope that it will be useful, but #
-# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY #
-# or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software #
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #
-# #
-################################################################################
-
-export TCID="ext4-uninit-groups"
-export TST_TOTAL=24
-
-. ext4_funcs.sh
-
-# How to age filesystem
-EMPTY=1
-SMALL=2
-LARGE=3
-
-age_filesystem()
-{
- if [ $1 -eq $EMPTY ]; then
- # aging, then del
- ffsb ffsb-config3 > /dev/null
- rm -rf mnt_point/*
- elif [ $1 -eq $SMALL ]; then
- # age filesystem from 0.0 to 0.2 -> 0.4 -> 0.6 -> 0.8 -> 1.0
- for ((n = 3; n < 8; n++))
- {
- ffsb ffsb-config$n > /dev/null
- mv mnt_point/data mnt_point/data$n
- }
- elif [ $1 -eq $LARGE ]; then
- rm -rf mnt_point/*
- bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size'`
- bsize=`echo $bsize | awk '{ print $3 }'`
- bcount=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'`
- bcount=`echo $bcount | awk '{ print $3 }'`
- dd if=/dev/zero of=mnt_point/tmp_dir bs=$bsize count=$bcount
- else
- return 1
- fi
-
- return 0
-}
-
-# Test uninitialized groups
-# $1: orlov, oldalloc
-# $2: delalloc
-# $3: flex_bg
-# $4: age filesystem: $EMPTY, $SMALL, $LARGE
-ext4_test_uninit_groups()
-{
- echo "Test $TST_COUNT" >> ext4_uninit_groups_result.txt
-
- mkfs.ext4 -I 256 -m 0 $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to create ext4 filesystem"
- return
- fi
-
- if [ "$3" = "no_flex_bg" ]; then
- flag=""
- else
- flag=$3
- fi
-
- tune2fs -O extents,uninit_groups,$flag $EXT4_DEV >/dev/null 2>&1
-
- # Must run fsck after setting uninit_groups
- fsck -p $EXT4_DEV >/dev/null 2>&1
-
- mount -t ext4 -o $1,$2 $EXT4_DEV mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to mount ext4 filesystem"
- return
- fi
-
- age_filesystem $4 >> ext4_uninit_groups_result.txt 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "age filesystem failed"
- umount mnt_point
- return
- fi
-
- umount mnt_point
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "failed to umount ext4 filesystem"
- return
- fi
-
- fsck -p $EXT4_DEV >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_resm TFAIL "fsck returned failure"
- return
- fi
-
- tst_resm TPASS "ext4 uninit groups test pass"
-}
-
-# main
-ext4_setup
-
-tst_test_cmds ffsb
-
-ORLOV=( "orlov" "oldalloc" )
-DELALLOC=( "delalloc" "nodelalloc" )
-FLEX_BG=( "flex_bg" "no_flex_bg" )
-AGING=( $EMPTY $SMALL $LARGE )
-
-
-for ((i = 0; i < 2; i++))
-{
- for ((j = 0; j < 2; j++))
- {
- for ((k = 0; k < 2; k++))
- {
- for ((l = 0; l < 3; l++))
- {
- ext4_test_uninit_groups ${ORLOV[$i]} \
- ${DELALLOC[$j]} \
- ${FLEX_BG[$k]} \
- ${AGING[$l]}
- }
- }
- }
-}
-
-tst_exit
deleted file mode 100755
@@ -1,63 +0,0 @@
-#!/bin/sh
-
-################################################################################
-## ##
-## Copyright (c) 2009 FUJITSU LIMITED ##
-## ##
-## This program is free software; you can redistribute it and#or modify ##
-## it under the terms of the GNU General Public License as published by ##
-## the Free Software Foundation; either version 2 of the License, or ##
-## (at your option) any later version. ##
-## ##
-## This program is distributed in the hope that it will be useful, but ##
-## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
-## or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software ##
-## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ##
-## ##
-## Author: Li Zefan <lizf@cn.fujitsu.com> ##
-## Miao Xie <miaox@cn.fujitsu.com> ##
-## ##
-################################################################################
-
-. test.sh
-
-ext4_setup()
-{
- if tst_kvcmp -lt "2.6.31"; then
- tst_brkm TCONF "kernel is below 2.6.31"
- fi
-
- tst_require_root
-
- EXT4_KERNEL_SUPPORT=`grep -w ext4 /proc/filesystems | cut -f2`
- if [ "$EXT4_KERNEL_SUPPORT" != "ext4" ]; then
- modprobe ext4 > /dev/null 2>&1
- if [ $? -ne 0 ]; then
- tst_brkm TCONF "Ext4 is not supported"
- fi
- fi
-
- if [ -z "$LTP_BIG_DEV" ];then
- tst_brkm TCONF "tests need a big block device(5G-10G)"
- else
- export EXT4_DEV=$LTP_BIG_DEV
- if mount | cut -d' ' -f1 | grep -q ^$EXT4_DEV$; then
- tst_brkm TBROK "$EXT4_DEV should be umounted before test"
- fi
- fi
-
- tst_tmpdir
- TST_CLEANUP=ext4_cleanup
-
- mkdir mnt_point
-}
-
-ext4_cleanup()
-{
- rm -rf mnt_point
- tst_rmdir
-}
@@ -1,12 +1,3 @@
-/ffsb
-/ffsb-6.0-rc2/.deps/
-/ffsb-6.0-rc2/ffsb
-/ffsb-6.0-rc2/Makefile
-/ffsb-6.0-rc2/config.h
-/ffsb-6.0-rc2/config.log
-/ffsb-6.0-rc2/config.status
-/ffsb-6.0-rc2/stamp-h
-/ffsb-6.0-rc2/stamp-h1
/sctp/func_tests/test_1_to_1_accept_close
/sctp/func_tests/test_1_to_1_addrs
/sctp/func_tests/test_1_to_1_connect
deleted file mode 100644
@@ -1,7 +0,0 @@
-Dominique Heger (dheger@us.ibm.com)
-Josh Jacobs (josh@mit.edu)
-
--> up to Version 3.0 of FFSB
-
-Sonny Rao (raosanth@us.ibm.com)
-versions 3.1 and beyond
deleted file mode 100644
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
deleted file mode 100644
@@ -1,182 +0,0 @@
-Basic Installation
-==================
-
- These are generic installation instructions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
-
- The file `configure.in' is used to create `configure' by a program
-called `autoconf'. You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. You can give `configure'
-initial values for variables by setting them in the environment. Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
- CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-
-Or on systems that have the `env' program, you can do it like this:
- env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-
-Compiling For Multiple Architectures
-====================================
-
- You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
- If you have to use a `make' that does not supports the `VPATH'
-variable, you have to compile the package for one architecture at a time
-in the source code directory. After you have installed the package for
-one architecture, use `make distclean' before reconfiguring for another
-architecture.
-
-Installation Names
-==================
-
- By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on. Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
- CPU-COMPANY-SYSTEM
-
-See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the host type.
-
- If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
-
-Sharing Defaults
-================
-
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Operation Controls
-==================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE'
- Use and save the results of the tests in FILE instead of
- `./config.cache'. Set FILE to `/dev/null' to disable caching, for
- debugging `configure'.
-
-`--help'
- Print a summary of the options to `configure', and exit.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
- messages will still be shown).
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`--version'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
deleted file mode 100644
@@ -1,347 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-The Free Software Foundation has exempted Bash from the requirement of
-Paragraph 2c of the General Public License. This is to say, there is
-no requirement for Bash to print a notice when it is started
-interactively in the usual way. We made this exception because users
-and standards expect shells not to print such messages. This
-exception applies to any program that serves as a shell and that is
-based primarily on Bash as opposed to other GNU software.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
deleted file mode 100644
@@ -1,46 +0,0 @@
-bin_PROGRAMS = ffsb #ffsb_test
-ffsb_SOURCES = \
- fileops.c \
- rand.c \
- config.h \
- fileops.h \
- ffsb.h \
- rand.h \
- main.c \
- fh.h \
- fh.c \
- filelist.c \
- filelist.h \
- metaops.c \
- metaops.h \
- rwlock.h \
- rwlock.c \
- cirlist.c \
- cirlist.h \
- rbt.c \
- rbt.h \
- ffsb_tg.h \
- ffsb_tg.c \
- ffsb_fs.h \
- ffsb_fs.c \
- ffsb_thread.c \
- ffsb_thread.h \
- ffsb_op.h \
- ffsb_op.c \
- util.h \
- util.c \
- parser.c \
- parser.h \
- ffsb_fc.c \
- ffsb_stats.c \
- list.c
-
-#ffsb_test_SOURCES = config.h fileops.h ffsb.h rand.h fh.h filelist.h metaops.h rwlock.h cirlist.h rbt.h ffsb_tg.h ffsb_fs.h ffsb_thread.h ffsb_op.h util.h parser.c parser.h ffsb_test.c
-
-EXTRA_DIST = *.txt *.tex
-
-AM_CFLAGS = -D_GNU_SOURCE
-
-#CFLAGS += -Wall -Werror -g -Wconversion -ansi
-#LDFLAGS += -lefence
-
deleted file mode 100644
@@ -1,628 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This Makefile.in 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.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-bin_PROGRAMS = ffsb$(EXEEXT)
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/config.h.in \
- $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
- config.guess config.sub depcomp install-sh missing \
- mkinstalldirs
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-PROGRAMS = $(bin_PROGRAMS)
-am_ffsb_OBJECTS = fileops.$(OBJEXT) rand.$(OBJEXT) main.$(OBJEXT) \
- fh.$(OBJEXT) filelist.$(OBJEXT) metaops.$(OBJEXT) \
- rwlock.$(OBJEXT) cirlist.$(OBJEXT) rbt.$(OBJEXT) \
- ffsb_tg.$(OBJEXT) ffsb_fs.$(OBJEXT) ffsb_thread.$(OBJEXT) \
- ffsb_op.$(OBJEXT) util.$(OBJEXT) parser.$(OBJEXT) \
- ffsb_fc.$(OBJEXT) ffsb_stats.$(OBJEXT) list.$(OBJEXT)
-ffsb_OBJECTS = $(am_ffsb_OBJECTS)
-ffsb_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(ffsb_SOURCES)
-DIST_SOURCES = $(ffsb_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- { test ! -d $(distdir) \
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr $(distdir); }; }
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-ffsb_SOURCES = \
- fileops.c \
- rand.c \
- config.h \
- fileops.h \
- ffsb.h \
- rand.h \
- main.c \
- fh.h \
- fh.c \
- filelist.c \
- filelist.h \
- metaops.c \
- metaops.h \
- rwlock.h \
- rwlock.c \
- cirlist.c \
- cirlist.h \
- rbt.c \
- rbt.h \
- ffsb_tg.h \
- ffsb_tg.c \
- ffsb_fs.h \
- ffsb_fs.c \
- ffsb_thread.c \
- ffsb_thread.h \
- ffsb_op.h \
- ffsb_op.c \
- util.h \
- util.c \
- parser.c \
- parser.h \
- ffsb_fc.c \
- ffsb_stats.c \
- list.c
-
-
-#ffsb_test_SOURCES = config.h fileops.h ffsb.h rand.h fh.h filelist.h metaops.h rwlock.h cirlist.h rbt.h ffsb_tg.h ffsb_fs.h ffsb_thread.h ffsb_op.h util.h parser.c parser.h ffsb_test.c
-EXTRA_DIST = *.txt *.tex
-AM_CFLAGS = -D_GNU_SOURCE
-all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .o .obj
-am--refresh:
- @:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
- cd $(srcdir) && $(AUTOMAKE) --gnu \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-
-config.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in: $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f config.h stamp-h1
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
-
-clean-binPROGRAMS:
- -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-ffsb$(EXEEXT): $(ffsb_OBJECTS) $(ffsb_DEPENDENCIES)
- @rm -f ffsb$(EXEEXT)
- $(LINK) $(ffsb_OBJECTS) $(ffsb_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cirlist.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffsb_fc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffsb_fs.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffsb_op.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffsb_stats.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffsb_tg.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffsb_thread.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fh.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filelist.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileops.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metaops.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parser.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rand.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rbt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rwlock.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- test -d $(distdir) || mkdir $(distdir)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r $(distdir)
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-dist-lzma: distdir
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
- $(am__remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lzma*) \
- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && cd $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
- $(am__remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
- @cd $(distuninstallcheck_dir) \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS) config.h
-installdirs:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
-
-distclean: distclean-am
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-hdr distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am: install-binPROGRAMS
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
- clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \
- dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
- distclean distclean-compile distclean-generic distclean-hdr \
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
- dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-binPROGRAMS
-
-
-#CFLAGS += -Wall -Werror -g -Wconversion -ansi
-#LDFLAGS += -lefence
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
deleted file mode 100644
@@ -1,413 +0,0 @@
-Introduction:
-
-The Flexible Filesystem Benchmark (FFSB) is a filesystem performance
-measurement tool. It is a multi-threaded application (using
-pthreads), written entirely in C with cross-platform portability in
-mind. It differs from other filesystem benchmarks in that the user
-may supply a profile to create custom workloads, while most other
-filesystem benchmarks use a fixed set of workloads.
-
-As of version 5.1, it supports seven different basic operations, support
-for multiple groups of threads with different operation mixtures,
-support for operation across multiple filesystems, and support for
-filesystem aging prior to benchmarking.
-
-
-Differences from version 4.0 and older:
-
-Version 5.0 and above represent almost a total re-write and many
-things have changed. In version 5.0 and above FFSB moved to a
-time-regulated run versus doing a set number of different operations
-and timing the whole thing. This is primarily to better deal with the
-use of multiple threadgroups which would otherwise not be synchronized
-at termination time.
-
-Additionally, the FFSB configuration file format has changed in
-version 5.0, although we do support old-style configuration files
-along with a run-time passed on the command line. In this mode,
-version 5.0 and above ignores the iterations parameter, and simply
-uses the time specified on the command line.
-
-Behaviorally, most of the old operations are the same -- sequential
-reads and sequential writes work as they did before. One change in
-version 5.0 is the skip-read behavior of reading then seeking forward
-a fixed amount then reading again is removed, we now support fully
-randomized reads and writes from random offsets within the file.
-
-Version 4.0 didn't support overwrites (only appends) so we interpret
-writes in old config files to be append operations.
-
-On Linux, CPU utilization information will only be accurate for
-systems using NPTL, older Linuxthreads systems will probably only see
-zeros for CPU utilization because Linuxthreads is non-compliant to
-POSIX. Version 4.0 and older could be recompiled to work on
-Linuxthreads, but in 5.0 and later we no longer support this.
-
-We no longer support the "outputfile" on the command line.
-
-One should simply use tee or similar to capture the output. FFSB
-unbuffers standard out for this purpose, and errors are sent on
-standard error.
-
-Global options:
-
-There are eight valid global options placed at the beginning of the
-profile. Three of them are required: num_filesystems (number of
-filesystems), num_threadgroups (number of threadgroups), and time
-(running time of the benchmark). The other five options are:
-
-directio - each call to open will be made using O_DIRECT
-alignio - aligns all block operations for random reads and writes
- on 4k boundaries.
-bufferedio - currently ignored: it is intended to use libc
- fread,rwrite, instead of just unix read and write calls
-verbose - currently ignored
-
-callout - calls and external command and waits for its termination
- before FFSB begins the benchmark phase.
- This is useful for synchronizing distributed clients,
- starting profilers, etc.
-
-They must be specified in the above order (num_filesystems,
-num_threadgroups, time, directio, alignio, bufferedio, verbose,
-callout).
-
-
-
-Filesystems:
-
-Filesystems are specified to FFSB in the form of a directory. FFSB
-assumes that the filesystem is mounted at this directory and will not
-do any verification of this fact beyond ensuring it can read/write to
-the location. So be careful to ensure something with enough space to
-handle the dataset is in fact mounted at the specified location.
-
-In the filesystem clause of the profile, one may set the starting
-number of files and directories as well as a minimum and maximum
-filesize for the filesystem. One may also specify the blocksize
-used for creating the files separately in the filesystem clause.
-
-Also, if a filesystem is to be aged, a special threadgroup clause may
-be embedded in a filesystem clause to specify the operation mixture
-and number of threads used to age the filesystem. This threadgroup is
-run until filesystem utilization reaches the specified amount.
-
-Inheritance -- if you are using multiple filesystems, all attributes
-except the location should be inherited from the previous filesystem.
-This is done to make it easier to add groups of similar filesystems.
-In this case, only the location is required in the filesystem clause.
-
-As of version 5.1, filesystem re-use is supported if a given
-filesystem hasn't been modified beyond it's orginal specifications
-(number of files and directories is correct, and file sizes are within
-specifications). This can be a huge time saver if one wishes to do
-multiple runs on the same data-set without altering it during a run,
-because the fileset doesn't need to be recreated before each run.
-
-To do this, specify "reuse=1" in the filesystem clause, and FFSB will
-verify the fileset first, and if it checks out it will use it.
-Otherwise, it will remove everything and re-create the filesets for
-that filesystem.
-
-Threadgroups:
-
-An arbitrary number of threadgroups with differing numbers of threads
-and operation mixes can be specified. The operations are specified
-using a weighting for each operation, if an operation isn't specified
-it's weighting is assumed to be zero (not used).
-
-"Think-time" for a threadgroup may also be specified in millisecond
-amounts using the "op_delay" parameter, where every thread will wait
-for the specified amount between each operation.
-
-Operations:
-
-All operations begin by randomly selecting a filesystem from the list
-of filesystems specified in the profile. The distribution aims to be
-uniform across all filesystems.
-
-
-The seven operations are:
-
-reads - read() calls with an overall amount and a blocksize
- operates on existing files. Care must be taken to ensure
- that the read amount is smaller than the size of any possible
- file.
-
- If random_read is specified, then the each individual blocks
- will be read starting from a random point with the file, and
- this will continue until the entire amount specified has been
- read. This offset of each random block will be totally
- random to the byte level, unless the "alignio" global parameter
- is on, and then the reads will be 4096 byte aligned. This is
- generally recommended.
-
-
-readall - Very similar to read above, except it doesn't take an
- amount; it simply reads the entire file sequentially using the
- read_blocksize. This is useful for situations where
- different filesystems have differently sized files, and sequential
- read patterns across all filesystems are desired.
-
-writes - write() calls with an overall amount and blocksize
- this is an overwrite operation and will not enlarge an existing
- file, again one must be careful not to specify a write amount
- that is larger than any possible file in the data set.
-
- If random_write is specified, then the each individual blocks
- will be written starting from a random point with the file, and
- this will continue until the entire amount specified has been
- written out. This offset of each random block will be totally
- random to the byte level, unless the "alignio" global parameter
- is on, and then the writes will be 4096 byte aligned. This
- is generally recommended.
-
- If the fsync_flag parameter for the threadgroup is non-zero,
- then after all of the write calls are finished, fsync() will
- be called on the file descriptor before the file is closed.
-
-
-creates - creates a file using open() call and determines the size
- randomly between on the constraints (min_filesize and
- max_filesize) for the selected filesystem. Write operations will
- be done using the same blocksize as is specified for the
- write operation.
-deletes - calls unlink() on a filename and removes it from the
- internal data-structures. One must be careful to ensure
- there are enough files to delete at all times or else the benchmark
- will terminate.
-appends - calls write() using the append flag with an overall amount
- and a blocksize to be appended onto a randomly chosen file.
-metas - this is actually a mix of several different directory
- operations. Each "meta" operation consists of two directory
- creates, one directory remove, and a directory rename.
- These operations are all carried out separately from the
- other 5 operations.
-
-Operation accounting:
-
-Each operation which uses a blocksize counts each read/write of a
-blocksize as an operation (reads,writes,creates, and appends) whereas
-deletes and metas are considered single operations.
-
-Running the benchmark:
-
-There are three phases to running the benchmark, aging, fileset
-creates, and the benchmark phase.
-
-The create phase is carried out across all filesystems simultaneously
-with one dedicated thread per filesystem.
-
-After the create phase, sync() is called to ensure all dirty data gets
-written out before the benchmark phase begins, and sync() is again
-called at the end of the benchmark phase. The time in sync() at the
-end of the benchmark phase is counted as part of the benchmark phase.
-
-Caveats/Holes/Bugs:
-
-Aging and aging across multiple filesystems simultaneously hasn't been tested
-very much.
-
-If *any* i/o operation or system call/libc call fails, the benchmark
-will terminate immediately.
-
-The parser doesn't handle mal-formed or incorrect profiles very well
-(or at all).
-
-The parser doesn't check to make sure all of the appropriate options
-have been specified. For example, if writes are specified in a
-threadgroup but write_blocksize isn't specified, the parse won't catch
-it, but the benchmark run will fail later on.
-
-
-Configuration Files (new style):
-
-New Style Configuration allows for arbitrary newlines between lines,
-and comments using '#' at the start of a line. Also it allows tabs,
-whitespace before and after configuration parameters.
-
-The new style configuration file is broken up into three main parts:
-
-global parameters, filesystems, and threadgroups
-
-The sections must be in the above order.
-
-Global parameters:
-
-Global parameters are described above, the first three are always
-required. Example:
-
-----------
-
-num_filesystems=1
-num_threadgroups=1
-time=30 # time is in seconds
-
-directio=0 # don't use direct io
-alignio=1 # align random IOs to 4k
-bufferedio=0 # this does nothing right now
-verbose=0 # this does nothing right now
-
- # calls and external command and waits
- # everything until the newline is taken
- # so you can have abritrary parmeters
-callout=synchronize.sh myhostname
-
----------
-
-All of these must appear in this order, though you can leave out the
-optional ones.
-
-Filesystems:
-
-Filesystems describe different logical sets of files residing in
-different directorys. There is no strict requirement that they
-actually be on different filesystems, only that the directory
-specified already exists.
-
-Filesystems are specified by a clause with a filesystem number like
-this:
-
-[filesystem0]
- location=/mnt/testing/
- num_files=10
- num_dirs=1
- max_filesize=4096
- min_filesize=4096
-[end0]
-
-
-The clause must always begin with [filesystemX] and end with [endX]
-where X is the number of that filesystem.
-
-You should start wiht X = 0, and increment by one for each following
-filesystem. If they are out of order, things will likely break.
-
-The required information for each filesystem is: location, num_files,
-num_dirs, max_filesize, and min_filesize. Beyond those the following
-four options are supported:
-
-
-
-reuse=1 # check the filesystem to see if it is reusable
-
- # filesystem aging, three components required
- # takes agefs=1 to turn it on
- # then a valid threadgroup specification
- # then a desired utilization percentage
-
-agefs=1 # age the filesystem according to the following threadgroup
- [threadgroup0]
- num_threads=10
- write_size=40960
- write_blocksize=4096
- create_weight=10
- append_weight=10
- delete_weight=1
- [end0]
-desired_util=0.20 # In this case, age until the fs is 20% full
-
-create_blocksize=4096 # specify the blocksize to write()
- # for creating the fileset, defaults to 4096
-
-age_blocksize=4096 # specify the blocksize to write() for aging
-
-
-Also, to allow lazy people to use lots of filesystems, we support
-filesystem inheritance, which simply copies all options but the
-location from the previous filesystem clause if nothing is specified.
-Obviously, this doesn't work for filesystem0. (May not work for aging
-either?)
-
-Full blown filesystem clause example:
-
-----
-
-[filesystem0]
-
- # required parts
-
- location=/home/sonny/tmp
- num_files=100
- num_dirs=100
- max_filesize=65536
- min_filesize=4096
-
- # aging part
- agefs=0
- [threadgroup0]
- num_threads=10
- write_size=40960
- write_blocksize=4096
- create_weight=10
- append_weight=10
- delete_weight=1
- [end0]
- desired_util=0.02 # age until 2% full
-
- # other optional commands
-
- create_blocksize=1024 # use a small create blocksize
- age_blocksize=1024 # and smaller age create blocksize
- reuse=0 # don't reuse it
-[end0]
-
-
-
---
-
-Threadgroups:
-
-Threadgropus are very similar to filesystems in that any number of
-them can be specified in clauses, and they must be in order starting
-with threadgroup0.
-
-Example:
-
----
-
-[threadgroup0]
- num_threads=32
- read_weight=4
- append_weight=1
-
- write_size=4096
- write_blocksize=4096
-
- read_size=4096
- read_blocksize=4096
-[end0]
-
----
-
-In a threadgroup clause, num_threads is required and must be at least
-1. Then, at least one operation must be given a weight greater than 0
-to be a valid threadgroup. Operations can be given a weighting of 0,
-and in this case they are ignored.
-
-Certain operations will also require other commands, for example, if
-read_weight is greater than zero, then one must also include a
-read_size and a read_blocksize. Here's the table of requirements and
-options:
-
-
-Operation Requirements Options
--- -- --
-read_weight read_size, read_blocksize read_random
-readall_weight read_blocksize none
-write_weight write_size, write_blocksize write_random,fsync_file
-create_weight write_blocksize or create_blocksize none
-append_weight write_blocksize, write_size none
-delete_weight none none
-meta_weight none none
-
-
-
-Other threadgroup options:
-
-op_delay=10 # specify a wait between operations in milli-seconds
-
-bindfs=3 # This allows you to restrict a threadgroup's operation
- # to a specific filesystem number. Currently only
- # binding to one specific filesystem is supported
-
deleted file mode 100644
@@ -1,880 +0,0 @@
-# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008 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.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(AC_AUTOCONF_VERSION, [2.61],,
-[m4_warning([this file was generated for autoconf 2.61.
-You have another version of autoconf. It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007 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.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.10'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.10.1], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too. Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005 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.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
-# 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.
-
-# serial 8
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-# 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.
-
-# serial 9
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], UPC, [depcc="$UPC" am_compiler_list=],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# 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.
-
-#serial 3
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# 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.
-
-# serial 8
-
-# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008 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.
-
-# serial 13
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.60])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005 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.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005 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.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005 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.
-
-# serial 3
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
-# 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.
-
-# serial 5
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006 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.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
- [[\\/$]]* | ?:[[\\/]]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005 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.
-
-# serial 3
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# 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.
-
-# serial 4
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005 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.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006 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.
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005 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.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
deleted file mode 100644
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#include <stdlib.h>
-#include <assert.h>
-
-#include "cirlist.h"
-#include "util.h"
-
-void init_cirlist(struct cirlist *cl)
-{
- cl->count = 0;
- cl->head = NULL;
-}
-
-int cl_empty(struct cirlist *cl)
-{
- return !(cl->count);
-}
-
-void cl_insert_tail(struct cirlist *cl, cldatatype object)
-{
- struct cnode *new = ffsb_malloc(sizeof(struct cnode));
- new->obj = object;
- if (cl->count == 0) {
- assert(cl->head == NULL);
- cl->head = new;
- cl->head->next = cl->head;
- cl->head->prev = cl->head;
- cl->count = 1;
- } else {
- if (cl->count == 1) {
- assert(cl->head->next == cl->head);
- assert(cl->head->prev == cl->head);
- cl->head->next = new;
- cl->head->prev = new;
- new->next = cl->head;
- new->prev = cl->head;
- } else {
- assert(cl->head->next != cl->head);
- assert(cl->head->prev != cl->head);
-
- new->next = cl->head;
- new->prev = (cl->head)->prev;
- cl->head->prev->next = new;
- cl->head->prev = new;
- }
- cl->count++;
- }
-}
-
-cldatatype cl_remove_head(struct cirlist *cl)
-{
- struct cnode *oldhead = NULL;
- struct cnode *newhead = NULL;
- cldatatype ret = NULL;
-
- if (cl->count == 0) {
- assert(cl->head == NULL);
- return NULL;
- }
- if (cl->count == 1) {
- assert(cl->head->next == cl->head);
- assert(cl->head->prev == cl->head);
- oldhead = cl->head;
- cl->head = NULL;
- cl->count = 0;
- } else if (cl->count == 2) {
- oldhead = cl->head;
- newhead = oldhead->next;
- newhead->next = newhead;
- newhead->prev = newhead;
- cl->head = newhead;
- cl->count = 1;
- } else {
- assert(cl->head->next != cl->head);
- assert(cl->head->prev != cl->head);
- oldhead = cl->head;
- newhead = oldhead->next;
- newhead->prev = oldhead->prev;
- newhead->prev->next = newhead;
- cl->head = newhead;
- cl->count--;
- }
- ret = oldhead->obj;
- oldhead->obj = (void *)(-1);
- oldhead->next = (void *)(-1);
- oldhead->prev = (void *)(-1);
- free(oldhead);
-
- return ret;
-}
deleted file mode 100644
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef _CIRLIST_H
-#define _CIRLIST_H
-
-#include "filelist.h"
-
-typedef struct ffsb_file *cldatatype;
-
-struct cnode {
- cldatatype obj;
- struct cnode *next;
- struct cnode *prev;
-};
-
-struct cirlist {
- int count;
- struct cnode *head;
-};
-
-void init_cirlist(struct cirlist *cl);
-int cl_empty(struct cirlist *cl);
-void cl_insert_tail(struct cirlist *cl , cldatatype object);
-cldatatype cl_remove_head(struct cirlist *cl);
-
-#endif /* _CIRLIST_H */
deleted file mode 120000
@@ -1 +0,0 @@
-../../config.guess
\ No newline at end of file
deleted file mode 100644
@@ -1,130 +0,0 @@
-/* config.h.in. Generated from configure.in by autoheader. */
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* Define to 1 if you have the `fseeko64' function. */
-#undef HAVE_FSEEKO64
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#undef HAVE_GETTIMEOFDAY
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the `m' library (-lm). */
-#undef HAVE_LIBM
-
-/* Define to 1 if you have the `pthread' library (-lpthread). */
-#undef HAVE_LIBPTHREAD
-
-/* Define to 1 if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* Define to 1 if you have the `lrand48_r' function. */
-#undef HAVE_LRAND48_R
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `mkdir' function. */
-#undef HAVE_MKDIR
-
-/* Define to 1 if you have the `open64' function. */
-#undef HAVE_OPEN64
-
-/* Define to 1 if you have the <pthread.h> header file. */
-#undef HAVE_PTHREAD_H
-
-/* Define to 1 if you have the `srand48_r' function. */
-#undef HAVE_SRAND48_R
-
-/* Define to 1 if you have the `stat64' function. */
-#undef HAVE_STAT64
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strerror' function. */
-#undef HAVE_STRERROR
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `system' function. */
-#undef HAVE_SYSTEM
-
-/* Define to 1 if you have the <sys/limits.h> header file. */
-#undef HAVE_SYS_LIMITS_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <sys/vfs.h> header file. */
-#undef HAVE_SYS_VFS_H
-
-/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
-#undef HAVE_SYS_WAIT_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to 1 if the C compiler supports function prototypes. */
-#undef PROTOTYPES
-
-/* Define to 1 if the `setvbuf' function takes the buffering type as its
- second argument and the buffer pointer as the third, as on System V before
- release 3. */
-#undef SETVBUF_REVERSED
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Version number of package */
-#undef VERSION
-
-/* Define to 1 if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-
-/* Define like PROTOTYPES; this can be used by system headers. */
-#undef __PROTOTYPES
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
deleted file mode 120000
@@ -1 +0,0 @@
-../../config.sub
\ No newline at end of file
deleted file mode 100755
@@ -1,7000 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61.
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-if test "x$CONFIG_SHELL" = x; then
- if (eval ":") 2>/dev/null; then
- as_have_required=yes
-else
- as_have_required=no
-fi
-
- if test $as_have_required = yes && (eval ":
-(as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=\$LINENO
- as_lineno_2=\$LINENO
- test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
- test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
- :
-else
- as_candidate_shells=
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- case $as_dir in
- /*)
- for as_base in sh bash ksh sh5; do
- as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
- done;;
- esac
-done
-IFS=$as_save_IFS
-
-
- for as_shell in $as_candidate_shells $SHELL; do
- # Try only shells that exist, to save several forks.
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-_ASEOF
-}; then
- CONFIG_SHELL=$as_shell
- as_have_required=yes
- if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-(as_func_return () {
- (exit $1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
- break
-fi
-
-fi
-
- done
-
- if test "x$CONFIG_SHELL" != x; then
- for as_var in BASH_ENV ENV
- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- done
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
- if test $as_have_required = no; then
- echo This script requires a shell more modern than all the
- echo shells that I found on your system. Please install a
- echo modern shell, or manually run the script under such a
- echo shell if you do have one.
- { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
-
-
-(eval "as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0") || {
- echo No shell found that supports shell functions.
- echo Please tell autoconf@gnu.org about your system,
- echo including any error possibly output before this
- echo message
-}
-
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-
-exec 7<&0 </dev/null 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-
-ac_unique_file="main.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-am__isrc
-CYGPATH_W
-PACKAGE
-VERSION
-ACLOCAL
-AUTOCONF
-AUTOMAKE
-AUTOHEADER
-MAKEINFO
-install_sh
-STRIP
-INSTALL_STRIP_PROGRAM
-mkdir_p
-AWK
-SET_MAKE
-am__leading_dot
-AMTAR
-am__tar
-am__untar
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-CC
-CFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CC
-EXEEXT
-OBJEXT
-DEPDIR
-am__include
-am__quote
-AMDEP_TRUE
-AMDEP_FALSE
-AMDEPBACKSLASH
-CCDEPMODE
-am__fastdepCC_TRUE
-am__fastdepCC_FALSE
-CPP
-GREP
-EGREP
-LIBOBJS
-LTLIBOBJS'
-ac_subst_files=''
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute directory names.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; }
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- { echo "$as_me: error: Working directory cannot be determined" >&2
- { (exit 1); exit 1; }; }
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- { echo "$as_me: error: pwd does not report name of working directory" >&2
- { (exit 1); exit 1; }; }
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
- { (exit 1); exit 1; }; }
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-
- cat <<\_ACEOF
-
-Optional Features:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" || continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.61
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by $as_me, which was
-generated by GNU Autoconf 2.61. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- ac_configure_args="$ac_configure_args '$ac_arg'"
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -n "$CONFIG_SITE"; then
- set x "$CONFIG_SITE"
-elif test "x$prefix" != xNONE; then
- set x "$prefix/share/config.site" "$prefix/etc/config.site"
-else
- set x "$ac_default_prefix/share/config.site" \
- "$ac_default_prefix/etc/config.site"
-fi
-shift
-for ac_site_file
-do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-am__api_version='1.10'
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- done
- done
- ;;
-esac
-done
-IFS=$as_save_IFS
-
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
- { (exit 1); exit 1; }; }
-fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
-# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm -f conftest.sed
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
-if test -z "$MKDIR_P"; then
- if test "${ac_cv_path_mkdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
-done
-IFS=$as_save_IFS
-
-fi
-
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- test -d ./--version && rmdir ./--version
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-echo "${ECHO_T}$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- SET_MAKE=
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
- { (exit 1); exit 1; }; }
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE=ffsb
- VERSION=6.0-RC2
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-ac_config_headers="$ac_config_headers config.h"
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
- { (exit 1); exit 1; }; }
-
-{ echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
-if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
-if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-
-
-{ echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -V >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-#
-# List of possible output files, starting from the most likely.
-# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-# only as a last resort. b.out is created by i960 compilers.
-ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-#
-# The IRIX 6 linker writes into existing files which may not be
-# executable, retaining their permissions. Remove them first so a
-# subsequent execution test works.
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { (ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
-if test -z "$ac_file"; then
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6; }
-
-{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_compiler_gnu=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- CFLAGS=""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_c89=$ac_arg
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
- xno)
- { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CC" am_compiler_list=
-
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Extract the first word of "grep ggrep" to use in msg output
-if test -z "$GREP"; then
-set dummy grep ggrep; ac_prog_name=$2
-if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_path_GREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
- # Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- ac_count=`expr $ac_count + 1`
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-
- $ac_path_GREP_found && break 3
- done
-done
-
-done
-IFS=$as_save_IFS
-
-
-fi
-
-GREP="$ac_cv_path_GREP"
-if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-else
- ac_cv_path_GREP=$GREP
-fi
-
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- # Extract the first word of "egrep" to use in msg output
-if test -z "$EGREP"; then
-set dummy egrep; ac_prog_name=$2
-if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_path_EGREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
- # Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- ac_count=`expr $ac_count + 1`
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-
- $ac_path_EGREP_found && break 3
- done
-done
-
-done
-IFS=$as_save_IFS
-
-
-fi
-
-EGREP="$ac_cv_path_EGREP"
-if test -z "$EGREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
-
- fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-
-{ echo "$as_me:$LINENO: checking for AIX" >&5
-echo $ECHO_N "checking for AIX... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef _AIX
- yes
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define _ALL_SOURCE 1
-_ACEOF
-
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-rm -f conftest*
-
-
-
-case "${host}" in
- *aix*)
- CFLAGS="${CFLAGS} -D_THREAD_SAFE"
- ;;
- *linux*)
- CFLAGS="${CFLAGS} -D_REENTRANT"
- ;;
- *)
- echo "detected unknown platform : ${host} : compiles may fail"
- CFLAGS="${CFLAGS} -D_REENTRANT"
- ;;
-esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -V >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_compiler_gnu=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- CFLAGS=""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_c89=$ac_arg
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
- xno)
- { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CC" am_compiler_list=
-
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-
-
-{ echo "$as_me:$LINENO: checking for main in -lm" >&5
-echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6; }
-if test "${ac_cv_lib_m_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-return main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_m_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_m_main=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5
-echo "${ECHO_T}$ac_cv_lib_m_main" >&6; }
-if test $ac_cv_lib_m_main = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
- LIBS="-lm $LIBS"
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking for main in -lpthread" >&5
-echo $ECHO_N "checking for main in -lpthread... $ECHO_C" >&6; }
-if test "${ac_cv_lib_pthread_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpthread $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-return main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_pthread_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_pthread_main=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_main" >&5
-echo "${ECHO_T}$ac_cv_lib_pthread_main" >&6; }
-if test $ac_cv_lib_pthread_main = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBPTHREAD 1
-_ACEOF
-
- LIBS="-lpthread $LIBS"
-
-fi
-
-
-
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_header_stdc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_header_stdc=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-{ echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
-echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; }
-if test "${ac_cv_header_sys_wait_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/wait.h>
-#ifndef WEXITSTATUS
-# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
-#endif
-#ifndef WIFEXITED
-# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
-#endif
-
-int
-main ()
-{
- int s;
- wait (&s);
- s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_header_sys_wait_h=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_header_sys_wait_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
-echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; }
-if test $ac_cv_header_sys_wait_h = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_WAIT_H 1
-_ACEOF
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-
-
-
-
-
-for ac_header in pthread.h fcntl.h limits.h stdint.h sys/time.h unistd.h sys/vfs.h sys/limits.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
-echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; }
-if test "${ac_cv_c_const+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
- typedef int charset[2];
- const charset cs;
- /* SunOS 4.1.1 cc rejects this. */
- char const *const *pcpcc;
- char **ppc;
- /* NEC SVR4.0.2 mips cc rejects this. */
- struct point {int x, y;};
- static struct point const zero = {0,0};
- /* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in
- an arm of an if-expression whose if-part is not a constant
- expression */
- const char *g = "string";
- pcpcc = &g + (g ? g-g : 0);
- /* HPUX 7.0 cc rejects these. */
- ++pcpcc;
- ppc = (char**) pcpcc;
- pcpcc = (char const *const *) ppc;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
- if (s) return 0;
- }
- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
- }
- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
- }
- { /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
- }
- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
- if (!foo) return 0;
- }
- return !cs[0] && !zero.x;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_c_const=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_c_const=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
-echo "${ECHO_T}$ac_cv_c_const" >&6; }
-if test $ac_cv_c_const = no; then
-
-cat >>confdefs.h <<\_ACEOF
-#define const
-_ACEOF
-
-fi
-
-{ echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
-echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; }
-if test "${ac_cv_header_time+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-
-int
-main ()
-{
-if ((struct tm *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_header_time=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_header_time=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
-echo "${ECHO_T}$ac_cv_header_time" >&6; }
-if test $ac_cv_header_time = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define TIME_WITH_SYS_TIME 1
-_ACEOF
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking for function prototypes" >&5
-echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6; }
-if test "$ac_cv_prog_cc_c89" != no; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define PROTOTYPES 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define __PROTOTYPES 1
-_ACEOF
-
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-{ echo "$as_me:$LINENO: checking whether setvbuf arguments are reversed" >&5
-echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6; }
-if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_func_setvbuf_reversed=no
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdio.h>
-# ifdef PROTOTYPES
- int (setvbuf) (FILE *, int, char *, size_t);
-# endif
-int
-main ()
-{
-char buf; return setvbuf (stdout, _IOLBF, &buf, 1);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdio.h>
-# ifdef PROTOTYPES
- int (setvbuf) (FILE *, int, char *, size_t);
-# endif
-int
-main ()
-{
-char buf; return setvbuf (stdout, &buf, _IOLBF, 1);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- # It compiles and links either way, so it must not be declared
- # with a prototype and most likely this is a K&R C compiler.
- # Try running it.
- if test "$cross_compiling" = yes; then
- : # Assume setvbuf is not reversed when cross-compiling.
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-/* This call has the arguments reversed.
- A reversed system may check and see that the address of buf
- is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */
- char buf;
- if (setvbuf (stdout, _IOLBF, &buf, 1) != 0)
- return 1;
- putchar ('\r');
- return 0; /* Non-reversed systems SEGV here. */
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_setvbuf_reversed=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
- ac_cv_func_setvbuf_reversed=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_setvbuf_reversed" >&5
-echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6; }
-if test $ac_cv_func_setvbuf_reversed = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define SETVBUF_REVERSED 1
-_ACEOF
-
-fi
-
-
-
-
-
-
-
-
-
-
-for ac_func in system gettimeofday mkdir strerror open64 stat64 fseeko64 lrand48_r srand48_r
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-
-ac_config_files="$ac_config_files Makefile"
-
-ac_config_commands="$ac_config_commands default"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- test "x$cache_file" != "x/dev/null" &&
- { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
- else
- { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-
-# Save the log message, to keep $[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.61. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.61,
- with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2006 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- echo "$ac_cs_version"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- { echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
- echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- CONFIG_SHELL=$SHELL
- export CONFIG_SHELL
- exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
-
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp=
- trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-#
-# Set up the sed scripts for CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "$CONFIG_FILES"; then
-
-_ACEOF
-
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-am__isrc!$am__isrc$ac_delim
-CYGPATH_W!$CYGPATH_W$ac_delim
-PACKAGE!$PACKAGE$ac_delim
-VERSION!$VERSION$ac_delim
-ACLOCAL!$ACLOCAL$ac_delim
-AUTOCONF!$AUTOCONF$ac_delim
-AUTOMAKE!$AUTOMAKE$ac_delim
-AUTOHEADER!$AUTOHEADER$ac_delim
-MAKEINFO!$MAKEINFO$ac_delim
-install_sh!$install_sh$ac_delim
-STRIP!$STRIP$ac_delim
-INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-mkdir_p!$mkdir_p$ac_delim
-AWK!$AWK$ac_delim
-SET_MAKE!$SET_MAKE$ac_delim
-am__leading_dot!$am__leading_dot$ac_delim
-AMTAR!$AMTAR$ac_delim
-am__tar!$am__tar$ac_delim
-am__untar!$am__untar$ac_delim
-build!$build$ac_delim
-build_cpu!$build_cpu$ac_delim
-build_vendor!$build_vendor$ac_delim
-build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
-host_vendor!$host_vendor$ac_delim
-host_os!$host_os$ac_delim
-CC!$CC$ac_delim
-CFLAGS!$CFLAGS$ac_delim
-LDFLAGS!$LDFLAGS$ac_delim
-CPPFLAGS!$CPPFLAGS$ac_delim
-ac_ct_CC!$ac_ct_CC$ac_delim
-EXEEXT!$EXEEXT$ac_delim
-OBJEXT!$OBJEXT$ac_delim
-DEPDIR!$DEPDIR$ac_delim
-am__include!$am__include$ac_delim
-am__quote!$am__quote$ac_delim
-AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-CCDEPMODE!$CCDEPMODE$ac_delim
-am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-CPP!$CPP$ac_delim
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
-_ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 88; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
-
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
-_ACEOF
-
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[ ]*\):*/\1/
-s/:*$//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-fi # test -n "$CONFIG_FILES"
-
-
-for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
- { (exit 1); exit 1; }; };;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
- { (exit 1); exit 1; }; };;
- esac
- ac_file_inputs="$ac_file_inputs $ac_f"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input="Generated from "`IFS=:
- echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- fi
-
- case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin";;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { as_dir="$ac_dir"
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-
-case `sed -n '/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p
-' $ac_file_inputs` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
- { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&5
-echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&2;}
-
- rm -f "$tmp/stdin"
- case $ac_file in
- -) cat "$tmp/out"; rm -f "$tmp/out";;
- *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
- esac
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
-_ACEOF
-
-# Transform confdefs.h into a sed script `conftest.defines', that
-# substitutes the proper values into config.h.in to produce config.h.
-rm -f conftest.defines conftest.tail
-# First, append a space to every undef/define line, to ease matching.
-echo 's/$/ /' >conftest.defines
-# Then, protect against being on the right side of a sed subst, or in
-# an unquoted here document, in config.status. If some macros were
-# called several times there might be several #defines for the same
-# symbol, which is useless. But do not sort them, since the last
-# AC_DEFINE must be honored.
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-# NAME is the cpp macro being defined, VALUE is the value it is being given.
-# PARAMS is the parameter list in the macro definition--in most cases, it's
-# just an empty string.
-ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
-ac_dB='\\)[ (].*,\\1define\\2'
-ac_dC=' '
-ac_dD=' ,'
-
-uniq confdefs.h |
- sed -n '
- t rset
- :rset
- s/^[ ]*#[ ]*define[ ][ ]*//
- t ok
- d
- :ok
- s/[\\&,]/\\&/g
- s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
- s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
- ' >>conftest.defines
-
-# Remove the space that was appended to ease matching.
-# Then replace #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-# (The regexp can be short, since the line contains either #define or #undef.)
-echo 's/ $//
-s,^[ #]*u.*,/* & */,' >>conftest.defines
-
-# Break up conftest.defines:
-ac_max_sed_lines=50
-
-# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-# et cetera.
-ac_in='$ac_file_inputs'
-ac_out='"$tmp/out1"'
-ac_nxt='"$tmp/out2"'
-
-while :
-do
- # Write a here document:
- cat >>$CONFIG_STATUS <<_ACEOF
- # First, check the format of the line:
- cat >"\$tmp/defines.sed" <<\\CEOF
-/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
-/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
-b
-:def
-_ACEOF
- sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
- ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
- sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
- grep . conftest.tail >/dev/null || break
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines conftest.tail
-
-echo "ac_result=$ac_in" >>$CONFIG_STATUS
-cat >>$CONFIG_STATUS <<\_ACEOF
- if test x"$ac_file" != x-; then
- echo "/* $configure_input */" >"$tmp/config.h"
- cat "$ac_result" >>"$tmp/config.h"
- if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f $ac_file
- mv "$tmp/config.h" $ac_file
- fi
- else
- echo "/* $configure_input */"
- cat "$ac_result"
- fi
- rm -f "$tmp/out12"
-# Compute $ac_file's index in $config_headers.
-_am_arg=$ac_file
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
- :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { as_dir=$dirpart/$fdir
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
- ;;
- "default":C) echo timestamp > stamp-h ;;
-
- esac
-done # for ac_tag
-
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
-
deleted file mode 100644
@@ -1,50 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT([ffsb], [6.0-RC2])
-AC_CONFIG_SRCDIR([main.c])
-AM_INIT_AUTOMAKE([foreign])
-
-AM_CONFIG_HEADER(config.h)
-AC_CANONICAL_HOST
-
-dnl need to define _ALL_SOURCE and _THREAD_SAFE on AIX
-AC_AIX
-
-case "${host}" in
- *aix*)
- CFLAGS="${CFLAGS} -D_THREAD_SAFE"
- ;;
- *linux*)
- CFLAGS="${CFLAGS} -D_REENTRANT"
- ;;
- *)
- echo "detected unknown platform : ${host} : compiles may fail"
- CFLAGS="${CFLAGS} -D_REENTRANT"
- ;;
-esac
-
-dnl Checks for programs.
-AC_PROG_CC
-
-dnl Checks for libraries.
-dnl Replace `main' with a function in -lm:
-AC_CHECK_LIB(m, main)
-dnl Replace `main' with a function in -lpthread:
-AC_CHECK_LIB(pthread, main)
-
-
-dnl Checks for header files.
-AC_HEADER_STDC
-AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS(pthread.h fcntl.h limits.h stdint.h sys/time.h unistd.h sys/vfs.h sys/limits.h)
-
-dnl Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-AC_HEADER_TIME
-
-dnl Checks for library functions.
-AC_FUNC_SETVBUF_REVERSED
-AC_CHECK_FUNCS(system gettimeofday mkdir strerror open64 stat64 fseeko64 lrand48_r srand48_r)
-
-AC_SUBST(CFLAGS)
-AC_SUBST(CC)
-AC_OUTPUT(Makefile, echo timestamp > stamp-h)
deleted file mode 100755
@@ -1,472 +0,0 @@
-#! /bin/sh
-
-# depcomp - compile a program generating dependencies as side-effects
-# Copyright 1999, 2000 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
- echo "depcomp: Variables source, object and depmode must be set" 1>&2
- exit 1
-fi
-# `libtool' can also be set to `yes' or `no'.
-
-if test -z "$depfile"; then
- base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
- dir=`echo "$object" | sed 's,/.*$,/,'`
- if test "$dir" = "$object"; then
- dir=
- fi
- # FIXME: should be _deps on DOS.
- depfile="$dir.deps/$base"
-fi
-
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags. We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write. Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
- # HP compiler uses -M and no extra arg.
- gccflag=-M
- depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want. Yay! Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff. Hmm.
- "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- mv "$tmpdepfile" "$depfile"
- ;;
-
-gcc)
-## There are various ways to get dependency output from gcc. Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-## up in a subdir. Having to rename by hand is ugly.
-## (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-## than renaming).
- if test -z "$gccflag"; then
- gccflag=-MD,
- fi
- "$@" -Wp,"$gccflag$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
- sed -e 's/^[^:]*: / /' \
- -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header). We avoid this by adding
-## dummy dependencies for each header file. Too bad gcc doesn't do
-## this for us directly.
- tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'. On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-hp)
- # This case exists only to let depend.m4 do its work. It works by
- # looking at the text of this script. This case will never be run,
- # since it is checked for above.
- exit 1
- ;;
-
-sgi)
- if test "$libtool" = yes; then
- "$@" "-Wp,-MDupdate,$tmpdepfile"
- else
- "$@" -MDupdate "$tmpdepfile"
- fi
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
-
- if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
- echo "$object : \\" > "$depfile"
-
- # Clip off the initial element (the dependent). Don't try to be
- # clever and replace this with sed code, as IRIX sed won't handle
- # lines with more than a fixed number of characters (4096 in
- # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like `#:fec' to the end of the
- # dependency line.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr '
-' ' ' >> $depfile
- echo >> $depfile
-
- # The second pass generates a dummy entry for each header file.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> $depfile
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-aix)
- # The C for AIX Compiler uses -M and outputs the dependencies
- # in a .u file. This file always lives in the current directory.
- # Also, the AIX compiler puts `$object:' at the start of each line;
- # $object doesn't have directory information.
- stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
- tmpdepfile="$stripped.u"
- outname="$stripped.o"
- if test "$libtool" = yes; then
- "$@" -Wc,-M
- else
- "$@" -M
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
-
- if test -f "$tmpdepfile"; then
- # Each line is of the form `foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
- sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-icc)
- # Intel's C compiler understands `-MD -MF file'. However on
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want:
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
- # foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using \ :
- # foo.o: sub/foo.c ... \
- # sub/foo.h ... \
- # ...
-
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- # Each line is of the form `foo.o: dependent.h',
- # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
- # Some versions of the HPUX 10.20 sed can't process this invocation
- # correctly. Breaking it into two sed invocations is a workaround.
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
- sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in `foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- tmpdepfile1="$dir.libs/$base.lo.d"
- tmpdepfile2="$dir.libs/$base.d"
- "$@" -Wc,-MD
- else
- tmpdepfile1="$dir$base.o.d"
- tmpdepfile2="$dir$base.d"
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2"
- exit $stat
- fi
-
- if test -f "$tmpdepfile1"; then
- tmpdepfile="$tmpdepfile1"
- else
- tmpdepfile="$tmpdepfile2"
- fi
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a space and a tab in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-#nosideeffect)
- # This comment above is used by automake to tell side-effect
- # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
- # Important note: in order to support this mode, a compiler *must*
- # always write the proprocessed file to stdout, regardless of -o.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for `:'
- # in the target name. This is to cope with DOS-style filenames:
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
- "$@" $dashmflag |
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-dashXmstdout)
- # This case only exists to satisfy depend.m4. It is never actually
- # run, as this mode is specially recognized in the preamble.
- exit 1
- ;;
-
-makedepend)
- "$@" || exit $?
- # Remove any Libtool call
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
- # X makedepend
- shift
- cleared=no
- for arg in "$@"; do
- case $cleared in
- no)
- set ""; shift
- cleared=yes ;;
- esac
- case "$arg" in
- -D*|-I*)
- set fnord "$@" "$arg"; shift ;;
- # Strip any option that makedepend may not understand. Remove
- # the object too, otherwise makedepend will parse it as a source file.
- -*|$object)
- ;;
- *)
- set fnord "$@" "$arg"; shift ;;
- esac
- done
- obj_suffix="`echo $object | sed 's/^.*\././'`"
- touch "$tmpdepfile"
- ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile" "$tmpdepfile".bak
- ;;
-
-cpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the proprocessed file to stdout.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- "$@" -E |
- sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- cat < "$tmpdepfile" >> "$depfile"
- sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-msvisualcpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the proprocessed file to stdout, regardless of -o,
- # because we must use -o when running libtool.
- "$@" || exit $?
- IFS=" "
- for arg
- do
- case "$arg" in
- "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
- esac
- done
- "$@" -E |
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
- echo " " >> "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-none)
- exec "$@"
- ;;
-
-*)
- echo "Unknown depmode $depmode" 1>&2
- exit 1
- ;;
-esac
-
-exit 0
deleted file mode 100644
@@ -1,119 +0,0 @@
-directio = 0
-time = 10
-
-[filesystem]
- location = /mnt/test1
-
- num_dirs = 100
-
- size_weight 4k 33
- size_weight 8k 21
- size_weight 16k 13
- size_weight 32k 10
- size_weight 64k 8
- size_weight 128k 5
- size_weight 256k 4
- size_weight 512k 3
- size_weight 8m 2
- size_weight 32m 1
-# size_weight 1g 1
-
-# min_filesize = 4k
-# max_filesize = 10m
-
-# num_files = 0
- init_size = 100m
-# init_size = 6GB
-# init_size = 1gb
-# init_util = 0.002
-
- agefs = 0
- [threadgroup]
- num_threads = 10
- write_size = 400
- write_blocksize = 1024
- create_weight = 10
- append_weight = 10
- delete_weight = 1
- [end]
- desired_util = 0.005
-
-
-[end]
-
-#[filesystem]
-# location = /mnt/test1
-# clone = /mnt/test2
-#[end]
-
-[threadgroup]
- num_threads = 4
-
-# bindfs = /mnt/test1
-
- append_weight = 1
- append_fsync_weight = 1
- stat_weight = 1
-# write_weight = 1
-# write_fsync_weight = 1
-# read_weight = 1
- create_weight = 1
- create_fsync_weight = 1
- delete_weight = 1
- readall_weight = 1
- writeall_weight = 1
- writeall_fsync_weight = 1
- open_close_weight = 1
-
- read_random = 0
- write_random = 0
-
- write_size = 40k
- write_blocksize = 4k
- read_size = 40k
- read_blocksize = 4k
-
- op_delay = 0
-
- [stats]
- enable_stats = 1
- enable_range = 0
-
-# ignore = close
-# ignore = open
-# ignore = lseek
-# ignore = write
-# ignore = read
-
- msec_range 0.00 0.01
- msec_range 0.01 0.02
- msec_range 0.02 0.03
- msec_range 0.03 0.04
- msec_range 0.04 0.05
- msec_range 0.05 0.1
- msec_range 0.1 0.2
- msec_range 0.2 0.5
- msec_range 0.5 1.0
- msec_range 1.0 2.0
- msec_range 2.0 3.0
- msec_range 3.0 4.0
- msec_range 4.0 5.0
- msec_range 5.0 10.0
- msec_range 10.0 10000.0
- [end]
-[end]
-
-#[threadgroup]
-# num_threads = 1
-#
-# readall_weight = 0
-# writeall_weight = 0
-# createdir_weight = 0
-#
-# write_size = 4096
-# write_blocksize = 4096
-# read_size = 4096
-# read_blocksize = 4096
-#
-# op_delay = 12
-#[end]
deleted file mode 100644
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef _FFSB_H_
-#define _FFSB_H_
-
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "config.h"
-
-#include "ffsb_op.h"
-#include "ffsb_tg.h"
-#include "ffsb_fs.h"
-
-/*
- * The main thread wakes up once in so many seconds to check elapsed
- * time this is a tunable for that sleep interval in seconds
- */
-
-#define FFSB_TG_WAIT_TIME (1)
-
-#define MARK printf("MARK FUNC: %s() @ %s:%d\n", __FUNCTION__, __FILE__, __LINE__);
-
-struct results {
- struct rusage before;
- struct rusage after;
- double runtime;
- double cputime;
- double cpu_before;
- double cpu_after;
- double cpu_total;
-};
-
-struct ffsb_tg;
-struct ffsb_fs;
-
-typedef struct profile_config {
- struct config_options *global;
- struct container *fs_container;
- struct container *tg_container;
-} profile_config_t;
-
-typedef struct ffsb_config {
- unsigned time;
-
- unsigned num_filesys;
- unsigned num_threadgroups;
-
- int num_totalthreads; /* gets calculated after init() */
-
- struct ffsb_tg *groups;
- struct ffsb_fs *filesystems;
-
- struct profile_config *profile_conf;
- char *callout; /* we will try and exec this */
-
- struct results results;
-} ffsb_config_t;
-
-void init_ffsb_config(ffsb_config_t *fc, unsigned num_fs, unsigned num_tg);
-
-/*
- * this is kind of like a special case "constructor" which is only
- * used by fs-aging code to build a fake config for the aging tg
- */
-void init_ffsb_config_1fs(ffsb_config_t *fc, struct ffsb_fs *fs,
- struct ffsb_tg *tg);
-
-void destroy_ffsb_config(ffsb_config_t *fc);
-
-/* getters/setters, parser only should use setters */
-
-void fc_set_time(ffsb_config_t *fc, unsigned time);
-
-void fc_set_num_totalthreads(ffsb_config_t *fc, int num);
-
-/* num is zero-based */
-/* get a particular threadgroup object */
-struct ffsb_tg *fc_get_tg(ffsb_config_t *fc, unsigned num);
-
-/* get a particular filesystem object */
-struct ffsb_fs *fc_get_fs(ffsb_config_t *fc, unsigned num);
-
-void fc_set_callout(ffsb_config_t *fc, char *callout);
-char *fc_get_callout(ffsb_config_t *fc);
-
-#endif
deleted file mode 100644
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#include <pthread.h>
-#include <sys/time.h>
-#include <sys/times.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <pthread.h>
-
-#include <assert.h>
-
-#include "config.h"
-
-#include "ffsb.h"
-#include "util.h"
-#include "parser.h"
-
-void init_ffsb_config(ffsb_config_t * fc, unsigned num_fs, unsigned num_tg)
-{
- memset(fc, 0, sizeof(ffsb_config_t));
-
- fc->num_totalthreads = -1;
- fc->num_threadgroups = num_tg;
- fc->num_filesys = num_fs;
-
- fc->groups = ffsb_malloc(sizeof(ffsb_tg_t) * num_tg);
- fc->filesystems = ffsb_malloc(sizeof(ffsb_fs_t) * num_fs);
-}
-
-void init_ffsb_config_1fs(ffsb_config_t * fc, ffsb_fs_t * fs, ffsb_tg_t * tg)
-{
- memset(fc, 0, sizeof(*fc));
-
- fc->num_totalthreads = tg_get_numthreads(tg);
- fc->num_threadgroups = 1;
- fc->num_filesys = 1;
-
- fc->groups = tg;
- fc->filesystems = fs;
-}
-
-void destroy_ffsb_config(ffsb_config_t * fc)
-{
- int i;
- for (i = 0; i < fc->num_filesys; i++)
- destroy_ffsb_fs(&fc->filesystems[i]);
-
- for (i = 0; i < fc->num_threadgroups; i++)
- destroy_ffsb_tg(&fc->groups[i]);
-
- free(fc->groups);
- free(fc->filesystems);
-}
-
-void fc_set_time(ffsb_config_t * fc, unsigned time)
-{
- fc->time = time;
-}
-
-unsigned fc_get_num_filesys(ffsb_config_t * fc)
-{
- return fc->num_filesys;
-}
-
-struct ffsb_tg *fc_get_tg(ffsb_config_t * fc, unsigned num)
-{
- assert(num < fc->num_threadgroups);
- return &fc->groups[num];
-}
-
-struct ffsb_fs *fc_get_fs(ffsb_config_t * fc, unsigned num)
-{
- assert(num < fc->num_filesys);
- return &fc->filesystems[num];
-}
-
-void fc_set_num_totalthreads(ffsb_config_t * fc, int num)
-{
- assert(num > 0);
- fc->num_totalthreads = num;
-}
-
-void fc_set_callout(ffsb_config_t * fc, char *callout)
-{
- free(fc->callout);
- fc->callout = ffsb_strdup(callout);
-}
-
-char *fc_get_callout(ffsb_config_t * fc)
-{
- return fc->callout;
-}
deleted file mode 100644
@@ -1,630 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <dirent.h>
-#include <fcntl.h>
-
-#include "ffsb_fs.h"
-#include "util.h"
-#include "fh.h"
-
-/* First zero out struct, set num_dirs, and strdups basedir */
-void init_ffsb_fs(ffsb_fs_t * fs, char *basedir, uint32_t num_data_dirs,
- uint32_t numstartfiles, unsigned flags)
-{
- memset(fs, 0, sizeof(ffsb_fs_t));
- fs->basedir = ffsb_strdup(basedir);
- fs->num_dirs = num_data_dirs;
- fs->num_start_files = numstartfiles;
- fs->flags = flags;
- fs->create_blocksize = FFSB_FS_DEFAULT_CREATE_BLOCKSIZE;
- fs->age_blocksize = FFSB_FS_DEFAULT_AGE_BLOCKSIZE;
- fs->age_fs = 0;
-}
-
-/*
- * Does not remove files/dirs on disk, only frees up data
- * structures
-*/
-void destroy_ffsb_fs(ffsb_fs_t * fs)
-{
- free(fs->basedir);
- destroy_filelist(&fs->files);
- destroy_filelist(&fs->fill);
- destroy_filelist(&fs->meta);
-}
-
-void clone_ffsb_fs(ffsb_fs_t * target, ffsb_fs_t * orig)
-{
- target->basedir = orig->basedir;
- target->flags = orig->flags;
-
- /* !!!! hackish, write a filelist_clone() function later */
- memcpy(&target->files, &orig->files, sizeof(orig->files));
- memcpy(&target->fill, &orig->fill, sizeof(orig->fill));
- memcpy(&target->meta, &orig->meta, sizeof(orig->meta));
-
- target->num_dirs = orig->num_dirs;
- target->num_start_files = orig->num_start_files;
- target->minfilesize = orig->minfilesize;
- target->maxfilesize = orig->maxfilesize;
-
- target->start_fsutil = orig->start_fsutil;
- target->desired_fsutil = orig->desired_fsutil;
-
- target->age_fs = orig->age_fs;
- target->num_age_dirs = orig->num_age_dirs;
- target->aging_tg = orig->aging_tg;
-
- target->create_blocksize = orig->create_blocksize;
- target->age_blocksize = orig->age_blocksize;
-
- memcpy(target->op_data, orig->op_data, sizeof(void *) * FFSB_NUMOPS);
-}
-
-static void add_files(ffsb_fs_t * fs, struct benchfiles *bf, int num,
- uint64_t minsize, uint64_t maxsize, unsigned blocksize)
-{
- struct ffsb_file *cur;
- int i, fd, condition = 0, has_directio = 0;
- randdata_t rd;
- char *buf = ffsb_malloc(blocksize);
- uint64_t initial_free = getfsutil_size(fs->basedir);
-
- if (fs_get_directio(fs)) {
- has_directio = 1;
- fs_set_directio(fs, 0);
- }
-
- assert(blocksize);
-
- init_random(&rd, 0);
-
- if (num)
- condition = num;
- else if (fs->init_size) {
- if (getfsutil(fs->basedir) != initial_free ||
- fs->init_size > (getfsutil_size(fs->basedir) -
- initial_free))
- condition = 1;
- else
- condition = 0;
- } else if (fs->init_fsutil) {
- if (fs->init_fsutil > getfsutil(fs->basedir))
- condition = 1;
- else
- condition = 0;
- }
-
- while (condition) {
- uint64_t size;
- if (fs->num_weights) {
- int num = 1 + getrandom(&rd, fs->sum_weights);
- int curop = 0;
-
- while (fs->size_weights[curop].weight < num) {
- num -= fs->size_weights[curop].weight;
- curop++;
- }
- size = fs->size_weights[curop].size;
- } else
- size = minsize + getllrandom(&rd, maxsize - minsize);
-
- cur = add_file(bf, size, &rd);
- fd = fhopencreate(cur->name, NULL, fs);
- writefile_helper(fd, size, blocksize, buf, NULL, fs);
- fhclose(fd, NULL, fs);
- unlock_file_writer(cur);
-
- if (num)
- condition--;
- else if (fs->init_size) {
- if (fs->init_size > getfsutil_size(fs->basedir) -
- initial_free)
- condition = 1;
- else
- condition = 0;
- } else if (fs->init_fsutil) {
- if (fs->init_fsutil > getfsutil(fs->basedir))
- condition = 1;
- else
- condition = 0;
- }
-
- }
- free(buf);
- if (has_directio)
- fs_set_directio(fs, 1);
-}
-
-static void age_fs(ffsb_fs_t * fs, double utilization);
-static ffsb_fs_t *construct_new_fileset(ffsb_fs_t * fs);
-static ffsb_fs_t *check_existing_fileset(ffsb_fs_t * fs);
-
-void *construct_ffsb_fs(void *data)
-{
- ffsb_fs_t *fs = (ffsb_fs_t *) data;
- ffsb_fs_t *ret = NULL;
-
- if (fs_get_reuse_fs(fs)) {
- printf("checking existing fs: %s\n", fs->basedir);
- ret = check_existing_fileset(fs);
- if (ret == NULL) {
- printf("recreating new fileset\n");
- ret = construct_new_fileset(fs);
- }
- } else {
- printf("creating new fileset %s\n", fs->basedir);
- ret = construct_new_fileset(fs);
- }
- if (ret == NULL) {
- printf("fs setup on %s failed\n", fs->basedir);
- exit(1);
- }
- return ret;
-}
-
-static int verify_file(struct benchfiles *bf, char *fname, void *fs_ptr)
-{
- ffsb_fs_t *fs = (ffsb_fs_t *) fs_ptr;
- uint64_t minsize = fs->minfilesize;
- uint64_t maxsize = fs->maxfilesize;
- uint64_t filesize = 0;
- int fd = 0;
- DIR *dirptr = NULL;
-
- /* If it is a directory and it passed the name verification we
- * don't need to do anything here
- */
- dirptr = opendir(fname);
- if (dirptr) {
- closedir(dirptr);
- return 0;
- }
-
- fd = open(fname, O_RDONLY);
- /* If we can't open it for read we're done */
- if (fd < 0) {
- printf("verify_file: error opening %s for readonly\n", fname);
- perror(fname);
- return 1;
- }
- close(fd);
- filesize = ffsb_get_filesize(fname);
-
- if (filesize < minsize || filesize > maxsize) {
- printf("size %llu bytes for file %s is invalid\n",
- filesize, fname);
- return 1;
- }
-
- return 0;
-}
-
-/* Record the number of files and directorys there are supposed to be
- * grab (check and build the structures) the regular data fileset then
- * check to make sure the number of directories and files in that
- * filelist matches up. Then grab the meta filelist and verify that
- * the meta filelist is empty. Set up the filelist for fill (aging)
- * and setup the ops for the benchmark.
-*/
-static ffsb_fs_t *check_existing_fileset(ffsb_fs_t * fs)
-{
- char buf[FILENAME_MAX * 3];
- int retval = 0;
- uint32_t num_dirs = fs->num_dirs;
- uint32_t num_files = fs->num_start_files;
-
- if (fs->age_fs) {
- printf("Aging and reusing the fileset are mutually "
- "exclusive\n");
- printf("aborting\n");
- return NULL;
- }
-
- /* Set up bench/age dir */
- if (FILENAME_MAX <=
- snprintf(buf, FILENAME_MAX, "%s/%s", fs->basedir, FILES_BASE)) {
- printf("pathname \"%s\" is too long, aborting\n", buf);
- return NULL;
- }
-
- /* Make a "dummy" filelist that has numsubdirs set to 0 and
- * numstartfiles set to 0
- */
- init_filelist(&fs->files, buf, FILES_BASE, 0, 0);
-
- retval = grab_old_fileset(&fs->files, buf, verify_file, fs);
-
- if (retval)
- return NULL;
-
- if ((get_listsize(&fs->files) != num_files) ||
- (get_numsubdirs(&fs->files) != num_dirs)) {
- printf("check_existing_fileset: number of files (%u)"
- " or directorys (%u) don't match up\n",
- get_listsize(&fs->files), get_numsubdirs(&fs->files));
- destroy_filelist(&fs->files);
- return NULL;
- }
-
- if (FILENAME_MAX <=
- snprintf(buf, FILENAME_MAX, "%s/%s", fs->basedir, META_BASE)) {
- printf("pathname \"%s\" is too long, aborting\n", buf);
- return NULL;
- }
-
- init_filelist(&fs->meta, buf, META_BASE, 0, 1);
- retval = grab_old_fileset(&fs->meta, buf, verify_file, fs);
-
- if (retval) {
- destroy_filelist(&fs->files);
- return NULL;
- }
-
- if ((get_listsize(&fs->meta) != 0) || (get_numsubdirs(&fs->meta) != 0)) {
- printf("check_existing_fileset: meta directory isn't empty\n"
- "aborting\n");
- destroy_filelist(&fs->files);
- destroy_filelist(&fs->meta);
- return NULL;
- }
-
- /* Even though we won't use it, we still need to be consistent
- * here.
- */
- init_filelist(&fs->fill, buf, AGE_BASE, 0, 0);
-
- /* Have to do this or everything else could break. */
- ops_setup_bench(fs);
-
- return fs;
-}
-
-/*
- * clean up fs, "rm -rf data meta"
- * record utilization
- * set up the dirs: files, meta
- * age filesystem
- * have ffsb_ops setup their data
- * create starting files in files
- */
-static ffsb_fs_t *construct_new_fileset(ffsb_fs_t * fs)
-{
- char buf[FILENAME_MAX * 3];
-
- /* TODO: Convert this quick and dirty rm -rf to a "real"
- * programmatic version, that doesn't rely on the rm command.
- */
- if (FILENAME_MAX * 3 <= snprintf(buf, FILENAME_MAX * 3,
- "rm -rf %s/data %s/meta",
- fs->basedir, fs->basedir)) {
- printf("pathname too long for command \"%s\"\n", buf);
- return NULL;
- }
-
- if (ffsb_system(buf) < 0) {
- perror(buf);
- return NULL;
- }
-
- fs->start_fsutil = getfsutil(fs->basedir);
-
- /* Set up bench/age dir */
- if (FILENAME_MAX <=
- snprintf(buf, FILENAME_MAX, "%s/%s", fs->basedir, FILES_BASE)) {
- printf("pathname \"%s\" is too long, aborting\n", buf);
- return NULL;
- }
-
- ffsb_mkdir(buf);
-
- /* Regular files and aging share this directory */
- init_filelist(&fs->files, buf, FILES_BASE, fs->num_dirs, 1);
- init_filelist(&fs->fill, buf, AGE_BASE, fs->num_age_dirs, 1);
-
- /* Set up meta dir */
- snprintf(buf, FILENAME_MAX, "%s/%s", fs->basedir, META_BASE);
-
- ffsb_mkdir(buf);
-
- init_filelist(&fs->meta, buf, META_BASE, 0, 1);
-
- /* Do aging */
- if (fs->age_fs)
- age_fs(fs, fs->desired_fsutil);
-
- /* Call back into ops, set for benchmark */
- ops_setup_bench(fs);
-
- /* Create initial fileset */
- add_files(fs, &fs->files, fs->num_start_files, fs->minfilesize,
- fs->maxfilesize, fs->create_blocksize);
- return fs;
-}
-
-struct poll_data {
- ffsb_fs_t *fs;
- double util;
-};
-
-static int fs_get_util(void *data)
-{
- struct poll_data *pd = (struct poll_data *)data;
- double fsutil = getfsutil(pd->fs->basedir);
-
- if (fsutil >= pd->util)
- return 1;
-
- return 0;
-}
-
-static void age_fs(ffsb_fs_t * fs, double utilization)
-{
- ffsb_barrier_t barrier;
- pthread_t thread;
- struct poll_data pdata;
- ffsb_tg_t *tg = fs_get_aging_tg(fs);
- tg_run_params_t params;
- ffsb_config_t fc;
-
- printf("aging fs %s from %.2lf to %.2lf\n", fs->basedir,
- fs->start_fsutil, utilization);
- ffsb_barrier_init(&barrier, tg_get_numthreads(tg));
-
- init_ffsb_config_1fs(&fc, fs, tg);
-
- pdata.fs = fs;
- pdata.util = utilization;
-
- params.tg = tg;
- params.poll_fn = fs_get_util;
- params.poll_data = &pdata;
- params.wait_time = 1;
- params.fc = &fc;
-
- params.tg_barrier = NULL;
- params.thread_barrier = &barrier;
-
- /* Call back into ops, setup for aging */
- ops_setup_age(fs);
-
- /* Throw in some files to start off, so there's something */
- add_files(fs, &fs->fill, 10, 0, 0, fs->age_blocksize);
-
- pthread_create(&thread, NULL, tg_run, ¶ms);
- pthread_join(thread, NULL);
-}
-
-void fs_set_create_blocksize(ffsb_fs_t * fs, uint32_t blocksize)
-{
- fs->create_blocksize = blocksize;
-}
-
-void fs_set_age_blocksize(ffsb_fs_t * fs, uint32_t blocksize)
-{
- fs->age_blocksize = blocksize;
-}
-
-uint32_t fs_get_create_blocksize(ffsb_fs_t * fs)
-{
- return fs->create_blocksize;
-}
-
-uint32_t fs_get_age_blocksize(ffsb_fs_t * fs)
-{
- return fs->age_blocksize;
-}
-
-char *fs_get_basedir(ffsb_fs_t * fs)
-{
- return fs->basedir;
-}
-
-uint32_t fs_get_numstartfiles(ffsb_fs_t * fs)
-{
- return fs->num_start_files;
-}
-
-uint32_t fs_get_numdirs(ffsb_fs_t * fs)
-{
- return fs->num_dirs;
-}
-
-int fs_get_libcio(ffsb_fs_t * fs)
-{
- return fs->flags & FFSB_FS_LIBCIO;
-}
-
-void fs_set_libcio(ffsb_fs_t * fs, int lio)
-{
- if (lio)
- fs->flags |= FFSB_FS_LIBCIO;
- else
- fs->flags &= ~0 & ~FFSB_FS_LIBCIO;
-}
-
-int fs_get_directio(ffsb_fs_t * fs)
-{
- return fs->flags & FFSB_FS_DIRECTIO;
-}
-
-void fs_set_directio(ffsb_fs_t * fs, int dio)
-{
- if (dio)
- fs->flags |= FFSB_FS_DIRECTIO;
- else
- fs->flags &= ~0 & ~FFSB_FS_DIRECTIO;
-}
-
-int fs_get_alignio(ffsb_fs_t * fs)
-{
- return fs->flags & FFSB_FS_ALIGNIO4K;
-}
-
-void fs_set_alignio(ffsb_fs_t * fs, int aio)
-{
- if (aio)
- fs->flags |= FFSB_FS_ALIGNIO4K;
- else
- fs->flags &= ~0 & ~FFSB_FS_ALIGNIO4K;
-}
-
-int fs_get_reuse_fs(ffsb_fs_t * fs)
-{
- return fs->flags & FFSB_FS_REUSE_FS;
-}
-
-void fs_set_reuse_fs(ffsb_fs_t * fs, int rfs)
-{
- if (rfs)
- fs->flags |= FFSB_FS_REUSE_FS;
- else
- fs->flags &= ~0 & ~FFSB_FS_REUSE_FS;
-}
-
-struct benchfiles *fs_get_datafiles(ffsb_fs_t * fs)
-{
- return &fs->files;
-}
-
-struct benchfiles *fs_get_metafiles(ffsb_fs_t * fs)
-{
- return &fs->meta;
-}
-
-struct benchfiles *fs_get_agefiles(ffsb_fs_t * fs)
-{
- return &fs->fill;
-}
-
-void fs_set_aging_tg(ffsb_fs_t * fs, struct ffsb_tg *tg, double util)
-{
- fs->aging_tg = tg;
- fs->age_fs = 1;
- fs->desired_fsutil = util;
-}
-
-struct ffsb_tg *fs_get_aging_tg(ffsb_fs_t * fs)
-{
- return fs->aging_tg;
-}
-
-int fs_get_agefs(ffsb_fs_t * fs)
-{
- return fs->age_fs;
-}
-
-/* TODO: Implement this!!!*/
-void fs_set_num_age_dirs(ffsb_fs_t * fs, uint32_t numdirs)
-{
- fs->num_age_dirs = numdirs;
-}
-
-void fs_set_opdata(ffsb_fs_t * fs, void *data, unsigned opnum)
-{
- fs->op_data[opnum] = data;
-}
-
-void *fs_get_opdata(ffsb_fs_t * fs, unsigned opnum)
-{
- return fs->op_data[opnum];
-}
-
-void fs_set_min_filesize(ffsb_fs_t * fs, uint64_t size)
-{
- fs->minfilesize = size;
-}
-
-void fs_set_max_filesize(ffsb_fs_t * fs, uint64_t size)
-{
- fs->maxfilesize = size;
-}
-
-uint64_t fs_get_min_filesize(ffsb_fs_t * fs)
-{
- return fs->minfilesize;
-}
-
-uint64_t fs_get_max_filesize(ffsb_fs_t * fs)
-{
- return fs->maxfilesize;
-}
-
-double fs_get_desired_fsutil(ffsb_fs_t * fs)
-{
- return fs->desired_fsutil;
-}
-
-void fs_print_config(ffsb_fs_t * fs)
-{
- char buf[256];
-
- printf("FileSystem %s\n", fs->basedir);
- printf("==========\n");
- printf("\t num_dirs = %u\n", fs->num_dirs);
- printf("\t starting files = %u\n", fs->num_start_files);
- printf("\t\n");
- if (fs->num_weights) {
- int i;
- printf("\t Fileset weight:\n");
- for (i = 0; i < fs->num_weights; i++)
- printf("\t\t %12llu (%6s) -> %u (%.2f\%)\n",
- fs->size_weights[i].size,
- ffsb_printsize(buf, fs->size_weights[i].size,
- 256), fs->size_weights[i].weight,
- ((float)fs->size_weights[i].weight /
- (float)fs->sum_weights) * 100);
- } else {
- printf("\t min file size = %llu\t(%s)\n", fs->minfilesize,
- ffsb_printsize(buf, fs->minfilesize, 256));
- printf("\t max file size = %llu\t(%s)\n", fs->maxfilesize,
- ffsb_printsize(buf, fs->maxfilesize, 256));
- }
- printf("\t directio = %s\n", (fs->flags & FFSB_FS_DIRECTIO) ?
- "on" : "off");
- printf("\t alignedio = %s\n", (fs->flags & FFSB_FS_ALIGNIO4K) ?
- "on" : "off");
- printf("\t bufferedio = %s\n", (fs->flags & FFSB_FS_LIBCIO) ?
- "on" : "off");
- printf("\t\n");
- printf("\t aging is %s\n", (fs->age_fs) ? "on" : "off");
- printf("\t current utilization = %.2f\%\n",
- getfsutil(fs->basedir) * 100);
- if (fs->age_fs) {
- printf("\t desired utilization = %.2lf%\n",
- fs->desired_fsutil * 100);
- printf("\t \n");
- tg_print_config_aging(fs->aging_tg, fs->basedir);
- }
- printf("\t\n");
-}
-
-int fs_needs_stats(ffsb_fs_t * fs, syscall_t sys)
-{
- return (fs != NULL) ? (int)fs->fsd.config : 0;
-}
-
-void fs_add_stat(ffsb_fs_t * fs, syscall_t sys, uint32_t val)
-{
- if (fs)
- ffsb_add_data(&fs->fsd, sys, val);
-}
deleted file mode 100644
@@ -1,184 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef _FFSB_FS_H_
-#define _FFSB_FS_H_
-
-#include "filelist.h"
-#include "ffsb_op.h"
-#include "ffsb_tg.h"
-#include "ffsb_stats.h"
-
-/* These are the base names for the different file types on a
- * filesystem.
-*/
-#define FILES_BASE "data"
-#define META_BASE "meta"
-#define AGE_BASE "fill"
-
-struct ffsb_tg;
-
-typedef struct size_weight {
- uint64_t size;
- int weight;
-} size_weight_t;
-
-/* A filesystem object
- * --
- * represents a filesystem on disk, and maintains access to the different
- * directories within it. Currently there are two directories created in
- * each filesystem: data and meta
- * "data" contains the aging files and the working set files
- * "meta" only contains directories for use in the metadata operation
- *
- * Aging
- * This object contains methods for aging the filesystem if needed
- * a properly set up threadgroup is supplied by the parser which is run
- * until the filesystem reaches the desired utilization
- *
- * Operations
- * The semantics of a ffsb operation are always such that they occur on
- * a filesystem, so the filesystem also hold operation specific data as
- * an opaque type
- * One example of how this is useful is the aging process, where a different
- * set of files is operated upon than in the regular benchmark and the
- * op_data is pointing to the "fill" set rather than the "files" set
- */
-
-typedef struct ffsb_fs {
- char *basedir;
-
- struct benchfiles files;
- struct benchfiles meta;
- struct benchfiles fill;
-
- int flags;
-#define FFSB_FS_DIRECTIO (1 << 0)
-#define FFSB_FS_ALIGNIO4K (1 << 1)
-#define FFSB_FS_LIBCIO (1 << 2)
-#define FFSB_FS_REUSE_FS (1 << 3)
-
- /* These pararmeters pertain to files in the files and fill
- * dirs. Meta dir only contains directories, starting with 0.
- */
- uint32_t num_dirs;
- uint32_t num_start_files;
- uint64_t minfilesize, maxfilesize;
- double init_fsutil;
- uint64_t init_size;
-
- /* These two parameters specify the blocksize to use for
- * writes when creating and aging the fs.
- */
- uint32_t create_blocksize, age_blocksize;
-#define FFSB_FS_DEFAULT_CREATE_BLOCKSIZE 4096
-#define FFSB_FS_DEFAULT_AGE_BLOCKSIZE 4096
-
- double start_fsutil;
-
- /* Aging data/parameters */
- double desired_fsutil;
- int age_fs;
- uint32_t num_age_dirs;
-
- /* Use an ffsb thread group to do the aging work */
- struct ffsb_tg *aging_tg;
-
- /* If a particular operation wants to maintain fs-specific
- * data, it should use this array. Naturally, the ops must
- * synchonize access to the data for now, they are all just
- * putting pointers to a particular benchfiles struct here,
- * which is already sync'ed
- */
- void *op_data[FFSB_NUMOPS];
-
- /* per-fs stats */
- ffsb_statsc_t fsc;
- ffsb_statsd_t fsd;
-
- size_weight_t *size_weights;
- unsigned num_weights;
- unsigned sum_weights;
-
-} ffsb_fs_t;
-
-/* Set up the structure, zeros everything out and dups the basedir
- * string
- */
-void init_ffsb_fs(ffsb_fs_t *fs, char *basedir, uint32_t num_data_dirs,
- uint32_t num_start_files, unsigned flags);
-
-/* Does not remove files/dirs on disk, only frees up data
- * structures
- */
-void destroy_ffsb_fs(ffsb_fs_t *fs);
-
-/* Set up the files and such on the disk including aging if requested.
- * Should call back into each op, which initialize its op_data[]
- * entry. Aging is done by starting the aging_tg thread group, and
- * waiting until the desired utilization is achieved. It can (and is)
- * be used with pthread_create(). Parameter should be a ffsb_fs_t * ,
- * and it will return the same type
- */
-void *construct_ffsb_fs(void *ffsb_fs_ptr);
-
-/* Shallow clone, original should simply be discarded (not destroyed).
- * Generally should only be used by parser to write into the config
- * object
- */
-void clone_ffsb_fs(ffsb_fs_t *target, ffsb_fs_t *original);
-
-void fs_print_config(ffsb_fs_t *fs);
-
-char *fs_get_basedir(ffsb_fs_t *fs);
-int fs_get_directio(ffsb_fs_t *fs);
-void fs_set_directio(ffsb_fs_t *fs, int dio);
-int fs_get_alignio(ffsb_fs_t *fs);
-void fs_set_alignio(ffsb_fs_t *fs, int aio);
-int fs_get_libcio(ffsb_fs_t *fs);
-void fs_set_libcio(ffsb_fs_t *fs, int lio);
-int fs_get_reuse_fs(ffsb_fs_t *fs);
-void fs_set_reuse_fs(ffsb_fs_t *fs, int rfs);
-
-struct benchfiles *fs_get_datafiles(ffsb_fs_t *fs);
-struct benchfiles *fs_get_metafiles(ffsb_fs_t *fs);
-struct benchfiles *fs_get_agefiles(ffsb_fs_t *fs);
-
-void fs_set_aging_tg(ffsb_fs_t *fs, struct ffsb_tg *, double util);
-struct ffsb_tg *fs_get_aging_tg(ffsb_fs_t *fs);
-int fs_get_agefs(ffsb_fs_t *fs);
-
-void fs_set_opdata(ffsb_fs_t *fs, void *data, unsigned opnum);
-void *fs_get_opdata(ffsb_fs_t *fs, unsigned opnum);
-void fs_set_min_filesize(ffsb_fs_t *fs, uint64_t size);
-void fs_set_max_filesize(ffsb_fs_t *fs, uint64_t size);
-void fs_set_create_blocksize(ffsb_fs_t *fs, uint32_t blocksize);
-void fs_set_age_blocksize(ffsb_fs_t *fs, uint32_t blocksize);
-uint32_t fs_get_create_blocksize(ffsb_fs_t *fs);
-uint32_t fs_get_age_blocksize(ffsb_fs_t *fs);
-uint64_t fs_get_min_filesize(ffsb_fs_t *fs);
-uint64_t fs_get_max_filesize(ffsb_fs_t *fs);
-uint32_t fs_get_numstartfiles(ffsb_fs_t *fs);
-uint32_t fs_get_numdirs(ffsb_fs_t *fs);
-
-double fs_get_desired_fsutil(ffsb_fs_t *fs);
-
-/* For these two, fs == NULL is OK */
-int fs_needs_stats(ffsb_fs_t *fs, syscall_t s);
-void fs_add_stat(ffsb_fs_t *fs, syscall_t sys, uint32_t val);
-
-#endif /* _FFSB_FS_H_ */
deleted file mode 100644
@@ -1,192 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "ffsb_op.h"
-#include "fileops.h"
-#include "metaops.h"
-
-ffsb_op_t ffsb_op_list[] = { {0, "read", ffsb_readfile, READ, fop_bench, NULL}
-,
-{1, "readall", ffsb_readall, READ, fop_bench, NULL}
-,
-{2, "write", ffsb_writefile, WRITE, fop_bench, NULL}
-,
-{3, "create", ffsb_createfile, WRITE, fop_bench, fop_age}
-,
-{4, "append", ffsb_appendfile, WRITE, fop_bench, fop_age}
-,
-{5, "delete", ffsb_deletefile, NA, fop_bench, fop_age}
-,
-{6, "metaop", ffsb_metaops, NA, metaops_metadir, NULL}
-,
-{7, "createdir", ffsb_createdir, NA, fop_bench, NULL}
-,
-{8, "stat", ffsb_stat, NA, fop_bench, NULL}
-,
-{9, "writeall", ffsb_writeall, WRITE, fop_bench, NULL}
-,
-{10, "writeall_fsync", ffsb_writeall_fsync, WRITE, fop_bench, NULL}
-,
-{11, "open_close", ffsb_open_close, NA, fop_bench, NULL}
-,
-{12, "write_fsync", ffsb_writefile_fsync, WRITE, fop_bench, NULL}
-,
-{13, "create_fsync", ffsb_createfile_fsync, WRITE, fop_bench, fop_age}
-,
-{14, "append_fsync", ffsb_appendfile_fsync, WRITE, fop_bench, fop_age}
-,
-};
-
-void init_ffsb_op_results(ffsb_op_results_t * results)
-{
- memset(results, 0, sizeof(ffsb_op_results_t));
-}
-
-static int exclusive_op(ffsb_op_results_t * results, unsigned int op_num)
-{
- int i;
- int ret = 0;
- for (i = 0; i < FFSB_NUMOPS; i++) {
- if (i == op_num)
- continue;
- ret += results->ops[i];
- }
-
- if (ret)
- return 0;
- return 1;
-}
-
-static void generic_op_print(char *name, unsigned num, double op_pcnt,
- double weigth_pcnt, double runtime, char *tput)
-{
- printf("%20s : %12u\t%10.2lf\t%6.3lf%%\t\t%6.3lf%%\t %11s\n",
- name, num, num / runtime, op_pcnt, weigth_pcnt, tput);
-}
-
-static void print_op_results(unsigned int op_num, ffsb_op_results_t * results,
- double runtime, unsigned total_ops,
- unsigned total_weight)
-{
- char buf[256];
-
- double op_pcnt = 100 * (double)results->ops[op_num] / (double)total_ops;
- double weight_pcnt = 100 * (double)results->op_weight[op_num] /
- (double)total_weight;
- if (ffsb_op_list[op_num].throughput) {
- ffsb_printsize(buf, results->bytes[op_num] / runtime, 256);
- sprintf(buf, "%s/sec\0", buf);
- } else
- sprintf(buf, "NA\0");
- generic_op_print(ffsb_op_list[op_num].op_name, results->ops[op_num],
- op_pcnt, weight_pcnt, runtime, buf);
-}
-
-#if 0
-static void print_op_throughput(unsigned int op_num,
- ffsb_op_results_t * results, double runtime)
-{
- if (ffsb_op_list[op_num].op_exl_print_fn != NULL)
- ffsb_op_list[op_num].op_exl_print_fn(results, runtime, op_num);
-}
-#endif
-
-void print_results(struct ffsb_op_results *results, double runtime)
-{
- int i;
- uint64_t total_ops = 0;
- uint64_t total_weight = 0;
- char buf[256];
-
- for (i = 0; i < FFSB_NUMOPS; i++) {
- total_ops += results->ops[i];
- total_weight += results->op_weight[i];
- }
-
- printf
- (" Op Name Transactions\t Trans/sec\t% Trans\t % Op Weight\t Throughput\n");
- printf
- (" ======= ============\t =========\t=======\t ===========\t ==========\n");
- for (i = 0; i < FFSB_NUMOPS; i++)
- if (results->ops[i] != 0)
- print_op_results(i, results, runtime, total_ops,
- total_weight);
- printf("-\n%.2lf Transactions per Second\n\n",
- (double)total_ops / runtime);
-
- if (results->write_bytes || results->read_bytes)
- printf("Throughput Results\n===================\n");
- if (results->read_bytes) {
- ffsb_printsize(buf, results->read_bytes / runtime, 256);
- printf("Read Throughput: %s/sec\n", buf);
- }
- if (results->write_bytes) {
- ffsb_printsize(buf, results->write_bytes / runtime, 256);
- printf("Write Throughput: %s/sec\n", buf);
- }
-}
-
-char *op_get_name(int opnum)
-{
- return ffsb_op_list[opnum].op_name;
-}
-
-void ops_setup_bench(ffsb_fs_t * fs)
-{
- int i;
- for (i = 0; i < FFSB_NUMOPS; i++)
- ffsb_op_list[i].op_bench(fs, i);
-}
-
-void ops_setup_age(ffsb_fs_t * fs)
-{
- int i;
- for (i = 0; i < FFSB_NUMOPS; i++)
- if (ffsb_op_list[i].op_age)
- ffsb_op_list[i].op_age(fs, i);
-}
-
-int ops_find_op(char *opname)
-{
- int i;
- for (i = 0; i < FFSB_NUMOPS; i++)
- if (!strcmp(opname, ffsb_op_list[i].op_name))
- return i;
- return -1;
-}
-
-void add_results(struct ffsb_op_results *target, struct ffsb_op_results *src)
-{
- int i;
- target->read_bytes += src->read_bytes;
- target->write_bytes += src->write_bytes;
-
- for (i = 0; i < FFSB_NUMOPS; i++) {
- target->ops[i] += src->ops[i];
- target->op_weight[i] += src->op_weight[i];
- target->bytes[i] += src->bytes[i];
- }
-}
-
-void do_op(struct ffsb_thread *ft, struct ffsb_fs *fs, unsigned op_num)
-{
- ffsb_op_list[op_num].op_fn(ft, fs, op_num);
-}
deleted file mode 100644
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef _FFSB_OP_H_
-#define _FFSB_OP_H_
-
-#include <stdlib.h>
-#include <sys/types.h>
-#include <inttypes.h>
-
-struct ffsb_op_results;
-struct ffsb_thread;
-struct ffsb_fs;
-
-#define NA 0x00
-#define READ 0x01
-#define WRITE 0x02
-
-/* This file handles all of the operations FFSB supports. It has
- * tight interactions with the filesystem objects, but is otherwise
- * pretty abstract.
- */
-
-/* The op callback */
-typedef void (*ffsb_op_fn)(struct ffsb_thread *, struct ffsb_fs *,
- unsigned op_num);
-
-/* Operation results printing function */
-typedef void (*ffsb_op_print_fn)(struct ffsb_op_results *, double secs,
- unsigned int op_num);
-
-/* Operation specific initialization for a filesystem */
-typedef void (*ffsb_op_fs_fn)(struct ffsb_fs *, unsigned opnum);
-
-typedef struct ffsb_op {
- unsigned int op_id;
- char *op_name;
- ffsb_op_fn op_fn;
-
- unsigned int throughput;
- /* The point of these two fields is to determine which set of
- * files are being worked on. Currently either data, meta, or
- * aging. Data and meta are mutually exclusive, so we only
- * need two funcs.
- */
- ffsb_op_fs_fn op_bench;
- ffsb_op_fs_fn op_age;
-} ffsb_op_t;
-
-/* List of all operations, located in ffsb_op.c */
-extern ffsb_op_t ffsb_op_list[];
-
-/* This *must* be updated when a new operation is added or one is
- * removed several other structures use it for statically sized arrays
- */
-#define FFSB_NUMOPS (15)
-
-/* Returns index of an op.
- * Returns -1 if opname isn't found, and its case sensitive :)
- */
-int ops_find_op(char *opname);
-
-typedef struct ffsb_op_results {
- /* Count of how many times each op was run */
- unsigned int ops[FFSB_NUMOPS];
- unsigned int op_weight[FFSB_NUMOPS];
- uint64_t bytes[FFSB_NUMOPS];
-
- uint64_t read_bytes;
- uint64_t write_bytes;
-} ffsb_op_results_t;
-
-void init_ffsb_op_results(struct ffsb_op_results *);
-void print_results(struct ffsb_op_results *results, double runtime);
-char *op_get_name(int opnum);
-
-/* Setup the ops for the benchmark */
-void ops_setup_bench(struct ffsb_fs *fs);
-
-/* setup the ops for aging the filesystem */
-void ops_setup_age(struct ffsb_fs *fs);
-
-void add_results(struct ffsb_op_results *target, struct ffsb_op_results *src);
-
-/* Run this op, using this thread state, on this filesystem */
-void do_op(struct ffsb_thread *ft, struct ffsb_fs *fs, unsigned op_num);
-
-#endif /* _FFSB_OP_H_ */
deleted file mode 100644
@@ -1,240 +0,0 @@
-#include <stdio.h>
-#include <assert.h>
-#include <limits.h>
-#include "ffsb_stats.h"
-#include "util.h"
-
-char *syscall_names[] = {
- "open",
- "read",
- "write",
- "create",
- "lseek",
- "unlink",
- "close",
- "stat",
-};
-
-/* yuck, just for the parser anyway.. */
-int ffsb_stats_str2syscall(char *str, syscall_t * sys)
-{
- int i;
- int ret;
- for (i = 0; i < FFSB_NUM_SYSCALLS; i++) {
- ret = strncasecmp(syscall_names[i], str,
- strlen(syscall_names[i]));
- /* printf("%s = syscall_names[%d] vs %str ret = %d\n",
- * syscall_names[i],i,str,ret);
- */
- if (0 == ret) {
- *sys = (syscall_t) i; /* ewww */
- /* printf("matched syscall %s\n",syscall_names[i]); */
- return 1;
- }
- }
- printf("warning: failed to get match for syscall %s\n", str);
- return 0;
-}
-
-void ffsb_statsc_init(ffsb_statsc_t * fsc)
-{
- fsc->num_buckets = 0;
- fsc->buckets = NULL;
- fsc->ignore_stats = 0;
-}
-
-void ffsb_statsc_addbucket(ffsb_statsc_t * fsc, uint32_t min, uint32_t max)
-{
- struct stat_bucket *temp;
- fsc->num_buckets++;
-
- /* printf("ffsb_realloc(): fsc_buckets = %d\n",fsc->num_buckets); */
- temp = ffsb_realloc(fsc->buckets, sizeof(struct stat_bucket) *
- fsc->num_buckets);
-
- fsc->buckets = temp;
-
- /* Convert to micro-secs from milli-secs */
- fsc->buckets[fsc->num_buckets - 1].min = min;
- fsc->buckets[fsc->num_buckets - 1].max = max;
-}
-
-void ffsb_statsc_destroy(ffsb_statsc_t * fsc)
-{
- free(fsc->buckets);
-}
-
-void ffsb_statsc_ignore_sys(ffsb_statsc_t * fsc, syscall_t s)
-{
- /* printf("fsis: oring 0x%x with 0x%x\n",
- * fsc->ignore_stats,
- * (1 << s ) );
- */
- fsc->ignore_stats |= (1 << s);
-}
-
-int fsc_ignore_sys(ffsb_statsc_t * fsc, syscall_t s)
-{
- return fsc->ignore_stats & (1 << s);
-}
-
-void ffsb_statsd_init(ffsb_statsd_t * fsd, ffsb_statsc_t * fsc)
-{
- int i;
- memset(fsd, 0, sizeof(*fsd));
-
- for (i = 0; i < FFSB_NUM_SYSCALLS; i++) {
- fsd->totals[i] = 0;
- fsd->mins[i] = UINT_MAX;
- fsd->maxs[i] = 0;
- fsd->buckets[i] = ffsb_malloc(sizeof(uint32_t) *
- fsc->num_buckets);
- assert(fsd->buckets[i] != NULL);
-
- memset(fsd->buckets[i], 0, sizeof(uint32_t) * fsc->num_buckets);
- }
- fsd->config = fsc;
-}
-
-void ffsb_statsd_destroy(ffsb_statsd_t * fsd)
-{
- int i;
- for (i = 0; i < FFSB_NUM_SYSCALLS; i++)
- free(fsd->buckets[i]);
-}
-
-void ffsb_add_data(ffsb_statsd_t * fsd, syscall_t s, uint32_t value)
-{
- unsigned num_buckets, i;
- struct stat_bucket *bucket_defs;
-
- if (!fsd || fsc_ignore_sys(fsd->config, s))
- return;
-
- if (value < fsd->mins[s])
- fsd->mins[s] = value;
- if (value > fsd->maxs[s])
- fsd->maxs[s] = value;
-
- fsd->counts[s]++;
- fsd->totals[s] += value;
-
- if (fsd->config->num_buckets == 0)
- return;
-
- num_buckets = fsd->config->num_buckets;
- bucket_defs = fsd->config->buckets;
-
- for (i = 0; i < num_buckets; i++) {
- struct stat_bucket *b = &bucket_defs[i];
-
- if (value <= b->max && value >= b->min) {
- fsd->buckets[s][i]++;
- break;
- }
- }
-}
-
-void ffsb_statsc_copy(ffsb_statsc_t * dest, ffsb_statsc_t * src)
-{
- memcpy(dest, src, sizeof(*src));
-}
-
-void ffsb_statsd_add(ffsb_statsd_t * dest, ffsb_statsd_t * src)
-{
- int i, j;
- unsigned num_buckets;
- if (dest->config != src->config)
- printf("ffsb_statsd_add: warning configs do not"
- "match for data being collected\n");
-
- num_buckets = dest->config->num_buckets;
-
- for (i = 0; i < FFSB_NUM_SYSCALLS; i++) {
- dest->counts[i] += src->counts[i];
- dest->totals[i] += src->totals[i];
-
- if (src->mins[i] < dest->mins[i])
- dest->mins[i] = src->mins[i];
- if (src->maxs[i] > dest->maxs[i])
- dest->maxs[i] = src->maxs[i];
-
- for (j = 0; j < num_buckets; j++)
- dest->buckets[i][j] += src->buckets[i][j];
- }
-}
-
-static void print_buckets_helper(ffsb_statsc_t * fsc, uint32_t * buckets)
-{
- int i;
- if (fsc->num_buckets == 0) {
- printf(" -\n");
- return;
- }
- for (i = 0; i < fsc->num_buckets; i++) {
- struct stat_bucket *sb = &fsc->buckets[i];
- printf("\t\t msec_range[%d]\t%f - %f : %8u\n",
- i, (double)sb->min / 1000.0f, (double)sb->max / 1000.0f,
- buckets[i]);
- }
- printf("\n");
-}
-
-void ffsb_statsd_print(ffsb_statsd_t * fsd)
-{
- int i;
- printf("\nSystem Call Latency statistics in millisecs\n" "=====\n");
- printf("\t\tMin\t\tAvg\t\tMax\t\tTotal Calls\n");
- printf("\t\t========\t========\t========\t============\n");
- for (i = 0; i < FFSB_NUM_SYSCALLS; i++)
- if (fsd->counts[i]) {
- printf("[%7s]\t%05f\t%05lf\t%05f\t%12u\n",
- syscall_names[i], (float)fsd->mins[i] / 1000.0f,
- (fsd->totals[i] / (1000.0f *
- (double)fsd->counts[i])),
- (float)fsd->maxs[i] / 1000.0f, fsd->counts[i]);
- print_buckets_helper(fsd->config, fsd->buckets[i]);
- }
-}
-
-#if 0 /* Testing */
-
-void *ffsb_malloc(size_t s)
-{
- void *p = malloc(s);
- assert(p != NULL);
- return p;
-}
-
-int main(int arc, char *argv[])
-{
- ffsb_statsc_t fsc;
- ffsb_statsd_t fsd;
- int i;
-
- printf("init\n");
-
- ffsb_statsc_init(&fsc, 10);
- ffsb_statsc_setbucket(&fsc, 0, 0.0f, 50.0f);
- ffsb_statsc_setbucket(&fsc, 1, 50.0f, 10000.0f);
- ffsb_statsc_setbucket(&fsc, 2, 0.1f, 0.2f);
- ffsb_statsc_setbucket(&fsc, 3, 0.0f, 50.0f);
- ffsb_statsc_setbucket(&fsc, 4, 50.0f, 10000.0f);
- ffsb_statsc_setbucket(&fsc, 5, 0.1f, 0.2f);
- ffsb_statsc_setbucket(&fsc, 6, 0.0f, 50.0f);
- ffsb_statsc_setbucket(&fsc, 7, 50.0f, 10000.0f);
- ffsb_statsc_setbucket(&fsc, 8, 0.1f, 0.2f);
- ffsb_statsc_setbucket(&fsc, 9, 50.0f, 10000.0f);
- ffsb_statsd_init(&fsd, &fsc);
-
- printf("test\n");
- for (i = 0; i < 50000000; i++)
- ffsb_add_data(&fsd, SYS_READ, (float)i);
-
- printf("cleanup\n");
- ffsb_statsd_destroy(&fsd);
- ffsb_statsc_destroy(&fsc);
- return 0;
-}
-
-#endif /* Testing */
deleted file mode 100644
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2007
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef _FFSB_STATS_H_
-#define _FFSB_STATS_H_
-
-#include <inttypes.h>
-
-/* Latency statistics collection extension.
- *
- * For now, we are going to collect latency info on each (most)
- * syscalls using gettimeofday. Unfortunately, it is the
- * responsibility of each operation to collect this timing info. We
- * try to make this easier by providing a function that does the
- * timing for supported syscalls.
- *
- * We want the ability to collect the average latency for a particular
- * call, and also to collect latency info for user specified intervals
- * -- called "buckets"
- */
-
-struct stat_bucket {
- uint32_t min;
- uint32_t max;
- /* max = 0 indicates uninitialized bucket */
-};
-
-/* These are all the syscalls we currently support */
-typedef enum { SYS_OPEN = 0,
- SYS_READ,
- SYS_WRITE,
- SYS_CREATE,
- SYS_LSEEK,
- SYS_UNLINK,
- SYS_CLOSE,
- SYS_STAT
-} syscall_t;
-
-/* ASCII versions of the syscall names */
-extern char *syscall_names[];
-
-/* Return 1 on success, 0 on error */
-int ffsb_stats_str2syscall(char *, syscall_t *);
-
-/* Keep it in sync with syscall_t */
-#define FFSB_NUM_SYSCALLS (8UL)
-
-/* What stats to collect, shared among all threads */
-typedef struct ffsb_stats_config {
- unsigned num_buckets;
- struct stat_bucket *buckets;
-
- /* Ignore stats collection for some syscalls.
- * Each bit corresponds to one syscall.
- */
- uint32_t ignore_stats;
-} ffsb_statsc_t;
-
-void ffsb_statsc_init(ffsb_statsc_t *);
-void ffsb_statsc_addbucket(ffsb_statsc_t *, uint32_t min, uint32_t max);
-void ffsb_statsc_ignore_sys(ffsb_statsc_t *, syscall_t s);
-void ffsb_statsc_destroy(ffsb_statsc_t *);
-
-/* If we are collecting stats, then the config field is non-NULL */
-typedef struct ffsb_stats_data {
- ffsb_statsc_t *config;
- uint32_t counts[FFSB_NUM_SYSCALLS];
- uint64_t totals[FFSB_NUM_SYSCALLS]; /* cumulative sums */
- uint64_t mins[FFSB_NUM_SYSCALLS];
- uint64_t maxs[FFSB_NUM_SYSCALLS];
- uint32_t *buckets[FFSB_NUM_SYSCALLS]; /* bucket counters */
-} ffsb_statsd_t ;
-
-/* constructor/destructor */
-void ffsb_statsd_init(ffsb_statsd_t *, ffsb_statsc_t *);
-void ffsb_statsd_destroy(ffsb_statsd_t *);
-
-/* Add data to a stats data struct. Value should be in microsecs
- * _NOT_ milli-secs
- */
-void ffsb_add_data(ffsb_statsd_t *, syscall_t, uint32_t);
-
-/* Make a copy of a stats config */
-void ffsb_statsc_copy(ffsb_statsc_t *, ffsb_statsc_t *);
-
-/* Add two statsd structs together */
-void ffsb_statsd_add(ffsb_statsd_t *, ffsb_statsd_t *);
-
-/* Print out statsd structure */
-void ffsb_statsd_print(ffsb_statsd_t *fsd);
-
-/* Do we want stats for the specified syscall */
-int fsc_ignore_sys(ffsb_statsc_t *fsc, syscall_t s);
-
-#endif /* _FFSB_STATS_H_ */
deleted file mode 100644
@@ -1,369 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#include <string.h>
-#include <stdio.h>
-#include <assert.h>
-#include <pthread.h>
-
-#include "ffsb_tg.h"
-#include "util.h"
-
-void init_ffsb_tg(ffsb_tg_t * tg, unsigned num_threads, unsigned tg_num)
-{
- int i;
- memset(tg, 0, sizeof(ffsb_tg_t));
-
- tg->threads = ffsb_malloc(sizeof(ffsb_thread_t) * num_threads);
- tg->tg_num = tg_num;
- tg->num_threads = num_threads;
-
- tg->bindfs = -1; /* default is not bound */
-
- tg->thread_bufsize = 0;
- for (i = 0; i < num_threads; i++)
- init_ffsb_thread(tg->threads + i, tg, 0, tg_num, i);
-}
-
-void destroy_ffsb_tg(ffsb_tg_t * tg)
-{
- int i;
- for (i = 0; i < tg->num_threads; i++)
- destroy_ffsb_thread(tg->threads + i);
- free(tg->threads);
- if (tg_needs_stats(tg))
- ffsb_statsc_destroy(&tg->fsc);
-}
-
-void *tg_run(void *data)
-{
- tg_run_params_t *params = (tg_run_params_t *) data;
- ffsb_tg_t *tg = params->tg;
- int i;
- pthread_attr_t attr;
-
- pthread_attr_init(&attr);
- pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM);
-
- tg->start_barrier = params->thread_barrier;
-
- /* Sum up the weights for use later by tg_get_op() */
- tg->sum_weights = 0;
- for (i = 0; i < FFSB_NUMOPS; i++)
- tg->sum_weights += tg->op_weights[i];
-
- tg->fc = params->fc;
- tg->flagval = -1;
- tg->stopval = 1;
-
- /* spawn threads */
- for (i = 0; i < tg->num_threads; i++) {
- ffsb_thread_t *ft = &tg->threads[i];
- pthread_create(&ft->ptid, &attr, ft_run, ft);
- }
-
- if (params->tg_barrier)
- ffsb_barrier_wait(params->tg_barrier);
-
- /* wait for termination condition to be true */
- do {
- ffsb_sleep(params->wait_time);
- } while (params->poll_fn(params->poll_data) == 0);
-
- /* set flag value */
- tg->flagval = tg->stopval;
-
- /* wait on theads to finish */
- for (i = 0; i < tg->num_threads; i++)
- pthread_join(tg->threads[i].ptid, NULL);
-
- return NULL;
-}
-
-/* Needs to set params->opnum and params->fs */
-void tg_get_op(ffsb_tg_t * tg, randdata_t * rd, tg_op_params_t * params)
-{
- unsigned curop;
- int num;
- int fsnum;
-
- num = 1 + getrandom(rd, tg->sum_weights);
- curop = 0;
-
- while (tg->op_weights[curop] < num) {
- num -= tg->op_weights[curop];
- curop++;
- }
-
- params->opnum = curop;
-
- /* If we're bound to a particular filesystem, use that,
- * otherwise, pick one at random.
- */
- fsnum = tg->bindfs;
- if (fsnum < 0)
- fsnum = getrandom(rd, tg->fc->num_filesys);
-
- params->fs = fc_get_fs(tg->fc, fsnum);
-}
-
-void tg_set_op_weight(ffsb_tg_t * tg, char *opname, unsigned weight)
-{
- int opnum = ops_find_op(opname);
- assert(opnum >= 0);
- tg->op_weights[opnum] = weight;
-}
-
-unsigned tg_get_op_weight(ffsb_tg_t * tg, char *opname)
-{
- int opnum = ops_find_op(opname);
- assert(opnum >= 0);
- return tg->op_weights[opnum];
-}
-
-void tg_set_bindfs(ffsb_tg_t * tg, int fsnum)
-{
- tg->bindfs = fsnum;
-}
-
-int tg_get_bindfs(ffsb_tg_t * tg)
-{
- return tg->bindfs;
-}
-
-unsigned tg_get_numthreads(ffsb_tg_t * tg)
-{
- return tg->num_threads;
-}
-
-static void update_bufsize(ffsb_tg_t * tg)
-{
- int i;
- uint32_t newmax = max(tg->read_blocksize, tg->write_blocksize);
-
- if (newmax == max(newmax, tg->thread_bufsize))
- for (i = 0; i < tg->num_threads; i++)
- ft_alter_bufsize(tg->threads + i, newmax);
-}
-
-void tg_set_read_random(ffsb_tg_t * tg, int rr)
-{
- tg->read_random = rr;
-}
-
-void tg_set_write_random(ffsb_tg_t * tg, int wr)
-{
- tg->write_random = wr;
-}
-
-void tg_set_fsync_file(ffsb_tg_t * tg, int fsync)
-{
- tg->fsync_file = fsync;
-}
-
-void tg_set_read_size(ffsb_tg_t * tg, uint64_t rs)
-{
- tg->read_size = rs;
-}
-
-void tg_set_read_blocksize(ffsb_tg_t * tg, uint32_t rs)
-{
- tg->read_blocksize = rs;
- update_bufsize(tg);
-}
-
-void tg_set_read_skip(ffsb_tg_t * tg, int rs)
-{
- tg->read_skip = rs;
-}
-
-void tg_set_read_skipsize(ffsb_tg_t * tg, uint32_t rs)
-{
- tg->read_skipsize = rs;
-}
-
-void tg_set_write_size(ffsb_tg_t * tg, uint64_t ws)
-{
- tg->write_size = ws;
-}
-
-void tg_set_write_blocksize(ffsb_tg_t * tg, uint32_t ws)
-{
- tg->write_blocksize = ws;
- update_bufsize(tg);
-}
-
-int tg_get_read_random(ffsb_tg_t * tg)
-{
- return tg->read_random;
-}
-
-int tg_get_write_random(ffsb_tg_t * tg)
-{
- return tg->write_random;
-}
-
-int tg_get_fsync_file(ffsb_tg_t * tg)
-{
- return tg->fsync_file;
-}
-
-uint64_t tg_get_read_size(ffsb_tg_t * tg)
-{
- return tg->read_size;
-}
-
-uint32_t tg_get_read_blocksize(ffsb_tg_t * tg)
-{
- return tg->read_blocksize;
-}
-
-int tg_get_read_skip(ffsb_tg_t * tg)
-{
- return tg->read_skip;
-}
-
-uint32_t tg_get_read_skipsize(ffsb_tg_t * tg)
-{
- return tg->read_skipsize;
-}
-
-uint64_t tg_get_write_size(ffsb_tg_t * tg)
-{
- return tg->write_size;
-}
-
-uint32_t tg_get_write_blocksize(ffsb_tg_t * tg)
-{
- return tg->write_blocksize;
-}
-
-int tg_get_stopval(ffsb_tg_t * tg)
-{
- return tg->stopval;
-}
-
-ffsb_barrier_t *tg_get_start_barrier(ffsb_tg_t * tg)
-{
- return tg->start_barrier;
-}
-
-static void tg_print_config_helper(ffsb_tg_t * tg)
-{
- int i;
- int sumweights = 0;
- char buf[256];
-
- printf("\t num_threads = %d\n", tg->num_threads);
- printf("\t\n");
- printf("\t read_random = %s\n", (tg->read_random) ? "on" : "off");
- printf("\t read_size = %llu\t(%s)\n", tg->read_size,
- ffsb_printsize(buf, tg->read_size, 256));
- printf("\t read_blocksize = %u\t(%s)\n", tg->read_blocksize,
- ffsb_printsize(buf, tg->read_blocksize, 256));
- printf("\t read_skip = %s\n", (tg->read_skip) ? "on" : "off");
- printf("\t read_skipsize = %u\t(%s)\n", tg->read_skipsize,
- ffsb_printsize(buf, tg->read_skipsize, 256));
- printf("\t\n");
- printf("\t write_random = %s\n", (tg->write_random) ? "on" : "off");
- printf("\t write_size = %llu\t(%s)\n", tg->write_size,
- ffsb_printsize(buf, tg->write_size, 256));
- printf("\t fsync_file = %d\n", tg->fsync_file);
- printf("\t write_blocksize = %u\t(%s)\n", tg->write_blocksize,
- ffsb_printsize(buf, tg->write_blocksize, 256));
- printf("\t wait time = %u\n", tg->wait_time);
- if (tg->bindfs >= 0) {
- printf("\t\n");
- printf("\t bound to fs %d\n", tg->bindfs);
- }
- printf("\t\n");
- printf("\t op weights\n");
-
- for (i = 0; i < FFSB_NUMOPS; i++)
- sumweights += tg->op_weights[i];
-
- for (i = 0; i < FFSB_NUMOPS; i++)
- printf("\t %20s = %d (%.2f%%)\n", op_get_name(i),
- tg->op_weights[i], 100 * (float)tg->op_weights[i] /
- (float)sumweights);
- printf("\t\n");
-}
-
-void tg_print_config(ffsb_tg_t * tg)
-{
- printf("ThreadGroup %d\n", tg->tg_num);
- printf("================\n");
- tg_print_config_helper(tg);
-}
-
-void tg_print_config_aging(ffsb_tg_t * tg, char *fsname)
-{
- printf("\t Aging ThreadGroup for fs %s\n", fsname);
- printf("\t ================\n");
- tg_print_config_helper(tg);
-}
-
-void tg_collect_results(ffsb_tg_t * tg, ffsb_op_results_t * r)
-{
- int i;
- for (i = 0; i < tg_get_numthreads(tg); i++)
- add_results(r, ft_get_results(tg->threads + i));
-}
-
-void tg_set_waittime(ffsb_tg_t * tg, unsigned time)
-{
- tg->wait_time = time;
-}
-
-unsigned tg_get_waittime(ffsb_tg_t * tg)
-{
- return tg->wait_time;
-}
-
-int tg_get_flagval(ffsb_tg_t * tg)
-{
- return tg->flagval;
-}
-
-void tg_set_statsc(ffsb_tg_t * tg, ffsb_statsc_t * fsc)
-{
- if (fsc) {
- int i;
-
- tg->need_stats = 1;
- ffsb_statsc_copy(&tg->fsc, fsc);
-
- for (i = 0; i < tg->num_threads; i++)
- ft_set_statsc(tg->threads + i, &tg->fsc);
- }
-}
-
-void tg_collect_stats(ffsb_tg_t * tg, ffsb_statsd_t * fsd)
-{
- int i;
-
- assert(tg->need_stats);
- ffsb_statsd_init(fsd, &tg->fsc);
-
- for (i = 0; i < tg_get_numthreads(tg); i++)
- ffsb_statsd_add(fsd, ft_get_stats_data(tg->threads + i));
-}
-
-int tg_needs_stats(ffsb_tg_t * tg)
-{
- return tg->need_stats;
-}
deleted file mode 100644
@@ -1,206 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef _FFSB_TG_H_
-#define _FFSB_TG_H_
-#include <inttypes.h>
-#include <stdlib.h>
-#include <sys/types.h>
-
-#include <pthread.h>
-
-#include "ffsb.h"
-#include "ffsb_op.h"
-#include "ffsb_thread.h"
-#include "ffsb_fs.h"
-#include "ffsb_stats.h"
-
-#include "util.h" /* for barrier obj */
-
-/* "Thread Group" object defs.
- *
- * A thread group contains configuration information and can run its
- * "gang" of threads performing a particular mix of operations.
- *
- * The thread group is responsible for creating the ffsb_thread
- * objects which must ask the thread group object to select an
- * operation and a filesystem to run that operation on. The thread
- * objects don't contain any of the configuration information.
- *
- * Thread groups are also abstracted so they can be "run" arbitrarily
- * which is useful because we can reuse them for aging. The running
- * is a bit complex, the thread group has to have a callback function
- * which is runs at a specified interval to determine when to
- * terminate.
- *
- * To synchronize starting across many thread groups there are two
- * barriers used, the first one "tg_barrier" in the run_params is to
- * synchronize multiple thread-groups being ready to start, meaning
- * that all their threads have been spawned The second one
- * "thread_barrier" synchronizes all threads across multiple thread
- * groups, so that they all start at once.
-*/
-
-struct ffsb_thread;
-struct ffsb_config;
-
-typedef struct ffsb_tg {
- unsigned tg_num;
- unsigned num_threads;
- unsigned op_weights[FFSB_NUMOPS];
- struct ffsb_thread *threads;
-
- /* A threadgroup can be bound to just one filesystem.
- * A value * < 0 , means we aren't bound to any.
- */
- int bindfs;
-
- int read_random; /* boolean */
- uint64_t read_size;
- uint32_t read_blocksize;
-
- int read_skip; /* boolean */
- uint32_t read_skipsize;
-
- int write_random; /* boolean */
- uint64_t write_size;
- uint32_t write_blocksize;
-
- int fsync_file; /* boolean */
-
- /* Should be max(write_blocksize, read_blocksize) */
- uint32_t thread_bufsize;
-
- /* these fields are calculated/set by tg_run() */
- unsigned sum_weights;
- struct ffsb_config *fc;
- ffsb_barrier_t *start_barrier;
-
- /* Used for stopping the threads */
- int flagval;
- int stopval;
-
- /* Delay between every operation, in milliseconds*/
- unsigned wait_time;
-
- /* stats configuration */
- int need_stats;
- ffsb_statsc_t fsc;
-} ffsb_tg_t;
-
-/* Init should be the very first thing called on the tg. After that,
- * the user can call the set methods and finally run.
- */
-void init_ffsb_tg(ffsb_tg_t *tg, unsigned num_threads, unsigned tg_num);
-void destroy_ffsb_tg(ffsb_tg_t *tg);
-
-/* Parameters needed to fire off a thread group. The main thread will
- * evaluate poll_fn(poll_data) until it gets a nonzero return value.
- * It will sleep for wait_time secs between calls The ffsb_config
- * struct is needed for fs selection. Barriers are to synchronize
- * multiple tgs and all threads pt is for pthread_create()
- */
-typedef struct tg_run_params {
- ffsb_tg_t *tg;
- int (*poll_fn)(void *);
- void *poll_data;
- unsigned wait_time; /* in sec */
- struct ffsb_config *fc;
- ffsb_barrier_t *tg_barrier;
-
- /* Should be initialized by caller to tg_run() */
- ffsb_barrier_t *thread_barrier;
- pthread_t pt;
-} tg_run_params_t;
-
-/* This function is meant to be called as a parameter to
- * pthread_create()
- */
-void *tg_run(void *);
-
-void tg_print_config(ffsb_tg_t *tg);
-void tg_print_config_aging(ffsb_tg_t *tg, char *fsname);
-
-/* Adds all of this tg's results to res */
-void tg_collect_results(ffsb_tg_t *tg, ffsb_op_results_t *res);
-
-/* Adds up all this tg's stats to totals */
-void tg_collect_stats(ffsb_tg_t *tg, ffsb_statsd_t *totals);
-
-/* getters/setters, setters should not be called after a run has begun */
-
-void tg_set_statsc(ffsb_tg_t *tg, ffsb_statsc_t *fsc);
-
-void tg_set_bindfs(ffsb_tg_t *tg, int fsnum);
-int tg_get_bindfs(ffsb_tg_t *tg);
-
-unsigned tg_get_numthreads(ffsb_tg_t *tg);
-
-void tg_set_op_weight(ffsb_tg_t *tg, char *opname, unsigned weight);
-unsigned tg_get_op_weight(ffsb_tg_t *tg, char *opname);
-
-void tg_set_read_random(ffsb_tg_t *tg, int rr);
-void tg_set_write_random(ffsb_tg_t *tg, int wr);
-void tg_set_fsync_file(ffsb_tg_t *tg, int fsync);
-
-int tg_get_read_random(ffsb_tg_t *tg);
-int tg_get_write_random(ffsb_tg_t *tg);
-int tg_get_fsync_file(ffsb_tg_t *tg);
-
-void tg_set_read_size(ffsb_tg_t *tg, uint64_t rs);
-void tg_set_read_blocksize(ffsb_tg_t *tg, uint32_t rs);
-
-void tg_set_read_skipsize(ffsb_tg_t *tg, uint32_t rs);
-void tg_set_read_skip(ffsb_tg_t *tg, int rs);
-
-void tg_set_write_size(ffsb_tg_t *tg, uint64_t ws);
-void tg_set_write_blocksize(ffsb_tg_t *tg, uint32_t ws);
-
-uint64_t tg_get_read_size(ffsb_tg_t *tg);
-uint32_t tg_get_read_blocksize(ffsb_tg_t *tg);
-
-int tg_get_read_skip(ffsb_tg_t *tg);
-uint32_t tg_get_read_skipsize(ffsb_tg_t *tg);
-
-uint64_t tg_get_write_size(ffsb_tg_t *tg);
-uint32_t tg_get_write_blocksize(ffsb_tg_t *tg);
-
-void tg_set_waittime(ffsb_tg_t *tg, unsigned time);
-unsigned tg_get_waittime(ffsb_tg_t *tg);
-
-/* The threads in the tg should be the only ones using these (below)
- * funcs.
- */
-ffsb_barrier_t *tg_get_start_barrier(ffsb_tg_t *tg);
-int tg_get_stopval(ffsb_tg_t *tg);
-int tg_get_flagval(ffsb_tg_t *tg);
-
-/* The threads in this tg will use this function to get an op to run,
- * so all configuration specific information is kept in this object.
- */
-typedef struct tg_op_params {
- struct ffsb_fs *fs; /* out parameter */
- unsigned opnum; /* out parameter */
-} tg_op_params_t;
-
-/* tg and rd and in parameters, everything in params is out */
-void tg_get_op(ffsb_tg_t *tg, randdata_t *rd, tg_op_params_t *params);
-
-/* want stats for this tg ? */
-int tg_needs_stats(ffsb_tg_t *tg);
-
-#endif /* _FFSB_TG_H_ */
deleted file mode 100644
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#include "ffsb_tg.h"
-#include "ffsb_thread.h"
-#include "ffsb_op.h"
-#include "util.h"
-
-void init_ffsb_thread(ffsb_thread_t * ft, struct ffsb_tg *tg, unsigned bufsize,
- unsigned tg_num, unsigned thread_num)
-{
- memset(ft, 0, sizeof(ffsb_thread_t));
-
- ft->tg = tg;
- ft->tg_num = tg_num;
- ft->thread_num = thread_num;
-
- if (bufsize)
- ft_alter_bufsize(ft, bufsize);
-
- init_random(&ft->rd, MAX_RANDBUF_SIZE);
-}
-
-void destroy_ffsb_thread(ffsb_thread_t * ft)
-{
- free(ft->mallocbuf);
- destroy_random(&ft->rd);
- if (ft->fsd.config)
- ffsb_statsd_destroy(&ft->fsd);
-}
-
-void ft_set_statsc(ffsb_thread_t * ft, ffsb_statsc_t * fsc)
-{
- ffsb_statsd_init(&ft->fsd, fsc);
-}
-
-void *ft_run(void *data)
-{
- ffsb_thread_t *ft = (ffsb_thread_t *) data;
- tg_op_params_t params;
- unsigned wait_time = tg_get_waittime(ft->tg);
- int stopval = tg_get_stopval(ft->tg);
-
- ffsb_barrier_wait(tg_get_start_barrier(ft->tg));
-
- while (tg_get_flagval(ft->tg) != stopval) {
- tg_get_op(ft->tg, &ft->rd, ¶ms);
- do_op(ft, params.fs, params.opnum);
- ffsb_milli_sleep(wait_time);
- }
- return NULL;
-}
-
-void ft_alter_bufsize(ffsb_thread_t * ft, unsigned bufsize)
-{
- if (ft->mallocbuf != NULL)
- free(ft->mallocbuf);
- ft->mallocbuf = ffsb_malloc(bufsize + 4096);
- ft->alignedbuf = ffsb_align_4k(ft->mallocbuf + (4096 - 1));
-}
-
-char *ft_getbuf(ffsb_thread_t * ft)
-{
- return ft->alignedbuf;
-}
-
-int ft_get_read_random(ffsb_thread_t * ft)
-{
- return tg_get_read_random(ft->tg);
-}
-
-uint32_t ft_get_read_size(ffsb_thread_t * ft)
-{
- return tg_get_read_size(ft->tg);
-}
-
-uint32_t ft_get_read_blocksize(ffsb_thread_t * ft)
-{
- return tg_get_read_blocksize(ft->tg);
-}
-
-int ft_get_write_random(ffsb_thread_t * ft)
-{
- return tg_get_write_random(ft->tg);
-}
-
-uint32_t ft_get_write_size(ffsb_thread_t * ft)
-{
- return tg_get_write_size(ft->tg);
-}
-
-uint32_t ft_get_write_blocksize(ffsb_thread_t * ft)
-{
- return tg_get_write_blocksize(ft->tg);
-}
-
-int ft_get_fsync_file(ffsb_thread_t * ft)
-{
- return tg_get_fsync_file(ft->tg);
-}
-
-randdata_t *ft_get_randdata(ffsb_thread_t * ft)
-{
- return &ft->rd;
-}
-
-void ft_incr_op(ffsb_thread_t * ft, unsigned opnum, unsigned increment,
- uint64_t bytes)
-{
- ft->results.ops[opnum] += increment;
- ft->results.op_weight[opnum]++;
- ft->results.bytes[opnum] += bytes;
-}
-
-void ft_add_readbytes(ffsb_thread_t * ft, uint32_t bytes)
-{
- ft->results.read_bytes += bytes;
-}
-
-void ft_add_writebytes(ffsb_thread_t * ft, uint32_t bytes)
-{
- ft->results.write_bytes += bytes;
-}
-
-ffsb_op_results_t *ft_get_results(ffsb_thread_t * ft)
-{
- return &ft->results;
-}
-
-int ft_get_read_skip(ffsb_thread_t * ft)
-{
- return tg_get_read_skip(ft->tg);
-}
-
-uint32_t ft_get_read_skipsize(ffsb_thread_t * ft)
-{
- return tg_get_read_skipsize(ft->tg);
-}
-
-int ft_needs_stats(ffsb_thread_t * ft, syscall_t sys)
-{
- int ret = 0;
- if (ft && ft->fsd.config && !fsc_ignore_sys(ft->fsd.config, sys))
- ret = 1;
- return ret;
-}
-
-void ft_add_stat(ffsb_thread_t * ft, syscall_t sys, uint32_t val)
-{
- if (ft)
- ffsb_add_data(&ft->fsd, sys, val);
-}
-
-ffsb_statsd_t *ft_get_stats_data(ffsb_thread_t * ft)
-{
- return &ft->fsd;
-}
deleted file mode 100644
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef _FFSB_THREAD_H_
-#define _FFSB_THREAD_H_
-
-#include <pthread.h>
-#include <inttypes.h>
-
-#include "rand.h"
-#include "ffsb_op.h"
-#include "ffsb_tg.h"
-#include "ffsb_stats.h"
-
-#include "util.h" /* for barrier stuff */
-
-struct ffsb_tg;
-struct ffsb_op_results;
-
-/* FFSB thread object
- *
- * The thread object doesn't store any configuration information, it
- * mostly just holds per-thread state information such as the random
- * data store and the per-thread buffer to copy data to/from disk
- */
-
-typedef struct ffsb_thread {
- unsigned thread_num;
- unsigned tg_num;
- pthread_t ptid;
- struct randdata rd;
- struct ffsb_tg *tg; /* owning thread group */
-
- /* If we are using Direct IO, then we must only use a 4k
- * aligned buffer so, alignedbuf_4k is a pointer into
- * "mallocbuf" which is what malloc gave us.
- */
- char *alignedbuf;
- char *mallocbuf;
-
- struct ffsb_op_results results;
-
- /* stats */
- ffsb_statsd_t fsd;
-} ffsb_thread_t ;
-
-void init_ffsb_thread(ffsb_thread_t *, struct ffsb_tg *, unsigned,
- unsigned, unsigned);
-void destroy_ffsb_thread(ffsb_thread_t *);
-
-/* Owning thread group will start thread with this, thread runs until
- * *ft->checkval == ft->stopval. Yes this is not strictly
- * synchronized, but that is okay for our purposes, and it limits (IMO
- * expensive) bus-locking.
- *
- * pthread_create() is called by tg with this function as a parameter
- * data is a (ffsb_thread_t*)
- */
-void *ft_run(void *);
-
-void ft_alter_bufsize(ffsb_thread_t *, unsigned);
-char *ft_getbuf(ffsb_thread_t *);
-
-int ft_get_read_random(ffsb_thread_t *);
-uint32_t ft_get_read_size(ffsb_thread_t *);
-uint32_t ft_get_read_blocksize(ffsb_thread_t *);
-
-int ft_get_write_random(ffsb_thread_t *);
-uint32_t ft_get_write_size(ffsb_thread_t *);
-uint32_t ft_get_write_blocksize(ffsb_thread_t *);
-
-int ft_get_fsync_file(ffsb_thread_t *);
-
-randdata_t *ft_get_randdata(ffsb_thread_t *);
-
-void ft_incr_op(ffsb_thread_t *ft, unsigned opnum, unsigned increment, uint64_t bytes);
-
-void ft_add_readbytes(ffsb_thread_t *, uint32_t);
-void ft_add_writebytes(ffsb_thread_t *, uint32_t);
-
-int ft_get_read_skip(ffsb_thread_t *);
-uint32_t ft_get_read_skipsize(ffsb_thread_t *);
-
-ffsb_op_results_t *ft_get_results(ffsb_thread_t *);
-
-void ft_set_statsc(ffsb_thread_t *, ffsb_statsc_t *);
-
-/* for these two, ft == NULL is OK */
-int ft_needs_stats(ffsb_thread_t *, syscall_t);
-void ft_add_stat(ffsb_thread_t *, syscall_t, uint32_t);
-
-ffsb_statsd_t *ft_get_stats_data(ffsb_thread_t *);
-
-#endif /* _FFSB_THREAD_H_ */
deleted file mode 100644
@@ -1,280 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#define FILE_OFFSET_BITS 64
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <inttypes.h>
-#include <assert.h>
-
-#include "ffsb.h"
-#include "fh.h"
-
-#include "config.h"
-
-/* !!! ugly */
-#ifndef HAVE_OPEN64
-#define open64 open
-#endif
-
-#ifndef HAVE_FSEEKO64
-#define lseek64 lseek
-#endif
-
-/* All these functions read the global mainconfig->bufferedio variable
- * to determine if they are to do buffered i/o or normal.
- *
- * ha, well, they're supposed to anyway...!!! TODO -SR 2006/05/14
- */
-
-static void do_stats(struct timeval *start, struct timeval *end,
- ffsb_thread_t * ft, ffsb_fs_t * fs, syscall_t sys)
-{
- struct timeval diff;
- uint32_t value = 0;
-
- if (!ft && !fs)
- return;
-
- timersub(end, start, &diff);
-
- value = 1000000 * diff.tv_sec + diff.tv_usec;
-
- if (ft && ft_needs_stats(ft, sys))
- ft_add_stat(ft, sys, value);
- if (fs && fs_needs_stats(fs, sys))
- fs_add_stat(fs, sys, value);
-}
-
-static int fhopenhelper(char *filename, char *bufflags, int flags,
- ffsb_thread_t * ft, ffsb_fs_t * fs)
-{
- int fd = 0;
- struct timeval start, end;
- int need_stats = ft_needs_stats(ft, SYS_OPEN) ||
- fs_needs_stats(fs, SYS_OPEN);
-
- flags |= O_LARGEFILE;
-
- if (need_stats)
- gettimeofday(&start, NULL);
-
- fd = open64(filename, flags, S_IRWXU);
- if (fd < 0) {
- perror(filename);
- exit(0);
- }
-
- if (need_stats) {
- gettimeofday(&end, NULL);
- do_stats(&start, &end, ft, fs, SYS_OPEN);
- }
-
- return fd;
-}
-
-int fhopenread(char *filename, ffsb_thread_t * ft, ffsb_fs_t * fs)
-{
- int flags = O_RDONLY;
- int directio = fs_get_directio(fs);
-
- if (directio)
- flags |= O_DIRECT;
- return fhopenhelper(filename, "r", flags, ft, fs);
-}
-
-int fhopenappend(char *filename, ffsb_thread_t * ft, ffsb_fs_t * fs)
-{
- int flags = O_APPEND | O_WRONLY;
- int directio = fs_get_directio(fs);
-
- if (directio)
- flags |= O_DIRECT;
- return fhopenhelper(filename, "a", flags, ft, fs);
-}
-
-int fhopenwrite(char *filename, ffsb_thread_t * ft, ffsb_fs_t * fs)
-{
- int flags = O_WRONLY;
- int directio = fs_get_directio(fs);
-
- if (directio)
- flags |= O_DIRECT;
- return fhopenhelper(filename, "w", flags, ft, fs);
-}
-
-int fhopencreate(char *filename, ffsb_thread_t * ft, ffsb_fs_t * fs)
-{
- int flags = O_CREAT | O_RDWR | O_TRUNC;
- int directio = fs_get_directio(fs);
-
- if (directio)
- flags |= O_DIRECT;
- return fhopenhelper(filename, "rw", flags, ft, fs);
-}
-
-void fhread(int fd, void *buf, uint64_t size, ffsb_thread_t * ft,
- ffsb_fs_t * fs)
-{
- ssize_t realsize;
- struct timeval start, end;
- int need_stats = ft_needs_stats(ft, SYS_READ) ||
- fs_needs_stats(fs, SYS_READ);
-
- assert(size <= SIZE_MAX);
- if (need_stats)
- gettimeofday(&start, NULL);
- realsize = read(fd, buf, size);
-
- if (need_stats) {
- gettimeofday(&end, NULL);
- do_stats(&start, &end, ft, fs, SYS_READ);
- }
-
- if (realsize != size) {
- printf("Read %lld instead of %llu bytes.\n",
- (unsigned long long)realsize, (unsigned long long)size);
- perror("read");
- exit(1);
- }
-}
-
-void fhwrite(int fd, void *buf, uint32_t size, ffsb_thread_t * ft,
- ffsb_fs_t * fs)
-{
- ssize_t realsize;
- struct timeval start, end;
- int need_stats = ft_needs_stats(ft, SYS_WRITE) ||
- fs_needs_stats(fs, SYS_WRITE);
-
- assert(size <= SIZE_MAX);
- if (need_stats)
- gettimeofday(&start, NULL);
-
- realsize = write(fd, buf, size);
-
- if (need_stats) {
- gettimeofday(&end, NULL);
- do_stats(&start, &end, ft, fs, SYS_WRITE);
- }
-
- if (realsize != size) {
- printf("Wrote %d instead of %d bytes.\n"
- "Probably out of disk space\n", realsize, size);
- perror("write");
- exit(1);
- }
-}
-
-void fhseek(int fd, uint64_t offset, int whence, ffsb_thread_t * ft,
- ffsb_fs_t * fs)
-{
- uint64_t res;
- struct timeval start, end;
- int need_stats = ft_needs_stats(ft, SYS_LSEEK) ||
- fs_needs_stats(fs, SYS_LSEEK);
-
- if ((whence == SEEK_CUR) && (offset == 0))
- return;
-
- if (need_stats)
- gettimeofday(&start, NULL);
-
- res = lseek64(fd, offset, whence);
-
- if (need_stats) {
- gettimeofday(&end, NULL);
- do_stats(&start, &end, ft, fs, SYS_LSEEK);
- }
- if ((whence == SEEK_SET) && (res != offset))
- perror("seek");
-
- if (res == -1) {
- if (whence == SEEK_SET)
- fprintf(stderr, "tried to seek to %lld\n", offset);
- else
- fprintf(stderr, "tried to seek from current "
- "position to %lld\n", offset);
-
- perror("seek");
- exit(1);
- }
-}
-
-void fhclose(int fd, ffsb_thread_t * ft, ffsb_fs_t * fs)
-{
- struct timeval start, end;
- int need_stats = ft_needs_stats(ft, SYS_CLOSE) ||
- fs_needs_stats(fs, SYS_CLOSE);
-
- if (need_stats)
- gettimeofday(&start, NULL);
-
- close(fd);
-
- if (need_stats) {
- gettimeofday(&end, NULL);
- do_stats(&start, &end, ft, fs, SYS_CLOSE);
- }
-}
-
-void fhstat(char *name, ffsb_thread_t * ft, ffsb_fs_t * fs)
-{
- struct timeval start, end;
- struct stat tmp_stat;
-
- int need_stats = ft_needs_stats(ft, SYS_STAT) ||
- fs_needs_stats(fs, SYS_CLOSE);
-
- if (need_stats)
- gettimeofday(&start, NULL);
-
- if (stat(name, &tmp_stat)) {
- fprintf(stderr, "stat call failed for file %s\n", name);
- exit(1);
- }
-
- if (need_stats) {
- gettimeofday(&end, NULL);
- do_stats(&start, &end, ft, fs, SYS_STAT);
- }
-}
-
-int writefile_helper(int fd, uint64_t size, uint32_t blocksize, char *buf,
- struct ffsb_thread *ft, struct ffsb_fs *fs)
-{
- uint64_t iterations, a;
- uint64_t last;
-
- iterations = size / blocksize;
- last = size % blocksize;
-
- for (a = 0; a < iterations; a++)
- fhwrite(fd, buf, blocksize, ft, fs);
-
- if (last) {
- a++;
- fhwrite(fd, buf, last, ft, fs);
- }
- return a;
-}
deleted file mode 100644
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef _FH_H_
-#define _FH_H_
-
-#include <inttypes.h>
-#include "ffsb_thread.h"
-
-struct ffsb_thread;
-struct ffsb_fs;
-
-int fhopenread(char *, struct ffsb_thread *, struct ffsb_fs *);
-int fhopenwrite(char *, struct ffsb_thread *, struct ffsb_fs *);
-int fhopencreate(char *, struct ffsb_thread *, struct ffsb_fs *);
-int fhopenappend(char *, struct ffsb_thread *, struct ffsb_fs *);
-
-void fhread(int, void *, uint64_t, struct ffsb_thread *, struct ffsb_fs *);
-void fhstat(char *name, ffsb_thread_t * ft, ffsb_fs_t * fs);
-
-/* can only write up to size_t bytes at a time, so size is a uint32_t */
-void fhwrite(int, void *, uint32_t, struct ffsb_thread *, struct ffsb_fs *);
-void fhseek(int, uint64_t, int, struct ffsb_thread *, struct ffsb_fs *);
-void fhclose(int, struct ffsb_thread *, struct ffsb_fs *);
-
-int writefile_helper(int, uint64_t, uint32_t, char *, struct ffsb_thread *,
- struct ffsb_fs *);
-
-#endif /* _FH_H_ */
deleted file mode 100644
@@ -1,499 +0,0 @@
-/*
- * Copyright (c) International Business Machines Corp., 2001-2004
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#include <limits.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include "rand.h"
-#include "filelist.h"
-#include "util.h"
-#include "rwlock.h"
-#include "rbt.h"
-#include "cirlist.h"
-
-#if 0
-static
-void print_cl(struct cirlist *cl)
-{
- struct cnode *cur = cl->head;
- printf("curlist: ");
- if (cur == NULL) {
- printf("\n");
- return;
- }
- do {
- printf("%d ", cur->obj->num);
- cur = cur->next;
- } while (cur != cl->head);
- printf("\n");
-}
-#endif
-
-#if 0
-static
-int node_cmp(struct ffsb_file *a, struct ffsb_file *b)
-{
- return a->num - b->num;
-}
-#endif
-
-static
-void build_dirs(struct benchfiles *bf)
-{
- char buf[FILENAME_MAX];
- int i;
-
- if (mkdir(bf->basedir, S_IRWXU) < 0)
- if (errno != EEXIST) {
- perror(bf->basedir);
- exit(1);
- }
- for (i = 0; i < bf->numsubdirs; i++) {
- snprintf(buf, FILENAME_MAX, "%s/%s%s%d",
- bf->basedir, bf->basename, SUBDIRNAME_BASE, i);
- if (mkdir(buf, S_IRWXU) == -1)
- if (errno != EEXIST) {
- perror(buf);
- exit(1);
- }
- }
-}
-
-void init_filelist(struct benchfiles *b, char *basedir, char *basename,
- uint32_t numsubdirs, int builddirs)
-{
- memset(b, 0, sizeof(struct benchfiles));
- b->basedir = ffsb_strdup(basedir);
- b->basename = ffsb_strdup(basename);
- b->numsubdirs = numsubdirs;
- init_rwlock(&b->fileslock);
- b->files = rbtree_construct();
- b->dirs = rbtree_construct();
- b->holes = ffsb_malloc(sizeof(struct cirlist));
- b->dholes = ffsb_malloc(sizeof(struct cirlist));
- init_cirlist(b->holes);
- init_cirlist(b->dholes);
-
- if (builddirs)
- build_dirs(b);
-}
-
-static void file_destructor(struct ffsb_file *file)
-{
- free(file->name);
- free(file);
-}
-
-void destroy_filelist(struct benchfiles *bf)
-{
- free(bf->basedir);
- free(bf->basename);
-
- while (!cl_empty(bf->holes)) {
- struct ffsb_file *cur = cl_remove_head(bf->holes);
- file_destructor(cur);
- }
- free(bf->holes);
- rbtree_clean(bf->files, file_destructor);
- free(bf->files);
-}
-
-struct ffsb_file *add_file(struct benchfiles *b, uint64_t size, randdata_t * rd)
-{
- struct ffsb_file *newfile, *oldfile = NULL;
- int filenum = 0;
-
- /* We pre-allocate here, because I don't want to spend time
- * malloc'ing while the list is locked we free it later if
- * necessary
- */
- newfile = ffsb_malloc(sizeof(struct ffsb_file));
-
- newfile->size = size;
- init_rwlock(&(newfile->lock));
-
- /* Write lock the filelist, begin critical section */
- rw_lock_write(&b->fileslock);
-
- /* First check "holes" for a file */
- if (!cl_empty(b->holes)) {
- oldfile = cl_remove_head(b->holes);
- rbtree_insert(b->files, oldfile);
- rw_lock_write(&oldfile->lock);
- } else {
- filenum = b->listsize;
- b->listsize++;
-
- newfile->num = filenum;
- rbtree_insert(b->files, newfile);
-
- rw_lock_write(&newfile->lock);
- }
-
- /* unlock filelist */
- rw_unlock_write(&b->fileslock);
-
- if (oldfile == NULL) {
- char buf[FILENAME_MAX];
- int randdir = getrandom(rd, b->numsubdirs + 1);
- int namesize = 0;
- if (randdir == 0)
- namesize = snprintf(buf, FILENAME_MAX, "%s/%s%s%d",
- b->basedir, b->basename,
- FILENAME_BASE, filenum);
- else
- namesize = snprintf(buf, FILENAME_MAX,
- "%s/%s%s%d/%s%s%d", b->basedir,
- b->basename, SUBDIRNAME_BASE,
- randdir - 1, b->basename,
- FILENAME_BASE, filenum);
- if (namesize >= FILENAME_MAX)
- /* !!! do something about this ? */
- printf("warning: filename \"%s\" too long\n", buf);
- newfile->name = ffsb_strdup(buf);
- return newfile;
- } else {
- free(newfile);
- return oldfile;
- }
-}
-
-struct ffsb_file *add_dir(struct benchfiles *b, uint64_t size, randdata_t * rd)
-{
- struct ffsb_file *newdir, *olddir = NULL;
- int dirnum = 0;
-
- newdir = ffsb_malloc(sizeof(struct ffsb_file));
-
- init_rwlock(&newdir->lock);
-
- /* write lock the filelist, beging critical section */
- rw_lock_write(&b->fileslock);
-
- /* First check "holes" for a file */
- if (!cl_empty(b->dholes)) {
- olddir = cl_remove_head(b->dholes);
- rbtree_insert(b->files, olddir);
- rw_lock_write(&olddir->lock);
- } else {
- dirnum = b->numsubdirs;
- b->numsubdirs++;
- printf("dirnum: %d\n", dirnum);
- newdir->num = dirnum;
- rbtree_insert(b->dirs, newdir);
-
- rw_lock_write(&newdir->lock);
- }
-
- /* unlock filelist */
- rw_unlock_write(&b->fileslock);
-
- if (olddir == NULL) {
- char buf[FILENAME_MAX];
- int namesize = 0;
- namesize = snprintf(buf, FILENAME_MAX, "%s/%s%s%d",
- b->basedir, b->basename,
- SUBDIRNAME_BASE, dirnum);
- if (namesize >= FILENAME_MAX)
- printf("warning: filename \"%s\" too long\n", buf);
- /* TODO: take action here... */
- newdir->name = ffsb_strdup(buf);
- return newdir;
- } else {
- free(newdir);
- return olddir;
- }
-}
-
-/* Private version of above function used only for reusing a
- * fileset.
- */
-static struct ffsb_file *add_file_named(struct benchfiles *b, uint64_t size,
- char *name)
-{
- struct ffsb_file *newfile = NULL;
-
- newfile = ffsb_malloc(sizeof(struct ffsb_file));
- memset(newfile, 0, sizeof(struct ffsb_file));
- newfile->name = ffsb_strdup(name);
- newfile->size = size;
- init_rwlock(&newfile->lock);
-
- /* Write lock the filelist, begin critical section */
- rw_lock_write(&b->fileslock);
-
- newfile->num = b->listsize;
- b->listsize++;
-
- /* Add a new file to the rbtree */
- rbtree_insert(b->files, newfile);
-
- rw_lock_write(&newfile->lock);
-
- /* Unlock filelist */
- rw_unlock_write(&b->fileslock);
-
- return newfile;
-}
-
-#if 0
-static void print_rb_helper(rb_node * cur)
-{
- if (cur != NULL) {
- print_rb_helper(cur->left);
- printf("%d ", cur->object->num);
- print_rb_helper(cur->right);
- }
-}
-
-static void print_rb(rb_tree * tree)
-{
- print_rb_helper(tree->root);
-}
-#endif
-
-void remove_file(struct benchfiles *b, struct ffsb_file *entry)
and associated runtest file fs_ext4. The main reason is that these tests [1] (contributed in 2009) are mostly outdated and irrelevant. According to Theodore Y. Tso [2] and Jan Kara [3] the only partly valid tests are ext4_nsec_timestamps_test.sh and ext4_subdir_limit_test.sh, but even these would be better to migrate to xfstests, which Yong Sun is planning to do. Also, some of the tests weren't in any runtest file anyway (ext4-alloc-test.sh, ext4_inode_version_test.sh, ext4_journal_checksum.sh, ext4_online_defrag_test.sh) ffsb tool was used only in these New ext4 features tests. [1] http://ext4.wiki.kernel.org/index.php/New_ext4_features [2] https://marc.info/?l=linux-fsdevel&m=157187153211649&w=2 [3] https://marc.info/?l=linux-ext4&m=157190318618555&w=2 Closes: #560 Cc: Yong Sun <YoSun@suse.com> Signed-off-by: Petr Vorel <pvorel@suse.cz> --- configure.ac | 2 - runtest/fs_ext4 | 4 - .../kernel/fs/ext4-new-features/.gitignore | 4 - .../kernel/fs/ext4-new-features/Makefile | 27 - testcases/kernel/fs/ext4-new-features/README | 127 - .../ext4-delalloc-mballoc/Makefile | 25 - .../ext4-delalloc-mballoc/ext4-alloc-test.sh | 146 - .../ext4-ffsb-config/Makefile | 26 - .../ext4-ffsb-config/ffsb-config0 | 23 - .../ext4-ffsb-config/ffsb-config1 | 23 - .../ext4-ffsb-config/ffsb-config2 | 23 - .../ext4-ffsb-config/ffsb-config3 | 29 - .../ext4-ffsb-config/ffsb-config4 | 29 - .../ext4-ffsb-config/ffsb-config5 | 29 - .../ext4-ffsb-config/ffsb-config6 | 29 - .../ext4-ffsb-config/ffsb-config7 | 29 - .../ext4-inode-version/Makefile | 25 - .../ext4_get_inode_version.sh | 41 - .../ext4_inode_version_test.sh | 158 - .../ext4_test_inode_version.c | 217 - .../ext4-journal-checksum/Makefile | 25 - .../ext4_journal_checksum.sh | 133 - .../ext4-nsec-timestamps/Makefile | 25 - .../ext4-nsec-timestamps/ext4_file_time.c | 69 - .../ext4_nsec_timestamps_test.sh | 163 - .../ext4-online-defrag/Makefile | 25 - .../ext4_online_defrag_test.sh | 182 - .../ext4-persist-prealloc/Makefile | 25 - .../ext4_persist_prealloc_test.sh | 90 - .../ext4-subdir-limit/Makefile | 25 - .../ext4-subdir-limit/create_long_dirs.c | 161 - .../ext4-subdir-limit/create_short_dirs.c | 163 - .../ext4_subdir_limit_test.sh | 156 - .../ext4-uninit-groups/Makefile | 25 - .../ext4_uninit_groups_test.sh | 142 - .../kernel/fs/ext4-new-features/ext4_funcs.sh | 63 - utils/.gitignore | 9 - utils/ffsb-6.0-rc2/AUTHORS | 7 - utils/ffsb-6.0-rc2/COPYING | 340 - utils/ffsb-6.0-rc2/INSTALL | 182 - utils/ffsb-6.0-rc2/LICENSE | 347 - utils/ffsb-6.0-rc2/Makefile.am | 46 - utils/ffsb-6.0-rc2/Makefile.in | 628 -- utils/ffsb-6.0-rc2/README | 413 - utils/ffsb-6.0-rc2/aclocal.m4 | 880 --- utils/ffsb-6.0-rc2/cirlist.c | 106 - utils/ffsb-6.0-rc2/cirlist.h | 41 - utils/ffsb-6.0-rc2/config.guess | 1 - utils/ffsb-6.0-rc2/config.h.in | 130 - utils/ffsb-6.0-rc2/config.sub | 1 - utils/ffsb-6.0-rc2/configure | 7000 ----------------- utils/ffsb-6.0-rc2/configure.in | 50 - utils/ffsb-6.0-rc2/depcomp | 472 -- .../ffsb-6.0-rc2/examples/profile_everything | 119 - utils/ffsb-6.0-rc2/ffsb.h | 105 - utils/ffsb-6.0-rc2/ffsb_fc.c | 109 - utils/ffsb-6.0-rc2/ffsb_fs.c | 630 -- utils/ffsb-6.0-rc2/ffsb_fs.h | 184 - utils/ffsb-6.0-rc2/ffsb_op.c | 192 - utils/ffsb-6.0-rc2/ffsb_op.h | 102 - utils/ffsb-6.0-rc2/ffsb_stats.c | 240 - utils/ffsb-6.0-rc2/ffsb_stats.h | 109 - utils/ffsb-6.0-rc2/ffsb_tg.c | 369 - utils/ffsb-6.0-rc2/ffsb_tg.h | 206 - utils/ffsb-6.0-rc2/ffsb_thread.c | 171 - utils/ffsb-6.0-rc2/ffsb_thread.h | 108 - utils/ffsb-6.0-rc2/fh.c | 280 - utils/ffsb-6.0-rc2/fh.h | 43 - utils/ffsb-6.0-rc2/filelist.c | 499 -- utils/ffsb-6.0-rc2/filelist.h | 145 - utils/ffsb-6.0-rc2/fileops.c | 543 -- utils/ffsb-6.0-rc2/fileops.h | 51 - utils/ffsb-6.0-rc2/install-sh | 250 - utils/ffsb-6.0-rc2/list.c | 53 - utils/ffsb-6.0-rc2/list.h | 53 - utils/ffsb-6.0-rc2/main.c | 255 - utils/ffsb-6.0-rc2/metaops.c | 112 - utils/ffsb-6.0-rc2/metaops.h | 28 - utils/ffsb-6.0-rc2/missing | 336 - utils/ffsb-6.0-rc2/mkinstalldirs | 40 - utils/ffsb-6.0-rc2/parser.c | 1051 --- utils/ffsb-6.0-rc2/parser.h | 151 - utils/ffsb-6.0-rc2/public-description | 4 - utils/ffsb-6.0-rc2/rand.c | 188 - utils/ffsb-6.0-rc2/rand.h | 60 - utils/ffsb-6.0-rc2/rbt.c | 1063 --- utils/ffsb-6.0-rc2/rbt.h | 316 - utils/ffsb-6.0-rc2/registration-description | 7 - utils/ffsb-6.0-rc2/rwlock.c | 108 - utils/ffsb-6.0-rc2/rwlock.h | 51 - utils/ffsb-6.0-rc2/stamp-h.in | 1 - utils/ffsb-6.0-rc2/util.c | 345 - utils/ffsb-6.0-rc2/util.h | 94 - 93 files changed, 21912 deletions(-) delete mode 100644 runtest/fs_ext4 delete mode 100644 testcases/kernel/fs/ext4-new-features/.gitignore delete mode 100644 testcases/kernel/fs/ext4-new-features/Makefile delete mode 100644 testcases/kernel/fs/ext4-new-features/README delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/Makefile delete mode 100755 testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/Makefile delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config0 delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config1 delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config2 delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config3 delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config4 delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config5 delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config6 delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config7 delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-inode-version/Makefile delete mode 100755 testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh delete mode 100755 testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_test_inode_version.c delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/Makefile delete mode 100755 testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/Makefile delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_file_time.c delete mode 100755 testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-online-defrag/Makefile delete mode 100755 testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/Makefile delete mode 100755 testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/Makefile delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_long_dirs.c delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_short_dirs.c delete mode 100755 testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh delete mode 100644 testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/Makefile delete mode 100755 testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh delete mode 100755 testcases/kernel/fs/ext4-new-features/ext4_funcs.sh delete mode 100644 utils/ffsb-6.0-rc2/AUTHORS delete mode 100644 utils/ffsb-6.0-rc2/COPYING delete mode 100644 utils/ffsb-6.0-rc2/INSTALL delete mode 100644 utils/ffsb-6.0-rc2/LICENSE delete mode 100644 utils/ffsb-6.0-rc2/Makefile.am delete mode 100644 utils/ffsb-6.0-rc2/Makefile.in delete mode 100644 utils/ffsb-6.0-rc2/README delete mode 100644 utils/ffsb-6.0-rc2/aclocal.m4 delete mode 100644 utils/ffsb-6.0-rc2/cirlist.c delete mode 100644 utils/ffsb-6.0-rc2/cirlist.h delete mode 120000 utils/ffsb-6.0-rc2/config.guess delete mode 100644 utils/ffsb-6.0-rc2/config.h.in delete mode 120000 utils/ffsb-6.0-rc2/config.sub delete mode 100755 utils/ffsb-6.0-rc2/configure delete mode 100644 utils/ffsb-6.0-rc2/configure.in delete mode 100755 utils/ffsb-6.0-rc2/depcomp delete mode 100644 utils/ffsb-6.0-rc2/examples/profile_everything delete mode 100644 utils/ffsb-6.0-rc2/ffsb.h delete mode 100644 utils/ffsb-6.0-rc2/ffsb_fc.c delete mode 100644 utils/ffsb-6.0-rc2/ffsb_fs.c delete mode 100644 utils/ffsb-6.0-rc2/ffsb_fs.h delete mode 100644 utils/ffsb-6.0-rc2/ffsb_op.c delete mode 100644 utils/ffsb-6.0-rc2/ffsb_op.h delete mode 100644 utils/ffsb-6.0-rc2/ffsb_stats.c delete mode 100644 utils/ffsb-6.0-rc2/ffsb_stats.h delete mode 100644 utils/ffsb-6.0-rc2/ffsb_tg.c delete mode 100644 utils/ffsb-6.0-rc2/ffsb_tg.h delete mode 100644 utils/ffsb-6.0-rc2/ffsb_thread.c delete mode 100644 utils/ffsb-6.0-rc2/ffsb_thread.h delete mode 100644 utils/ffsb-6.0-rc2/fh.c delete mode 100644 utils/ffsb-6.0-rc2/fh.h delete mode 100644 utils/ffsb-6.0-rc2/filelist.c delete mode 100644 utils/ffsb-6.0-rc2/filelist.h delete mode 100644 utils/ffsb-6.0-rc2/fileops.c delete mode 100644 utils/ffsb-6.0-rc2/fileops.h delete mode 100755 utils/ffsb-6.0-rc2/install-sh delete mode 100644 utils/ffsb-6.0-rc2/list.c delete mode 100644 utils/ffsb-6.0-rc2/list.h delete mode 100644 utils/ffsb-6.0-rc2/main.c delete mode 100644 utils/ffsb-6.0-rc2/metaops.c delete mode 100644 utils/ffsb-6.0-rc2/metaops.h delete mode 100755 utils/ffsb-6.0-rc2/missing delete mode 100755 utils/ffsb-6.0-rc2/mkinstalldirs delete mode 100644 utils/ffsb-6.0-rc2/parser.c delete mode 100644 utils/ffsb-6.0-rc2/parser.h delete mode 100644 utils/ffsb-6.0-rc2/public-description delete mode 100644 utils/ffsb-6.0-rc2/rand.c delete mode 100644 utils/ffsb-6.0-rc2/rand.h delete mode 100644 utils/ffsb-6.0-rc2/rbt.c delete mode 100644 utils/ffsb-6.0-rc2/rbt.h delete mode 100644 utils/ffsb-6.0-rc2/registration-description delete mode 100644 utils/ffsb-6.0-rc2/rwlock.c delete mode 100644 utils/ffsb-6.0-rc2/rwlock.h delete mode 100644 utils/ffsb-6.0-rc2/stamp-h.in delete mode 100644 utils/ffsb-6.0-rc2/util.c delete mode 100644 utils/ffsb-6.0-rc2/util.h