From c22bac0d207abbdd81123c35681f0558f75de488 Mon Sep 17 00:00:00 2001 From: Robb Matzke Date: Mon, 15 Feb 1999 12:38:04 -0500 Subject: [svn-r1065] Changes since 19990121 ---------------------- ./configure.in ./acconfig.h ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./src/H5public.h ./src/H5Omtime.c Check for Checks for `__tm_gmtoff' in `struct tm' because old versions of GNU libc are different than recent versions. This fixes the failing mtime test. ./bin/config.guess ./config/freebsd2.2.7 [REMOVED] ./config/freebsd [ADDED] Changed the name so it works with all versions of FreeBSD. ./src/H5.c Moved H5F after H5T and H5G in H5_term_library() to satisfy dependencies. ./src/H5G.c Fixed a bug that caused H5Gcreate() to fail if the group name had trailing slashes. ./src/H5Gpublic.h Changed `group_name' to `name' in a prototype. ./src/Makefile.in Dynamic library on Linux, but needs for work to be generally useful. ./src/H5HG.c ./src/H5HGprivate.h Fixed alignment problems when using old GCC compilers (like the one shipped with RedHad Linux). ./tools/h5ls.c Fixed a bug where the contents of the root group could be listed twice if there was a link back to the root group. Similarly for groups that are mentioned on the command line. Fixed a bug where unknown types were printed with a random type class number. ./src/H5T.c ./src/H5Tconv.c ./src/H5Tprivate.h Fixed O(log N) conversion bugs. --- MANIFEST | 2 +- README | 2 +- acconfig.h | 3 + bin/config.guess | 2 +- config/freebsd | 8 + config/freebsd2.2.7 | 9 -- configure | 453 ++++++++++++++++++++++++++++++---------------------- configure.in | 10 ++ src/H5.c | 13 +- src/H5G.c | 5 +- src/H5Gpublic.h | 2 +- src/H5HG.c | 28 +++- src/H5HGprivate.h | 25 +-- src/H5Omtime.c | 5 +- src/H5T.c | 39 ++++- src/H5Tconv.c | 28 +++- src/H5Tprivate.h | 5 +- src/H5config.h.in | 6 + src/H5public.h | 8 +- src/Makefile.in | 5 + test/enum.c | 4 +- tools/h5ls.c | 7 +- 22 files changed, 418 insertions(+), 251 deletions(-) create mode 100644 config/freebsd delete mode 100644 config/freebsd2.2.7 diff --git a/MANIFEST b/MANIFEST index 001afc6..4b8f2b0 100644 --- a/MANIFEST +++ b/MANIFEST @@ -43,7 +43,7 @@ ./config/commence.in ./config/conclude.in ./config/depend.in -./config/freebsd2.2.7 +./config/freebsd ./config/hpux10.20 ./config/hpux9.03 ./config/intel-osf1 diff --git a/README b/README index 9ab1a3c..8a9f763 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -This is hdf5-1.1.39 released on Wed Feb 3 11:36:32 CST 1999 +This is hdf5-1.1.39 released on Mon Feb 15 10:58:34 EST 1999 Please refer to the INSTALL file for installation instructions. ------------------------------------------------------------------------------ diff --git a/acconfig.h b/acconfig.h index 13e8eb3..17dee34 100644 --- a/acconfig.h +++ b/acconfig.h @@ -16,6 +16,9 @@ /* Define if `tm_gmtoff' is a member of `struct tm' */ #undef HAVE_TM_GMTOFF +/* Define if `__tm_gmtoff' is a member of `struct tm' */ +#undef HAVE___TM_GMTOFF + /* Define if `timezone' is a global variable */ #undef HAVE_TIMEZONE diff --git a/bin/config.guess b/bin/config.guess index c036193..46c1d11 100755 --- a/bin/config.guess +++ b/bin/config.guess @@ -319,7 +319,7 @@ EOF echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + echo ${UNAME_MACHINE}-unknown-freebsd exit 0 ;; *:NetBSD:*:*) echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` diff --git a/config/freebsd b/config/freebsd new file mode 100644 index 0000000..c3694a1 --- /dev/null +++ b/config/freebsd @@ -0,0 +1,8 @@ +# -*- shell-script -*- +# This file is part of the HDF5 build script. It is processed shortly +# after configure starts and defines, among other things, flags for +# the various compile modes. +# +# See BlankForm in this directory for details. + +. config/linux diff --git a/config/freebsd2.2.7 b/config/freebsd2.2.7 deleted file mode 100644 index c709551..0000000 --- a/config/freebsd2.2.7 +++ /dev/null @@ -1,9 +0,0 @@ -# -*- shell-script -*- -# This file is part of the HDF5 build script. It is processed shortly -# after configure starts and defines, among other things, flags for -# the various compile modes. -# -# See BlankForm in this directory for details. - -. config/linux -CPP=/usr/bin/cpp diff --git a/configure b/configure index b228dc6..dc71978 100755 --- a/configure +++ b/configure @@ -1422,7 +1422,7 @@ else fi done -for ac_hdr in io.h winsock.h sys/timeb.h +for ac_hdr in stddef.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 @@ -1462,15 +1462,55 @@ else fi done +for ac_hdr in io.h winsock.h sys/timeb.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:1470: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1480: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 +fi +done + echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:1469: checking for off_t" >&5 +echo "configure:1509: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -1498,12 +1538,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:1502: checking for size_t" >&5 +echo "configure:1542: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -1531,12 +1571,12 @@ EOF fi echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 -echo "configure:1535: checking for ssize_t" >&5 +echo "configure:1575: checking for ssize_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_ssize_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -1564,14 +1604,14 @@ EOF fi echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:1568: checking whether byte ordering is bigendian" >&5 +echo "configure:1608: checking whether byte ordering is bigendian" >&5 if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext < #include @@ -1582,11 +1622,11 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:1586: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1626: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext < #include @@ -1597,7 +1637,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:1601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1641: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -1617,7 +1657,7 @@ if test "$cross_compiling" = yes; then { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1674: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_c_bigendian=no else @@ -1654,7 +1694,7 @@ EOF fi echo $ac_n "checking size of char""... $ac_c" 1>&6 -echo "configure:1658: checking size of char" >&5 +echo "configure:1698: checking size of char" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_char'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1662,7 +1702,7 @@ else ac_cv_sizeof_char=1 else cat > conftest.$ac_ext < main() @@ -1673,7 +1713,7 @@ main() exit(0); } EOF -if { (eval echo configure:1677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_char=`cat conftestval` else @@ -1693,7 +1733,7 @@ EOF echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:1697: checking size of short" >&5 +echo "configure:1737: checking size of short" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1701,7 +1741,7 @@ else ac_cv_sizeof_short=2 else cat > conftest.$ac_ext < main() @@ -1712,7 +1752,7 @@ main() exit(0); } EOF -if { (eval echo configure:1716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_short=`cat conftestval` else @@ -1732,7 +1772,7 @@ EOF echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:1736: checking size of int" >&5 +echo "configure:1776: checking size of int" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1740,7 +1780,7 @@ else ac_cv_sizeof_int=4 else cat > conftest.$ac_ext < main() @@ -1751,7 +1791,7 @@ main() exit(0); } EOF -if { (eval echo configure:1755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1795: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int=`cat conftestval` else @@ -1771,7 +1811,7 @@ EOF echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:1775: checking size of long" >&5 +echo "configure:1815: checking size of long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1779,7 +1819,7 @@ else ac_cv_sizeof_long=4 else cat > conftest.$ac_ext < main() @@ -1790,7 +1830,7 @@ main() exit(0); } EOF -if { (eval echo configure:1794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1834: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long=`cat conftestval` else @@ -1810,7 +1850,7 @@ EOF echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:1814: checking size of long long" >&5 +echo "configure:1854: checking size of long long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1818,7 +1858,7 @@ else ac_cv_sizeof_long_long=8 else cat > conftest.$ac_ext < main() @@ -1829,7 +1869,7 @@ main() exit(0); } EOF -if { (eval echo configure:1833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1873: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long_long=`cat conftestval` else @@ -1849,7 +1889,7 @@ EOF echo $ac_n "checking size of __int64""... $ac_c" 1>&6 -echo "configure:1853: checking size of __int64" >&5 +echo "configure:1893: checking size of __int64" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof___int64'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1857,7 +1897,7 @@ else ac_cv_sizeof___int64=8 else cat > conftest.$ac_ext < main() @@ -1868,7 +1908,7 @@ main() exit(0); } EOF -if { (eval echo configure:1872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1912: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof___int64=`cat conftestval` else @@ -1888,7 +1928,7 @@ EOF echo $ac_n "checking size of float""... $ac_c" 1>&6 -echo "configure:1892: checking size of float" >&5 +echo "configure:1932: checking size of float" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_float'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1896,7 +1936,7 @@ else ac_cv_sizeof_float=4 else cat > conftest.$ac_ext < main() @@ -1907,7 +1947,7 @@ main() exit(0); } EOF -if { (eval echo configure:1911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_float=`cat conftestval` else @@ -1927,7 +1967,7 @@ EOF echo $ac_n "checking size of double""... $ac_c" 1>&6 -echo "configure:1931: checking size of double" >&5 +echo "configure:1971: checking size of double" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_double'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1935,7 +1975,7 @@ else ac_cv_sizeof_double=8 else cat > conftest.$ac_ext < main() @@ -1946,7 +1986,7 @@ main() exit(0); } EOF -if { (eval echo configure:1950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_double=`cat conftestval` else @@ -1966,7 +2006,7 @@ EOF echo $ac_n "checking size of long double""... $ac_c" 1>&6 -echo "configure:1970: checking size of long double" >&5 +echo "configure:2010: checking size of long double" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long_double'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1974,7 +2014,7 @@ else ac_cv_sizeof_long_double=8 else cat > conftest.$ac_ext < main() @@ -1985,7 +2025,7 @@ main() exit(0); } EOF -if { (eval echo configure:1989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long_double=`cat conftestval` else @@ -2009,7 +2049,7 @@ cat >>confdefs.h <<\EOF #include EOF echo $ac_n "checking size of int8_t""... $ac_c" 1>&6 -echo "configure:2013: checking size of int8_t" >&5 +echo "configure:2053: checking size of int8_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int8_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2017,7 +2057,7 @@ else ac_cv_sizeof_int8_t=1 else cat > conftest.$ac_ext < main() @@ -2028,7 +2068,7 @@ main() exit(0); } EOF -if { (eval echo configure:2032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int8_t=`cat conftestval` else @@ -2048,7 +2088,7 @@ EOF echo $ac_n "checking size of uint8_t""... $ac_c" 1>&6 -echo "configure:2052: checking size of uint8_t" >&5 +echo "configure:2092: checking size of uint8_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_uint8_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2056,7 +2096,7 @@ else ac_cv_sizeof_uint8_t=1 else cat > conftest.$ac_ext < main() @@ -2067,7 +2107,7 @@ main() exit(0); } EOF -if { (eval echo configure:2071: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_uint8_t=`cat conftestval` else @@ -2087,7 +2127,7 @@ EOF echo $ac_n "checking size of int16_t""... $ac_c" 1>&6 -echo "configure:2091: checking size of int16_t" >&5 +echo "configure:2131: checking size of int16_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int16_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2095,7 +2135,7 @@ else ac_cv_sizeof_int16_t=2 else cat > conftest.$ac_ext < main() @@ -2106,7 +2146,7 @@ main() exit(0); } EOF -if { (eval echo configure:2110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int16_t=`cat conftestval` else @@ -2126,7 +2166,7 @@ EOF echo $ac_n "checking size of uint16_t""... $ac_c" 1>&6 -echo "configure:2130: checking size of uint16_t" >&5 +echo "configure:2170: checking size of uint16_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_uint16_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2134,7 +2174,7 @@ else ac_cv_sizeof_uint16_t=2 else cat > conftest.$ac_ext < main() @@ -2145,7 +2185,7 @@ main() exit(0); } EOF -if { (eval echo configure:2149: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2189: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_uint16_t=`cat conftestval` else @@ -2165,7 +2205,7 @@ EOF echo $ac_n "checking size of int32_t""... $ac_c" 1>&6 -echo "configure:2169: checking size of int32_t" >&5 +echo "configure:2209: checking size of int32_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2173,7 +2213,7 @@ else ac_cv_sizeof_int32_t=4 else cat > conftest.$ac_ext < main() @@ -2184,7 +2224,7 @@ main() exit(0); } EOF -if { (eval echo configure:2188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2228: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int32_t=`cat conftestval` else @@ -2204,7 +2244,7 @@ EOF echo $ac_n "checking size of uint32_t""... $ac_c" 1>&6 -echo "configure:2208: checking size of uint32_t" >&5 +echo "configure:2248: checking size of uint32_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_uint32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2212,7 +2252,7 @@ else ac_cv_sizeof_uint32_t=4 else cat > conftest.$ac_ext < main() @@ -2223,7 +2263,7 @@ main() exit(0); } EOF -if { (eval echo configure:2227: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_uint32_t=`cat conftestval` else @@ -2243,7 +2283,7 @@ EOF echo $ac_n "checking size of int64_t""... $ac_c" 1>&6 -echo "configure:2247: checking size of int64_t" >&5 +echo "configure:2287: checking size of int64_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2251,7 +2291,7 @@ else ac_cv_sizeof_int64_t=8 else cat > conftest.$ac_ext < main() @@ -2262,7 +2302,7 @@ main() exit(0); } EOF -if { (eval echo configure:2266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2306: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int64_t=`cat conftestval` else @@ -2282,7 +2322,7 @@ EOF echo $ac_n "checking size of uint64_t""... $ac_c" 1>&6 -echo "configure:2286: checking size of uint64_t" >&5 +echo "configure:2326: checking size of uint64_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_uint64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2290,7 +2330,7 @@ else ac_cv_sizeof_uint64_t=8 else cat > conftest.$ac_ext < main() @@ -2301,7 +2341,7 @@ main() exit(0); } EOF -if { (eval echo configure:2305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_uint64_t=`cat conftestval` else @@ -2322,7 +2362,7 @@ EOF echo $ac_n "checking size of size_t""... $ac_c" 1>&6 -echo "configure:2326: checking size of size_t" >&5 +echo "configure:2366: checking size of size_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2330,7 +2370,7 @@ else ac_cv_sizeof_size_t=4 else cat > conftest.$ac_ext < main() @@ -2341,7 +2381,7 @@ main() exit(0); } EOF -if { (eval echo configure:2345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_size_t=`cat conftestval` else @@ -2364,7 +2404,7 @@ cat >>confdefs.h <<\EOF #include /*for off_t definition*/ EOF echo $ac_n "checking size of off_t""... $ac_c" 1>&6 -echo "configure:2368: checking size of off_t" >&5 +echo "configure:2408: checking size of off_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2372,7 +2412,7 @@ else ac_cv_sizeof_off_t=4 else cat > conftest.$ac_ext < main() @@ -2383,7 +2423,7 @@ main() exit(0); } EOF -if { (eval echo configure:2387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2427: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_off_t=`cat conftestval` else @@ -2410,7 +2450,7 @@ if test "${enable_hsizet+set}" = set; then fi echo $ac_n "checking for sizeof hsize_t and hssize_t""... $ac_c" 1>&6 -echo "configure:2414: checking for sizeof hsize_t and hssize_t" >&5 +echo "configure:2454: checking for sizeof hsize_t and hssize_t" >&5 case $HSIZET in no|small) echo "$ac_t""small" 1>&6 @@ -2439,17 +2479,17 @@ case $withval in do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2443: checking for $ac_hdr" >&5 +echo "configure:2483: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2453: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2493: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2476,7 +2516,7 @@ fi done echo $ac_n "checking for compress in -lz""... $ac_c" 1>&6 -echo "configure:2480: checking for compress in -lz" >&5 +echo "configure:2520: checking for compress in -lz" >&5 ac_lib_var=`echo z'_'compress | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2484,7 +2524,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lz $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2525,7 +2565,7 @@ fi ;; no) echo $ac_n "checking for GNU zlib""... $ac_c" 1>&6 -echo "configure:2529: checking for GNU zlib" >&5 +echo "configure:2569: checking for GNU zlib" >&5 echo "$ac_t""suppressed" 1>&6 ;; *) @@ -2537,17 +2577,17 @@ echo "configure:2529: checking for GNU zlib" >&5 do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2541: checking for $ac_hdr" >&5 +echo "configure:2581: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2551: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2591: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2579,17 +2619,17 @@ done do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2583: checking for $ac_hdr" >&5 +echo "configure:2623: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2593: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2633: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2622,7 +2662,7 @@ done saved_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -L$zlib_lib" echo $ac_n "checking for compress in -lz""... $ac_c" 1>&6 -echo "configure:2626: checking for compress in -lz" >&5 +echo "configure:2666: checking for compress in -lz" >&5 ac_lib_var=`echo z'_'compress | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2630,7 +2670,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lz $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2685: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2671,7 +2711,7 @@ fi else echo $ac_n "checking for compress in -lz""... $ac_c" 1>&6 -echo "configure:2675: checking for compress in -lz" >&5 +echo "configure:2715: checking for compress in -lz" >&5 ac_lib_var=`echo z'_'compress | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2679,7 +2719,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lz $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2734: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2740,17 +2780,17 @@ case $withval in do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2744: checking for $ac_hdr" >&5 +echo "configure:2784: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2754: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2794: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2778,7 +2818,7 @@ fi done echo $ac_n "checking for main in -ldf""... $ac_c" 1>&6 -echo "configure:2782: checking for main in -ldf" >&5 +echo "configure:2822: checking for main in -ldf" >&5 ac_lib_var=`echo df'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2786,14 +2826,14 @@ else ac_save_LIBS="$LIBS" LIBS="-ldf $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2837: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2822,7 +2862,7 @@ unset H5TOH4 TESTH5TOH4 fi echo $ac_n "checking for main in -lmfhdf""... $ac_c" 1>&6 -echo "configure:2826: checking for main in -lmfhdf" >&5 +echo "configure:2866: checking for main in -lmfhdf" >&5 ac_lib_var=`echo mfhdf'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2830,14 +2870,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lmfhdf $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2868,7 +2908,7 @@ fi ;; no) echo $ac_n "checking for HDF4""... $ac_c" 1>&6 -echo "configure:2872: checking for HDF4" >&5 +echo "configure:2912: checking for HDF4" >&5 echo "$ac_t""suppressed" 1>&6 unset H5TOH4 TESTH5TOH4 ;; @@ -2881,17 +2921,17 @@ echo "configure:2872: checking for HDF4" >&5 do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2885: checking for $ac_hdr" >&5 +echo "configure:2925: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2895: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2935: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2925,17 +2965,17 @@ done do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2929: checking for $ac_hdr" >&5 +echo "configure:2969: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2939: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2979: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2968,7 +3008,7 @@ done saved_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -L$hdf4_lib" echo $ac_n "checking for main in -ldf""... $ac_c" 1>&6 -echo "configure:2972: checking for main in -ldf" >&5 +echo "configure:3012: checking for main in -ldf" >&5 ac_lib_var=`echo df'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2976,14 +3016,14 @@ else ac_save_LIBS="$LIBS" LIBS="-ldf $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3012,7 +3052,7 @@ unset H5TOH4 TESTH5TOH4 fi echo $ac_n "checking for main in -lmfhdf""... $ac_c" 1>&6 -echo "configure:3016: checking for main in -lmfhdf" >&5 +echo "configure:3056: checking for main in -lmfhdf" >&5 ac_lib_var=`echo mfhdf'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3020,14 +3060,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lmfhdf $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3071: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3057,7 +3097,7 @@ fi else echo $ac_n "checking for main in -ldf""... $ac_c" 1>&6 -echo "configure:3061: checking for main in -ldf" >&5 +echo "configure:3101: checking for main in -ldf" >&5 ac_lib_var=`echo df'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3065,14 +3105,14 @@ else ac_save_LIBS="$LIBS" LIBS="-ldf $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3100,7 +3140,7 @@ else fi echo $ac_n "checking for main in -lmfhdf""... $ac_c" 1>&6 -echo "configure:3104: checking for main in -lmfhdf" >&5 +echo "configure:3144: checking for main in -lmfhdf" >&5 ac_lib_var=`echo mfhdf'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3108,14 +3148,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lmfhdf $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3149,9 +3189,9 @@ esac echo $ac_n "checking for tm_gmtoff in struct tm""... $ac_c" 1>&6 -echo "configure:3153: checking for tm_gmtoff in struct tm" >&5 +echo "configure:3193: checking for tm_gmtoff in struct tm" >&5 cat > conftest.$ac_ext < @@ -3160,7 +3200,7 @@ int main() { struct tm tm; tm.tm_gmtoff=0; ; return 0; } EOF -if { (eval echo configure:3164: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3204: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_TM_GMTOFF 1 @@ -3175,10 +3215,37 @@ else fi rm -f conftest* +echo $ac_n "checking for __tm_gmtoff in struct tm""... $ac_c" 1>&6 +echo "configure:3220: checking for __tm_gmtoff in struct tm" >&5 +cat > conftest.$ac_ext < +#include +int main() { +struct tm tm; tm.__tm_gmtoff=0; +; return 0; } +EOF +if { (eval echo configure:3231: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + cat >> confdefs.h <<\EOF +#define HAVE___TM_GMTOFF 1 +EOF + +echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + echo "$ac_t""no" 1>&6 +fi +rm -f conftest* + echo $ac_n "checking for global timezone variable""... $ac_c" 1>&6 -echo "configure:3180: checking for global timezone variable" >&5 +echo "configure:3247: checking for global timezone variable" >&5 cat > conftest.$ac_ext < @@ -3187,7 +3254,7 @@ int main() { timezone=0; ; return 0; } EOF -if { (eval echo configure:3191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3258: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_TIMEZONE 1 @@ -3203,12 +3270,12 @@ fi rm -f conftest* echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 -echo "configure:3207: checking whether struct tm is in sys/time.h or time.h" >&5 +echo "configure:3274: checking whether struct tm is in sys/time.h or time.h" >&5 if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -3216,7 +3283,7 @@ int main() { struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:3220: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -3237,12 +3304,12 @@ EOF fi echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 -echo "configure:3241: checking for tm_zone in struct tm" >&5 +echo "configure:3308: checking for tm_zone in struct tm" >&5 if eval "test \"`echo '$''{'ac_cv_struct_tm_zone'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_cv_struct_tm> @@ -3250,7 +3317,7 @@ int main() { struct tm tm; tm.tm_zone; ; return 0; } EOF -if { (eval echo configure:3254: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3321: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm_zone=yes else @@ -3270,12 +3337,12 @@ EOF else echo $ac_n "checking for tzname""... $ac_c" 1>&6 -echo "configure:3274: checking for tzname" >&5 +echo "configure:3341: checking for tzname" >&5 if eval "test \"`echo '$''{'ac_cv_var_tzname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #ifndef tzname /* For SGI. */ @@ -3285,7 +3352,7 @@ int main() { atoi(*tzname); ; return 0; } EOF -if { (eval echo configure:3289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_var_tzname=yes else @@ -3307,9 +3374,9 @@ EOF fi echo $ac_n "checking for struct timezone""... $ac_c" 1>&6 -echo "configure:3311: checking for struct timezone" >&5 +echo "configure:3378: checking for struct timezone" >&5 cat > conftest.$ac_ext < @@ -3319,7 +3386,7 @@ int main() { struct timezone tz; tz.tz_minuteswest=0; ; return 0; } EOF -if { (eval echo configure:3323: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3390: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_STRUCT_TIMEZONE 1 @@ -3335,9 +3402,9 @@ fi rm -f conftest* echo $ac_n "checking for st_blocks in struct stat""... $ac_c" 1>&6 -echo "configure:3339: checking for st_blocks in struct stat" >&5 +echo "configure:3406: checking for st_blocks in struct stat" >&5 cat > conftest.$ac_ext < @@ -3345,7 +3412,7 @@ int main() { struct stat sb; sb.st_blocks=0; ; return 0; } EOF -if { (eval echo configure:3349: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3416: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_STAT_ST_BLOCKS 1 @@ -3363,12 +3430,12 @@ rm -f conftest* for ac_func in _getvideoconfig gettextinfo GetConsoleScreenBufferInfo do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3367: checking for $ac_func" >&5 +echo "configure:3434: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3462: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3418,12 +3485,12 @@ done for ac_func in _scrsize ioctl compress2 do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3422: checking for $ac_func" >&5 +echo "configure:3489: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3472,16 +3539,16 @@ done echo $ac_n "checking for struct videoconfig""... $ac_c" 1>&6 -echo "configure:3476: checking for struct videoconfig" >&5 +echo "configure:3543: checking for struct videoconfig" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3552: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_STRUCT_VIDEOCONFIG 1 @@ -3497,16 +3564,16 @@ fi rm -f conftest* echo $ac_n "checking for struct text_info""... $ac_c" 1>&6 -echo "configure:3501: checking for struct text_info" >&5 +echo "configure:3568: checking for struct text_info" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3577: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_STRUCT_TEXT_INFO 1 @@ -3522,16 +3589,16 @@ fi rm -f conftest* echo $ac_n "checking for TIOCGWINSZ""... $ac_c" 1>&6 -echo "configure:3526: checking for TIOCGWINSZ" >&5 +echo "configure:3593: checking for TIOCGWINSZ" >&5 cat > conftest.$ac_ext < int main() { int w=TIOCGWINSZ; ; return 0; } EOF -if { (eval echo configure:3535: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3602: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_TIOCGWINSZ 1 @@ -3547,16 +3614,16 @@ fi rm -f conftest* echo $ac_n "checking for TIOCGGETD""... $ac_c" 1>&6 -echo "configure:3551: checking for TIOCGGETD" >&5 +echo "configure:3618: checking for TIOCGGETD" >&5 cat > conftest.$ac_ext < int main() { int w=TIOCGETD; ; return 0; } EOF -if { (eval echo configure:3560: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3627: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_TIOCGETD 1 @@ -3575,12 +3642,12 @@ rm -f conftest* for ac_func in getpwuid gethostname system getrusage fork waitpid do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3579: checking for $ac_func" >&5 +echo "configure:3646: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3674: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3630,12 +3697,12 @@ done for ac_func in gettimeofday BSDgettimeofday difftime sigaction snprintf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3634: checking for $ac_func" >&5 +echo "configure:3701: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3729: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3684,24 +3751,24 @@ done cat > conftest.$ac_ext < int main() { off64_t n = 0; ; return 0; } EOF -if { (eval echo configure:3695: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3762: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* for ac_func in lseek64 fseek64 do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3700: checking for $ac_func" >&5 +echo "configure:3767: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3795: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3759,12 +3826,12 @@ rm -f conftest* echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3763: checking for working const" >&5 +echo "configure:3830: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3884: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -3834,21 +3901,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:3838: checking for inline" >&5 +echo "configure:3905: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3919: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -3875,16 +3942,16 @@ esac echo $ac_n "checking for __attribute__ extension""... $ac_c" 1>&6 -echo "configure:3879: checking for __attribute__ extension" >&5 +echo "configure:3946: checking for __attribute__ extension" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3955: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_ATTRIBUTE 1 @@ -3900,16 +3967,16 @@ fi rm -f conftest* echo $ac_n "checking for __FUNCTION__ extension""... $ac_c" 1>&6 -echo "configure:3904: checking for __FUNCTION__ extension" >&5 +echo "configure:3971: checking for __FUNCTION__ extension" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3980: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_FUNCTION 1 @@ -3925,7 +3992,7 @@ fi rm -f conftest* echo $ac_n "checking how to print long long""... $ac_c" 1>&6 -echo "configure:3929: checking how to print long long" >&5 +echo "configure:3996: checking how to print long long" >&5 if eval "test \"`echo '$''{'hdf5_cv_printf_ll'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3934,7 +4001,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -3945,7 +4012,7 @@ else sprintf(s,"%${hdf5_cv_printf_ll}d",x); exit (strcmp(s,"1099511627776"));} EOF -if { (eval echo configure:3949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then break else @@ -3965,7 +4032,7 @@ EOF echo $ac_n "checking for debug flags""... $ac_c" 1>&6 -echo "configure:3969: checking for debug flags" >&5 +echo "configure:4036: checking for debug flags" >&5 # Check whether --enable-debug or --disable-debug was given. if test "${enable_debug+set}" = set; then enableval="$enable_debug" @@ -3997,7 +4064,7 @@ if test "X" != "X$DEBUG_PKG"; then fi echo $ac_n "checking for API tracing""... $ac_c" 1>&6 -echo "configure:4001: checking for API tracing" >&5; +echo "configure:4068: checking for API tracing" >&5; # Check whether --enable-trace or --disable-trace was given. if test "${enable_trace+set}" = set; then enableval="$enable_trace" @@ -4020,7 +4087,7 @@ if test "${enable_parallel+set}" = set; then fi echo $ac_n "checking for parallel support""... $ac_c" 1>&6 -echo "configure:4024: checking for parallel support" >&5; +echo "configure:4091: checking for parallel support" >&5; @@ -4047,7 +4114,7 @@ case "X-$PARALLEL" in EOF echo $ac_n "checking for main in -lmpi""... $ac_c" 1>&6 -echo "configure:4051: checking for main in -lmpi" >&5 +echo "configure:4118: checking for main in -lmpi" >&5 ac_lib_var=`echo mpi'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4055,14 +4122,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lmpi $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4133: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4089,7 +4156,7 @@ else echo "$ac_t""no" 1>&6 fi echo $ac_n "checking for main in -lmpio""... $ac_c" 1>&6 -echo "configure:4093: checking for main in -lmpio" >&5 +echo "configure:4160: checking for main in -lmpio" >&5 ac_lib_var=`echo mpio'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4097,14 +4164,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lmpio $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4175: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else diff --git a/configure.in b/configure.in index df1630d..7ad5f34 100644 --- a/configure.in +++ b/configure.in @@ -143,6 +143,7 @@ AC_HEADER_STDC AC_HEADER_TIME dnl Unix AC_CHECK_HEADERS(sys/resource.h sys/time.h unistd.h sys/ioctl.h sys/stat.h) +AC_CHECK_HEADERS(stddef.h) dnl Windows AC_CHECK_HEADERS(io.h winsock.h sys/timeb.h) @@ -304,6 +305,15 @@ AC_DEFINE(HAVE_TM_GMTOFF) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) +dnl check if `struct tm' has a `__tm_gmtoff' member. +AC_MSG_CHECKING(for __tm_gmtoff in struct tm) +AC_TRY_COMPILE([ +#include +#include ],[struct tm tm; tm.__tm_gmtoff=0;], +AC_DEFINE(HAVE___TM_GMTOFF) +AC_MSG_RESULT(yes), +AC_MSG_RESULT(no)) + dnl Check whether the global variable `timezone' is defined. AC_MSG_CHECKING(for global timezone variable) AC_TRY_LINK([ diff --git a/src/H5.c b/src/H5.c index 78d151f..b9bda39 100644 --- a/src/H5.c +++ b/src/H5.c @@ -143,6 +143,17 @@ H5_term_library(void) * interface later. */ + /* + * Cycles: The H5F layer participates in quite a few dependency cycles + * because it's cache depends on almost all other meta object + * packages and those packages depend on H5O which depends on H5F + * (because H5F_close() can delay until all object headers are + * closed). We handle this cycle by closing the H5F interface, + * which flushes the cache of all files, breaking any cycles. + */ + H5F_term_interface(-1); + H5F_term_interface(0); + /* Function What depends on it? */ /*------------------------- ------------------------------- */ H5D_term_interface(-1); /* */ @@ -150,12 +161,12 @@ H5_term_library(void) H5Z_term_interface(-1); /* */ H5A_term_interface(-1); /* */ H5RA_term_interface(-1); /* */ - H5F_term_interface(-1); /* T */ H5G_term_interface(-1); /* */ H5R_term_interface(-1); /* */ H5S_term_interface(-1); /* */ H5T_native_close(-1); /* D RA */ H5T_term_interface(-1); /* D RA */ + H5F_term_interface(-1); /* G T */ H5P_term_interface(-1); /* D */ H5I_term_interface(-1); /* A D F G P RA S T TB Z */ /*------------------------- --------------------------------- */ diff --git a/src/H5G.c b/src/H5G.c index 9af5fb5..e8fd6b1 100644 --- a/src/H5G.c +++ b/src/H5G.c @@ -1263,9 +1263,10 @@ H5G_create(H5G_entry_t *loc, const char *name, size_t size_hint) rest = H5G_component(rest, &nchars); assert(rest && *rest); if (rest[nchars]) { - if (H5G_component(rest + nchars, NULL)) { + const char *t = H5G_component(rest+nchars, NULL); + if (t && *t) { HRETURN_ERROR(H5E_SYM, H5E_NOTFOUND, NULL, "missing component"); - } else if (nchars + 1 > sizeof _comp) { + } else if (nchars+1 > sizeof _comp) { HRETURN_ERROR(H5E_SYM, H5E_COMPLEN, NULL, "component is too long"); } else { /* null terminate */ diff --git a/src/H5Gpublic.h b/src/H5Gpublic.h index 8c01bae..f2b9fbf 100644 --- a/src/H5Gpublic.h +++ b/src/H5Gpublic.h @@ -67,7 +67,7 @@ typedef struct H5G_stat_t { } H5G_stat_t; -typedef herr_t (*H5G_iterate_t)(hid_t group, const char *group_name, +typedef herr_t (*H5G_iterate_t)(hid_t group, const char *name, void *op_data); __DLL__ hid_t H5Gcreate (hid_t loc_id, const char *name, size_t size_hint); diff --git a/src/H5HG.c b/src/H5HG.c index e046fe6..e6cdf66 100644 --- a/src/H5HG.c +++ b/src/H5HG.c @@ -96,6 +96,7 @@ H5HG_create (H5F_t *f, size_t size) H5HG_heap_t *ret_value = NULL; uint8_t *p = NULL; haddr_t addr; + size_t n; FUNC_ENTER (H5HG_create, NULL); @@ -135,8 +136,18 @@ H5HG_create (H5F_t *f, size_t size) *p++ = 0; /*reserved*/ H5F_encode_length (f, p, size); + /* + * Padding so free space object is aligned. If malloc returned memory + * which was always at least H5HG_ALIGNMENT aligned then we could just + * align the pointer, but this might not be the case. + */ + n = H5HG_ALIGN(p-heap->chunk) - (p-heap->chunk); + memset(p, 0, n); + p += n; + /* The freespace object */ heap->obj[0].size = size - H5HG_SIZEOF_HDR(f); + assert(H5HG_ISALIGNED(heap->obj[0].size)); heap->obj[0].begin = p; UINT16ENCODE(p, 0); /*object ID*/ UINT16ENCODE(p, 0); /*reference count*/ @@ -301,7 +312,7 @@ H5HG_load (H5F_t *f, const haddr_t *addr, const void __unused__ *udata1, * size is never padded and already includes the object header. */ if (idx>0) { - need = H5HG_ALIGN(H5HG_SIZEOF_OBJHDR(f) + heap->obj[idx].size); + need = H5HG_SIZEOF_OBJHDR(f) + H5HG_ALIGN(heap->obj[idx].size); } else { need = heap->obj[idx].size; } @@ -309,7 +320,7 @@ H5HG_load (H5F_t *f, const haddr_t *addr, const void __unused__ *udata1, } } assert(p==heap->chunk+heap->size); - assert(heap->obj[0].size==H5HG_ALIGN(heap->obj[0].size)); + assert(H5HG_ISALIGNED(heap->obj[0].size)); /* * Add the new heap to the CWFS list, removing some other entry if @@ -434,7 +445,7 @@ H5HG_alloc (H5F_t *f, H5HG_heap_t *heap, int cwfsno, size_t size) { int idx; uint8_t *p = NULL; - size_t need = H5HG_ALIGN(H5HG_SIZEOF_OBJHDR(f) + size); + size_t need = H5HG_SIZEOF_OBJHDR(f) + H5HG_ALIGN(size); FUNC_ENTER (H5HG_alloc, FAIL); @@ -487,6 +498,7 @@ H5HG_alloc (H5F_t *f, H5HG_heap_t *heap, int cwfsno, size_t size) UINT16ENCODE(p, 0); /*nrefs*/ UINT32ENCODE(p, 0); /*reserved*/ H5F_encode_length (f, p, heap->obj[0].size); + assert(H5HG_ISALIGNED(heap->obj[0].size)); } else { /* @@ -495,6 +507,7 @@ H5HG_alloc (H5F_t *f, H5HG_heap_t *heap, int cwfsno, size_t size) */ heap->obj[0].size -= need; heap->obj[0].begin += need; + assert(H5HG_ISALIGNED(heap->obj[0].size)); } heap->dirty = 1; @@ -546,7 +559,7 @@ H5HG_insert (H5F_t *f, size_t size, void *obj, H5HG_t *hobj/*out*/) } /* Find a large enough collection on the CWFS list */ - need = H5HG_ALIGN(size + H5HG_SIZEOF_OBJHDR(f)); + need = H5HG_SIZEOF_OBJHDR(f) + H5HG_ALIGN(size); for (cwfsno=0; cwfsnoshared->ncwfs; cwfsno++) { if (f->shared->cwfs[cwfsno]->obj[0].size>=need) { /* @@ -819,8 +832,11 @@ H5HG_remove (H5F_t *f, H5HG_t *hobj) assert (hobj->idx>0 && hobj->idxnalloc); assert (heap->obj[hobj->idx].begin); obj_start = heap->obj[hobj->idx].begin; - need = H5HG_ALIGN(heap->obj[hobj->idx].size); - + need = H5HG_ALIGN(heap->obj[hobj->idx].size); /* + * should this include the + * object header size? -rpm + */ + /* Move the new free space to the end of the heap */ for (i=0; inalloc; i++) { if (heap->obj[i].begin > heap->obj[hobj->idx].begin) { diff --git a/src/H5HGprivate.h b/src/H5HGprivate.h index 6b64e8d..c4e0f1f 100644 --- a/src/H5HGprivate.h +++ b/src/H5HGprivate.h @@ -32,6 +32,7 @@ #define H5HG_ALIGNMENT 8 #define H5HG_ALIGN(X) (H5HG_ALIGNMENT*(((X)+H5HG_ALIGNMENT-1)/ \ H5HG_ALIGNMENT)) +#define H5HG_ISALIGNED(X) ((X)==H5HG_ALIGN(X)) /* * All global heap collections are at least this big. This allows us to read @@ -53,20 +54,24 @@ #define H5HG_MAXLINK 65535 /* - * The size of the collection header. + * The size of the collection header, always a multiple of the alignment so + * that the stuff that follows the header is aligned. */ -#define H5HG_SIZEOF_HDR(f) (4 + /*magic number */ \ - 1 + /*version number */ \ - 3 + /*reserved */ \ - H5F_SIZEOF_SIZE(f)) /*collection size */ +#define H5HG_SIZEOF_HDR(f) \ + H5HG_ALIGN(4 + /*magic number */ \ + 1 + /*version number */ \ + 3 + /*reserved */ \ + H5F_SIZEOF_SIZE(f)) /*collection size */ /* - * The overhead associated with each object in the heap. + * The overhead associated with each object in the heap, always a multiple of + * the alignment so that the stuff that follows the header is aligned. */ -#define H5HG_SIZEOF_OBJHDR(f) (2 + /*object id number */ \ - 2 + /*reference count */ \ - 4 + /*reserved */ \ - H5F_SIZEOF_SIZE(f)) /*object data size */ +#define H5HG_SIZEOF_OBJHDR(f) \ + H5HG_ALIGN(2 + /*object id number */ \ + 2 + /*reference count */ \ + 4 + /*reserved */ \ + H5F_SIZEOF_SIZE(f)) /*object data size */ /* * The initial guess for the number of messages in a collection. We assume diff --git a/src/H5Omtime.c b/src/H5Omtime.c index 3e4acb0..36157be 100644 --- a/src/H5Omtime.c +++ b/src/H5Omtime.c @@ -109,8 +109,11 @@ H5O_mtime_decode(H5F_t __unused__ *f, const uint8_t *p, #if defined(HAVE_TM_GMTOFF) /* FreeBSD, OSF 4.0 */ the_time += tm.tm_gmtoff; +#elif defined(HAVE___TM_GMTOFF) + /* Linux libc-4 */ + the_time += tm.__tm_gmtoff; #elif defined(HAVE_TIMEZONE) - /* Linux */ + /* Linux libc-5 */ the_time -= timezone - (tm.tm_isdst?3600:0); #elif defined(HAVE_BSDGETTIMEOFDAY) && defined(HAVE_STRUCT_TIMEZONE) /* Irix5.3 */ diff --git a/src/H5T.c b/src/H5T.c index c1d518a..097e33c 100644 --- a/src/H5T.c +++ b/src/H5T.c @@ -5075,7 +5075,7 @@ H5T_pack(H5T_t *dt) } /* Remove padding between members */ - H5T_sort_value(dt); + H5T_sort_value(dt, NULL); for (i=0, offset=0; iu.compnd.nmembs; i++) { dt->u.compnd.memb[i].offset = offset; offset += dt->u.compnd.memb[i].size; @@ -5095,7 +5095,8 @@ H5T_pack(H5T_t *dt) * Purpose: Sorts the members of a compound data type by their offsets; * sorts the members of an enum type by their values. This even * works for locked data types since it doesn't change the value - * of the type. + * of the type. MAP is an optional parallel integer array which + * is also swapped along with members of DT. * * Return: Non-negative on success/Negative on failure * @@ -5107,7 +5108,7 @@ H5T_pack(H5T_t *dt) *------------------------------------------------------------------------- */ herr_t -H5T_sort_value(H5T_t *dt) +H5T_sort_value(H5T_t *dt, int *map) { int i, j, nmembs; size_t size; @@ -5132,6 +5133,11 @@ H5T_sort_value(H5T_t *dt) H5T_cmemb_t tmp = dt->u.compnd.memb[j]; dt->u.compnd.memb[j] = dt->u.compnd.memb[j+1]; dt->u.compnd.memb[j+1] = tmp; + if (map) { + int x = map[j]; + map[j] = map[j+1]; + map[j+1] = x; + } swapped = TRUE; } } @@ -5166,6 +5172,13 @@ H5T_sort_value(H5T_t *dt) dt->u.enumer.value+(j+1)*size, size); HDmemcpy(dt->u.enumer.value+(j+1)*size, tbuf, size); + /* Swap map */ + if (map) { + int x = map[j]; + map[j] = map[j+1]; + map[j+1] = x; + } + swapped = TRUE; } } @@ -5204,7 +5217,7 @@ H5T_sort_value(H5T_t *dt) *------------------------------------------------------------------------- */ herr_t -H5T_sort_name(H5T_t *dt) +H5T_sort_name(H5T_t *dt, int *map) { int i, j, nmembs; size_t size; @@ -5230,6 +5243,11 @@ H5T_sort_name(H5T_t *dt) dt->u.compnd.memb[j] = dt->u.compnd.memb[j+1]; dt->u.compnd.memb[j+1] = tmp; swapped = TRUE; + if (map) { + int x = map[j]; + map[j] = map[j+1]; + map[j+1] = x; + } } } } @@ -5261,7 +5279,14 @@ H5T_sort_name(H5T_t *dt) HDmemcpy(dt->u.enumer.value+j*size, dt->u.enumer.value+(j+1)*size, size); HDmemcpy(dt->u.enumer.value+(j+1)*size, tbuf, size); - + + /* Swap map */ + if (map) { + int x = map[j]; + map[j] = map[j+1]; + map[j+1] = x; + } + swapped = TRUE; } } @@ -5390,7 +5415,7 @@ H5T_enum_nameof(H5T_t *dt, void *value, char *name/*out*/, size_t size) if (name && size>0) *name = '\0'; /* Do a binary search over the values to find the correct one */ - H5T_sort_value(dt); + H5T_sort_value(dt, NULL); lt = 0; rt = dt->u.enumer.nmembs; md = -1; @@ -5458,7 +5483,7 @@ H5T_enum_valueof(H5T_t *dt, const char *name, void *value/*out*/) assert(value); /* Do a binary search over the names to find the correct one */ - H5T_sort_name(dt); + H5T_sort_name(dt, NULL); lt = 0; rt = dt->u.enumer.nmembs; md = -1; diff --git a/src/H5Tconv.c b/src/H5Tconv.c index 86ccea3..8816894 100644 --- a/src/H5Tconv.c +++ b/src/H5Tconv.c @@ -550,8 +550,8 @@ H5T_conv_struct_init (H5T_t *src, H5T_t *dst, H5T_cdata_t *cdata) /* * Insure that members are sorted. */ - H5T_sort_value(src); - H5T_sort_value(dst); + H5T_sort_value(src, NULL); + H5T_sort_value(dst, NULL); /* * Build a mapping from source member number to destination member @@ -761,8 +761,8 @@ H5T_conv_struct(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, /* * Insure that members are sorted. */ - H5T_sort_value(src); - H5T_sort_value(dst); + H5T_sort_value(src, NULL); + H5T_sort_value(dst, NULL); src2dst = priv->src2dst; /* @@ -910,8 +910,8 @@ H5T_conv_enum_init(H5T_t *src, H5T_t *dst, H5T_cdata_t *cdata) * symbol names and build a map from source member index to destination * member index. */ - H5T_sort_name(src); - H5T_sort_name(dst); + H5T_sort_name(src, NULL); + H5T_sort_name(dst, NULL); if (NULL==(priv->src2dst=H5MM_malloc(src->u.enumer.nmembs*sizeof(int)))) { HRETURN_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");; @@ -994,6 +994,9 @@ H5T_conv_enum_init(H5T_t *src, H5T_t *dst, H5T_cdata_t *cdata) H5MM_xfree(priv->src2dst); priv->src2dst = map; HGOTO_DONE(SUCCEED); + } else { + /* Sort source type by value and adjust src2dst[] appropriately */ + H5T_sort_value(src, priv->src2dst); } } ret_value = SUCCEED; @@ -1082,9 +1085,17 @@ H5T_conv_enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, } assert (H5T_ENUM==src->type); assert (H5T_ENUM==dst->type); - H5T_sort_name(src); - H5T_sort_name(dst); + if (priv->length) { + /* Use O(1) lookup */ + H5T_sort_name(src, NULL); + H5T_sort_name(dst, NULL); + } else { + /* Use O(log N) lookup */ + H5T_sort_value(src, NULL); /*yes, by value*/ + H5T_sort_name(dst, NULL); /*yes, by name*/ + } + /* * Direction of conversion. */ @@ -1109,6 +1120,7 @@ H5T_conv_enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, } else { n = *((int*)s); } + n -= priv->base; if (n<0 || n>=priv->length || priv->src2dst[n]<0) { if (!H5T_overflow_g || (H5T_overflow_g)(src_id, dst_id, s, d)<0) { diff --git a/src/H5Tprivate.h b/src/H5Tprivate.h index 460f0db..34fbf52 100644 --- a/src/H5Tprivate.h +++ b/src/H5Tprivate.h @@ -77,14 +77,13 @@ __DLL__ herr_t H5T_struct_insert(H5T_t *parent, const char *name, size_t offset, intn ndims, const size_t *dim, const intn *perm, const H5T_t *member); __DLL__ herr_t H5T_enum_insert(H5T_t *dt, const char *name, void *value); -__DLL__ herr_t H5T_sort_value(H5T_t *dt); __DLL__ herr_t H5T_pack(H5T_t *dt); __DLL__ herr_t H5T_debug(H5T_t *dt, FILE * stream); __DLL__ H5G_entry_t *H5T_entof(H5T_t *dt); __DLL__ H5T_path_t *H5T_path_find(const H5T_t *src, const H5T_t *dst, const char *name, H5T_conv_t func); -__DLL__ herr_t H5T_sort_vaue(H5T_t *dt); -__DLL__ herr_t H5T_sort_name(H5T_t *dt); +__DLL__ herr_t H5T_sort_value(H5T_t *dt, int *map); +__DLL__ herr_t H5T_sort_name(H5T_t *dt, int *map); __DLL__ herr_t H5T_convert(H5T_path_t *tpath, hid_t src_id, hid_t dst_id, size_t nelmts, void *buf, void *bkg); __DLL__ herr_t H5T_set_size(H5T_t *dt, size_t size); diff --git a/src/H5config.h.in b/src/H5config.h.in index 12b7523..fd69a2c 100644 --- a/src/H5config.h.in +++ b/src/H5config.h.in @@ -50,6 +50,9 @@ /* Define if `tm_gmtoff' is a member of `struct tm' */ #undef HAVE_TM_GMTOFF +/* Define if `__tm_gmtoff' is a member of `struct tm' */ +#undef HAVE___TM_GMTOFF + /* Define if `timezone' is a global variable */ #undef HAVE_TIMEZONE @@ -191,6 +194,9 @@ /* Define if you have the header file. */ #undef HAVE_MFHDF_H +/* Define if you have the header file. */ +#undef HAVE_STDDEF_H + /* Define if you have the header file. */ #undef HAVE_SYS_IOCTL_H diff --git a/src/H5public.h b/src/H5public.h index 57c88ef..a895834 100644 --- a/src/H5public.h +++ b/src/H5public.h @@ -29,10 +29,12 @@ static char RcsId[] = "@(#)$Revision$"; # include /*for H5T_NATIVE_CHAR defn in H5Tpublic.h */ #endif -#include +#ifdef HAVE_STDDEF_H +# include +#endif #ifdef HAVE_PARALLEL -# include -# include +# include +# include #endif #include diff --git a/src/Makefile.in b/src/Makefile.in index ca2a302..7f4f84c 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -50,4 +50,9 @@ H5Tinit.c: H5detect H5detect: H5detect.o $(CC) $(CFLAGS) -o $@ H5detect.o $(LDFLAGS) $(LIBS) +# dynamic library with gcc. This needs more work to support other systems. +shared: libhdf5.so.1.2.0 +libhdf5.so.1.2.0: $(LIB_OBJ) + $(CC) $(CFLAGS) -o $@ -shared -fPIC $^ + @CONCLUDE@ diff --git a/test/enum.c b/test/enum.c index f938c51..e7e08b9 100644 --- a/test/enum.c +++ b/test/enum.c @@ -219,7 +219,7 @@ test_tr1(hid_t file) if (H5Dwrite(dset, m_type, space, space, H5P_DEFAULT, data1)<0) goto error; if (H5Dread(dset, m_type, space, space, H5P_DEFAULT, data2)<0) goto error; - for (i=0; i=argc) { + H5Gget_objinfo(file, "/", TRUE, &sb); + sym_insert(&sb, "/"); iter.container = "/"; H5Giterate(file, "/", NULL, list, &iter); } else { for (/*void*/; argno=0 && + H5G_GROUP==sb.type) { /* * Specified name is a group. List the complete contents of * the group. */ - H5G_GROUP==sb.type) { + sym_insert(&sb, argv[argno]); iter.container = container = fix_name("", argv[argno]); H5Giterate(file, argv[argno], NULL, list, &iter); free(container); -- cgit v0.12