mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-17 16:10:24 +08:00
---------------------- ./tools/h5ls.c Added a `--address' (`-a') switch which causes h5ls to display file addresses for raw data. For contiguous datasets it's just a nice simple number, but for chunked datasets it's a list of logical dataset coordinates, file addresses, filter masks, and storage sizes. Changed `--dump' switch to `--data'. ./src/H5D.c ./src/H5F.c ./src/H5Fprivate.h Enhanced the indexed-storage B-tree iterator so it can dump raw data addresses (and other info) to the standard error stream. Added H5Ddebug() so h5ls has a way to dump addresses for datasets. I'm not sure what else this API function should do, so I think we should discuss it before we document it. So far, h5ls is the only thing that uses it, and we can easily change that. ./src/H5Tconv.c ./test/dtypes.c Finally had a chance to verify Paul's H5T_conv_s_s (general string to string conversions) bug fixes and incorporate them into H5T_conv_f_f (general floating-point to floating-point conversions) and H5T_conv_i_i (general integer to integer conversons). Thanks Paul. ./src/H5D.c ./src/H5S.c ./src/H5Sprivate.h Added performance timers around data space read and write callbacks. They were already there for the gather/scatter callbacks. The timings for read/write callbacks are displayed along with gather/scatter when data space debugging is turned on. ./bin/iostats Updated to print totals. Added a `--fast' option that doesn't do any output except the totals and is much faster. ./bin/trace Changed __unused__ to UNUSED to match source code. ./config/gnu-flags Updated error message for pgcc. I've sent bug reports to the pgcc people but the new version still has the same bug. ./configure.in ./config/conclude.in ./config/depend.in Fixed dependencies for non-GNU makes when run in a directory other than the hdf5 source tree. Updated GNU `make dep' rules to copy the distributed dependencies for non-GNU makes into the source tree when run in some other directory.
156 lines
3.7 KiB
Bash
156 lines
3.7 KiB
Bash
# -*- shell-script -*-
|
|
#
|
|
# This file should be sourced into configure if the compiler is the
|
|
# GNU gcc compiler or a derivative. It is careful not to do anything
|
|
# if the compiler is not GNU; otherwise `cc_flags_set' is set to `yes'
|
|
#
|
|
|
|
# Get the compiler version in a way that works for gcc, egcs, and
|
|
# pgcc unless a compiler version is already known
|
|
#
|
|
# cc_vendor: The compiler name: gcc, egcs, or pgcc
|
|
# cc_version: Version number: 2.91.60, 2.7.2.1
|
|
#
|
|
if test X = "X$cc_flags_set"; then
|
|
cc_version="`$CC $CFLAGS -v 2>&1 |grep 'gcc version' |\
|
|
sed 's/.*gcc version \([-a-z0-9\.]*\).*/\1/'`"
|
|
cc_vendor=`echo $cc_version |sed 's/\([a-z]*\).*/\1/'`
|
|
cc_version=`echo $cc_version |sed 's/[-a-z]//g'`
|
|
if test X = "X$cc_vendor" -a X != "X$cc_version"; then
|
|
cc_vendor=gcc
|
|
fi
|
|
if test "-" != "$cc_vendor-$cc_version"; then
|
|
echo "compiler '$CC' is GNU $cc_vendor-$cc_version"
|
|
fi
|
|
fi
|
|
|
|
# Warn about old GNU compilers that don't work right.
|
|
case "$cc_vendor-$cc_version" in
|
|
gcc-2.7.*)
|
|
cat <<EOF
|
|
**
|
|
** This compiler may be unable to properly compile the long long
|
|
** data type used extensively by hdf5, although specifying
|
|
** --disable-hsizet for configure may work around those bugs.
|
|
** There may be other code generation problems also, especially
|
|
** when optimizations are enabled. Please upgrade to at least GNU
|
|
** gcc version 2.8.1 before reporting bugs to the HDF5 team.
|
|
**
|
|
EOF
|
|
sleep 5
|
|
;;
|
|
|
|
pgcc-2.*)
|
|
v2=`echo $cc_version |cut -f2 -d.`
|
|
v3=`echo $cc_version |cut -f3 -d.`
|
|
v=`expr $v2 '*' 1000 + $v3`
|
|
if test $v -le 91066; then
|
|
cat <<EOF
|
|
**
|
|
** This compiler may have problems allocating registers for long
|
|
** long data types when optimizations are enabled. There may be
|
|
** other code generation problems as well. We know of no version
|
|
** of pgcc which is capable of compiling HDF5 in production mode.
|
|
** Please use gcc-2.8 or egcs-1.1.1 before reporting bugs.
|
|
**
|
|
EOF
|
|
sleep 5
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
# Architecture-specific flags
|
|
case "$host_cpu" in
|
|
i686)
|
|
ARCH=${ARCH:="-mcpu=pentiumpro -march=pentiumpro -malign-double"}
|
|
;;
|
|
esac
|
|
|
|
# Compiler flags
|
|
case "$cc_vendor-$cc_version" in
|
|
gcc-2.7*)
|
|
# General
|
|
CFLAGS="$CFLAGS -ansi"
|
|
|
|
# Production
|
|
PROC_CFLAGS="-O3 $NOFP -finline-functions -Wno-shadow"
|
|
PROD_CPPFLAGS=
|
|
|
|
# Debug
|
|
DEBUG_CFLAGS="-g -fverbose-asm -Wno-shadow"
|
|
DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
|
|
|
|
# Profile
|
|
PROFILE_CFLAGS=-pg
|
|
PROFILE_CPPFLAGS=
|
|
|
|
# Flags are set
|
|
cc_flags_set=yes
|
|
;;
|
|
|
|
gcc-2.8.*)
|
|
# General
|
|
CFLAGS="$CFLAGS -Wsign-compare"
|
|
|
|
# Production
|
|
PROD_CFLAGS="$ARCH -O3 $NOFP -finline-functions -fschedule-insns2 -Wno-shadow"
|
|
PROD_CPPFLAGS=
|
|
|
|
# Debug
|
|
DEBUG_CFLAGS="-g -fverbose-asm -Wno-shadow"
|
|
DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
|
|
|
|
# Profile
|
|
PROFILE_CFLAGS=-pg
|
|
PROFILE_CPPFLAGS=
|
|
|
|
# Flags are set
|
|
cc_flags_set=yes
|
|
;;
|
|
|
|
egcs-2.*|pgcc-2.*)
|
|
# General
|
|
CFLAGS="$CFLAGS -Wsign-compare"
|
|
|
|
# Production
|
|
PROD_CFLAGS="$ARCH -O6 $NOFP -Wno-shadow"
|
|
PROD_CPPFLAGS=
|
|
|
|
# Debug
|
|
DEBUG_CFLAGS="-g -fverbose-asm -Wno-shadow"
|
|
DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
|
|
|
|
# Profile
|
|
PROFILE_CFLAGS=-pg
|
|
PROFILE_CPPFLAGS=
|
|
|
|
# Flags are set
|
|
cc_flags_set=yes
|
|
;;
|
|
|
|
gcc-*|egcs-*|pgcc-*)
|
|
# This must be some other GNU compiler that we don't know about.
|
|
# Just use fairly generic flags.
|
|
|
|
# Production
|
|
PROD_CFLAGS=-O
|
|
PROD_CPPFLAGS=
|
|
|
|
# Debug
|
|
DEBUG_CFLAGS=-g
|
|
DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
|
|
|
|
# Profile
|
|
PROFILE_CFLAGS=-pg
|
|
PROFILE_CPPFLAGS=
|
|
|
|
# Flags are set
|
|
cc_flags_set=yes
|
|
;;
|
|
esac
|
|
|
|
# Clear cc info if no flags set
|
|
if test X = "X$cc_flags_set"; then
|
|
cc_vendor=
|
|
cc_version=
|
|
fi |