[DebianGIS-dev] r1093 - in packages/hdf5/branches/upstream/current: . bin c++ c++/config c++/examples c++/src c++/src/header_files c++/test config config/site-specific doc/html doc/html/ADGuide doc/html/Graphics doc/html/Intro doc/html/PSandPDF doc/html/TechNotes doc/html/TechNotes/TestReview doc/html/Tutor doc/html/Tutor/Graphics doc/html/Tutor/examples doc/html/cpplus doc/html/cpplus_RM doc/html/cpplus_RM/header_files doc/html/ed_libs doc/html/ed_styles doc/html/fortran examples fortran fortran/config fortran/examples fortran/src fortran/test fortran/testpar hl hl/examples hl/src hl/test hl/tools hl/tools/gif2h5 hl/tools/testfiles perform release_docs src test testpar tools tools/h5diff tools/h5dump tools/h5import tools/h5jam tools/h5ls tools/h5repack tools/lib tools/misc tools/testfiles windows

frankie at alioth.debian.org frankie at alioth.debian.org
Wed Sep 19 15:24:41 UTC 2007


Author: frankie
Date: 2007-09-19 15:24:24 +0000 (Wed, 19 Sep 2007)
New Revision: 1093

Added:
   packages/hdf5/branches/upstream/current/bin/COPYING
   packages/hdf5/branches/upstream/current/bin/makehelp
   packages/hdf5/branches/upstream/current/c++/COPYING
   packages/hdf5/branches/upstream/current/c++/examples/strtype.cpp
   packages/hdf5/branches/upstream/current/c++/examples/testh5c++.sh.in
   packages/hdf5/branches/upstream/current/c++/src/H5cxx_config.h.in
   packages/hdf5/branches/upstream/current/c++/test/tattr.cpp
   packages/hdf5/branches/upstream/current/c++/test/tcompound.cpp
   packages/hdf5/branches/upstream/current/c++/test/tfilter.cpp
   packages/hdf5/branches/upstream/current/c++/test/trefer.cpp
   packages/hdf5/branches/upstream/current/c++/test/ttypes.cpp
   packages/hdf5/branches/upstream/current/c++/test/tvlstr.cpp
   packages/hdf5/branches/upstream/current/config/COPYING
   packages/hdf5/branches/upstream/current/config/i686-apple
   packages/hdf5/branches/upstream/current/doc/html/Graphics/THGnoTextSm.jpg
   packages/hdf5/branches/upstream/current/doc/html/Graphics/THGwTextSm.jpg
   packages/hdf5/branches/upstream/current/doc/html/Graphics/XRD100.gif
   packages/hdf5/branches/upstream/current/doc/html/Graphics/hdf2.gif
   packages/hdf5/branches/upstream/current/doc/html/Graphics/help.gif
   packages/hdf5/branches/upstream/current/doc/html/Graphics/help.jpg
   packages/hdf5/branches/upstream/current/doc/html/Graphics/help.png
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/globals.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/globals_defs.html
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/copyright-html.lbi
   packages/hdf5/branches/upstream/current/examples/testh5cc.sh.in
   packages/hdf5/branches/upstream/current/fortran/COPYING
   packages/hdf5/branches/upstream/current/fortran/config/i686-apple
   packages/hdf5/branches/upstream/current/fortran/examples/ph5example.f90
   packages/hdf5/branches/upstream/current/fortran/examples/testh5fc.sh.in
   packages/hdf5/branches/upstream/current/hl/COPYING
   packages/hdf5/branches/upstream/current/hl/examples/
   packages/hdf5/branches/upstream/current/hl/examples/Dependencies
   packages/hdf5/branches/upstream/current/hl/examples/Makefile.in
   packages/hdf5/branches/upstream/current/hl/examples/ex_image1.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_image2.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_lite1.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_lite2.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_lite3.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_table_01.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_table_02.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_table_03.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_table_04.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_table_05.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_table_06.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_table_07.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_table_08.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_table_09.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_table_10.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_table_11.c
   packages/hdf5/branches/upstream/current/hl/examples/ex_table_12.c
   packages/hdf5/branches/upstream/current/hl/examples/image24pixel.txt
   packages/hdf5/branches/upstream/current/hl/examples/image8.txt
   packages/hdf5/branches/upstream/current/hl/examples/pal_rgb.h
   packages/hdf5/branches/upstream/current/hl/src/COPYING
   packages/hdf5/branches/upstream/current/hl/test/COPYING
   packages/hdf5/branches/upstream/current/hl/tools/
   packages/hdf5/branches/upstream/current/hl/tools/COPYING
   packages/hdf5/branches/upstream/current/hl/tools/Makefile.in
   packages/hdf5/branches/upstream/current/hl/tools/gif2h5/
   packages/hdf5/branches/upstream/current/hl/tools/gif2h5/Dependencies
   packages/hdf5/branches/upstream/current/hl/tools/gif2h5/Makefile.in
   packages/hdf5/branches/upstream/current/hl/tools/gif2h5/decompress.c
   packages/hdf5/branches/upstream/current/hl/tools/gif2h5/gif.h
   packages/hdf5/branches/upstream/current/hl/tools/gif2h5/gif2hdf.c
   packages/hdf5/branches/upstream/current/hl/tools/gif2h5/gif2mem.c
   packages/hdf5/branches/upstream/current/hl/tools/gif2h5/gifread.c
   packages/hdf5/branches/upstream/current/hl/tools/gif2h5/h52gifgentst.c
   packages/hdf5/branches/upstream/current/hl/tools/gif2h5/h52giftest.sh
   packages/hdf5/branches/upstream/current/hl/tools/gif2h5/hdf2gif.c
   packages/hdf5/branches/upstream/current/hl/tools/gif2h5/hdfgifwr.c
   packages/hdf5/branches/upstream/current/hl/tools/gif2h5/writehdf.c
   packages/hdf5/branches/upstream/current/hl/tools/testfiles/
   packages/hdf5/branches/upstream/current/hl/tools/testfiles/h52giftst.h5
   packages/hdf5/branches/upstream/current/hl/tools/testfiles/image1.gif
   packages/hdf5/branches/upstream/current/perform/COPYING
   packages/hdf5/branches/upstream/current/release_docs/COPYING
   packages/hdf5/branches/upstream/current/release_docs/INSTALL_Cygwin.txt
   packages/hdf5/branches/upstream/current/release_docs/INSTALL_Windows_Short_VS6.0.txt
   packages/hdf5/branches/upstream/current/src/COPYING
   packages/hdf5/branches/upstream/current/src/H5Bcache.c
   packages/hdf5/branches/upstream/current/src/H5Gname.c
   packages/hdf5/branches/upstream/current/src/H5Gtest.c
   packages/hdf5/branches/upstream/current/src/H5Gtraverse.c
   packages/hdf5/branches/upstream/current/src/H5Ocache.c
   packages/hdf5/branches/upstream/current/test/COPYING
   packages/hdf5/branches/upstream/current/test/group_new.h5
   packages/hdf5/branches/upstream/current/test/le_extlink1.h5
   packages/hdf5/branches/upstream/current/test/mergemsg.h5
   packages/hdf5/branches/upstream/current/testpar/COPYING
   packages/hdf5/branches/upstream/current/testpar/t_chunk_alloc.c
   packages/hdf5/branches/upstream/current/testpar/t_filter_read.c
   packages/hdf5/branches/upstream/current/tools/COPYING
   packages/hdf5/branches/upstream/current/tools/h5diff/h5diffgentest.c
   packages/hdf5/branches/upstream/current/tools/h5dump/binread.c
   packages/hdf5/branches/upstream/current/tools/h5repack/h5repacktst.c
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_100.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_101.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_102.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_16_1.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_16_2.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_16_3.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_26.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_27.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_28.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_58.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_90.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_attr1.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_attr2.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_basic1.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_basic2.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_dset1.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_dset2.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_dtypes.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_hyper1.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_hyper2.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_types.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_attr.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_big.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_deflate.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_early.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_early2.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_ext.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_fill.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_filters.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_fletcher.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_hlink.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_layout.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_objs.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_shuffle.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_szip.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/info.h5repack
   packages/hdf5/branches/upstream/current/tools/testfiles/nosuchfile.ls
   packages/hdf5/branches/upstream/current/tools/testfiles/out3.h5import
   packages/hdf5/branches/upstream/current/tools/testfiles/tbigdims.ddl
   packages/hdf5/branches/upstream/current/tools/testfiles/tbigdims.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/tbin1.ddl
   packages/hdf5/branches/upstream/current/tools/testfiles/tbin2.ddl
   packages/hdf5/branches/upstream/current/tools/testfiles/tbin3.ddl
   packages/hdf5/branches/upstream/current/tools/testfiles/tbin4.ddl
   packages/hdf5/branches/upstream/current/tools/testfiles/tbinary.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/thyperslab.ddl
   packages/hdf5/branches/upstream/current/tools/testfiles/thyperslab.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/tldouble.h5
   packages/hdf5/branches/upstream/current/windows/COPYING
Removed:
   packages/hdf5/branches/upstream/current/c++/config/rs6000-ibm-aix4.x
   packages/hdf5/branches/upstream/current/config/dec-osf4.x
   packages/hdf5/branches/upstream/current/config/hpux10.20
   packages/hdf5/branches/upstream/current/config/hpux9.03
   packages/hdf5/branches/upstream/current/config/intel-osf1
   packages/hdf5/branches/upstream/current/config/irix5.x
   packages/hdf5/branches/upstream/current/config/powerpc-ibm-aix4.x
   packages/hdf5/branches/upstream/current/config/rs6000-ibm-aix4.x
   packages/hdf5/branches/upstream/current/config/unicosmk2.0.5.X
   packages/hdf5/branches/upstream/current/doc/html/ph5design.html
   packages/hdf5/branches/upstream/current/doc/html/ph5example.c
   packages/hdf5/branches/upstream/current/doc/html/ph5implement.txt
   packages/hdf5/branches/upstream/current/fortran/config/dec-osf4.x
   packages/hdf5/branches/upstream/current/fortran/config/hpux10.20
   packages/hdf5/branches/upstream/current/fortran/config/hpux9.03
   packages/hdf5/branches/upstream/current/fortran/config/intel-osf1
   packages/hdf5/branches/upstream/current/fortran/config/irix5.x
   packages/hdf5/branches/upstream/current/fortran/config/powerpc-ibm-aix4.x
   packages/hdf5/branches/upstream/current/fortran/config/rs6000-ibm-aix4.x
   packages/hdf5/branches/upstream/current/fortran/config/unicosmk2.0.5.X
   packages/hdf5/branches/upstream/current/release_docs/INSTALL_TFLOPS
   packages/hdf5/branches/upstream/current/release_docs/INSTALL_VFL
   packages/hdf5/branches/upstream/current/release_docs/INSTALL_Windows_Short.txt
   packages/hdf5/branches/upstream/current/release_docs/INSTALL_codewarrior.txt
   packages/hdf5/branches/upstream/current/tools/gifconv/
   packages/hdf5/branches/upstream/current/tools/h5diff/testh5diff.h
   packages/hdf5/branches/upstream/current/tools/h5diff/testh5diff_attr.c
   packages/hdf5/branches/upstream/current/tools/h5diff/testh5diff_basic.c
   packages/hdf5/branches/upstream/current/tools/h5diff/testh5diff_dset.c
   packages/hdf5/branches/upstream/current/tools/h5diff/testh5diff_main.c
   packages/hdf5/branches/upstream/current/tools/h5diff/testh5diff_util.c
   packages/hdf5/branches/upstream/current/tools/h5repack/testh5repack_attr.c
   packages/hdf5/branches/upstream/current/tools/h5repack/testh5repack_dset.c
   packages/hdf5/branches/upstream/current/tools/h5repack/testh5repack_main.c
   packages/hdf5/branches/upstream/current/tools/h5repack/testh5repack_make.c
   packages/hdf5/branches/upstream/current/tools/h5repack/testh5repack_util.c
   packages/hdf5/branches/upstream/current/tools/lib/h5trav_table.c
   packages/hdf5/branches/upstream/current/tools/testfiles/file1.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/file2.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/file3.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/file4.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/file5.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/file6.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/file7.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/file8.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_16.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_info.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/test0.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/test1.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/test3.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/test4.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/test5.h5
Modified:
   packages/hdf5/branches/upstream/current/COPYING
   packages/hdf5/branches/upstream/current/MANIFEST
   packages/hdf5/branches/upstream/current/Makefile
   packages/hdf5/branches/upstream/current/Makefile.dist
   packages/hdf5/branches/upstream/current/Makefile.in
   packages/hdf5/branches/upstream/current/README.txt
   packages/hdf5/branches/upstream/current/bin/buildhdf5
   packages/hdf5/branches/upstream/current/bin/chkmanifest
   packages/hdf5/branches/upstream/current/bin/config_para_ibm_sp.sh
   packages/hdf5/branches/upstream/current/bin/dependencies
   packages/hdf5/branches/upstream/current/bin/deploy
   packages/hdf5/branches/upstream/current/bin/distdep
   packages/hdf5/branches/upstream/current/bin/h5vers
   packages/hdf5/branches/upstream/current/bin/iostats
   packages/hdf5/branches/upstream/current/bin/locate_sw
   packages/hdf5/branches/upstream/current/bin/mkdirs
   packages/hdf5/branches/upstream/current/bin/release
   packages/hdf5/branches/upstream/current/bin/snapshot
   packages/hdf5/branches/upstream/current/bin/trace
   packages/hdf5/branches/upstream/current/bin/yodconfigure
   packages/hdf5/branches/upstream/current/c++/Makefile.in
   packages/hdf5/branches/upstream/current/c++/config/BlankForm
   packages/hdf5/branches/upstream/current/c++/config/commence.in
   packages/hdf5/branches/upstream/current/c++/config/conclude.in
   packages/hdf5/branches/upstream/current/c++/config/dec-osf5.x
   packages/hdf5/branches/upstream/current/c++/config/depend1.in
   packages/hdf5/branches/upstream/current/c++/config/depend2.in
   packages/hdf5/branches/upstream/current/c++/config/depend3.in
   packages/hdf5/branches/upstream/current/c++/config/depend4.in
   packages/hdf5/branches/upstream/current/c++/config/dependN.in
   packages/hdf5/branches/upstream/current/c++/config/freebsd
   packages/hdf5/branches/upstream/current/c++/config/hpux11.00
   packages/hdf5/branches/upstream/current/c++/config/hpux11.23
   packages/hdf5/branches/upstream/current/c++/config/ia64-linux-gnu
   packages/hdf5/branches/upstream/current/c++/config/irix6.x
   packages/hdf5/branches/upstream/current/c++/config/linux-gnu
   packages/hdf5/branches/upstream/current/c++/config/linux-gnulibc1
   packages/hdf5/branches/upstream/current/c++/config/linux-gnulibc2
   packages/hdf5/branches/upstream/current/c++/config/nv1-cray
   packages/hdf5/branches/upstream/current/c++/config/powerpc-ibm-aix
   packages/hdf5/branches/upstream/current/c++/config/solaris2.x
   packages/hdf5/branches/upstream/current/c++/config/sv1-cray
   packages/hdf5/branches/upstream/current/c++/config/unicos10.0.X
   packages/hdf5/branches/upstream/current/c++/config/unicosmk2.0.6.X
   packages/hdf5/branches/upstream/current/c++/configure
   packages/hdf5/branches/upstream/current/c++/configure.in
   packages/hdf5/branches/upstream/current/c++/examples/Dependencies
   packages/hdf5/branches/upstream/current/c++/examples/Makefile.in
   packages/hdf5/branches/upstream/current/c++/examples/chunks.cpp
   packages/hdf5/branches/upstream/current/c++/examples/compound.cpp
   packages/hdf5/branches/upstream/current/c++/examples/create.cpp
   packages/hdf5/branches/upstream/current/c++/examples/expected.out
   packages/hdf5/branches/upstream/current/c++/examples/extend_ds.cpp
   packages/hdf5/branches/upstream/current/c++/examples/h5group.cpp
   packages/hdf5/branches/upstream/current/c++/examples/readdata.cpp
   packages/hdf5/branches/upstream/current/c++/examples/testexamples.sh
   packages/hdf5/branches/upstream/current/c++/examples/writedata.cpp
   packages/hdf5/branches/upstream/current/c++/src/Dependencies
   packages/hdf5/branches/upstream/current/c++/src/H5AbstractDs.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5AbstractDs.h
   packages/hdf5/branches/upstream/current/c++/src/H5Alltypes.h
   packages/hdf5/branches/upstream/current/c++/src/H5ArrayType.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5ArrayType.h
   packages/hdf5/branches/upstream/current/c++/src/H5AtomType.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5AtomType.h
   packages/hdf5/branches/upstream/current/c++/src/H5Attribute.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5Attribute.h
   packages/hdf5/branches/upstream/current/c++/src/H5Classes.h
   packages/hdf5/branches/upstream/current/c++/src/H5CommonFG.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5CommonFG.h
   packages/hdf5/branches/upstream/current/c++/src/H5CompType.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5CompType.h
   packages/hdf5/branches/upstream/current/c++/src/H5Cpp.h
   packages/hdf5/branches/upstream/current/c++/src/H5CppDoc.h
   packages/hdf5/branches/upstream/current/c++/src/H5DataSet.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5DataSet.h
   packages/hdf5/branches/upstream/current/c++/src/H5DataSpace.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5DataSpace.h
   packages/hdf5/branches/upstream/current/c++/src/H5DataType.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5DataType.h
   packages/hdf5/branches/upstream/current/c++/src/H5DcreatProp.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5DcreatProp.h
   packages/hdf5/branches/upstream/current/c++/src/H5DxferProp.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5DxferProp.h
   packages/hdf5/branches/upstream/current/c++/src/H5EnumType.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5EnumType.h
   packages/hdf5/branches/upstream/current/c++/src/H5Exception.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5Exception.h
   packages/hdf5/branches/upstream/current/c++/src/H5FaccProp.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5FaccProp.h
   packages/hdf5/branches/upstream/current/c++/src/H5FcreatProp.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5FcreatProp.h
   packages/hdf5/branches/upstream/current/c++/src/H5File.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5File.h
   packages/hdf5/branches/upstream/current/c++/src/H5FloatType.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5FloatType.h
   packages/hdf5/branches/upstream/current/c++/src/H5Group.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5Group.h
   packages/hdf5/branches/upstream/current/c++/src/H5IdComponent.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5IdComponent.h
   packages/hdf5/branches/upstream/current/c++/src/H5Include.h
   packages/hdf5/branches/upstream/current/c++/src/H5IntType.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5IntType.h
   packages/hdf5/branches/upstream/current/c++/src/H5Library.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5Library.h
   packages/hdf5/branches/upstream/current/c++/src/H5Object.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5Object.h
   packages/hdf5/branches/upstream/current/c++/src/H5PredType.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5PredType.h
   packages/hdf5/branches/upstream/current/c++/src/H5PropList.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5PropList.h
   packages/hdf5/branches/upstream/current/c++/src/H5StrType.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5StrType.h
   packages/hdf5/branches/upstream/current/c++/src/H5VarLenType.cpp
   packages/hdf5/branches/upstream/current/c++/src/H5VarLenType.h
   packages/hdf5/branches/upstream/current/c++/src/Makefile.in
   packages/hdf5/branches/upstream/current/c++/src/RM_stylesheet.css
   packages/hdf5/branches/upstream/current/c++/src/cpp_doc_config
   packages/hdf5/branches/upstream/current/c++/src/h5c++.in
   packages/hdf5/branches/upstream/current/c++/src/header.html
   packages/hdf5/branches/upstream/current/c++/src/header_files/filelist.xml
   packages/hdf5/branches/upstream/current/c++/test/Dependencies
   packages/hdf5/branches/upstream/current/c++/test/Makefile.in
   packages/hdf5/branches/upstream/current/c++/test/dsets.cpp
   packages/hdf5/branches/upstream/current/c++/test/h5cpputil.cpp
   packages/hdf5/branches/upstream/current/c++/test/h5cpputil.h
   packages/hdf5/branches/upstream/current/c++/test/testhdf5.cpp
   packages/hdf5/branches/upstream/current/c++/test/tfile.cpp
   packages/hdf5/branches/upstream/current/c++/test/th5s.cpp
   packages/hdf5/branches/upstream/current/config/BlankForm
   packages/hdf5/branches/upstream/current/config/commence.in
   packages/hdf5/branches/upstream/current/config/conclude.in
   packages/hdf5/branches/upstream/current/config/dec-flags
   packages/hdf5/branches/upstream/current/config/dec-osf5.x
   packages/hdf5/branches/upstream/current/config/depend1.in
   packages/hdf5/branches/upstream/current/config/depend2.in
   packages/hdf5/branches/upstream/current/config/depend3.in
   packages/hdf5/branches/upstream/current/config/depend4.in
   packages/hdf5/branches/upstream/current/config/dependN.in
   packages/hdf5/branches/upstream/current/config/freebsd
   packages/hdf5/branches/upstream/current/config/gnu-flags
   packages/hdf5/branches/upstream/current/config/hpux11.00
   packages/hdf5/branches/upstream/current/config/hpux11.23
   packages/hdf5/branches/upstream/current/config/i386-pc-cygwin32
   packages/hdf5/branches/upstream/current/config/i686-pc-cygwin
   packages/hdf5/branches/upstream/current/config/ia64-linux-gnu
   packages/hdf5/branches/upstream/current/config/intel-flags
   packages/hdf5/branches/upstream/current/config/irix6.x
   packages/hdf5/branches/upstream/current/config/linux-gnu
   packages/hdf5/branches/upstream/current/config/linux-gnuaout
   packages/hdf5/branches/upstream/current/config/linux-gnulibc1
   packages/hdf5/branches/upstream/current/config/linux-gnulibc2
   packages/hdf5/branches/upstream/current/config/mpich
   packages/hdf5/branches/upstream/current/config/nv1-cray
   packages/hdf5/branches/upstream/current/config/pgi-flags
   packages/hdf5/branches/upstream/current/config/powerpc-apple
   packages/hdf5/branches/upstream/current/config/powerpc-ibm-aix5.x
   packages/hdf5/branches/upstream/current/config/powerpc-ibm-linux-gnu
   packages/hdf5/branches/upstream/current/config/site-specific/BlankForm
   packages/hdf5/branches/upstream/current/config/solaris2.x
   packages/hdf5/branches/upstream/current/config/sv1-cray
   packages/hdf5/branches/upstream/current/config/unicos
   packages/hdf5/branches/upstream/current/config/unicos10.0.X
   packages/hdf5/branches/upstream/current/config/unicosmk
   packages/hdf5/branches/upstream/current/config/unicosmk2.0.6.X
   packages/hdf5/branches/upstream/current/config/unicosmk2.0.X
   packages/hdf5/branches/upstream/current/configure
   packages/hdf5/branches/upstream/current/configure.in
   packages/hdf5/branches/upstream/current/doc/html/ADGuide.html
   packages/hdf5/branches/upstream/current/doc/html/ADGuide/Changes.html
   packages/hdf5/branches/upstream/current/doc/html/ADGuide/HISTORY.txt
   packages/hdf5/branches/upstream/current/doc/html/ADGuide/ImageSpec.html
   packages/hdf5/branches/upstream/current/doc/html/ADGuide/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/ADGuide/RELEASE.txt
   packages/hdf5/branches/upstream/current/doc/html/Attributes.html
   packages/hdf5/branches/upstream/current/doc/html/Big.html
   packages/hdf5/branches/upstream/current/doc/html/Caching.html
   packages/hdf5/branches/upstream/current/doc/html/Chunking.html
   packages/hdf5/branches/upstream/current/doc/html/Coding.html
   packages/hdf5/branches/upstream/current/doc/html/Copyright.html
   packages/hdf5/branches/upstream/current/doc/html/Datasets.html
   packages/hdf5/branches/upstream/current/doc/html/Dataspaces.html
   packages/hdf5/branches/upstream/current/doc/html/Datatypes.html
   packages/hdf5/branches/upstream/current/doc/html/DatatypesEnum.html
   packages/hdf5/branches/upstream/current/doc/html/Debugging.html
   packages/hdf5/branches/upstream/current/doc/html/Environment.html
   packages/hdf5/branches/upstream/current/doc/html/Errors.html
   packages/hdf5/branches/upstream/current/doc/html/Files.html
   packages/hdf5/branches/upstream/current/doc/html/Filters.html
   packages/hdf5/branches/upstream/current/doc/html/Glossary.html
   packages/hdf5/branches/upstream/current/doc/html/Graphics/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/Groups.html
   packages/hdf5/branches/upstream/current/doc/html/H5.format.html
   packages/hdf5/branches/upstream/current/doc/html/H5.intro.html
   packages/hdf5/branches/upstream/current/doc/html/H5.user.PrintGen.html
   packages/hdf5/branches/upstream/current/doc/html/H5.user.html
   packages/hdf5/branches/upstream/current/doc/html/IOPipe.html
   packages/hdf5/branches/upstream/current/doc/html/Intro/IntroExamples.html
   packages/hdf5/branches/upstream/current/doc/html/Intro/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/MountingFiles.html
   packages/hdf5/branches/upstream/current/doc/html/PSandPDF/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/Performance.html
   packages/hdf5/branches/upstream/current/doc/html/PredefDTypes.html
   packages/hdf5/branches/upstream/current/doc/html/Properties.html
   packages/hdf5/branches/upstream/current/doc/html/RM_H5.html
   packages/hdf5/branches/upstream/current/doc/html/RM_H5A.html
   packages/hdf5/branches/upstream/current/doc/html/RM_H5D.html
   packages/hdf5/branches/upstream/current/doc/html/RM_H5E.html
   packages/hdf5/branches/upstream/current/doc/html/RM_H5F.html
   packages/hdf5/branches/upstream/current/doc/html/RM_H5Front.html
   packages/hdf5/branches/upstream/current/doc/html/RM_H5G.html
   packages/hdf5/branches/upstream/current/doc/html/RM_H5I.html
   packages/hdf5/branches/upstream/current/doc/html/RM_H5P.html
   packages/hdf5/branches/upstream/current/doc/html/RM_H5R.html
   packages/hdf5/branches/upstream/current/doc/html/RM_H5S.html
   packages/hdf5/branches/upstream/current/doc/html/RM_H5T.html
   packages/hdf5/branches/upstream/current/doc/html/RM_H5Z.html
   packages/hdf5/branches/upstream/current/doc/html/References.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/Basic_perform.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/BigDataSmMach.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/ChunkingStudy.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/CodeReview.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/Daily_Test_Explained.htm
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/ExternalFiles.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/FreeLists.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/H4-H5Compat.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/HeapMgmt.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/IOPipe.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/LibMaint.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/MemoryMgmt.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/MoveDStruct.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/NamingScheme.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/ObjectHeader.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/RawDStorage.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/ReservedFileSpace.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/SWControls.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/SymbolTables.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/TestReview.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/TestReview/H5Dget_offset.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/TestReview/H5Tget_native_type.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/ThreadSafeLibrary.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/VFL.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/VFLfunc.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/Version.html
   packages/hdf5/branches/upstream/current/doc/html/TechNotes/openmp-hdf5.html
   packages/hdf5/branches/upstream/current/doc/html/Tools.html
   packages/hdf5/branches/upstream/current/doc/html/Tutor/Graphics/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/Tutor/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/Tutor/examples/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/Version.html
   packages/hdf5/branches/upstream/current/doc/html/compat.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5AbstractDs_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5AbstractDs_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5AbstractDs_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Alltypes_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Alltypes_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5ArrayType_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5ArrayType_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5ArrayType_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5AtomType_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5AtomType_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5AtomType_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Attribute_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Attribute_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Attribute_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Classes_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Classes_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5CommonFG_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5CommonFG_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5CommonFG_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5CompType_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5CompType_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5CompType_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5CppDoc_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5CppDoc_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Cpp_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Cpp_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DataSet_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DataSet_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DataSet_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DataSpace_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DataSpace_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DataSpace_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DataType_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DataType_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DataType_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DcreatProp_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DcreatProp_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DcreatProp_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DxferProp_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DxferProp_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5DxferProp_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5EnumType_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5EnumType_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5EnumType_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Exception_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Exception_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Exception_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5FaccProp_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5FaccProp_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5FaccProp_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5FcreatProp_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5FcreatProp_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5FcreatProp_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5File_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5File_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5File_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5FloatType_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5FloatType_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5FloatType_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Group_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Group_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Group_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5IdComponent_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5IdComponent_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5IdComponent_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Include_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Include_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5IntType_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5IntType_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5IntType_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Library_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Library_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Library_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Object_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Object_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5Object_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5PredType_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5PredType_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5PredType_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5PropList_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5PropList_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5PropList_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5StrType_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5StrType_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5StrType_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5VarLenType_8cpp.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5VarLenType_8h-source.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/H5VarLenType_8h.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/annotated.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/chunks_8cpp-example.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1AbstractDs-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1AbstractDs.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1ArrayType-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1ArrayType.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1AtomType-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1AtomType.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1Attribute-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1Attribute.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1AttributeIException-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1AttributeIException.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1CommonFG-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1CommonFG.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1CompType-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1CompType.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DSetCreatPropList-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DSetCreatPropList.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DSetMemXferPropList-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DSetMemXferPropList.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DataSet-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DataSet.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DataSetIException-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DataSetIException.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DataSpace-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DataSpace.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DataSpaceIException-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DataSpaceIException.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DataType-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DataType.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DataTypeIException-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1DataTypeIException.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1EnumType-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1EnumType.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1Exception-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1Exception.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1FileAccPropList-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1FileAccPropList.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1FileCreatPropList-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1FileCreatPropList.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1FileIException-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1FileIException.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1FloatType-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1FloatType.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1Group-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1Group.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1GroupIException-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1GroupIException.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1H5File-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1H5File.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1H5Library-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1H5Library.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1H5Object-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1H5Object.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1IdComponent-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1IdComponent.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1IdComponentException-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1IdComponentException.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1IntType-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1IntType.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1LibraryIException-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1LibraryIException.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1PredType-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1PredType.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1PropList-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1PropList.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1PropListIException-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1PropListIException.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1ReferenceException-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1ReferenceException.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1StrType-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1StrType.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1VarLenType-members.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/classH5_1_1VarLenType.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/compound_8cpp-example.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/create_8cpp-example.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/examples.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/extend__ds_8cpp-example.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/files.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/functions.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/functions_func.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/functions_vars.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/h5group_8cpp-example.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/header.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/header_files/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/header_files/filelist.xml
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/hierarchy.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/index.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/namespaceH5.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/namespaces.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/readdata_8cpp-example.html
   packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/writedata_8cpp-example.html
   packages/hdf5/branches/upstream/current/doc/html/ddl.html
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/Footer.lbi
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/NavBar_ADevG.lbi
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/NavBar_Common.lbi
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/NavBar_Intro.lbi
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/NavBar_RM.lbi
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/NavBar_TechN.lbi
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/NavBar_UG.lbi
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/styles_Format.lbi
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/styles_Gen.lbi
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/styles_Index.lbi
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/styles_Intro.lbi
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/styles_RM.lbi
   packages/hdf5/branches/upstream/current/doc/html/ed_libs/styles_UG.lbi
   packages/hdf5/branches/upstream/current/doc/html/ed_styles/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/fortran/F90Flags.html
   packages/hdf5/branches/upstream/current/doc/html/fortran/F90UserNotes.html
   packages/hdf5/branches/upstream/current/doc/html/fortran/Makefile.in
   packages/hdf5/branches/upstream/current/doc/html/index.html
   packages/hdf5/branches/upstream/current/examples/Dependencies
   packages/hdf5/branches/upstream/current/examples/Makefile.in
   packages/hdf5/branches/upstream/current/examples/h5_attribute.c
   packages/hdf5/branches/upstream/current/examples/h5_chunk_read.c
   packages/hdf5/branches/upstream/current/examples/h5_compound.c
   packages/hdf5/branches/upstream/current/examples/h5_drivers.c
   packages/hdf5/branches/upstream/current/examples/h5_extend_write.c
   packages/hdf5/branches/upstream/current/examples/h5_group.c
   packages/hdf5/branches/upstream/current/examples/h5_mount.c
   packages/hdf5/branches/upstream/current/examples/h5_read.c
   packages/hdf5/branches/upstream/current/examples/h5_reference.c
   packages/hdf5/branches/upstream/current/examples/h5_select.c
   packages/hdf5/branches/upstream/current/examples/h5_write.c
   packages/hdf5/branches/upstream/current/examples/ph5example.c
   packages/hdf5/branches/upstream/current/fortran/Makefile.dist
   packages/hdf5/branches/upstream/current/fortran/Makefile.in
   packages/hdf5/branches/upstream/current/fortran/config/BlankForm
   packages/hdf5/branches/upstream/current/fortran/config/commence.in
   packages/hdf5/branches/upstream/current/fortran/config/conclude.in
   packages/hdf5/branches/upstream/current/fortran/config/dec-flags
   packages/hdf5/branches/upstream/current/fortran/config/dec-osf5.x
   packages/hdf5/branches/upstream/current/fortran/config/depend1.in
   packages/hdf5/branches/upstream/current/fortran/config/depend2.in
   packages/hdf5/branches/upstream/current/fortran/config/depend3.in
   packages/hdf5/branches/upstream/current/fortran/config/depend4.in
   packages/hdf5/branches/upstream/current/fortran/config/dependN.in
   packages/hdf5/branches/upstream/current/fortran/config/freebsd
   packages/hdf5/branches/upstream/current/fortran/config/gnu-flags
   packages/hdf5/branches/upstream/current/fortran/config/hpux11.00
   packages/hdf5/branches/upstream/current/fortran/config/hpux11.23
   packages/hdf5/branches/upstream/current/fortran/config/i386-pc-cygwin32
   packages/hdf5/branches/upstream/current/fortran/config/ia64-linux-gnu
   packages/hdf5/branches/upstream/current/fortran/config/intel-fflags
   packages/hdf5/branches/upstream/current/fortran/config/intel-flags
   packages/hdf5/branches/upstream/current/fortran/config/irix6.x
   packages/hdf5/branches/upstream/current/fortran/config/linux-gnu
   packages/hdf5/branches/upstream/current/fortran/config/linux-gnuaout
   packages/hdf5/branches/upstream/current/fortran/config/linux-gnulibc1
   packages/hdf5/branches/upstream/current/fortran/config/linux-gnulibc2
   packages/hdf5/branches/upstream/current/fortran/config/nv1-cray
   packages/hdf5/branches/upstream/current/fortran/config/pgi-fflags
   packages/hdf5/branches/upstream/current/fortran/config/pgi-flags
   packages/hdf5/branches/upstream/current/fortran/config/powerpc-apple
   packages/hdf5/branches/upstream/current/fortran/config/powerpc-ibm-aix5.x
   packages/hdf5/branches/upstream/current/fortran/config/solaris2.x
   packages/hdf5/branches/upstream/current/fortran/config/sv1-cray
   packages/hdf5/branches/upstream/current/fortran/config/unicos
   packages/hdf5/branches/upstream/current/fortran/config/unicos10.0.X
   packages/hdf5/branches/upstream/current/fortran/config/unicosmk
   packages/hdf5/branches/upstream/current/fortran/config/unicosmk2.0.6.X
   packages/hdf5/branches/upstream/current/fortran/config/unicosmk2.0.X
   packages/hdf5/branches/upstream/current/fortran/configure
   packages/hdf5/branches/upstream/current/fortran/configure.in
   packages/hdf5/branches/upstream/current/fortran/examples/Dependencies
   packages/hdf5/branches/upstream/current/fortran/examples/Makefile.in
   packages/hdf5/branches/upstream/current/fortran/examples/attrexample.f90
   packages/hdf5/branches/upstream/current/fortran/examples/compound.f90
   packages/hdf5/branches/upstream/current/fortran/examples/dsetexample.f90
   packages/hdf5/branches/upstream/current/fortran/examples/fileexample.f90
   packages/hdf5/branches/upstream/current/fortran/examples/groupexample.f90
   packages/hdf5/branches/upstream/current/fortran/examples/grpdsetexample.f90
   packages/hdf5/branches/upstream/current/fortran/examples/grpit.f90
   packages/hdf5/branches/upstream/current/fortran/examples/grpsexample.f90
   packages/hdf5/branches/upstream/current/fortran/examples/hyperslab.f90
   packages/hdf5/branches/upstream/current/fortran/examples/mountexample.f90
   packages/hdf5/branches/upstream/current/fortran/examples/refobjexample.f90
   packages/hdf5/branches/upstream/current/fortran/examples/refregexample.f90
   packages/hdf5/branches/upstream/current/fortran/examples/rwdsetexample.f90
   packages/hdf5/branches/upstream/current/fortran/examples/selectele.f90
   packages/hdf5/branches/upstream/current/fortran/src/Dependencies
   packages/hdf5/branches/upstream/current/fortran/src/H5Af.c
   packages/hdf5/branches/upstream/current/fortran/src/H5Aff.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5Df.c
   packages/hdf5/branches/upstream/current/fortran/src/H5Dff.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5Ef.c
   packages/hdf5/branches/upstream/current/fortran/src/H5Eff.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5FDmpiof.c
   packages/hdf5/branches/upstream/current/fortran/src/H5FDmpioff.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5Ff.c
   packages/hdf5/branches/upstream/current/fortran/src/H5Fff.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5Gf.c
   packages/hdf5/branches/upstream/current/fortran/src/H5Gff.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5If.c
   packages/hdf5/branches/upstream/current/fortran/src/H5Iff.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5Pf.c
   packages/hdf5/branches/upstream/current/fortran/src/H5Pff.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5Rf.c
   packages/hdf5/branches/upstream/current/fortran/src/H5Rff.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5Sf.c
   packages/hdf5/branches/upstream/current/fortran/src/H5Sff.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5Tf.c
   packages/hdf5/branches/upstream/current/fortran/src/H5Tff.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5Zf.c
   packages/hdf5/branches/upstream/current/fortran/src/H5Zff.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5_f.c
   packages/hdf5/branches/upstream/current/fortran/src/H5_ff.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5f90.h
   packages/hdf5/branches/upstream/current/fortran/src/H5f90global.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5f90i.h
   packages/hdf5/branches/upstream/current/fortran/src/H5f90kit.c
   packages/hdf5/branches/upstream/current/fortran/src/H5f90proto.h
   packages/hdf5/branches/upstream/current/fortran/src/H5fortran_flags.f90
   packages/hdf5/branches/upstream/current/fortran/src/H5fortran_types.f90.in
   packages/hdf5/branches/upstream/current/fortran/src/HDF5.f90
   packages/hdf5/branches/upstream/current/fortran/src/HDF5mpio.f90
   packages/hdf5/branches/upstream/current/fortran/src/Makefile.in
   packages/hdf5/branches/upstream/current/fortran/src/h5fc.in
   packages/hdf5/branches/upstream/current/fortran/test/Dependencies
   packages/hdf5/branches/upstream/current/fortran/test/Makefile.in
   packages/hdf5/branches/upstream/current/fortran/test/fflush1.f90
   packages/hdf5/branches/upstream/current/fortran/test/fflush2.f90
   packages/hdf5/branches/upstream/current/fortran/test/fortranlib_test.f90
   packages/hdf5/branches/upstream/current/fortran/test/t.c
   packages/hdf5/branches/upstream/current/fortran/test/t.h
   packages/hdf5/branches/upstream/current/fortran/test/tH5A.f90
   packages/hdf5/branches/upstream/current/fortran/test/tH5D.f90
   packages/hdf5/branches/upstream/current/fortran/test/tH5E.f90
   packages/hdf5/branches/upstream/current/fortran/test/tH5F.f90
   packages/hdf5/branches/upstream/current/fortran/test/tH5G.f90
   packages/hdf5/branches/upstream/current/fortran/test/tH5I.f90
   packages/hdf5/branches/upstream/current/fortran/test/tH5P.f90
   packages/hdf5/branches/upstream/current/fortran/test/tH5R.f90
   packages/hdf5/branches/upstream/current/fortran/test/tH5S.f90
   packages/hdf5/branches/upstream/current/fortran/test/tH5Sselect.f90
   packages/hdf5/branches/upstream/current/fortran/test/tH5T.f90
   packages/hdf5/branches/upstream/current/fortran/test/tH5VL.f90
   packages/hdf5/branches/upstream/current/fortran/test/tH5Z.f90
   packages/hdf5/branches/upstream/current/fortran/test/tf.f90
   packages/hdf5/branches/upstream/current/fortran/testpar/Dependencies
   packages/hdf5/branches/upstream/current/fortran/testpar/Makefile.in
   packages/hdf5/branches/upstream/current/fortran/testpar/ptesthdf5_fortran.f90
   packages/hdf5/branches/upstream/current/fortran/testpar/thdf5.f90
   packages/hdf5/branches/upstream/current/fortran/testpar/thyperslab_wr.f90
   packages/hdf5/branches/upstream/current/hl/Makefile.in
   packages/hdf5/branches/upstream/current/hl/src/Dependencies
   packages/hdf5/branches/upstream/current/hl/src/H5IM.c
   packages/hdf5/branches/upstream/current/hl/src/H5IM.h
   packages/hdf5/branches/upstream/current/hl/src/H5LT.c
   packages/hdf5/branches/upstream/current/hl/src/H5LT.h
   packages/hdf5/branches/upstream/current/hl/src/H5TA.c
   packages/hdf5/branches/upstream/current/hl/src/H5TA.h
   packages/hdf5/branches/upstream/current/hl/src/Makefile.in
   packages/hdf5/branches/upstream/current/hl/test/Dependencies
   packages/hdf5/branches/upstream/current/hl/test/Makefile.in
   packages/hdf5/branches/upstream/current/hl/test/test_image.c
   packages/hdf5/branches/upstream/current/hl/test/test_lite.c
   packages/hdf5/branches/upstream/current/hl/test/test_table.c
   packages/hdf5/branches/upstream/current/perform/Dependencies
   packages/hdf5/branches/upstream/current/perform/Makefile.in
   packages/hdf5/branches/upstream/current/perform/benchpar.c
   packages/hdf5/branches/upstream/current/perform/chunk.c
   packages/hdf5/branches/upstream/current/perform/gen_report.pl
   packages/hdf5/branches/upstream/current/perform/iopipe.c
   packages/hdf5/branches/upstream/current/perform/mpi-perf.c
   packages/hdf5/branches/upstream/current/perform/overhead.c
   packages/hdf5/branches/upstream/current/perform/perf.c
   packages/hdf5/branches/upstream/current/perform/perf_meta.c
   packages/hdf5/branches/upstream/current/perform/pio_engine.c
   packages/hdf5/branches/upstream/current/perform/pio_perf.c
   packages/hdf5/branches/upstream/current/perform/pio_perf.h
   packages/hdf5/branches/upstream/current/perform/pio_timer.c
   packages/hdf5/branches/upstream/current/perform/pio_timer.h
   packages/hdf5/branches/upstream/current/perform/zip_perf.c
   packages/hdf5/branches/upstream/current/release_docs/HISTORY.txt
   packages/hdf5/branches/upstream/current/release_docs/INSTALL
   packages/hdf5/branches/upstream/current/release_docs/INSTALL_Windows.txt
   packages/hdf5/branches/upstream/current/release_docs/INSTALL_Windows_From_Command_Line.txt
   packages/hdf5/branches/upstream/current/release_docs/INSTALL_parallel
   packages/hdf5/branches/upstream/current/release_docs/RELEASE.txt
   packages/hdf5/branches/upstream/current/src/Dependencies
   packages/hdf5/branches/upstream/current/src/H5.c
   packages/hdf5/branches/upstream/current/src/H5A.c
   packages/hdf5/branches/upstream/current/src/H5AC.c
   packages/hdf5/branches/upstream/current/src/H5ACprivate.h
   packages/hdf5/branches/upstream/current/src/H5ACpublic.h
   packages/hdf5/branches/upstream/current/src/H5Apkg.h
   packages/hdf5/branches/upstream/current/src/H5Aprivate.h
   packages/hdf5/branches/upstream/current/src/H5Apublic.h
   packages/hdf5/branches/upstream/current/src/H5B.c
   packages/hdf5/branches/upstream/current/src/H5Bpkg.h
   packages/hdf5/branches/upstream/current/src/H5Bprivate.h
   packages/hdf5/branches/upstream/current/src/H5Bpublic.h
   packages/hdf5/branches/upstream/current/src/H5C.c
   packages/hdf5/branches/upstream/current/src/H5Cprivate.h
   packages/hdf5/branches/upstream/current/src/H5Cpublic.h
   packages/hdf5/branches/upstream/current/src/H5D.c
   packages/hdf5/branches/upstream/current/src/H5Dcompact.c
   packages/hdf5/branches/upstream/current/src/H5Dcontig.c
   packages/hdf5/branches/upstream/current/src/H5Defl.c
   packages/hdf5/branches/upstream/current/src/H5Dio.c
   packages/hdf5/branches/upstream/current/src/H5Distore.c
   packages/hdf5/branches/upstream/current/src/H5Dmpio.c
   packages/hdf5/branches/upstream/current/src/H5Dpkg.h
   packages/hdf5/branches/upstream/current/src/H5Dprivate.h
   packages/hdf5/branches/upstream/current/src/H5Dpublic.h
   packages/hdf5/branches/upstream/current/src/H5Dselect.c
   packages/hdf5/branches/upstream/current/src/H5Dtest.c
   packages/hdf5/branches/upstream/current/src/H5E.c
   packages/hdf5/branches/upstream/current/src/H5Eprivate.h
   packages/hdf5/branches/upstream/current/src/H5Epublic.h
   packages/hdf5/branches/upstream/current/src/H5F.c
   packages/hdf5/branches/upstream/current/src/H5FD.c
   packages/hdf5/branches/upstream/current/src/H5FDcore.c
   packages/hdf5/branches/upstream/current/src/H5FDcore.h
   packages/hdf5/branches/upstream/current/src/H5FDfamily.c
   packages/hdf5/branches/upstream/current/src/H5FDfamily.h
   packages/hdf5/branches/upstream/current/src/H5FDgass.c
   packages/hdf5/branches/upstream/current/src/H5FDgass.h
   packages/hdf5/branches/upstream/current/src/H5FDlog.c
   packages/hdf5/branches/upstream/current/src/H5FDlog.h
   packages/hdf5/branches/upstream/current/src/H5FDmpi.c
   packages/hdf5/branches/upstream/current/src/H5FDmpi.h
   packages/hdf5/branches/upstream/current/src/H5FDmpio.c
   packages/hdf5/branches/upstream/current/src/H5FDmpio.h
   packages/hdf5/branches/upstream/current/src/H5FDmpiposix.c
   packages/hdf5/branches/upstream/current/src/H5FDmpiposix.h
   packages/hdf5/branches/upstream/current/src/H5FDmulti.c
   packages/hdf5/branches/upstream/current/src/H5FDmulti.h
   packages/hdf5/branches/upstream/current/src/H5FDprivate.h
   packages/hdf5/branches/upstream/current/src/H5FDpublic.h
   packages/hdf5/branches/upstream/current/src/H5FDsec2.c
   packages/hdf5/branches/upstream/current/src/H5FDsec2.h
   packages/hdf5/branches/upstream/current/src/H5FDsrb.c
   packages/hdf5/branches/upstream/current/src/H5FDsrb.h
   packages/hdf5/branches/upstream/current/src/H5FDstdio.c
   packages/hdf5/branches/upstream/current/src/H5FDstdio.h
   packages/hdf5/branches/upstream/current/src/H5FDstream.c
   packages/hdf5/branches/upstream/current/src/H5FDstream.h
   packages/hdf5/branches/upstream/current/src/H5FL.c
   packages/hdf5/branches/upstream/current/src/H5FLprivate.h
   packages/hdf5/branches/upstream/current/src/H5FO.c
   packages/hdf5/branches/upstream/current/src/H5FOprivate.h
   packages/hdf5/branches/upstream/current/src/H5FS.c
   packages/hdf5/branches/upstream/current/src/H5FSprivate.h
   packages/hdf5/branches/upstream/current/src/H5Fdbg.c
   packages/hdf5/branches/upstream/current/src/H5Fmount.c
   packages/hdf5/branches/upstream/current/src/H5Fpkg.h
   packages/hdf5/branches/upstream/current/src/H5Fprivate.h
   packages/hdf5/branches/upstream/current/src/H5Fpublic.h
   packages/hdf5/branches/upstream/current/src/H5Fsfile.c
   packages/hdf5/branches/upstream/current/src/H5Fsuper.c
   packages/hdf5/branches/upstream/current/src/H5G.c
   packages/hdf5/branches/upstream/current/src/H5Gent.c
   packages/hdf5/branches/upstream/current/src/H5Gnode.c
   packages/hdf5/branches/upstream/current/src/H5Gpkg.h
   packages/hdf5/branches/upstream/current/src/H5Gprivate.h
   packages/hdf5/branches/upstream/current/src/H5Gpublic.h
   packages/hdf5/branches/upstream/current/src/H5Gstab.c
   packages/hdf5/branches/upstream/current/src/H5HG.c
   packages/hdf5/branches/upstream/current/src/H5HGdbg.c
   packages/hdf5/branches/upstream/current/src/H5HGpkg.h
   packages/hdf5/branches/upstream/current/src/H5HGprivate.h
   packages/hdf5/branches/upstream/current/src/H5HGpublic.h
   packages/hdf5/branches/upstream/current/src/H5HL.c
   packages/hdf5/branches/upstream/current/src/H5HLdbg.c
   packages/hdf5/branches/upstream/current/src/H5HLpkg.h
   packages/hdf5/branches/upstream/current/src/H5HLprivate.h
   packages/hdf5/branches/upstream/current/src/H5HLpublic.h
   packages/hdf5/branches/upstream/current/src/H5HP.c
   packages/hdf5/branches/upstream/current/src/H5HPprivate.h
   packages/hdf5/branches/upstream/current/src/H5I.c
   packages/hdf5/branches/upstream/current/src/H5Ipkg.h
   packages/hdf5/branches/upstream/current/src/H5Iprivate.h
   packages/hdf5/branches/upstream/current/src/H5Ipublic.h
   packages/hdf5/branches/upstream/current/src/H5MF.c
   packages/hdf5/branches/upstream/current/src/H5MFprivate.h
   packages/hdf5/branches/upstream/current/src/H5MM.c
   packages/hdf5/branches/upstream/current/src/H5MMprivate.h
   packages/hdf5/branches/upstream/current/src/H5MMpublic.h
   packages/hdf5/branches/upstream/current/src/H5MPprivate.h
   packages/hdf5/branches/upstream/current/src/H5O.c
   packages/hdf5/branches/upstream/current/src/H5Oattr.c
   packages/hdf5/branches/upstream/current/src/H5Obogus.c
   packages/hdf5/branches/upstream/current/src/H5Ocont.c
   packages/hdf5/branches/upstream/current/src/H5Odtype.c
   packages/hdf5/branches/upstream/current/src/H5Oefl.c
   packages/hdf5/branches/upstream/current/src/H5Ofill.c
   packages/hdf5/branches/upstream/current/src/H5Olayout.c
   packages/hdf5/branches/upstream/current/src/H5Omtime.c
   packages/hdf5/branches/upstream/current/src/H5Oname.c
   packages/hdf5/branches/upstream/current/src/H5Onull.c
   packages/hdf5/branches/upstream/current/src/H5Opkg.h
   packages/hdf5/branches/upstream/current/src/H5Opline.c
   packages/hdf5/branches/upstream/current/src/H5Oprivate.h
   packages/hdf5/branches/upstream/current/src/H5Opublic.h
   packages/hdf5/branches/upstream/current/src/H5Osdspace.c
   packages/hdf5/branches/upstream/current/src/H5Oshared.c
   packages/hdf5/branches/upstream/current/src/H5Ostab.c
   packages/hdf5/branches/upstream/current/src/H5P.c
   packages/hdf5/branches/upstream/current/src/H5Pdcpl.c
   packages/hdf5/branches/upstream/current/src/H5Pdxpl.c
   packages/hdf5/branches/upstream/current/src/H5Pfapl.c
   packages/hdf5/branches/upstream/current/src/H5Pfcpl.c
   packages/hdf5/branches/upstream/current/src/H5Ppkg.h
   packages/hdf5/branches/upstream/current/src/H5Pprivate.h
   packages/hdf5/branches/upstream/current/src/H5Ppublic.h
   packages/hdf5/branches/upstream/current/src/H5Ptest.c
   packages/hdf5/branches/upstream/current/src/H5R.c
   packages/hdf5/branches/upstream/current/src/H5RC.c
   packages/hdf5/branches/upstream/current/src/H5RCprivate.h
   packages/hdf5/branches/upstream/current/src/H5RS.c
   packages/hdf5/branches/upstream/current/src/H5RSprivate.h
   packages/hdf5/branches/upstream/current/src/H5Rprivate.h
   packages/hdf5/branches/upstream/current/src/H5Rpublic.h
   packages/hdf5/branches/upstream/current/src/H5S.c
   packages/hdf5/branches/upstream/current/src/H5SL.c
   packages/hdf5/branches/upstream/current/src/H5SLprivate.h
   packages/hdf5/branches/upstream/current/src/H5ST.c
   packages/hdf5/branches/upstream/current/src/H5STprivate.h
   packages/hdf5/branches/upstream/current/src/H5Sall.c
   packages/hdf5/branches/upstream/current/src/H5Shyper.c
   packages/hdf5/branches/upstream/current/src/H5Smpio.c
   packages/hdf5/branches/upstream/current/src/H5Snone.c
   packages/hdf5/branches/upstream/current/src/H5Spkg.h
   packages/hdf5/branches/upstream/current/src/H5Spoint.c
   packages/hdf5/branches/upstream/current/src/H5Sprivate.h
   packages/hdf5/branches/upstream/current/src/H5Spublic.h
   packages/hdf5/branches/upstream/current/src/H5Sselect.c
   packages/hdf5/branches/upstream/current/src/H5Stest.c
   packages/hdf5/branches/upstream/current/src/H5T.c
   packages/hdf5/branches/upstream/current/src/H5TS.c
   packages/hdf5/branches/upstream/current/src/H5TSprivate.h
   packages/hdf5/branches/upstream/current/src/H5Tarray.c
   packages/hdf5/branches/upstream/current/src/H5Tbit.c
   packages/hdf5/branches/upstream/current/src/H5Tcommit.c
   packages/hdf5/branches/upstream/current/src/H5Tcompound.c
   packages/hdf5/branches/upstream/current/src/H5Tconv.c
   packages/hdf5/branches/upstream/current/src/H5Tcset.c
   packages/hdf5/branches/upstream/current/src/H5Tenum.c
   packages/hdf5/branches/upstream/current/src/H5Tfields.c
   packages/hdf5/branches/upstream/current/src/H5Tfixed.c
   packages/hdf5/branches/upstream/current/src/H5Tfloat.c
   packages/hdf5/branches/upstream/current/src/H5Tnative.c
   packages/hdf5/branches/upstream/current/src/H5Toffset.c
   packages/hdf5/branches/upstream/current/src/H5Topaque.c
   packages/hdf5/branches/upstream/current/src/H5Torder.c
   packages/hdf5/branches/upstream/current/src/H5Tpad.c
   packages/hdf5/branches/upstream/current/src/H5Tpkg.h
   packages/hdf5/branches/upstream/current/src/H5Tprecis.c
   packages/hdf5/branches/upstream/current/src/H5Tprivate.h
   packages/hdf5/branches/upstream/current/src/H5Tpublic.h
   packages/hdf5/branches/upstream/current/src/H5Tstrpad.c
   packages/hdf5/branches/upstream/current/src/H5Tvlen.c
   packages/hdf5/branches/upstream/current/src/H5V.c
   packages/hdf5/branches/upstream/current/src/H5Vprivate.h
   packages/hdf5/branches/upstream/current/src/H5Z.c
   packages/hdf5/branches/upstream/current/src/H5Zdeflate.c
   packages/hdf5/branches/upstream/current/src/H5Zfletcher32.c
   packages/hdf5/branches/upstream/current/src/H5Zpkg.h
   packages/hdf5/branches/upstream/current/src/H5Zprivate.h
   packages/hdf5/branches/upstream/current/src/H5Zpublic.h
   packages/hdf5/branches/upstream/current/src/H5Zshuffle.c
   packages/hdf5/branches/upstream/current/src/H5Zszip.c
   packages/hdf5/branches/upstream/current/src/H5api_adpt.h
   packages/hdf5/branches/upstream/current/src/H5config.h.in
   packages/hdf5/branches/upstream/current/src/H5detect.c
   packages/hdf5/branches/upstream/current/src/H5private.h
   packages/hdf5/branches/upstream/current/src/H5public.h
   packages/hdf5/branches/upstream/current/src/Makefile.in
   packages/hdf5/branches/upstream/current/src/hdf5.h
   packages/hdf5/branches/upstream/current/test/Dependencies
   packages/hdf5/branches/upstream/current/test/Makefile.in
   packages/hdf5/branches/upstream/current/test/big.c
   packages/hdf5/branches/upstream/current/test/bittests.c
   packages/hdf5/branches/upstream/current/test/cache.c
   packages/hdf5/branches/upstream/current/test/cmpd_dset.c
   packages/hdf5/branches/upstream/current/test/dangle.c
   packages/hdf5/branches/upstream/current/test/dsets.c
   packages/hdf5/branches/upstream/current/test/dtypes.c
   packages/hdf5/branches/upstream/current/test/enum.c
   packages/hdf5/branches/upstream/current/test/extend.c
   packages/hdf5/branches/upstream/current/test/external.c
   packages/hdf5/branches/upstream/current/test/file_handle.c
   packages/hdf5/branches/upstream/current/test/fillval.c
   packages/hdf5/branches/upstream/current/test/flush1.c
   packages/hdf5/branches/upstream/current/test/flush2.c
   packages/hdf5/branches/upstream/current/test/gass_append.c
   packages/hdf5/branches/upstream/current/test/gass_read.c
   packages/hdf5/branches/upstream/current/test/gass_write.c
   packages/hdf5/branches/upstream/current/test/getname.c
   packages/hdf5/branches/upstream/current/test/gheap.c
   packages/hdf5/branches/upstream/current/test/h5test.c
   packages/hdf5/branches/upstream/current/test/h5test.h
   packages/hdf5/branches/upstream/current/test/hyperslab.c
   packages/hdf5/branches/upstream/current/test/istore.c
   packages/hdf5/branches/upstream/current/test/lheap.c
   packages/hdf5/branches/upstream/current/test/links.c
   packages/hdf5/branches/upstream/current/test/mount.c
   packages/hdf5/branches/upstream/current/test/mtime.c
   packages/hdf5/branches/upstream/current/test/ntypes.c
   packages/hdf5/branches/upstream/current/test/ohdr.c
   packages/hdf5/branches/upstream/current/test/reserved.c
   packages/hdf5/branches/upstream/current/test/set_extent.c
   packages/hdf5/branches/upstream/current/test/srb_append.c
   packages/hdf5/branches/upstream/current/test/srb_read.c
   packages/hdf5/branches/upstream/current/test/srb_write.c
   packages/hdf5/branches/upstream/current/test/stab.c
   packages/hdf5/branches/upstream/current/test/stream_test.c
   packages/hdf5/branches/upstream/current/test/tarray.c
   packages/hdf5/branches/upstream/current/test/tattr.c
   packages/hdf5/branches/upstream/current/test/tconfig.c
   packages/hdf5/branches/upstream/current/test/testframe.c
   packages/hdf5/branches/upstream/current/test/testhdf5.c
   packages/hdf5/branches/upstream/current/test/testhdf5.h
   packages/hdf5/branches/upstream/current/test/testmeta.c
   packages/hdf5/branches/upstream/current/test/tfile.c
   packages/hdf5/branches/upstream/current/test/tgenprop.c
   packages/hdf5/branches/upstream/current/test/th5s.c
   packages/hdf5/branches/upstream/current/test/theap.c
   packages/hdf5/branches/upstream/current/test/titerate.c
   packages/hdf5/branches/upstream/current/test/tmeta.c
   packages/hdf5/branches/upstream/current/test/tmisc.c
   packages/hdf5/branches/upstream/current/test/trefer.c
   packages/hdf5/branches/upstream/current/test/trefstr.c
   packages/hdf5/branches/upstream/current/test/tselect.c
   packages/hdf5/branches/upstream/current/test/tskiplist.c
   packages/hdf5/branches/upstream/current/test/ttime.c
   packages/hdf5/branches/upstream/current/test/ttsafe.c
   packages/hdf5/branches/upstream/current/test/ttsafe.h
   packages/hdf5/branches/upstream/current/test/ttsafe_acreate.c
   packages/hdf5/branches/upstream/current/test/ttsafe_cancel.c
   packages/hdf5/branches/upstream/current/test/ttsafe_dcreate.c
   packages/hdf5/branches/upstream/current/test/ttsafe_error.c
   packages/hdf5/branches/upstream/current/test/ttst.c
   packages/hdf5/branches/upstream/current/test/tvlstr.c
   packages/hdf5/branches/upstream/current/test/tvltypes.c
   packages/hdf5/branches/upstream/current/test/unlink.c
   packages/hdf5/branches/upstream/current/testpar/Dependencies
   packages/hdf5/branches/upstream/current/testpar/Makefile.in
   packages/hdf5/branches/upstream/current/testpar/t_coll_chunk.c
   packages/hdf5/branches/upstream/current/testpar/t_dset.c
   packages/hdf5/branches/upstream/current/testpar/t_file.c
   packages/hdf5/branches/upstream/current/testpar/t_mdset.c
   packages/hdf5/branches/upstream/current/testpar/t_mpi.c
   packages/hdf5/branches/upstream/current/testpar/t_ph5basic.c
   packages/hdf5/branches/upstream/current/testpar/t_span_tree.c
   packages/hdf5/branches/upstream/current/testpar/testph5.sh.in
   packages/hdf5/branches/upstream/current/testpar/testphdf5.c
   packages/hdf5/branches/upstream/current/testpar/testphdf5.h
   packages/hdf5/branches/upstream/current/tools/Makefile.in
   packages/hdf5/branches/upstream/current/tools/h5diff/Dependencies
   packages/hdf5/branches/upstream/current/tools/h5diff/Makefile.in
   packages/hdf5/branches/upstream/current/tools/h5diff/h5diff_main.c
   packages/hdf5/branches/upstream/current/tools/h5diff/testh5diff.sh
   packages/hdf5/branches/upstream/current/tools/h5dump/Dependencies
   packages/hdf5/branches/upstream/current/tools/h5dump/Makefile.in
   packages/hdf5/branches/upstream/current/tools/h5dump/h5dump.c
   packages/hdf5/branches/upstream/current/tools/h5dump/h5dump.h
   packages/hdf5/branches/upstream/current/tools/h5dump/h5dumpgentest.c
   packages/hdf5/branches/upstream/current/tools/h5dump/testh5dump.sh.in
   packages/hdf5/branches/upstream/current/tools/h5dump/testh5dumpxml.sh
   packages/hdf5/branches/upstream/current/tools/h5import/Dependencies
   packages/hdf5/branches/upstream/current/tools/h5import/Makefile.in
   packages/hdf5/branches/upstream/current/tools/h5import/h5import.c
   packages/hdf5/branches/upstream/current/tools/h5import/h5import.h
   packages/hdf5/branches/upstream/current/tools/h5import/h5importtest.c
   packages/hdf5/branches/upstream/current/tools/h5import/h5importtestutil.sh
   packages/hdf5/branches/upstream/current/tools/h5jam/Dependencies
   packages/hdf5/branches/upstream/current/tools/h5jam/Makefile.in
   packages/hdf5/branches/upstream/current/tools/h5jam/getub.c
   packages/hdf5/branches/upstream/current/tools/h5jam/h5jam.c
   packages/hdf5/branches/upstream/current/tools/h5jam/h5jamgentest.c
   packages/hdf5/branches/upstream/current/tools/h5jam/h5unjam.c
   packages/hdf5/branches/upstream/current/tools/h5jam/tellub.c
   packages/hdf5/branches/upstream/current/tools/h5jam/testh5jam.sh.in
   packages/hdf5/branches/upstream/current/tools/h5ls/Dependencies
   packages/hdf5/branches/upstream/current/tools/h5ls/Makefile.in
   packages/hdf5/branches/upstream/current/tools/h5ls/h5ls.c
   packages/hdf5/branches/upstream/current/tools/h5ls/testh5ls.sh
   packages/hdf5/branches/upstream/current/tools/h5repack/Dependencies
   packages/hdf5/branches/upstream/current/tools/h5repack/Makefile.in
   packages/hdf5/branches/upstream/current/tools/h5repack/h5repack.c
   packages/hdf5/branches/upstream/current/tools/h5repack/h5repack.h
   packages/hdf5/branches/upstream/current/tools/h5repack/h5repack.sh.in
   packages/hdf5/branches/upstream/current/tools/h5repack/h5repack_copy.c
   packages/hdf5/branches/upstream/current/tools/h5repack/h5repack_filters.c
   packages/hdf5/branches/upstream/current/tools/h5repack/h5repack_list.c
   packages/hdf5/branches/upstream/current/tools/h5repack/h5repack_main.c
   packages/hdf5/branches/upstream/current/tools/h5repack/h5repack_opttable.c
   packages/hdf5/branches/upstream/current/tools/h5repack/h5repack_parse.c
   packages/hdf5/branches/upstream/current/tools/h5repack/h5repack_refs.c
   packages/hdf5/branches/upstream/current/tools/h5repack/h5repack_verify.c
   packages/hdf5/branches/upstream/current/tools/h5repack/testh5repack_detect_szip.c
   packages/hdf5/branches/upstream/current/tools/lib/Dependencies
   packages/hdf5/branches/upstream/current/tools/lib/Makefile.in
   packages/hdf5/branches/upstream/current/tools/lib/h5diff.c
   packages/hdf5/branches/upstream/current/tools/lib/h5diff.h
   packages/hdf5/branches/upstream/current/tools/lib/h5diff_array.c
   packages/hdf5/branches/upstream/current/tools/lib/h5diff_attr.c
   packages/hdf5/branches/upstream/current/tools/lib/h5diff_dset.c
   packages/hdf5/branches/upstream/current/tools/lib/h5diff_util.c
   packages/hdf5/branches/upstream/current/tools/lib/h5tools.c
   packages/hdf5/branches/upstream/current/tools/lib/h5tools.h
   packages/hdf5/branches/upstream/current/tools/lib/h5tools_filters.c
   packages/hdf5/branches/upstream/current/tools/lib/h5tools_ref.c
   packages/hdf5/branches/upstream/current/tools/lib/h5tools_ref.h
   packages/hdf5/branches/upstream/current/tools/lib/h5tools_str.c
   packages/hdf5/branches/upstream/current/tools/lib/h5tools_str.h
   packages/hdf5/branches/upstream/current/tools/lib/h5tools_type.c
   packages/hdf5/branches/upstream/current/tools/lib/h5tools_utils.c
   packages/hdf5/branches/upstream/current/tools/lib/h5tools_utils.h
   packages/hdf5/branches/upstream/current/tools/lib/h5trav.c
   packages/hdf5/branches/upstream/current/tools/lib/h5trav.h
   packages/hdf5/branches/upstream/current/tools/lib/talign.c
   packages/hdf5/branches/upstream/current/tools/misc/Dependencies
   packages/hdf5/branches/upstream/current/tools/misc/Makefile.in
   packages/hdf5/branches/upstream/current/tools/misc/h5cc.in
   packages/hdf5/branches/upstream/current/tools/misc/h5debug.c
   packages/hdf5/branches/upstream/current/tools/misc/h5redeploy.in
   packages/hdf5/branches/upstream/current/tools/misc/h5repart.c
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_10.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_11.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_12.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_13.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_14.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_15.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_17.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_18.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_20.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_21.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_22.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_23.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_24.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_25.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_50.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_51.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_52.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_53.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_54.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_55.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_56.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_57.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_600.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_601.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_602.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_603.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_604.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_605.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_606.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_607.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_608.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_609.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_610.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_611.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_612.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_613.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_614.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_615.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_616.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_617.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_618.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_619.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_620.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_621.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_622.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_623.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_624.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_625.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_626.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_627.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_628.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_629.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_70.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_80.txt
   packages/hdf5/branches/upstream/current/tools/testfiles/taindices.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/tall-2A.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tall-4s.ddl
   packages/hdf5/branches/upstream/current/tools/testfiles/tall.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tarray1.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tarray2.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tarray3.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tarray6.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tarray7.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tattr.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tbitfields.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tcompound.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tcompound2.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tcompound_complex.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tdatareg.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tdset-3s.ddl
   packages/hdf5/branches/upstream/current/tools/testfiles/tdset.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tdset2-1s.ddl
   packages/hdf5/branches/upstream/current/tools/testfiles/tdset2.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tempty-dtd-2.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tempty-dtd.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tempty-nons-2.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tempty-nons.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tempty-ns-2.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tempty-ns.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tempty.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tenum.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tgroup.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/thlink-1.ddl
   packages/hdf5/branches/upstream/current/tools/testfiles/thlink-1.ls
   packages/hdf5/branches/upstream/current/tools/testfiles/thlink.h5
   packages/hdf5/branches/upstream/current/tools/testfiles/thlink.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tindicesno.ddl
   packages/hdf5/branches/upstream/current/tools/testfiles/tindicesyes.ddl
   packages/hdf5/branches/upstream/current/tools/testfiles/tloop.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tloop2.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tmany.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tname-amp.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tname-apos.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tname-gt.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tname-lt.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tname-quot.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tname-sp.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tnamed_dtype_attr.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tnestedcomp.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tnodata.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tnofilename.ddl
   packages/hdf5/branches/upstream/current/tools/testfiles/tobjref.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/topaque.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tref-escapes-at.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tref-escapes.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tref.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tsaf.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tslink.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tstr.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tstr2.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tstring-at.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tstring.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tvldtypes1.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tvldtypes2.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tvldtypes3.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tvldtypes4.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tvldtypes5.h5.xml
   packages/hdf5/branches/upstream/current/tools/testfiles/tvlstr.h5.xml
   packages/hdf5/branches/upstream/current/windows/all.zip
Log:
[svn-upgrade] Integrating new upstream version, hdf5 (1.6.6)

Modified: packages/hdf5/branches/upstream/current/COPYING
===================================================================
--- packages/hdf5/branches/upstream/current/COPYING	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/COPYING	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,74 +1,82 @@
-Copyright Notice and Statement for NCSA Hierarchical Data Format (HDF)
-Software Library and Utilities
 
-NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities 
-Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the Board of 
-Trustees of the University of Illinois.  All rights reserved.
+Copyright Notice and License Terms for 
+HDF5 (Hierarchical Data Format 5) Software Library and Utilities
+-----------------------------------------------------------------------------
 
-Contributors: National Center for Supercomputing Applications (NCSA) at the
-University of Illinois at Urbana-Champaign (UIUC), Lawrence Livermore 
-National Laboratory (LLNL), Sandia National Laboratories (SNL), Los Alamos 
-National Laboratory (LANL), Jean-loup Gailly and Mark Adler (gzip library).
+HDF5 (Hierarchical Data Format 5) Software Library and Utilities
+Copyright 2006-2007 by The HDF Group (THG).
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted for any purpose (including commercial purposes)
+NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
+Copyright 1998-2006 by the Board of Trustees of the University of Illinois.
+
+All rights reserved.
+
+Contributors:   National Center for Supercomputing Applications  (NCSA) at 
+the University of Illinois, Fortner Software, Unidata Program Center (netCDF), 
+The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip), 
+and Digital Equipment Corporation (DEC).
+
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted for any purpose (including commercial purposes) 
 provided that the following conditions are met:
 
-1.  Redistributions of source code must retain the above copyright notice,
-    this list of conditions, and the following disclaimer.
+1. Redistributions of source code must retain the above copyright notice, 
+   this list of conditions, and the following disclaimer.
 
-2.  Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions, and the following disclaimer in the documentation
-    and/or materials provided with the distribution.
+2. Redistributions in binary form must reproduce the above copyright notice, 
+   this list of conditions, and the following disclaimer in the documentation 
+   and/or materials provided with the distribution.
 
-3.  In addition, redistributions of modified forms of the source or binary
-    code must carry prominent notices stating that the original code was
-    changed and the date of the change.
+3. In addition, redistributions of modified forms of the source or binary 
+   code must carry prominent notices stating that the original code was 
+   changed and the date of the change.
 
-4.  All publications or advertising materials mentioning features or use of
-    this software are asked, but not required, to acknowledge that it was 
-    developed by the National Center for Supercomputing Applications at the 
-    University of Illinois at Urbana-Champaign and to credit the contributors.
+4. All publications or advertising materials mentioning features or use of 
+   this software are asked, but not required, to acknowledge that it was 
+   developed by The HDF Group and by the National Center for Supercomputing 
+   Applications at the University of Illinois at Urbana-Champaign and 
+   credit the contributors.
 
-5.  Neither the name of the University nor the names of the Contributors may
-    be used to endorse or promote products derived from this software without
-    specific prior written permission from the University or the Contributors,
-    as appropriate for the name(s) to be used.
+5. Neither the name of The HDF Group, the name of the University, nor the 
+   name of any Contributor may be used to endorse or promote products derived 
+   from this software without specific prior written permission from the 
+   University, THG, or the Contributor, respectively.
 
-6.  THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY AND THE CONTRIBUTORS "AS IS"
-    WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED.  In no event
-    shall the University or the Contributors be liable for any damages
-    suffered by the users arising out of the use of this software, even if
-    advised of the possibility of such damage.
+DISCLAIMER: 
+THIS SOFTWARE IS PROVIDED BY THE HDF GROUP (THG) AND THE CONTRIBUTORS 
+"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED.  In no 
+event shall THG or the Contributors be liable for any damages suffered by 
+the users arising out of the use of this software, even if advised of the 
+possibility of such damage. 
 
---------------------------------------------------------------------------
+-----------------------------------------------------------------------------
 Portions of HDF5 were developed with support from the University of 
-California, Lawrence Livermore National Laboratory (UC LLNL).
-The following statement applies to those portions of the product
-and must be retained in any redistribution of source code, binaries,
-documentation, and/or accompanying materials:
+California, Lawrence Livermore National Laboratory (UC LLNL).  
+The following statement applies to those portions of the product and must 
+be retained in any redistribution of source code, binaries, documentation, 
+and/or accompanying materials:
 
-    This work was partially produced at the University of California,
-    Lawrence Livermore National Laboratory (UC LLNL) under contract no.
-    W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy 
-    (DOE) and The Regents of the University of California (University) 
-    for the operation of UC LLNL.
+   This work was partially produced at the University of California, 
+   Lawrence Livermore National Laboratory (UC LLNL) under contract 
+   no. W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy 
+   (DOE) and The Regents of the University of California (University) 
+   for the operation of UC LLNL.
 
-    DISCLAIMER:
-    This work was prepared as an account of work sponsored by an agency 
-    of the United States Government.  Neither the United States 
-    Government nor the University of California nor any of their 
-    employees, makes any warranty, express or implied, or assumes any 
-    liability or responsibility for the accuracy, completeness, or 
-    usefulness of any information, apparatus, product, or process 
-    disclosed, or represents that its use would not infringe privately-
-    owned rights.  Reference herein to any specific commercial products, 
-    process, or service by trade name, trademark, manufacturer, or 
-    otherwise, does not necessarily constitute or imply its endorsement, 
-    recommendation, or favoring by the United States Government or the 
-    University of California.  The views and opinions of authors 
-    expressed herein do not necessarily state or reflect those of the 
-    United States Government or the University of California, and shall 
-    not be used for advertising or product endorsement purposes.
---------------------------------------------------------------------------
+   DISCLAIMER: 
+   This work was prepared as an account of work sponsored by an agency of 
+   the United States Government. Neither the United States Government nor 
+   the University of California nor any of their employees, makes any 
+   warranty, express or implied, or assumes any liability or responsibility 
+   for the accuracy, completeness, or usefulness of any information, 
+   apparatus, product, or process disclosed, or represents that its use 
+   would not infringe privately- owned rights. Reference herein to any 
+   specific commercial products, process, or service by trade name, 
+   trademark, manufacturer, or otherwise, does not necessarily constitute 
+   or imply its endorsement, recommendation, or favoring by the United 
+   States Government or the University of California. The views and 
+   opinions of authors expressed herein do not necessarily state or reflect 
+   those of the United States Government or the University of California, 
+   and shall not be used for advertising or product endorsement purposes.
+-----------------------------------------------------------------------------
 
+

Modified: packages/hdf5/branches/upstream/current/MANIFEST
===================================================================
--- packages/hdf5/branches/upstream/current/MANIFEST	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/MANIFEST	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -8,8 +9,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 #------------------------------------------------------------------------------
 # This is the list of files that are part of HDF5 source distribution. 
@@ -30,6 +31,7 @@
 ./configure
 ./configure.in
 
+./bin/COPYING
 ./bin/buildhdf5
 ./bin/checkapi				_DO_NOT_DISTRIBUTE_
 ./bin/checkposix			_DO_NOT_DISTRIBUTE_
@@ -49,6 +51,7 @@
 ./bin/iostats
 ./bin/locate_sw
 ./bin/ltmain.sh
+./bin/makehelp
 ./bin/mkdirs
 ./bin/reconfigure			_DO_NOT_DISTRIBUTE_
 ./bin/release
@@ -59,11 +62,11 @@
 ./bin/trace
 ./bin/yodconfigure
 
+./config/COPYING
 ./config/BlankForm
 ./config/commence.in
 ./config/conclude.in
 ./config/dec-flags
-./config/dec-osf4.x
 ./config/dec-osf5.x
 ./config/depend1.in
 ./config/depend2.in
@@ -72,16 +75,13 @@
 ./config/dependN.in
 ./config/freebsd
 ./config/gnu-flags
-./config/hpux10.20
 ./config/hpux11.00
 ./config/hpux11.23
-./config/hpux9.03
 ./config/i386-pc-cygwin32
+./config/i686-apple
 ./config/i686-pc-cygwin
 ./config/ia64-linux-gnu
 ./config/intel-flags
-./config/intel-osf1
-./config/irix5.x
 ./config/irix6.x
 ./config/linux-gnu
 ./config/linux-gnuaout
@@ -91,17 +91,14 @@
 ./config/nv1-cray
 ./config/pgi-flags
 ./config/powerpc-apple
-./config/powerpc-ibm-aix4.x
 ./config/powerpc-ibm-aix5.x
 ./config/powerpc-ibm-linux-gnu
-./config/rs6000-ibm-aix4.x
 ./config/solaris2.x
 ./config/sv1-cray
 ./config/unicos
 ./config/unicos10.0.X
 ./config/unicosmk
 ./config/unicosmk2.0.X
-./config/unicosmk2.0.5.X
 ./config/unicosmk2.0.6.X
 
 ./config/site-specific/BlankForm
@@ -212,6 +209,13 @@
 ./doc/html/Graphics/Java.gif
 ./doc/html/Graphics/Makefile.in
 ./doc/html/Graphics/OtherAPIs.gif
+./doc/html/Graphics/THGnoTextSm.jpg
+./doc/html/Graphics/THGwTextSm.jpg
+./doc/html/Graphics/XRD100.gif
+./doc/html/Graphics/hdf2.gif
+./doc/html/Graphics/help.jpg
+./doc/html/Graphics/help.png
+./doc/html/Graphics/help.gif
 
 ./doc/html/Intro/Dependencies
 ./doc/html/Intro/IntroExamples.html
@@ -683,6 +687,8 @@
 ./doc/html/cpplus_RM/functions_func_0x76.html
 ./doc/html/cpplus_RM/functions_func_0x77.html
 ./doc/html/cpplus_RM/functions_func_0x7e.html
+./doc/html/cpplus_RM/globals.html
+./doc/html/cpplus_RM/globals_defs.html
 ./doc/html/cpplus_RM/h5group_8cpp-example.html
 ./doc/html/cpplus_RM/header.html
 ./doc/html/cpplus_RM/hierarchy.html
@@ -708,6 +714,7 @@
 ./doc/html/ed_libs/NavBar_RM.lbi
 ./doc/html/ed_libs/NavBar_TechN.lbi
 ./doc/html/ed_libs/NavBar_UG.lbi
+./doc/html/ed_libs/copyright-html.lbi
 ./doc/html/ed_libs/styles_Format.lbi
 ./doc/html/ed_libs/styles_Gen.lbi
 ./doc/html/ed_libs/styles_Index.lbi
@@ -743,9 +750,6 @@
 ./doc/html/group_p3.obj			_DO_NOT_DISTRIBUTE_
 ./doc/html/h5s.examples
 ./doc/html/hdf2.jpg
-./doc/html/ph5design.html
-./doc/html/ph5example.c
-./doc/html/ph5implement.txt
 ./doc/html/pipe1.gif
 ./doc/html/pipe1.obj			_DO_NOT_DISTRIBUTE_
 ./doc/html/pipe2.gif
@@ -789,19 +793,20 @@
 
 ./examples/Attributes.txt
 ./examples/Dependencies
-./examples/Makefile.in
+./examples/h5_attribute.c
 ./examples/h5_chunk_read.c
 ./examples/h5_compound.c
 ./examples/h5_drivers.c
 ./examples/h5_extend_write.c
 ./examples/h5_group.c
+./examples/h5_mount.c
 ./examples/h5_read.c
+./examples/h5_reference.c
+./examples/h5_select.c
 ./examples/h5_write.c
-./examples/h5_select.c
-./examples/h5_attribute.c
-./examples/h5_mount.c
-./examples/h5_reference.c
+./examples/Makefile.in
 ./examples/ph5example.c
+./examples/testh5cc.sh.in
 
 
 #------------------------------------------------------------------------------
@@ -810,6 +815,7 @@
 #
 #------------------------------------------------------------------------------
 
+./fortran/COPYING
 ./fortran/Makefile.dist
 ./fortran/Makefile.in
 ./fortran/aclocal.m4
@@ -821,7 +827,6 @@
 ./fortran/config/commence.in
 ./fortran/config/conclude.in
 ./fortran/config/dec-flags
-./fortran/config/dec-osf4.x
 ./fortran/config/dec-osf5.x
 ./fortran/config/depend
 ./fortran/config/depend1.in
@@ -831,16 +836,13 @@
 ./fortran/config/dependN.in
 ./fortran/config/freebsd
 ./fortran/config/gnu-flags
-./fortran/config/hpux10.20
 ./fortran/config/hpux11.00
 ./fortran/config/hpux11.23
-./fortran/config/hpux9.03
+./fortran/config/i686-apple
 ./fortran/config/i386-pc-cygwin32
 ./fortran/config/ia64-linux-gnu
 ./fortran/config/intel-fflags
 ./fortran/config/intel-flags
-./fortran/config/intel-osf1
-./fortran/config/irix5.x
 ./fortran/config/irix6.x
 ./fortran/config/linux-gnu
 ./fortran/config/linux-gnuaout
@@ -850,22 +852,18 @@
 ./fortran/config/pgi-fflags
 ./fortran/config/pgi-flags
 ./fortran/config/powerpc-apple
-./fortran/config/powerpc-ibm-aix4.x
 ./fortran/config/powerpc-ibm-aix5.x
-./fortran/config/rs6000-ibm-aix4.x
 ./fortran/config/solaris2.x
 ./fortran/config/sv1-cray
 ./fortran/config/unicos
 ./fortran/config/unicos10.0.X
 ./fortran/config/unicosmk
 ./fortran/config/unicosmk2.0.X
-./fortran/config/unicosmk2.0.5.X
 ./fortran/config/unicosmk2.0.6.X
 
-./fortran/examples/Dependencies
-./fortran/examples/Makefile.in
 ./fortran/examples/attrexample.f90
 ./fortran/examples/compound.f90
+./fortran/examples/Dependencies
 ./fortran/examples/dsetexample.f90
 ./fortran/examples/fileexample.f90
 ./fortran/examples/groupexample.f90
@@ -873,11 +871,14 @@
 ./fortran/examples/grpit.f90
 ./fortran/examples/grpsexample.f90
 ./fortran/examples/hyperslab.f90
+./fortran/examples/Makefile.in
 ./fortran/examples/mountexample.f90
+./fortran/examples/ph5example.f90
 ./fortran/examples/refobjexample.f90
 ./fortran/examples/refregexample.f90
 ./fortran/examples/rwdsetexample.f90
 ./fortran/examples/selectele.f90
+./fortran/examples/testh5fc.sh.in
 
 ./fortran/src/Dependencies
 ./fortran/src/H5_f.c
@@ -961,6 +962,7 @@
 #
 #------------------------------------------------------------------------------
 
+./c++/COPYING
 ./c++/Makefile.in
 ./c++/aclocal.m4
 ./c++/configure
@@ -985,23 +987,24 @@
 ./c++/config/linux-gnulibc2
 ./c++/config/nv1-cray
 ./c++/config/powerpc-ibm-aix
-./c++/config/rs6000-ibm-aix4.x
 ./c++/config/solaris2.x
 ./c++/config/sv1-cray
 ./c++/config/unicos10.0.X
 ./c++/config/unicosmk2.0.6.X
 
-./c++/examples/Dependencies
 ./c++/examples/chunks.cpp
 ./c++/examples/compound.cpp
 ./c++/examples/create.cpp
+./c++/examples/Dependencies
 ./c++/examples/expected.out
 ./c++/examples/extend_ds.cpp
 ./c++/examples/h5group.cpp
+./c++/examples/Makefile.in
 ./c++/examples/readdata.cpp
+./c++/examples/strtype.cpp
 ./c++/examples/testexamples.sh
+./c++/examples/testh5c++.sh.in
 ./c++/examples/writedata.cpp
-./c++/examples/Makefile.in
 
 ./c++/src/Dependencies
 ./c++/src/H5AbstractDs.cpp
@@ -1020,6 +1023,7 @@
 ./c++/src/H5CompType.h
 ./c++/src/H5Cpp.h
 ./c++/src/H5CppDoc.h
+./c++/src/H5cxx_config.h.in
 ./c++/src/H5DataSet.cpp
 ./c++/src/H5DataSet.h
 ./c++/src/H5DataSpace.cpp
@@ -1075,10 +1079,16 @@
 ./c++/test/dsets.cpp
 ./c++/test/h5cpputil.cpp
 ./c++/test/h5cpputil.h
+./c++/test/tattr.cpp
+./c++/test/tcompound.cpp
 ./c++/test/testhdf5.cpp
 ./c++/test/tfile.cpp
+./c++/test/tfilter.cpp
 ./c++/test/th5s.cpp
 ./c++/test/th5s.h5
+./c++/test/trefer.cpp
+./c++/test/ttypes.cpp
+./c++/test/tvlstr.cpp
 
 #------------------------------------------------------------------------------
 #
@@ -1086,6 +1096,7 @@
 #
 #------------------------------------------------------------------------------
 
+./perform/COPYING
 ./perform/Dependencies
 ./perform/Makefile.in
 ./perform/benchpar.c
@@ -1103,14 +1114,13 @@
 ./perform/pio_timer.h
 ./perform/zip_perf.c
 
+./release_docs/COPYING
 ./release_docs/INSTALL
-./release_docs/INSTALL_TFLOPS
-./release_docs/INSTALL_VFL
+./release_docs/INSTALL_Cygwin.txt
 ./release_docs/INSTALL_parallel
 ./release_docs/INSTALL_Windows.txt
 ./release_docs/INSTALL_Windows_From_Command_Line.txt
-./release_docs/INSTALL_Windows_Short.txt
-./release_docs/INSTALL_codewarrior.txt
+./release_docs/INSTALL_Windows_Short_VS6.0.txt
 ./release_docs/HISTORY.txt
 ./release_docs/RELEASE.txt
 
@@ -1118,6 +1128,7 @@
 ./src/hdf5.lnt				_DO_NOT_DISTRIBUTE_
 ./src/hdf5-lin.lnt			_DO_NOT_DISTRIBUTE_
 ./src/hdf5-win.lnt			_DO_NOT_DISTRIBUTE_
+./src/COPYING
 ./src/Dependencies
 ./src/H5.c
 ./src/H5api_adpt.h
@@ -1129,6 +1140,7 @@
 ./src/H5ACprivate.h
 ./src/H5ACpublic.h
 ./src/H5B.c
+./src/H5Bcache.c
 ./src/H5Bpkg.h
 ./src/H5Bprivate.h
 ./src/H5Bpublic.h
@@ -1193,11 +1205,14 @@
 ./src/H5FSprivate.h
 ./src/H5G.c
 ./src/H5Gent.c
+./src/H5Gname.c
 ./src/H5Gnode.c
 ./src/H5Gpkg.h
 ./src/H5Gprivate.h
 ./src/H5Gpublic.h
 ./src/H5Gstab.c
+./src/H5Gtest.c
+./src/H5Gtraverse.c
 ./src/H5HG.c
 ./src/H5HGdbg.c
 ./src/H5HGpkg.h
@@ -1223,6 +1238,7 @@
 ./src/H5O.c
 ./src/H5Oattr.c
 ./src/H5Obogus.c
+./src/H5Ocache.c
 ./src/H5Ocont.c
 ./src/H5Odtype.c
 ./src/H5Oefl.c
@@ -1311,6 +1327,7 @@
 ./src/hdf5.h
 ./src/libhdf5.settings.in
 
+./test/COPYING
 ./test/Dependencies
 ./test/Makefile.in
 ./test/big.c
@@ -1336,31 +1353,36 @@
 ./test/gass_append.c
 ./test/gass_read.c
 ./test/gass_write.c
+./test/gen_deflate.c			_DO_NOT_DISTRIBUTE_
+./test/gen_mergemsg.c			_DO_NOT_DISTRIBUTE_
+./test/gen_old_array.c			_DO_NOT_DISTRIBUTE_
+./test/gen_old_group.c			_DO_NOT_DISTRIBUTE_
+./test/gen_old_layout.c			_DO_NOT_DISTRIBUTE_
+./test/gen_old_mtime.c			_DO_NOT_DISTRIBUTE_
+./test/gen_new_array.c			_DO_NOT_DISTRIBUTE_
+./test/gen_new_fill.c			_DO_NOT_DISTRIBUTE_
+./test/gen_new_mtime.c			_DO_NOT_DISTRIBUTE_
+./test/gen_new_super.c			_DO_NOT_DISTRIBUTE_
+./test/gen_nullspace.c			_DO_NOT_DISTRIBUTE_
 ./test/getname.c
 ./test/gheap.c
+./test/group_new.h5
 ./test/h5test.c
 ./test/h5test.h
 ./test/hyperslab.c
 ./test/istore.c
+./test/le_extlink1.h5
 ./test/lheap.c
 ./test/links.c
+./test/mergemsg.h5
 ./test/mount.c
 ./test/mtime.c
 ./test/noencoder.h5
 ./test/ntypes.c
 ./test/ohdr.c
 ./test/reserved.c
+./test/set_extent.c
 ./test/space_overflow.c			_DO_NOT_DISTRIBUTE_
-./test/gen_deflate.c			_DO_NOT_DISTRIBUTE_
-./test/gen_old_array.c			_DO_NOT_DISTRIBUTE_
-./test/gen_new_array.c			_DO_NOT_DISTRIBUTE_
-./test/gen_new_fill.c			_DO_NOT_DISTRIBUTE_
-./test/gen_old_layout.c			_DO_NOT_DISTRIBUTE_
-./test/gen_old_mtime.c			_DO_NOT_DISTRIBUTE_
-./test/gen_new_mtime.c			_DO_NOT_DISTRIBUTE_
-./test/gen_new_super.c			_DO_NOT_DISTRIBUTE_
-./test/gen_nullspace.c			_DO_NOT_DISTRIBUTE_
-./test/set_extent.c
 ./test/srb_append.c
 ./test/srb_read.c
 ./test/srb_write.c
@@ -1406,6 +1428,7 @@
 ./test/test_filters_le.hdf5
 
 
+./testpar/COPYING
 ./testpar/Dependencies
 ./testpar/Makefile.in
 ./testpar/t_dset.c
@@ -1414,26 +1437,17 @@
 ./testpar/t_mpi.c
 ./testpar/t_ph5basic.c
 ./testpar/t_coll_chunk.c
+./testpar/t_chunk_alloc.c
+./testpar/t_filter_read.c
 ./testpar/t_span_tree.c
 ./testpar/testphdf5.c
 ./testpar/testphdf5.h
 ./testpar/testph5.sh.in
 
+./tools/COPYING
 ./tools/Dependencies
 ./tools/Makefile.in
 
-./tools/gifconv/Dependencies
-./tools/gifconv/Makefile.in
-./tools/gifconv/decompress.c
-./tools/gifconv/gif.h
-./tools/gifconv/gif2hdf.c
-./tools/gifconv/gif2mem.c
-./tools/gifconv/gifread.c
-./tools/gifconv/hdf2gif.c
-./tools/gifconv/hdfgifwr.c
-./tools/gifconv/readhdf.c
-./tools/gifconv/writehdf.c
-
 ./tools/h5dump/Dependencies
 ./tools/h5dump/Makefile.in
 ./tools/h5dump/h5dump.c
@@ -1441,7 +1455,9 @@
 ./tools/h5dump/h5dumpgentest.c
 ./tools/h5dump/testh5dump.sh.in
 ./tools/h5dump/testh5dumpxml.sh
+./tools/h5dump/binread.c
 
+
 ./tools/h5import/Dependencies
 ./tools/h5import/Makefile.in
 ./tools/h5import/h5import.h
@@ -1479,18 +1495,15 @@
 ./tools/h5import/testfiles/test12.h5
 ./tools/h5import/testfiles/test13.h5
 
+# h5diff sources
+./tools/h5diff/h5diffgentest.c
+./tools/h5diff/Makefile.in
 ./tools/h5diff/Dependencies
-./tools/h5diff/Makefile.in
 ./tools/h5diff/h5diff_main.c
-./tools/h5diff/testh5diff_attr.c
-./tools/h5diff/testh5diff_basic.c
-./tools/h5diff/testh5diff_dset.c
-./tools/h5diff/testh5diff_main.c
-./tools/h5diff/testh5diff_util.c
-./tools/h5diff/testh5diff.h
 ./tools/h5diff/testh5diff.sh
 
 
+
 # h5repack sources
 ./tools/h5repack/Dependencies
 ./tools/h5repack/Makefile.in
@@ -1505,11 +1518,7 @@
 ./tools/h5repack/h5repack_parse.c
 ./tools/h5repack/h5repack_refs.c
 ./tools/h5repack/h5repack_verify.c
-./tools/h5repack/testh5repack_attr.c
-./tools/h5repack/testh5repack_dset.c
-./tools/h5repack/testh5repack_main.c
-./tools/h5repack/testh5repack_make.c
-./tools/h5repack/testh5repack_util.c
+./tools/h5repack/h5repacktst.c
 ./tools/h5repack/testh5repack_detect_szip.c
 
 ./tools/h5ls/Dependencies
@@ -1527,7 +1536,6 @@
 ./tools/lib/h5diff_util.c
 ./tools/lib/h5trav.c
 ./tools/lib/h5trav.h
-./tools/lib/h5trav_table.c
 ./tools/lib/h5tools.c
 ./tools/lib/h5tools.h
 ./tools/lib/h5tools_filters.c
@@ -1547,6 +1555,7 @@
 ./tools/misc/h5redeploy.in
 ./tools/misc/h5repart.c
 
+# test files for h5dump
 ./tools/testfiles/tall-1.ddl
 ./tools/testfiles/tall-2.ddl
 ./tools/testfiles/tall-3.ddl
@@ -1701,10 +1710,21 @@
 ./tools/testfiles/test_fletcher32.h5
 ./tools/testfiles/test_shuffle.h5
 ./tools/testfiles/test_szip.h5
+./tools/testfiles/thyperslab.ddl
+./tools/testfiles/tbigdims.ddl
+./tools/testfiles/tbigdims.h5
+./tools/testfiles/thyperslab.h5
+./tools/testfiles/tbinary.h5
+./tools/testfiles/tbin2.ddl
+./tools/testfiles/tbin3.ddl
+./tools/testfiles/tldouble.h5
+./tools/testfiles/tbin4.ddl
+./tools/testfiles/tbin1.ddl
+# h5dump binary test, h5import configuration
+./tools/testfiles/out3.h5import
 
-
-
 # Expected output from h5ls tests
+./tools/testfiles/nosuchfile.ls
 ./tools/testfiles/help-1.ls
 ./tools/testfiles/help-2.ls
 ./tools/testfiles/help-3.ls
@@ -1795,21 +1815,15 @@
 ./tools/testfiles/tall-2A.h5.xml
 
 #test files for h5diff
-./tools/testfiles/file1.h5
-./tools/testfiles/file2.h5
-./tools/testfiles/file3.h5
-./tools/testfiles/file4.h5
-./tools/testfiles/file5.h5
-./tools/testfiles/file6.h5
-./tools/testfiles/file7.h5
-./tools/testfiles/file8.h5
 ./tools/testfiles/h5diff_10.txt
 ./tools/testfiles/h5diff_11.txt
 ./tools/testfiles/h5diff_12.txt
 ./tools/testfiles/h5diff_13.txt
 ./tools/testfiles/h5diff_14.txt
 ./tools/testfiles/h5diff_15.txt
-./tools/testfiles/h5diff_16.txt
+./tools/testfiles/h5diff_16_1.txt
+./tools/testfiles/h5diff_16_2.txt
+./tools/testfiles/h5diff_16_3.txt
 ./tools/testfiles/h5diff_17.txt
 ./tools/testfiles/h5diff_18.txt
 ./tools/testfiles/h5diff_20.txt
@@ -1818,6 +1832,9 @@
 ./tools/testfiles/h5diff_23.txt
 ./tools/testfiles/h5diff_24.txt
 ./tools/testfiles/h5diff_25.txt
+./tools/testfiles/h5diff_26.txt
+./tools/testfiles/h5diff_27.txt
+./tools/testfiles/h5diff_28.txt
 ./tools/testfiles/h5diff_50.txt
 ./tools/testfiles/h5diff_51.txt
 ./tools/testfiles/h5diff_52.txt
@@ -1826,6 +1843,7 @@
 ./tools/testfiles/h5diff_55.txt
 ./tools/testfiles/h5diff_56.txt
 ./tools/testfiles/h5diff_57.txt
+./tools/testfiles/h5diff_58.txt
 ./tools/testfiles/h5diff_600.txt
 ./tools/testfiles/h5diff_601.txt
 ./tools/testfiles/h5diff_602.txt
@@ -1858,15 +1876,42 @@
 ./tools/testfiles/h5diff_629.txt
 ./tools/testfiles/h5diff_70.txt
 ./tools/testfiles/h5diff_80.txt
+./tools/testfiles/h5diff_90.txt
+./tools/testfiles/h5diff_100.txt
+./tools/testfiles/h5diff_101.txt
+./tools/testfiles/h5diff_102.txt
 
+
+./tools/testfiles/h5diff_basic1.h5
+./tools/testfiles/h5diff_basic2.h5
+./tools/testfiles/h5diff_dtypes.h5
+./tools/testfiles/h5diff_dset1.h5
+./tools/testfiles/h5diff_dset2.h5
+./tools/testfiles/h5diff_hyper1.h5
+./tools/testfiles/h5diff_attr1.h5
+./tools/testfiles/h5diff_hyper2.h5
+./tools/testfiles/h5diff_attr2.h5
+./tools/testfiles/h5diff_types.h5
+
+
 # h5repack test files
-./tools/testfiles/test0.h5
-./tools/testfiles/test1.h5
-./tools/testfiles/test3.h5
-./tools/testfiles/test4.h5
-./tools/testfiles/test5.h5
-./tools/testfiles/h5repack_info.txt
+./tools/testfiles/h5repack_early.h5
+./tools/testfiles/h5repack_layout.h5
+./tools/testfiles/h5repack_filters.h5
+./tools/testfiles/h5repack_fill.h5
+./tools/testfiles/h5repack_fletcher.h5
+./tools/testfiles/h5repack_objs.h5
+./tools/testfiles/h5repack_early2.h5
+./tools/testfiles/h5repack_hlink.h5
+./tools/testfiles/info.h5repack
+./tools/testfiles/h5repack_big.h5
+./tools/testfiles/h5repack_shuffle.h5
+./tools/testfiles/h5repack_attr.h5
+./tools/testfiles/h5repack_deflate.h5
+./tools/testfiles/h5repack_szip.h5
+./tools/testfiles/h5repack_ext.h5
 
+
 # jam utility and tests
 ./tools/h5jam/Dependencies
 ./tools/h5jam/h5jam.c
@@ -1886,7 +1931,31 @@
 ./tools/testfiles/u513.txt
 
 # high level libraries
+./hl/COPYING
 ./hl/Makefile.in
+./hl/examples/Dependencies
+./hl/examples/ex_lite1.c
+./hl/examples/ex_lite2.c
+./hl/examples/ex_lite3.c
+./hl/examples/Makefile.in
+./hl/examples/ex_image1.c
+./hl/examples/ex_image2.c
+./hl/examples/ex_table_01.c
+./hl/examples/ex_table_02.c
+./hl/examples/ex_table_03.c
+./hl/examples/ex_table_04.c
+./hl/examples/ex_table_05.c
+./hl/examples/ex_table_06.c
+./hl/examples/ex_table_07.c
+./hl/examples/ex_table_08.c
+./hl/examples/ex_table_09.c
+./hl/examples/ex_table_10.c
+./hl/examples/ex_table_11.c
+./hl/examples/ex_table_12.c
+./hl/examples/image24pixel.txt
+./hl/examples/image8.txt
+./hl/examples/pal_rgb.h
+./hl/src/COPYING
 ./hl/src/Dependencies
 ./hl/src/Makefile.in
 ./hl/src/H5IM.c
@@ -1895,6 +1964,7 @@
 ./hl/src/H5LT.h
 ./hl/src/H5TA.c
 ./hl/src/H5TA.h
+./hl/test/COPYING
 ./hl/test/Dependencies
 ./hl/test/Makefile.in
 ./hl/test/test_image.c
@@ -1903,8 +1973,23 @@
 ./hl/test/test_table_le.hdf5
 ./hl/test/test_table_be.hdf5
 ./hl/test/test_table_cray.hdf5
+./hl/tools/COPYING
+./hl/tools/Makefile.in
+./hl/tools/gif2h5/Dependencies
+./hl/tools/gif2h5/Makefile.in
+./hl/tools/gif2h5/decompress.c
+./hl/tools/gif2h5/gif.h
+./hl/tools/gif2h5/gif2hdf.c
+./hl/tools/gif2h5/gif2mem.c
+./hl/tools/gif2h5/gifread.c
+./hl/tools/gif2h5/hdf2gif.c
+./hl/tools/gif2h5/hdfgifwr.c
+./hl/tools/gif2h5/writehdf.c
+./hl/tools/gif2h5/h52gifgentst.c
+./hl/tools/gif2h5/h52giftest.sh
+./hl/tools/testfiles/h52giftst.h5
+./hl/tools/testfiles/image1.gif
 
-
-
 # windows
+./windows/COPYING
 ./windows/all.zip

Modified: packages/hdf5/branches/upstream/current/Makefile
===================================================================
--- packages/hdf5/branches/upstream/current/Makefile	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/Makefile	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 # Top-level distributed Makefile 			       -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 # This Makefile is a stub (copied from Makefile.dist) which will run
 # configure and then invoke the same target in the new Makefile created

Modified: packages/hdf5/branches/upstream/current/Makefile.dist
===================================================================
--- packages/hdf5/branches/upstream/current/Makefile.dist	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/Makefile.dist	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 # Top-level distributed Makefile 			       -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 # This Makefile is a stub (copied from Makefile.dist) which will run
 # configure and then invoke the same target in the new Makefile created

Modified: packages/hdf5/branches/upstream/current/Makefile.in
===================================================================
--- packages/hdf5/branches/upstream/current/Makefile.in	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/Makefile.in	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -8,8 +9,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 # 
 ## This makefile mostly just reinvokes make in the various subdirectories
 ## but does so in the correct order.  You can alternatively invoke make from
@@ -25,7 +26,8 @@
 # Subdirectories in build-order (not including `examples')
 # TESTPARALLEL must be after test since it uses libtest.a.  Putting it
 # before tools allows parallel tests to run sooner.
-SUBDIRS=src test @TESTPARALLEL@ tools @HL@  @subdirs@
+# @subdirs@ is set by the macro AC_CONFIG_SUBDIRS in configure.
+SUBDIRS=src test @TESTPARALLEL@ tools @subdirs@ @HL@
 
 ##############################################################################
 ##		    T A R G E T S
@@ -77,7 +79,7 @@
 	done
 
 install-all:
-	@@SETX@; for d in dummy @subdirs@; do				      \
+	@@SETX@; for d in dummy @subdirs@ @HL@; do			      \
 	  if test $$d != "dummy"; then					      \
 	    (cd $$d && $(MAKE) $@) || exit 1;				      \
 	  fi;								      \
@@ -98,7 +100,7 @@
 	@$(LT) --mode=finish $(libdir)
 
 install-examples:
-	@@SETX@; for d in dummy @subdirs@; do				      \
+	@@SETX@; for d in dummy @subdirs@ @HL@; do			      \
 	  if test $$d != "dummy"; then					      \
 	    (cd $$d && $(MAKE) $@) || exit 1;				      \
 	  fi;								      \
@@ -106,7 +108,7 @@
 	(cd examples && $(MAKE) $@) || exit 1;
 
 uninstall-examples:
-	@@SETX@; for d in dummy @subdirs@; do				      \
+	@@SETX@; for d in dummy @subdirs@ @HL@; do			      \
 	  if test $$d != "dummy"; then					      \
 	    (cd $$d && $(MAKE) $@) || exit 1;				      \
 	  fi;								      \
@@ -125,7 +127,7 @@
 ## This requires a proper "make install" has been done.
 check-install:
 	(cd examples && $(MAKE) check) || exit 1
-	@@SETX@; for d in dummy @subdirs@; do				      \
+	@@SETX@; for d in dummy @subdirs@ @HL@; do			      \
 	  if test $$d != "dummy"; then					      \
 	    (cd $$d && $(MAKE) $@) || exit 1;				      \
 	  fi;								      \

Modified: packages/hdf5/branches/upstream/current/README.txt
===================================================================
--- packages/hdf5/branches/upstream/current/README.txt	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/README.txt	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,44 +1,45 @@
-HDF5 version 1.6.5 released on Thu Nov 10 18:17:53 CST 2005
+HDF5 version 1.6.6 released on Thu Aug 16 11:17:10 CDT 2007
 Please refer to the release_docs/INSTALL file for installation instructions.
 ------------------------------------------------------------------------------
 
-This release is almost fully functional for the entire API defined in the
-documentation, see the RELEASE.txt file in this directory for information
-specific to this release of the library.  The INSTALL file contains
-instructions on compiling and installing the library.  The INSTALL_parallel
-file contains instructions on installing the parallel version of the
-library.  The INSTALL* files can be found in the release_docs/ directory.
+This release is fully functional for the entire API defined in the
+documentation.  
 
-Documentation for this release is in the html directory.  Start with the
-"index.html" in that directory.
+See the RELEASE.txt file in the release_docs/ directory for information 
+specific to this release of the library.  
 
-Four mailing lists are currently set up for use with the HDF5
-library.
+Several INSTALL* files can be found in the release_docs/ directory.
+The INSTALL file contains instructions for compiling and installing the 
+library.  The INSTALL_parallel file contains instructions for installing the 
+parallel version of the library.  Other INSTALL* files have similarly
+descriptive names.
 
-   hdf5         - For general discussion of the HDF5 library with
-		  other users.
+Documentation for this release can be found in the doc/html/ directory;
+start with the file "index.html" in that directory.  Online documentation
+for the current release is available at http:/hdfgroup.org/HDF5/doc/.
 
-   hdf5dev      - For discussion of the HDF5 library development
-		  with developers and other interested parties.
+Several mailing lists are currently set up for use with the HDF5 library:
 
-   hdf5announce - For announcements of HDF5 related developments,
-		  not a discussion list.
+   news         - For announcements of HDF5 related developments,
+                  not a discussion list.
 
-   hdf5cvs      - For checkin notices of code development on the library,
-		  not a discussion list.
+   hdf-forum    - For general discussion of the HDF5 library with
+                  other users.
 
-To subscribe to a list, send mail to "majordomo at ncsa.uiuc.edu",
-with "subscribe <list>" in the _body_, not the Subject, of the message.
-E.g., subscribe hdf5 
+   hdf5dev      - For discussion of HDF5 library development
+                  with developers and other interested parties.
 
-Messages to be sent to the list should be sent to "<list>@ncsa.uiuc.edu".
+To subscribe to a list, send mail to "<list>-subscribe at hdfgroup.org".
+where <list> is the name of the list.  E.g., 
+    mail hdf5-subscribe at hdfgroup.org
 
-Nearly daily code snapshots are now being provided at the following URL:
-    ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots
-Please read the readme file in that directory before working with a library
-snapshot.
+Messages to be sent to the list should be sent to "<list>@hdfgroup.org".
 
-The HDF5 website is located at http://hdf.ncsa.uiuc.edu/HDF5/
+Periodic code snapshots are provided at the following URL:
+    ftp://ftp.hdfgroup.uiuc.edu/pub/outgoing/hdf5/snapshots
+Please read the README.txt file in that directory before working with a 
+library snapshot.
 
-Bugs should be reported to hdfhelp at ncsa.uiuc.edu.
+The HDF5 website is located at http://hdfgroup.org/HDF5/
 
+Bugs should be reported to help at hdfgroup.org.

Added: packages/hdf5/branches/upstream/current/bin/COPYING
===================================================================
--- packages/hdf5/branches/upstream/current/bin/COPYING	                        (rev 0)
+++ packages/hdf5/branches/upstream/current/bin/COPYING	2007-09-19 15:24:24 UTC (rev 1093)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+


Property changes on: packages/hdf5/branches/upstream/current/bin/COPYING
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/hdf5/branches/upstream/current/bin/buildhdf5
===================================================================
--- packages/hdf5/branches/upstream/current/bin/buildhdf5	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/buildhdf5	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,17 +1,18 @@
 #!/bin/sh
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 # Build HDF5 library by doing configure, make, and tests.
 # Usage: See USAGE()
 # Programmer: Albert Cheng

Modified: packages/hdf5/branches/upstream/current/bin/chkmanifest
===================================================================
--- packages/hdf5/branches/upstream/current/bin/chkmanifest	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/chkmanifest	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #!/bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,35 +10,134 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 
 # Check that all the files in MANIFEST exist and that (if this is a
-# CVS checkout) that all the CVS-managed files appear in the
+# SVN checkout) that all the SVN-managed files appear in the
 # MANIFEST.
 
 verbose=yes
-MANIFEST=/tmp/H5_MANIFEST.$$
+MANIFEST=/tmp/HD_MANIFEST.$$
+SVNENTRY=/tmp/HD_SVNENTRY.$$
 
+# function definitions
+
+GETSVNENTRIES_13 ()
+# Purpose: Extract filenames from the svn v1.3.* entries file
+# $1: directory name in which the svn entries is.
+# steps:
+# 1. remove all single line entries so that step 2 does not fail on them. 
+# 2. merge all multiple lines entries into single lines.
+# 3. remove all non file entries.
+# 4. insert a blank line because some entries files has no kind="file"
+#    entry and ed does not like to do g on an empty file.
+# 5. remove everything except the file name.
+# 6. remove all blank lines, including the inserted one.
+{
+cp $1/entries $SVNENTRY
+chmod u+w $SVNENTRY	# entries file is not writable.
+ed - $SVNENTRY <<EOF
+g/^<.*>$/d
+g/^</.,/>$/j
+v/kind="file"/d
+a
+
+.
+g/.*name="/s///
+g/".*/s///
+g/^$/d
+w
+q
+EOF
+cat $SVNENTRY
+rm $SVNENTRY
+}
+
+GETSVNENTRIES_14 ()
+# Purpose: Extract filenames from the svn v1.4.* entries file
+# $1: directory name in which the svn entries is.
+# steps:
+# 1. all valid files are followed by a line containing "file" only.
+# 2. find them by looking for "file" first, then mark its preceding line as
+#    wanted.
+# 3. remove all non-marked line.
+# 4. insert a blank line because some entries files has no kind="file"
+#    entry and ed does not like to do g on an empty file.
+# 5. remove the marks.
+{
+cp $1/entries $SVNENTRY
+chmod u+w $SVNENTRY	# entries file is not writable.
+ed - $SVNENTRY <<EOF
+g/^file$/-s/^/%WANTED%/
+v/%WANTED%/d
+a
+
+.
+g/^%WANTED%/s///
+w
+q
+EOF
+cat $SVNENTRY
+rm $SVNENTRY
+}
+
+
+# Main
+test "$verbose" && echo "   Checking MANIFEST..." 1>&2
 # clean up $MANIFEST file when exits
 trap "rm -f $MANIFEST" 0
 
+# First make sure i am in the directory in which there is an MANIFEST file
+# and then do the checking from there.  Will try the following,
+# current directory, parent directory, the directory this command resides.
+if [ -f MANIFEST ]; then
+    continue
+elif [ -f ../MANIFEST ]; then
+    cd ..
+else
+    commanddir=`dirname $0`
+    if [ -d "$commanddir" -a -f $commanddir/MANIFEST ]; then
+	cd $commanddir
+	continue
+    else
+	echo MANIFEST file not found. Abort.
+	exit 1
+    fi
+fi
+
 # Copy the manifest file to get a list of file names.
 grep '^\.' MANIFEST | expand | cut -f1 -d' ' >$MANIFEST
 
-test "$verbose" && echo "   Checking MANIFEST..." 1>&2
-test -f $MANIFEST || exit 1
 for file in `cat $MANIFEST`; do
     if [ ! -f $file ]; then
        echo "- $file"
        fail=yes
     fi
 done
-for cvs in `find . -type d -name CVS -print`; do
-    path=`echo $cvs |sed 's/\/CVS//'`
-    for file in `grep '^\/' $cvs/Entries |cut -d/ -f2`; do
-	if (grep $path/$file$ $MANIFEST >/dev/null); then
+
+# Inspect the .svn/entries to figure out what version of svn file entry is
+# used.
+# The following algorithm is formed via reverse engineering.
+# I don't know what the official svn format is if such a specification exists.
+# Algorithm:
+# If the first line of the file has 'xml version="1.0"' in it, it is created
+# by svn 1.3 or older; else if it has '^file$' in it, it is created by svn 1.4.
+svn_entry_file=.svn/entries
+if head -1 $svn_entry_file | grep 'xml version="1.0"' > /dev/null 2>&1;then
+    getsvnentries=GETSVNENTRIES_13
+elif grep '^file$' $svn_entry_file > /dev/null 2>&1; then
+    getsvnentries=GETSVNENTRIES_14
+else
+    echo "Unknow svn entries format. Aborted"
+    exit 1
+fi
+
+for svn in `find . -type d -name .svn -print`; do
+    path=`echo $svn |sed 's/\/.svn//'`
+    for file in `$getsvnentries $svn`; do
+	if (grep ^$path/$file$ $MANIFEST >/dev/null); then
 	    :
 	else
 	    echo "+ $path/$file"
@@ -49,7 +149,7 @@
 if [ "X$fail" = "Xyes" ]; then
     cat 1>&2 <<EOF
 The MANIFEST is out of date. Files marked with a minus sign (-) no
-longer exist; files marked with a plus sign (+) are CVS-managed but do
+longer exist; files marked with a plus sign (+) are SVN-managed but do
 not appear in the MANIFEST.  Please remedy the situation and try again.
 EOF
     exit 1

Modified: packages/hdf5/branches/upstream/current/bin/config_para_ibm_sp.sh
===================================================================
--- packages/hdf5/branches/upstream/current/bin/config_para_ibm_sp.sh	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/config_para_ibm_sp.sh	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,3 +1,4 @@
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -7,8 +8,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 
 # How to create a parallel version of HDF5 on an IBM SP system

Modified: packages/hdf5/branches/upstream/current/bin/dependencies
===================================================================
--- packages/hdf5/branches/upstream/current/bin/dependencies	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/dependencies	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #!/usr/bin/perl -w
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 my $depend_file;
 my $new_depend_file;

Modified: packages/hdf5/branches/upstream/current/bin/deploy
===================================================================
--- packages/hdf5/branches/upstream/current/bin/deploy	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/deploy	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,17 +1,18 @@
 #!/bin/sh
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 # Deploy the HDF5 binary.
 #
 # Programmer: Albert Cheng

Modified: packages/hdf5/branches/upstream/current/bin/distdep
===================================================================
--- packages/hdf5/branches/upstream/current/bin/distdep	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/distdep	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #!/usr/bin/perl -p
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 
 # Usage: $0 [<].depend

Modified: packages/hdf5/branches/upstream/current/bin/h5vers
===================================================================
--- packages/hdf5/branches/upstream/current/bin/h5vers	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/h5vers	2007-09-19 15:24:24 UTC (rev 1093)
@@ -6,6 +6,7 @@
 require 5.003;
 use strict;
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -15,8 +16,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # Robb Matzke <matzke at llnl.gov>
 # 17 July 1998
@@ -71,7 +72,7 @@
 # one directory above the H5public.h file is also modified so it looks
 # something like: This is hdf5-1.2.3-pre1 currently under development.
 # The AC_INIT macro in configure.in will also change in this case to be
-# something like: AC_INIT([HDF5], [hdf5-1.2.3-pre1], [hdfhelp at ncsa.uiuc.edu])
+# something like: AC_INIT([HDF5], [hdf5-1.2.3-pre1], [help at hdfgroup.org])
 ##############################################################################
 
 sub getvers {
@@ -119,7 +120,7 @@
 }
 
 # Parse arguments
-my ($verbose, $set, $inc, $file);
+my ($verbose, $set, $inc, $file, $rc);
 my (@files) = ("H5public.h", "src/H5public.h", "../src/H5public.h");
 while ($_ = shift) {
   $_ eq "-s" && do {
@@ -288,7 +289,7 @@
 
   for (my $i = 0; $i < $#contents; ++$i) {
     if ($contents[$i] =~ /^AC_INIT/) {
-      $contents[$i] = sprintf("AC_INIT([$name], [%d.%d.%d%s], [hdfhelp\@ncsa.uiuc.edu])\n",
+      $contents[$i] = sprintf("AC_INIT([$name], [%d.%d.%d%s], [help\@hdfgroup.org])\n",
                               @newver[0,1,2],
                               $newver[3] eq "" ? "" : "-".$newver[3]);
       last;
@@ -309,10 +310,14 @@
 
 # Reconfigure once (which will update all three configure files)
 if ($1) {
-  system("cd $1 && bin/reconfigure >/dev/null 2>/dev/null && rm -rf autom4te.cache");
+  $rc = system("cd $1 && bin/reconfigure >/dev/null 2>/dev/null && rm -rf autom4te.cache");
 } else {
-  system("bin/reconfigure >/dev/null 2>/dev/null && rm -rf autom4te.cache");
+  $rc = system("bin/reconfigure >/dev/null 2>/dev/null && rm -rf autom4te.cache");
 }
+if ($rc) {
+    printf("bin/reconfigure failed with exit code %d. Aborted.\n", $rc);
+    exit 1;
+}
 
 # Print the new version number
 if ($verbose) {

Modified: packages/hdf5/branches/upstream/current/bin/iostats
===================================================================
--- packages/hdf5/branches/upstream/current/bin/iostats	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/iostats	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #!/usr/bin/perl
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 
 # Usage: pipe the output of Linux's `strace' program into the stdin of

Modified: packages/hdf5/branches/upstream/current/bin/locate_sw
===================================================================
--- packages/hdf5/branches/upstream/current/bin/locate_sw	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/locate_sw	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #!/bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 
 # Try to locate the software as named in argument.

Added: packages/hdf5/branches/upstream/current/bin/makehelp
===================================================================
--- packages/hdf5/branches/upstream/current/bin/makehelp	                        (rev 0)
+++ packages/hdf5/branches/upstream/current/bin/makehelp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -0,0 +1,65 @@
+cat << EOF
+Help for HDF5 Makefiles
+For help with the make utility itself, try 'man make'.
+
+HDF5 makefiles are used to build, test, and install HDF5.  The exact
+behavior and output will depend on your system's version of make, compiler,
+etc.
+
+Usage: make [make options] [TARGET]
+
+Targets:
+make help:		print this help message
+
+make, make all:         (default if no target is specified)
+                        builds all libraries, tools, and tests
+make lib:               builds libraries only
+make progs:             builds libraries and programs
+make tests:             builds libraries, programs, and tests.
+                        Essentially the same as 'make all'.
+make check, make tests,
+make _test, make test:  Run HDF5's test suite.
+                        Make will exit with a failure if any tests fail.
+
+make install:           install HDF5 libraries, include files, and tools
+make install-examples:  installs example source files
+make install-all:       runs both make-install and make install-examples
+make check-install:     test building examples with installed HDF5 library
+make uninstall:         remove installed files
+make install-examples:  removes example source files
+make uninstall-all:     removes both installed libraries and examples
+
+make check-clean:       remove files generated by running tests
+                        (allows tests to be re-run)
+make mostlyclean:       remove intermediate files (*.o files).
+                        Doesn't clean libraries or executables.
+make clean:             remove all files generated by make or make check
+make distclean:         remove all files generated by make, make check, or
+                        configure
+
+make check-p:           Only run parallel tests
+make check-s:           Only run serial tests
+make check-vfd:         Run tests with each virtual file driver
+
+HDF5 uses Automake, so any standard Automake targets not listed here
+should also work.
+
+Configure options that affect Makefile behavior:
+        --enable-fortran, --enable-cxx, --enable-parallel, and --disable-hl
+enable or disable various interfaces.  Make will only recurse into these
+directories if they are specified at configure time.
+        --prefix=[path], --libdir=[path], --includedir=[path], etc. can be used
+to change the directory into which make install puts files.
+        --enable-build-all causes make to build some files that are only
+needed by developers (test file generation programs).
+
+Environment variables that affect Makefile behavior:
+        Make will honor environment variables like CFLAGS that are used when building and linking.
+        The variable HDF5TestExpress can be used to control the running time
+of the tests.  HDF5TestExpress = 0 is a full run of the tests while
+to run make check.  1 and 2 are intermediate values.  The default value is 1.
+
+Available command-line options for make depend on the version of make installed
+on your system.  Try 'man make'.
+
+EOF


Property changes on: packages/hdf5/branches/upstream/current/bin/makehelp
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/hdf5/branches/upstream/current/bin/mkdirs
===================================================================
--- packages/hdf5/branches/upstream/current/bin/mkdirs	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/mkdirs	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #! /bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # This is a small program which will create directories n-levels deep.
 # You just call it with something like:

Modified: packages/hdf5/branches/upstream/current/bin/release
===================================================================
--- packages/hdf5/branches/upstream/current/bin/release	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/release	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #!/bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 
 # Make a release of hdf5.  The command-line switches are:
@@ -99,6 +100,13 @@
 
 }
 
+# This command must be run at the top level of the hdf5 source directory.
+# Verify this requirement.
+if [ ! \( -f configure -a -f bin/release \) ]; then
+    echo "$0 must be run at the top level of the hdf5 source directory"
+    exit 1
+fi
+
 # Defaults
 DEST=releases
 VERS=`perl bin/h5vers`
@@ -108,6 +116,7 @@
 check=yes
 today=`date +%Y%m%d`
 pmode='no'
+tmpdir="../#release_tmp.$$"	# tmp work directory
 
 # Restore previous Version information
 RESTORE_VERSION()
@@ -155,6 +164,15 @@
     methods="tar md5"
 fi
 
+# Create the temporay work directory.
+if mkdir $tmpdir; then
+    echo "temporary work directory for release.  "\
+         "Can be deleted after release completes." > $tmpdir/READEME
+else
+    echo "Failed to mkdir tmpdir($tmpdir)"
+    exit 1
+fi
+
 # setup restoration in case of abort.
 trap RESTORE_VERSION 0
 
@@ -176,7 +194,6 @@
     exit 1
 fi
 
-
 # Check the validity of the MANIFEST file.
 bin/chkmanifest || fail=yes
 if [ "X$fail" = "Xyes" ]; then
@@ -188,13 +205,12 @@
 fi
 
 # Create a manifest that contains only files for distribution.
-MANIFEST=/tmp/H5_MANIFEST.$$
+MANIFEST=$tmpdir/H5_MANIFEST
 grep '^\.' MANIFEST | grep -v _DO_NOT_DISTRIBUTE_ >$MANIFEST
 
 # Prepare the source tree for a release.
-test -h ../$HDF5_VERS && rm ../$HDF5_VERS
-ln -s `pwd` ../$HDF5_VERS || exit 1
-mv Makefile ../Makefile.x 2>/dev/null #might fail
+ln -s `pwd` $tmpdir/$HDF5_VERS || exit 1
+mv Makefile $tmpdir/Makefile.x 2>/dev/null #might fail
 cp -p Makefile.dist Makefile
 
 # Update README.txt and release_docs/RELEASE.txt with release information.
@@ -212,7 +228,7 @@
 # Create the tar file
 test "$verbose" && echo "   Running tar..." 1>&2
 ( \
-    cd ..; \
+    cd $tmpdir; \
     tar cf $HDF5_VERS.tar $HDF5_VERS/Makefile \
 	`sed 's/^\.\//hdf5-'$VERS'\//' $MANIFEST` || exit 1 \
 )
@@ -221,32 +237,32 @@
 for comp in $methods; do
     case $comp in
 	tar)
-	    cp -p ../$HDF5_VERS.tar $DEST/$HDF5_VERS.tar;;
+	    cp -p $tmpdir/$HDF5_VERS.tar $DEST/$HDF5_VERS.tar
+	    ;;
 	compress)
 	    test "$verbose" && echo "   Running compress..." 1>&2
-	    compress -c <../$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.Z;;
+	    compress -c <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.Z
+	    ;;
 	gzip)
 	    test "$verbose" && echo "   Running gzip..." 1>&2
-	    gzip -9 <../$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.gz;;
+	    gzip -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.gz
+	    ;;
 	bzip2)
 	    test "$verbose" && echo "   Running bzip2..." 1>&2
-	    bzip2 -9 <../$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.bz2;;
+	    bzip2 -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.bz2
+	    ;;
 	md5)
 	    test "$verbose" && echo "   Creating checksum..." 1>&2
-	    (  cd .. && md5sum $HDF5_VERS.tar >$HDF5_VERS.tar.md5 )
-	    cp -p ../$HDF5_VERS.tar.md5 $DEST/$HDF5_VERS.tar.md5;;
+	    (cd $tmpdir; md5sum $HDF5_VERS.tar ) > $DEST/$HDF5_VERS.tar.md5
+	    ;;
     esac
 done
 
 # Copy the RELEASE.txt to the release area.
 cp release_docs/RELEASE.txt $DEST/$HDF5_VERS-RELEASE.txt
 
-# Remove temporary things
-test -f ../Makefile.x && mv ../Makefile.x Makefile
-rm -f $MANIFEST
-rm -f ../$HDF5_VERS
-rm -f ../$HDF5_VERS.tar
-rm -f ../$HDF5_VERS.tar.md5
+# Restore previous Makefile if existed.
+test -f $tmpdir/Makefile.x && mv $tmpdir/Makefile.x Makefile
 
 # Restore OLD version information, then no need for trap.
 if [ X$pmode = Xyes ]; then
@@ -254,4 +270,7 @@
     trap 0
 fi
 
+# Remove temporary things
+rm -rf $tmpdir
+
 exit 0

Modified: packages/hdf5/branches/upstream/current/bin/snapshot
===================================================================
--- packages/hdf5/branches/upstream/current/bin/snapshot	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/snapshot	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #!/bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,14 +10,14 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 # This script should be run nightly from cron.  It checks out hdf5
-# from the CVS source tree and compares it against the previous
+# from the source repository and compares it against the previous
 # snapshot.  If anything significant changed then a new snapshot is
 # created, the minor version number is incremented, and the change is
-# checked back into the CVS repository.
+# checked back into the source repository.
 #
 
 # function definitions
@@ -30,6 +31,14 @@
 TIMESTAMP "Exit $PROGNAME with status=$?"
 }
 
+# Show current total disk usage.
+DISKUSAGE()
+{
+    du -ks | \
+    ( read x y; echo "Disk Usage=$x KB" )
+}
+
+
 # MAIN
 # SGI /bin/sh replaces $0 as function name if used in a function.
 # Set the name here to avoid that ambiguity and better style too.
@@ -44,14 +53,13 @@
 # setup exit banner message
 trap EXIT_BANNER 0
 
-# Dump environment variables
-echo ===Dumping environment variables===
+# Dump environment variables before option parsing
+echo ===Dumping environment variables before option parsing ===
 printenv | sort
-echo ===Done Dumping environment variables===
+echo ===Done Dumping environment variables before option parsing ===
 
-# Where are the snapshots stored?
-ARCHIVES_default=/afs/ncsa/ftp/HDF/pub/outgoing/hdf5/snapshots
-ARCHIVES=$ARCHIVES_default
+# snapshots release directory.  Default relative to $BASEDIR.
+ReleaseDir_default=release_dir
 
 # Where is the zlib library?
 # At NCSA, half of the machines have it in /usr/lib, the other half at
@@ -65,6 +73,9 @@
 # Use User's MAKE if set.  Else use generic make.
 MAKE=${MAKE:-make}
 
+# Default check action.
+CHECKVAL=check
+
 #
 # Command options
 cmd="all"
@@ -175,16 +186,19 @@
 	    fi
 	    ZLIB="$1"
 	    ;;
-	archive)
+	releasedir)
 	    shift
 	    if [ $# -lt 1 ]; then
-		echo "Archive pathname missing"
+		echo "Release directory name missing"
 		errcode=1
 		cmd="help"
 		break
 	    fi
-	    ARCHIVES="$1"
+	    ReleaseDir="$1"
 	    ;;
+	check-vfd)
+	    CHECKVAL=check-vfd
+	    ;;
 	--*)
 	    OP_CONFIGURE="$OP_CONFIGURE $1"
 	    ;;
@@ -208,16 +222,21 @@
     shift
 done
 
+# Dump environment variables after option parsing
+echo ===Dumping environment variables after option parsing ===
+printenv | sort
+echo ===Done Dumping environment variables after option parsing ===
+
 if [ "$cmd" = help ]; then
     set -
     cat <<EOF
 Usage: $PROGNAME [all] [checkout] [diff] [test] [srcdir] [release] [help]
 	[clean] [distclean] [echo] [deploy <dir>] [deploydir <dir>]
-	[zlib <zlib_path>] [archive <arch_path>] [srcdirname <dir>]
+	[zlib <zlib_path>] [releasedir <dir>] [srcdirname <dir>] [check-vfd]
 	[op-configure <option>] [--<option>]
     all:      Run all commands (checkout, test & release)
               [Default is all]
-    checkout: Run cvs checkout
+    checkout: Run source checkout
     diff:     Run diff on current and previous versions.  Exit 0 if
               no significant differences are found.  Otherwise, non-zero.
     deploy:   deploy binary to directory <dir>
@@ -245,9 +264,11 @@
     zlib <zlib_path>:
               Use <zlib_path> as the ZLIB locations
               [Default is $ZLIB_default]
-    archive <arch_path>:
-              Use <arch_path> as the release ARCHIVE area
-              [Default is $ARCHIVES_default]
+    releasedir <dir>:
+              Use <dir> as the release directory
+              [Default is $ReleaseDir_default]
+    check-vfd:
+	      Run make check-vfd instead of just make check.
     op-configure <option>:
               Pass <option> to the configure command
               E.g., "snapshot op-configure --enable-parallel"
@@ -282,11 +303,12 @@
 
 CURRENT=${BASEDIR}/current
 PREVIOUS=${BASEDIR}/previous
+ReleaseDir=${ReleaseDir:=${BASEDIR}/${ReleaseDir_default}}
 HOSTNAME=`hostname | cut -f1 -d.`	# no domain part
 if [ $H5VERSION != hdf5 ]; then
-    CVSVERSION="-r $H5VERSION"
+    SVNVERSION="hdf5/branches/$H5VERSION"
 else
-    CVSVERSION=				# use the default (main) version
+    SVNVERSION=hdf5/trunk		# use the default (trunk) version
 fi
 
 # Try finding a version of diff that supports the -I option too.
@@ -297,13 +319,13 @@
 done
 
 #=============================
-# Run CVS checkout
+# Run source checkout
 #=============================
 if [ "$cmd" = "all" -o -n "$cmdcheckout" ]; then
     TIMESTAMP "checkout"
     # If there is a Makefile in ${CURRENT}, the last test done in it
     # has not been distclean'ed.  They would interfere with other
-    # --srcdir build since make considers the files in ${CURRENT} 
+    # --srcdir build since make considers the files in ${CURRENT}
     # take precedence over files in its own build-directory.  Run
     # a "make distclean" to clean them all out.  This is not really
     # part of the "checkout" functions but this is the most convenient
@@ -311,14 +333,10 @@
     # regardless of the return code of distclean.
     ( cd ${CURRENT}; test -f Makefile && ${MAKE} distclean)
 
-    # verify proper cvs setting
-    if [ -z "$CVSROOT" ]; then
-	echo "CVSROOT not defined!" 1>&2
-	exit 1
-    fi
-    # Check out the current version from CVS
-    (cd $BASEDIR; cvs -Q co -P -d current ${CVSVERSION} hdf5 ) || exit 1
-fi # Do CVS checkout
+    SVNROOT=http://svn.hdfgroup.uiuc.edu
+    # Check out the current version from source repository.
+    (cd $BASEDIR; svn -q co ${SVNROOT}/${SVNVERSION} current ) || exit 1
+fi # Do source checkout
 
 
 #=============================
@@ -386,15 +404,15 @@
 	    TIMESTAMP "configure" && \
 	    ${srcdir:+${CURRENT}/}${CONFIGURE} && \
 	    TIMESTAMP "make" && \
-	    ${MAKE} && \
-	    TIMESTAMP "check" && \
-	    ${MAKE} check && \
+	    ${MAKE} && DISKUSAGE \
+	    TIMESTAMP ${CHECKVAL} && \
+	    ${MAKE} ${CHECKVAL} && DISKUSAGE \
 	    TIMESTAMP "install" && \
-	    ${MAKE} install install-doc && \
+	    ${MAKE} install-all && DISKUSAGE \
 	    TIMESTAMP "check-install" && \
-	    ${MAKE} check-install && \
+	    ${MAKE} check-install && DISKUSAGE \
 	    TIMESTAMP "uninstall" && \
-	    ${MAKE} uninstall uninstall-doc); then
+	    ${MAKE} uninstall-all) && DISKUSAGE ; then
 	    :
 	else
 	    errcode=$?
@@ -411,7 +429,12 @@
 if [ -n "$DEPLOYDIRNAME" ]; then
     if [ "$snapshot" = "yes" ]; then
 	TIMESTAMP "deploy"
-	if (cd ${TESTDIR} && ${CURRENT}/bin/deploy ${deploydir}/${DEPLOYDIRNAME}); then
+        if (cd ${TESTDIR} &&
+            ${CURRENT}/bin/deploy ${deploydir}/${DEPLOYDIRNAME} && \
+            TIMESTAMP "clean" && \
+            ${MAKE} clean && \
+            TIMESTAMP "check-install prefix=${deploydir}/${DEPLOYDIRNAME}" && \
+            ${MAKE} check-install prefix=${deploydir}/${DEPLOYDIRNAME}); then
 	    :	#continue
 	else
 	    errcode=$?
@@ -422,7 +445,7 @@
 
 
 #=============================
-# Run Release snapshot, update version, and commit to cvs and tag
+# Run Release snapshot, update version, and commit to source repository
 #=============================
 if [ "$cmd" = "all" -o -n "$cmdrel" ]; then
     if [ "$snapshot" = "yes" ]; then
@@ -430,20 +453,21 @@
 	(cd ${CURRENT} && ${MAKE} distclean)
 	(
 	    # Turn on exit on error in the sub-shell so that it does not
-	    # cvs commit if errors encounter here.
+	    # commit source if errors encounter here.
 	    set -e
 	    cd ${CURRENT}
-	    bin/release -d $ARCHIVES $METHODS
 	    RELEASE_VERSION="`perl bin/h5vers -v`"
+	    echo "Making snapshot release ($RELEASE_VERSION) to ${ReleaseDir}..."
+	    bin/release -d $ReleaseDir $METHODS
 	    perl bin/h5vers -i
-	    cvs -Q commit -m "Snapshot $RELEASE_VERSION"
+	    svn -q commit -m "Snapshot $RELEASE_VERSION"
 	)
 	errcode=$?
     fi
 
     # Replace the previous version with the current version.
     # Should check if the errcode of the release process but there
-    # are other failures after release was done (e.g. h5vers or cvs failures)
+    # are other failures after release was done (e.g. h5vers or svn failures)
     # that should allow the replacement to occure.
     rm -rf ${PREVIOUS}
     mv ${CURRENT} ${PREVIOUS}

Modified: packages/hdf5/branches/upstream/current/bin/trace
===================================================================
--- packages/hdf5/branches/upstream/current/bin/trace	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/trace	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,17 +1,18 @@
 #!/usr/bin/perl -w
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 require 5.003;
 $Source = "";
 

Modified: packages/hdf5/branches/upstream/current/bin/yodconfigure
===================================================================
--- packages/hdf5/branches/upstream/current/bin/yodconfigure	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/bin/yodconfigure	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #!/bin/sh
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 # Fix configure file so that it can launch configure testing executable
 # via the proper launching command, e.g., yod.  (Thus the name yodconfigure
@@ -18,8 +19,15 @@
 #
 # Author: Albert Cheng
 
+if [ "$1" = -f ]; then
+    FORCEMODE=yes
+    echo turn FORCEMODE to $FORCEMODE
+    shift
+fi
+
 if [ $# -ne 1 ]; then
-    echo "Usage: $0 <configure file>"
+    echo "Usage: $0 [-f] <configure file>"
+    echo "   -f   apply the change even if it has been applied already."
     exit 1
 fi
 confile=$1
@@ -29,8 +37,18 @@
     exit 1
 fi
 
+ACTRY_NAME="ACTRY()"
+if grep ^"$ACTRY_NAME"$ $confile >/dev/null 2>&1 && [ "$FORCEMODE" != yes ]; then
+    echo "$0: $confile is already yodconfigure ready.  Use -f to force yodconfigure again."
+    exit 1
+fi
+
 # Insert the ACTRY function after the 1st line which is the #!/bin/sh.
 # Change all "eval $ac_try" commands to call ACTRY.
+# auto-configure have changed the ac_try syntax from 'eval $ac_try' to
+# 'eval "$ac_try"'.  Thus requiring two very similar global-substitute.
+# The single quotes around EOF tell shell NOT to expand or do substitution in
+# the body of ed input.
 #
 ed - $confile <<'EOF'
 1a
@@ -51,8 +69,10 @@
     $*
 fi
 }
+# === end of ACTRY inserted by yodconfigure ====
 .
 g/eval $ac_try/s/eval/eval ACTRY/
+g/eval "$ac_try"/s/eval/eval ACTRY/
 w
 q
 EOF

Added: packages/hdf5/branches/upstream/current/c++/COPYING
===================================================================
--- packages/hdf5/branches/upstream/current/c++/COPYING	                        (rev 0)
+++ packages/hdf5/branches/upstream/current/c++/COPYING	2007-09-19 15:24:24 UTC (rev 1093)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+


Property changes on: packages/hdf5/branches/upstream/current/c++/COPYING
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/hdf5/branches/upstream/current/c++/Makefile.in
===================================================================
--- packages/hdf5/branches/upstream/current/c++/Makefile.in	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/Makefile.in	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,17 +1,18 @@
 ## Top-level HDF5-C++ Makefile(.in)
 ##
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ## 
 ## 
 ## 
@@ -125,7 +126,7 @@
 	-$(RM) config/commence config/conclude
 	-$(RM) config/stamp1 config/stamp2 config/depend?
 	-$(RM) config.cache config.log config.status configure.lineno
-	-$(RM) src/H5config.h src/H5pubconf.h
+	-$(RM) src/H5cxx_config.h src/H5cxx_pubconf.h
 	-$(RM) libtool Makefile so_locations
 
 maintainer-clean:
@@ -134,6 +135,6 @@
 	@@SETX@; for d in $(SUBDIRS) examples; do			      \
 	   (cd $$d && $(MAKE) $@);					      \
 	done
-	-$(RM) config.cache config.log config.status src/H5config.h
+	-$(RM) config.cache config.log config.status src/H5cxx_config.h
 	-$(RM) configure src/H5config.h.in
 

Modified: packages/hdf5/branches/upstream/current/c++/config/BlankForm
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/BlankForm	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/BlankForm	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/branches/upstream/current/c++/config/commence.in
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/commence.in	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/commence.in	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #							-*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ##-----------------------------------------------------------------------------
 ## The following section of this makefile comes from the

Modified: packages/hdf5/branches/upstream/current/c++/config/conclude.in
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/conclude.in	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/conclude.in	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #							-*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ##-----------------------------------------------------------------------------
 ## The following section of this makefile comes from the

Modified: packages/hdf5/branches/upstream/current/c++/config/dec-osf5.x
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/dec-osf5.x	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/dec-osf5.x	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,3 +1,4 @@
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -7,8 +8,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 if test -z "$CXX"; then

Modified: packages/hdf5/branches/upstream/current/c++/config/depend1.in
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/depend1.in	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/depend1.in	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 ##                                                             -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## We keep a list of dependencies in `.depend' for each of the source
 ## files on which it depends.  When one of the source files is modified

Modified: packages/hdf5/branches/upstream/current/c++/config/depend2.in
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/depend2.in	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/depend2.in	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 ##							       -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## This platform doesn't support automatic dependencies because we're
 ## not using GNU gcc.  GNU gcc is needed in order to generate the list

Modified: packages/hdf5/branches/upstream/current/c++/config/depend3.in
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/depend3.in	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/depend3.in	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 ##							       -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## Since automatic dependencies are not being used, we attempt to include the
 ## `.distdep' file from the source tree. This file was automatically generated 

Modified: packages/hdf5/branches/upstream/current/c++/config/depend4.in
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/depend4.in	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/depend4.in	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 ##							       -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## Since automatic dependencies are not being used, we attempt to include the
 ## `.distdep' file from the source tree. This file was automatically generated 

Modified: packages/hdf5/branches/upstream/current/c++/config/dependN.in
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/dependN.in	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/dependN.in	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 ##							       -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## Automatic dependencies are not being used and we cannot include other
 ## files.

Modified: packages/hdf5/branches/upstream/current/c++/config/freebsd
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/freebsd	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/freebsd	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/branches/upstream/current/c++/config/hpux11.00
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/hpux11.00	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/hpux11.00	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #                                                       -*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/branches/upstream/current/c++/config/hpux11.23
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/hpux11.23	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/hpux11.23	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #                                                       -*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/branches/upstream/current/c++/config/ia64-linux-gnu
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/ia64-linux-gnu	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/ia64-linux-gnu	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #                                                       -*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 if test -z "$CXX"; then

Modified: packages/hdf5/branches/upstream/current/c++/config/irix6.x
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/irix6.x	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/irix6.x	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/branches/upstream/current/c++/config/linux-gnu
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/linux-gnu	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/linux-gnu	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 # This is the same as linux-gnulibc1
 

Modified: packages/hdf5/branches/upstream/current/c++/config/linux-gnulibc1
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/linux-gnulibc1	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/linux-gnulibc1	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/branches/upstream/current/c++/config/linux-gnulibc2
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/linux-gnulibc2	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/linux-gnulibc2	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/branches/upstream/current/c++/config/nv1-cray
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/nv1-cray	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/nv1-cray	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #                                                      -*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/branches/upstream/current/c++/config/powerpc-ibm-aix
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/powerpc-ibm-aix	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/powerpc-ibm-aix	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Deleted: packages/hdf5/branches/upstream/current/c++/config/rs6000-ibm-aix4.x
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/rs6000-ibm-aix4.x	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/rs6000-ibm-aix4.x	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,24 +0,0 @@
-#							-*- shell-script -*-
-
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-#
-# 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.
-
-# Cross compiling defaults
-ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
-hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}

Modified: packages/hdf5/branches/upstream/current/c++/config/solaris2.x
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/solaris2.x	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/solaris2.x	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/branches/upstream/current/c++/config/sv1-cray
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/sv1-cray	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/sv1-cray	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/branches/upstream/current/c++/config/unicos10.0.X
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/unicos10.0.X	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/unicos10.0.X	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/branches/upstream/current/c++/config/unicosmk2.0.6.X
===================================================================
--- packages/hdf5/branches/upstream/current/c++/config/unicosmk2.0.6.X	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/config/unicosmk2.0.6.X	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/branches/upstream/current/c++/configure
===================================================================
--- packages/hdf5/branches/upstream/current/c++/configure	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/configure	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,29 +1,58 @@
 #! /bin/sh
-# From c++/configure.in Id: configure.in.
+# From c++/configure.in Id: configure.in 14030 2007-07-31 03:04:21Z epourmal .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for HDF5 C++ 1.6.5.
+# Generated by GNU Autoconf 2.61 for HDF5 C++ 1.6.6.
 #
-# Report bugs to <hdfhelp at ncsa.uiuc.edu>.
+# Report bugs to <help at hdfgroup.org>.
 #
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# 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 Bourne compatible
+# 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+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
 fi
-DUALCASE=1; export DUALCASE # for MKS sh
 
+
+
+
+# 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
@@ -32,8 +61,43 @@
 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.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
@@ -47,18 +111,19 @@
   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
+    ($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; then
+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
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
   as_basename=basename
 else
   as_basename=false
@@ -66,157 +131,388 @@
 
 
 # Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)$' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\/\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
 
+# CDPATH.
+$as_unset CDPATH
 
-# PATH needs CR, and LINENO needs CR and PATH.
-# 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
+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
+}
 
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  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
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
 
-       ;;
-  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_me: error: cannot find myself; rerun with an absolute path" >&2
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
+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=.
-  for as_base in sh bash ksh sh5; do
-	 case $as_dir in
+  case $as_dir in
 	 /*)
-	   if ("$as_dir/$as_base" -c '
+	   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
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-	     CONFIG_SHELL=$as_dir/$as_base
-	     export CONFIG_SHELL
-	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-	   fi;;
-	 esac
-       done
-done
-;;
-  esac
+  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 at 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 before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # 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
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # 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
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $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 sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='	' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+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; then
+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
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
+  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'
-  else
-    as_ln_s='ln -s'
-  fi
 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$$.file
+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=:
@@ -225,7 +521,28 @@
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+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'"
@@ -234,16 +551,7 @@
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" 	$as_nl"
 
-# CDPATH.
-$as_unset CDPATH
-
-
 # Find the correct PATH separator.  Usually this is `:', but
 # DJGPP uses `;' like DOS.
 if test "X${PATH_SEPARATOR+set}" != Xset; then
@@ -403,77 +711,170 @@
 
 
 
+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`
 
-exec 6>&1
-
 #
 # 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}
 
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete.  It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
 # Identity of this package.
 PACKAGE_NAME='HDF5 C++'
 PACKAGE_TARNAME='hdf5-c--'
-PACKAGE_VERSION='1.6.5'
-PACKAGE_STRING='HDF5 C++ 1.6.5'
-PACKAGE_BUGREPORT='hdfhelp at ncsa.uiuc.edu'
+PACKAGE_VERSION='1.6.6'
+PACKAGE_STRING='HDF5 C++ 1.6.6'
+PACKAGE_BUGREPORT='help at hdfgroup.org'
 
 ac_unique_file="src/H5Library.cpp"
 # Factoring default headers for most tests.
 ac_includes_default="\
 #include <stdio.h>
-#if HAVE_SYS_TYPES_H
+#ifdef HAVE_SYS_TYPES_H
 # include <sys/types.h>
 #endif
-#if HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
 # include <sys/stat.h>
 #endif
-#if STDC_HEADERS
+#ifdef STDC_HEADERS
 # include <stdlib.h>
 # include <stddef.h>
 #else
-# if HAVE_STDLIB_H
+# ifdef HAVE_STDLIB_H
 #  include <stdlib.h>
 # endif
 #endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
 #  include <memory.h>
 # endif
 # include <string.h>
 #endif
-#if HAVE_STRINGS_H
+#ifdef HAVE_STRINGS_H
 # include <strings.h>
 #endif
-#if HAVE_INTTYPES_H
+#ifdef HAVE_INTTYPES_H
 # include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-#  include <stdint.h>
-# endif
 #endif
-#if HAVE_UNISTD_H
+#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 datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPPFLAGS H5_CPPFLAGS H5_CFLAGS H5_CXXFLAGS ROOT DEFAULT_LIBS CXX CXXFLAGS LDFLAGS ac_ct_CXX EXEEXT OBJEXT CXXCPP SET_MAKE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC CFLAGS ac_ct_CC LN_S ECHO RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP CPP EGREP LIBTOOL PERL AR LT_STATIC_EXEC DYNAMIC_DIRS SEARCH SETX LIBOBJS LTLIBOBJS'
-ac_subst_files='DEPEND COMMENCE CONCLUDE'
+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
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+CPPFLAGS
+H5_CPPFLAGS
+H5_CFLAGS
+H5_CXXFLAGS
+ROOT
+DEFAULT_LIBS
+CXX
+CXXFLAGS
+LDFLAGS
+ac_ct_CXX
+EXEEXT
+OBJEXT
+CXXCPP
+SET_MAKE
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+CC
+CFLAGS
+ac_ct_CC
+LN_S
+ECHO
+RANLIB
+STRIP
+CPP
+GREP
+EGREP
+LIBTOOL
+PERL
+AR
+LT_STATIC_EXEC
+DYNAMIC_DIRS
+HL
+SEARCH
+SETX
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files='DEPEND
+COMMENCE
+CONCLUDE'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CXX
+CXXFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CCC
+CXXCPP
+CC
+CFLAGS
+CPP'
 
+
 # Initialize some variables set by options.
 ac_init_help=
 ac_init_version=false
@@ -499,34 +900,48 @@
 # 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'
-datadir='${prefix}/share'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+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"
+    eval $ac_prev=\$ac_option
     ac_prev=
     continue
   fi
 
-  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+  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_option in
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
 
   -bindir | --bindir | --bindi | --bind | --bin | --bi)
     ac_prev=bindir ;;
@@ -548,33 +963,45 @@
   --config-cache | -C)
     cache_file=config.cache ;;
 
-  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+  -datadir | --datadir | --datadi | --datad)
     ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-  | --da=*)
+  -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 &&
+    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" ;;
+    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 &&
+    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'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "enable_$ac_feature='$ac_optarg'" ;;
+    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- \
@@ -601,6 +1028,12 @@
   -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 ;;
@@ -625,13 +1058,16 @@
   | --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 | --local | --loca | --loc | --lo)
+  | --localstate | --localstat | --localsta | --localst | --locals)
     ac_prev=localstatedir ;;
   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
     localstatedir=$ac_optarg ;;
 
   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -696,6 +1132,16 @@
   | --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 ;;
@@ -748,24 +1194,20 @@
   -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 &&
+    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'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "with_$ac_package='$ac_optarg'" ;;
+    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 &&
+    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" ;;
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=no ;;
 
   --x)
     # Obsolete; use --with-x.
@@ -796,8 +1238,7 @@
     expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
    { (exit 1); exit 1; }; }
-    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
-    eval "$ac_envvar='$ac_optarg'"
+    eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
   *)
@@ -817,29 +1258,21 @@
    { (exit 1); exit 1; }; }
 fi
 
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
+# 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=$`echo $ac_var`
+  eval ac_val=\$$ac_var
   case $ac_val in
-    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
+    [\\/$]* | ?:[\\/]* )  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
 
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
-	      localstatedir libdir includedir oldincludedir infodir mandir
-do
-  eval ac_val=$`echo $ac_var`
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
-  esac
-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.
@@ -864,86 +1297,76 @@
 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 its parent.
-  ac_confdir=`(dirname "$0") 2>/dev/null ||
+  # 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 ||
+	 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'`
+    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
+  if test ! -r "$srcdir/$ac_unique_file"; then
     srcdir=..
   fi
 else
   ac_srcdir_defaulted=no
 fi
-if test ! -r $srcdir/$ac_unique_file; then
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+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; }; }
-  else
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+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; }; }
-  fi
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
 fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
-  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
-   { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CXX_set=${CXX+set}
-ac_env_CXX_value=$CXX
-ac_cv_env_CXX_set=${CXX+set}
-ac_cv_env_CXX_value=$CXX
-ac_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_env_CXXFLAGS_value=$CXXFLAGS
-ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_cv_env_CXXFLAGS_value=$CXXFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CXXCPP_set=${CXXCPP+set}
-ac_env_CXXCPP_value=$CXXCPP
-ac_cv_env_CXXCPP_set=${CXXCPP+set}
-ac_cv_env_CXXCPP_value=$CXXCPP
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
+# 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.
@@ -952,7 +1375,7 @@
   # 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 HDF5 C++ 1.6.5 to adapt to many kinds of systems.
+\`configure' configures HDF5 C++ 1.6.6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -972,9 +1395,6 @@
   -n, --no-create         do not create output files
       --srcdir=DIR        find the sources in DIR [configure dir or \`..']
 
-_ACEOF
-
-  cat <<_ACEOF
 Installation directories:
   --prefix=PREFIX         install architecture-independent files in PREFIX
 			  [$ac_default_prefix]
@@ -992,15 +1412,22 @@
   --bindir=DIR           user executables [EPREFIX/bin]
   --sbindir=DIR          system admin executables [EPREFIX/sbin]
   --libexecdir=DIR       program executables [EPREFIX/libexec]
-  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
   --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]
-  --infodir=DIR          info documentation [PREFIX/info]
-  --mandir=DIR           man documentation [PREFIX/man]
+  --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/hdf5-c--]
+  --htmldir=DIR          html documentation [DOCDIR]
+  --dvidir=DIR           dvi documentation [DOCDIR]
+  --pdfdir=DIR           pdf documentation [DOCDIR]
+  --psdir=DIR            ps documentation [DOCDIR]
 _ACEOF
 
   cat <<\_ACEOF
@@ -1013,7 +1440,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of HDF5 C++ 1.6.5:";;
+     short | recursive ) echo "Configuration of HDF5 C++ 1.6.6:";;
    esac
   cat <<\_ACEOF
 
@@ -1030,6 +1457,7 @@
   --enable-linux-lfs      Enable support for large (64-bit) files on Linux.
                           [default=check]
   --enable-stream-vfd     Build the Stream Virtual File Driver [default=no]
+  --enable-hl             Enable the high level library [default=yes]
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1046,8 +1474,9 @@
   CXXFLAGS    C++ compiler flags
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
-  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
-              headers in a nonstandard directory <include 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>
   CXXCPP      C++ preprocessor
   CC          C compiler command
   CFLAGS      C compiler flags
@@ -1056,122 +1485,88 @@
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
-Report bugs to <hdfhelp at ncsa.uiuc.edu>.
+Report bugs to <help at hdfgroup.org>.
 _ACEOF
+ac_status=$?
 fi
 
 if test "$ac_init_help" = "recursive"; then
   # If there are subdirs, report their specific --help.
-  ac_popdir=`pwd`
   for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d $ac_dir || continue
+    test -d "$ac_dir" || continue
     ac_builddir=.
 
-if test "$ac_dir" != .; then
+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=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+  # 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
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    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 ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+    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
 
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
-
-    cd $ac_dir
-    # Check for guested configure; otherwise get Cygnus style 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
-    elif test -f $ac_srcdir/configure.ac ||
-	   test -f $ac_srcdir/configure.in; then
-      echo
-      $ac_configure --help
+    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
-    cd $ac_popdir
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
   done
 fi
 
-test -n "$ac_init_help" && exit 0
+test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-HDF5 C++ configure 1.6.5
-generated by GNU Autoconf 2.59
+HDF5 C++ configure 1.6.6
+generated by GNU Autoconf 2.61
 
-Copyright (C) 2003 Free Software Foundation, Inc.
+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 0
+  exit
 fi
-exec 5>config.log
-cat >&5 <<_ACEOF
+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 HDF5 C++ $as_me 1.6.5, which was
-generated by GNU Autoconf 2.59.  Invocation command line was
+It was created by HDF5 C++ $as_me 1.6.6, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
 
 _ACEOF
+exec 5>>config.log
 {
 cat <<_ASUNAME
 ## --------- ##
@@ -1190,7 +1585,7 @@
 /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`
-hostinfo               = `(hostinfo) 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`
@@ -1204,6 +1599,7 @@
   test -z "$as_dir" && as_dir=.
   echo "PATH: $as_dir"
 done
+IFS=$as_save_IFS
 
 } >&5
 
@@ -1225,7 +1621,6 @@
 ac_configure_args=
 ac_configure_args0=
 ac_configure_args1=
-ac_sep=
 ac_must_keep_next=false
 for ac_pass in 1 2
 do
@@ -1236,7 +1631,7 @@
     -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
@@ -1258,9 +1653,7 @@
 	  -* ) ac_must_keep_next=true ;;
 	esac
       fi
-      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
-      # Get rid of the leading space.
-      ac_sep=" "
+      ac_configure_args="$ac_configure_args '$ac_arg'"
       ;;
     esac
   done
@@ -1271,8 +1664,8 @@
 # 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: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
+# 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.
   {
@@ -1285,20 +1678,34 @@
 _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 `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    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"
-      ;;
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
     *)
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-}
+    esac |
+    sort
+)
     echo
 
     cat <<\_ASBOX
@@ -1309,22 +1716,28 @@
     echo
     for ac_var in $ac_subst_vars
     do
-      eval ac_val=$`echo $ac_var`
-      echo "$ac_var='"'"'$ac_val'"'"'"
+      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
-## ------------- ##
-## Output files. ##
-## ------------- ##
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
 _ASBOX
       echo
       for ac_var in $ac_subst_files
       do
-	eval ac_val=$`echo $ac_var`
-	echo "$ac_var='"'"'$ac_val'"'"'"
+	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
@@ -1336,26 +1749,24 @@
 ## ----------- ##
 _ASBOX
       echo
-      sed "/^$/d" confdefs.h | sort
+      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 &&
-  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
     exit $exit_status
-     ' 0
+' 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 -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
+rm -f -r conftest* confdefs.h
 
 # Predefined preprocessor variables.
 
@@ -1386,14 +1797,17 @@
 
 # Let the site file select an alternate cache file if it wants to.
 # Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
+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
-for ac_site_file in $CONFIG_SITE; do
+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;}
@@ -1409,8 +1823,8 @@
     { 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;;
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
     esac
   fi
 else
@@ -1422,12 +1836,11 @@
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
-	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+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"
+  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
@@ -1452,8 +1865,7 @@
   # 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=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
     *) ac_arg=$ac_var=$ac_new_val ;;
     esac
     case " $ac_configure_args " in
@@ -1470,11 +1882,6 @@
    { (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
 
 
 
@@ -1499,88 +1906,133 @@
 
 
 
+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
 
 
 
+ac_config_headers="$ac_config_headers src/H5cxx_config.h"
 
+
 ac_aux_dir=
-for ac_dir in ../bin $srcdir/../bin; do
-  if test -f $ac_dir/install-sh; then
+for ac_dir in ../bin "$srcdir"/../bin; 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
+  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
+  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 ../bin $srcdir/../bin" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in ../bin $srcdir/../bin" >&2;}
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ../bin \"$srcdir\"/../bin" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in ../bin \"$srcdir\"/../bin" >&2;}
    { (exit 1); exit 1; }; }
 fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
 
+# 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.
 
+
+
+ac_config_commands="$ac_config_commands default-1"
+
+
 # Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
-  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+$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
+{ 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_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
-  ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
+  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=`$ac_config_sub $ac_cv_build_alias` ||
-  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+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
+{ 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
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+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
+{ 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
-  ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
-  ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
-  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+  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
+{ 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
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+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
 
 
 
@@ -1589,11 +2041,11 @@
 
 
 
-echo "$as_me:$LINENO: checking shell variables initial values" >&5
-echo $ECHO_N "checking shell variables initial values... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking shell variables initial values" >&5
+echo $ECHO_N "checking shell variables initial values... $ECHO_C" >&6; }
 set >&5
-echo "$as_me:$LINENO: result: done" >&5
-echo "${ECHO_T}done" >&6
+{ echo "$as_me:$LINENO: result: done" >&5
+echo "${ECHO_T}done" >&6; }
 
 if test -x "/bin/pwd"; then
    pwd=/bin/pwd
@@ -1602,15 +2054,15 @@
 fi
  ROOT=`$pwd`
 
-echo "$as_me:$LINENO: checking for cached host" >&5
-echo $ECHO_N "checking for cached host... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for cached host" >&5
+echo $ECHO_N "checking for cached host... $ECHO_C" >&6; }
 if test "${hdf5_cv_host+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   hdf5_cv_host="none"
 fi
-echo "$as_me:$LINENO: result: $hdf5_cv_host" >&5
-echo "${ECHO_T}$hdf5_cv_host" >&6;
+{ echo "$as_me:$LINENO: result: $hdf5_cv_host" >&5
+echo "${ECHO_T}$hdf5_cv_host" >&6; };
 if test "X$hdf5_cv_host" = "Xnone"; then
    hdf5_cv_host=$host
 elif test "$hdf5_cv_host" != "$host"; then
@@ -1662,34 +2114,38 @@
          $host_os_novers \
          $host_vendor \
          $host_cpu ; do
- echo "$as_me:$LINENO: checking for config $f" >&5
-echo $ECHO_N "checking for config $f... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for config $f" >&5
+echo $ECHO_N "checking for config $f... $ECHO_C" >&6; }
  if test -f $srcdir/config/$f; then
    host_config=$srcdir/config/$f
-   echo "$as_me:$LINENO: result: found" >&5
-echo "${ECHO_T}found" >&6
+   { echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6; }
    break
  fi
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 done
 if test "X$host_config" != "Xnone"; then
  CXX_BASENAME="`echo $CXX |cut -f1 -d' ' |xargs basename 2>/dev/null`"
  . $host_config
 fi
 
-ac_ext=cc
+ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
   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
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1702,36 +2158,38 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CXX="$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
 CXX=$ac_cv_prog_CXX
 if test -n "$CXX"; then
-  echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6
+  { echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
     test -n "$CXX" && break
   done
 fi
 if test -z "$CXX"; then
   ac_ct_CXX=$CXX
-  for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
 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
+{ 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_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1744,49 +2202,79 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  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_CXX="$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_CXX=$ac_cv_prog_ac_ct_CXX
 if test -n "$ac_ct_CXX"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$ac_ct_CXX" && break
 done
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
 
-  CXX=$ac_ct_CXX
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
+  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 at 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 at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CXX=$ac_ct_CXX
+  fi
 fi
 
-
+  fi
+fi
 # Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
-     "checking for C++ compiler version" >&5
+echo "$as_me:$LINENO: checking for C++ compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (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); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (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); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (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); }
@@ -1811,47 +2299,77 @@
 # 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
+{ 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[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
-  (eval $ac_link_default) 2>&5
+#
+# 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
-  # Find the output, starting from the most likely.  This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+  # 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 | *.o | *.obj )
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
 	;;
-    conftest.$ac_ext )
-	# This is the source file.
-	;;
     [ab].out )
 	# We found the default executable, but exeext='' is most
 	# certainly right.
 	break;;
     *.* )
-	ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	# FIXME: I believe we export ac_cv_exeext for Libtool,
-	# but it would be cool to find out if it's true.  Does anybody
-	# maintain Libtool? --akim.
-	export ac_cv_exeext
+        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
 
@@ -1863,19 +2381,21 @@
 fi
 
 ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
 
-# Check the compiler produces executables we can run.  If not, either
+# 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
+{ 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'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&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_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -1894,22 +2414,27 @@
     fi
   fi
 fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ 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 the compiler produces executables we can run.  If not, either
+# 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 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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+{ 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
@@ -1920,9 +2445,8 @@
 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 | *.o | *.obj ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
     *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	  export ac_cv_exeext
 	  break;;
     * ) break;;
   esac
@@ -1936,14 +2460,14 @@
 fi
 
 rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
+{ 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
+{ 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
@@ -1963,14 +2487,20 @@
 }
 _ACEOF
 rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+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 `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  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 ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
     *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
        break;;
   esac
@@ -1988,12 +2518,12 @@
 
 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
+{ 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
+{ 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_cxx_compiler_gnu+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2016,50 +2546,49 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_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
+	ac_compiler_gnu=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
 GXX=`test $ac_compiler_gnu = yes && echo yes`
 ac_test_CXXFLAGS=${CXXFLAGS+set}
 ac_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
 if test "${ac_cv_prog_cxx_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2075,172 +2604,146 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_prog_cxx_g=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-for ac_declaration in \
-   '' \
-   'extern "C" void std::exit (int) throw (); using std::exit;' \
-   'extern "C" void std::exit (int); using std::exit;' \
-   'extern "C" void exit (int) throw ();' \
-   'extern "C" void exit (int);' \
-   'void exit (int);'
-do
-  cat >conftest.$ac_ext <<_ACEOF
+	CXXFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_declaration
-#include <stdlib.h>
+
 int
 main ()
 {
-exit (42);
+
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_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
 
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
+	ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+	 CXXFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_declaration
+
 int
 main ()
 {
-exit (42);
+
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  break
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cxx_g=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
-  echo '#ifdef __cplusplus' >>confdefs.h
-  echo $ac_declaration      >>confdefs.h
-  echo '#endif'             >>confdefs.h
+
+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_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+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
 
-ac_ext=cc
+ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_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
+{ 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; }
 if test -z "$CXXCPP"; then
   if test "${ac_cv_prog_CXXCPP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -2270,24 +2773,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -2296,9 +2797,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -2308,24 +2810,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -2336,6 +2836,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -2353,8 +2854,8 @@
 else
   ac_cv_prog_CXXCPP=$CXXCPP
 fi
-echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6
+{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6; }
 ac_preproc_ok=false
 for ac_cxx_preproc_warn_flag in '' yes
 do
@@ -2377,24 +2878,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -2403,9 +2902,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -2415,24 +2915,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -2443,6 +2941,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -2464,32 +2963,33 @@
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 	CXX_BASENAME="`echo $CXX |cut -f1 -d' ' |xargs basename 2>/dev/null`"
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+{ 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 'ac_maketemp="$(MAKE)"'
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
 # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
-  eval ac_cv_prog_make_${ac_make}_set=yes
-else
-  eval ac_cv_prog_make_${ac_make}_set=no
-fi
+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 \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+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
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
@@ -2506,8 +3006,8 @@
 # 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
+{ 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
@@ -2529,7 +3029,7 @@
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	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.
@@ -2548,21 +3048,22 @@
     ;;
 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.  We don't cache a
-    # path for INSTALL within a source directory, because that will
+    # 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 path is relative.
+    # 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
+{ 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.
@@ -2572,10 +3073,9 @@
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-# Check whether --enable-shared or --disable-shared was given.
+# Check whether --enable-shared was given.
 if test "${enable_shared+set}" = set; then
-  enableval="$enable_shared"
-  p=${PACKAGE-default}
+  enableval=$enable_shared; p=${PACKAGE-default}
 case $enableval in
 yes) enable_shared=yes ;;
 no) enable_shared=no ;;
@@ -2593,11 +3093,11 @@
 esac
 else
   enable_shared=yes
-fi;
-# Check whether --enable-static or --disable-static was given.
+fi
+
+# Check whether --enable-static was given.
 if test "${enable_static+set}" = set; then
-  enableval="$enable_static"
-  p=${PACKAGE-default}
+  enableval=$enable_static; p=${PACKAGE-default}
 case $enableval in
 yes) enable_static=yes ;;
 no) enable_static=no ;;
@@ -2615,11 +3115,11 @@
 esac
 else
   enable_static=yes
-fi;
-# Check whether --enable-fast-install or --disable-fast-install was given.
+fi
+
+# Check whether --enable-fast-install was given.
 if test "${enable_fast_install+set}" = set; then
-  enableval="$enable_fast_install"
-  p=${PACKAGE-default}
+  enableval=$enable_fast_install; p=${PACKAGE-default}
 case $enableval in
 yes) enable_fast_install=yes ;;
 no) enable_fast_install=no ;;
@@ -2637,7 +3137,8 @@
 esac
 else
   enable_fast_install=yes
-fi;
+fi
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2646,8 +3147,8 @@
 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
+{ 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
@@ -2660,32 +3161,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  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
+  { 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
+  { 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
+{ 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
@@ -2698,36 +3201,51 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  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
+  { 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
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  CC=$ac_ct_CC
+  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 at 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 at 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.
+          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
+{ 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
@@ -2740,74 +3258,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  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
+  { 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
+  { 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 "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_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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+
   fi
-done
-done
-
 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
-
-  CC=$ac_ct_CC
-else
-  CC="$ac_cv_prog_CC"
-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
+{ 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
@@ -2821,7 +3299,7 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  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
@@ -2832,6 +3310,7 @@
   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.
@@ -2849,22 +3328,23 @@
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { 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
+  { 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
+  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
+{ 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
@@ -2877,36 +3357,38 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  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
+  { 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
+  { 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
+  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
+{ 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
@@ -2919,29 +3401,45 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  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
+  { 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
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$ac_ct_CC" && break
 done
 
-  CC=$ac_ct_CC
+  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 at 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 at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 fi
 
 fi
@@ -2954,27 +3452,41 @@
    { (exit 1); exit 1; }; }
 
 # Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
-     "checking for C compiler version" >&5
+echo "$as_me:$LINENO: checking for C compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (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); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (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); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (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
+{ 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
@@ -2997,50 +3509,49 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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
+	ac_compiler_gnu=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+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
+{ 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
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+{ 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
-  cat >conftest.$ac_ext <<_ACEOF
+  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
@@ -3056,38 +3567,118 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&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); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&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); }; }; then
+  (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
 
-ac_cv_prog_cc_g=no
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+
+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
@@ -3103,12 +3694,12 @@
     CFLAGS=
   fi
 fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+{ 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_stdc=no
+  ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -3142,12 +3733,17 @@
 /* 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 -std1 is added to get
+   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 -std1.  */
+   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);};
@@ -3162,205 +3758,57 @@
   return 0;
 }
 _ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX			-qlanglvl=ansi
-# Ultrix and OSF/1	-std1
-# HP-UX 10.20 and later	-Ae
-# HP-UX older versions	-Aa -D_HPUX_SOURCE
-# SVR4			-Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_prog_cc_stdc=$ac_arg
-break
+  (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 conftest.err conftest.$ac_objext
+
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
 CC=$ac_save_CC
 
 fi
-
-case "x$ac_cv_prog_cc_stdc" in
-  x|xno)
-    echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
+# 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; } ;;
   *)
-    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
-    CC="$CC $ac_cv_prog_cc_stdc" ;;
+    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
 
-# Some people use a C++ compiler to compile C.  Since we use `exit',
-# in C++ we need to declare it.  In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
-  choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  for ac_declaration in \
-   '' \
-   'extern "C" void std::exit (int) throw (); using std::exit;' \
-   'extern "C" void std::exit (int); using std::exit;' \
-   'extern "C" void exit (int) throw ();' \
-   'extern "C" void exit (int);' \
-   'void exit (int);'
-do
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
-  echo '#ifdef __cplusplus' >>confdefs.h
-  echo $ac_declaration      >>confdefs.h
-  echo '#endif'             >>confdefs.h
-fi
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -3379,18 +3827,18 @@
 fi
 
 
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+# Check whether --with-gnu-ld was given.
 if test "${with_gnu_ld+set}" = set; then
-  withval="$with_gnu_ld"
-  test "$withval" = no || with_gnu_ld=yes
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
 else
   with_gnu_ld=no
-fi;
+fi
+
 ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
-  echo "$as_me:$LINENO: checking for ld used by GCC" >&5
-echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for ld used by GCC" >&5
+echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6; }
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -3419,11 +3867,11 @@
     ;;
   esac
 elif test "$with_gnu_ld" = yes; then
-  echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
 else
-  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
 fi
 if test "${lt_cv_path_LD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -3452,17 +3900,17 @@
 
 LD="$lt_cv_path_LD"
 if test -n "$LD"; then
-  echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+  { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
    { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
 if test "${lt_cv_prog_gnu_ld+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3473,25 +3921,25 @@
   lt_cv_prog_gnu_ld=no
 fi
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
 with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
 if test "${lt_cv_ld_reload_flag+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_ld_reload_flag='-r'
 fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
 reload_flag=$lt_cv_ld_reload_flag
 test -n "$reload_flag" && reload_flag=" $reload_flag"
 
-echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
 if test "${lt_cv_path_NM+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3526,22 +3974,22 @@
 fi
 
 NM="$lt_cv_path_NM"
-echo "$as_me:$LINENO: result: $NM" >&5
-echo "${ECHO_T}$NM" >&6
+{ echo "$as_me:$LINENO: result: $NM" >&5
+echo "${ECHO_T}$NM" >&6; }
 
-echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
 LN_S=$as_ln_s
 if test "$LN_S" = "ln -s"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
-  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
+  { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5
-echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5
+echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6; }
 if test "${lt_cv_deplibs_check_method+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3718,8 +4166,8 @@
 esac
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
 file_magic_cmd=$lt_cv_file_magic_cmd
 deplibs_check_method=$lt_cv_deplibs_check_method
 
@@ -3731,8 +4179,8 @@
 
 
 # Check for command to grab the raw symbol name followed by C symbol from nm.
-echo "$as_me:$LINENO: checking command to parse $NM output" >&5
-echo $ECHO_N "checking command to parse $NM output... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking command to parse $NM output" >&5
+echo $ECHO_N "checking command to parse $NM output... $ECHO_C" >&6; }
 if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3918,11 +4366,11 @@
 fi
 if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
 then
-  echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
+  { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
 else
-  echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
+  { echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6; }
 fi
 
 ac_ext=c
@@ -3930,8 +4378,8 @@
 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
+{ 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=
@@ -3965,24 +4413,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (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
@@ -3991,9 +4437,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -4003,24 +4450,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (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
@@ -4031,6 +4476,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -4048,8 +4494,8 @@
 else
   ac_cv_prog_CPP=$CPP
 fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
+{ 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
@@ -4072,24 +4518,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (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
@@ -4098,9 +4542,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -4110,24 +4555,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (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
@@ -4138,6 +4581,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -4160,23 +4604,170 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
+{ 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
-  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
+  # 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
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
 
+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
 
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+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 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
@@ -4200,36 +4791,32 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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
+	ac_cv_header_stdc=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
+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
@@ -4284,6 +4871,7 @@
 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))
@@ -4303,18 +4891,27 @@
   for (i = 0; i < 256; i++)
     if (XOR (islower (i), ISLOWER (i))
 	|| toupper (i) != TOUPPER (i))
-      exit(2);
-  exit (0);
+      return 2;
+  return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+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'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&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_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4327,12 +4924,14 @@
 ( exit $ac_status )
 ac_cv_header_stdc=no
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+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
+{ 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
@@ -4355,9 +4954,9 @@
 		  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 eval "test \"\${$as_ac_Header+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
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -4371,38 +4970,35 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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"
+	eval "$as_ac_Header=no"
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+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
@@ -4417,18 +5013,19 @@
 for ac_header in dlfcn.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+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
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+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
+{ 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
@@ -4439,41 +5036,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+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
+{ 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
@@ -4482,24 +5075,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (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
@@ -4507,9 +5098,10 @@
 
   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
+{ 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
@@ -4533,25 +5125,24 @@
 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;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+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
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+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
@@ -4571,8 +5162,8 @@
 case $deplibs_check_method in
 file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4626,17 +5217,17 @@
 
 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 if test -n "$MAGIC_CMD"; then
-  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
-    echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6; }
 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4690,11 +5281,11 @@
 
 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 if test -n "$MAGIC_CMD"; then
-  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
   else
@@ -4709,8 +5300,8 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4723,32 +5314,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+  { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_RANLIB"; then
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ 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_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4761,27 +5354,41 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  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_RANLIB="ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
 fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  RANLIB=$ac_ct_RANLIB
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  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 at 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 at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
 else
   RANLIB="$ac_cv_prog_RANLIB"
 fi
@@ -4789,8 +5396,8 @@
 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
+{ 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
@@ -4803,32 +5410,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  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
+  { 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
+  { 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
+{ 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
@@ -4841,27 +5450,41 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  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
 
-  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
 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
+  { 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
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  STRIP=$ac_ct_STRIP
+  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 at 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 at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
 else
   STRIP="$ac_cv_prog_STRIP"
 fi
@@ -4870,11 +5493,11 @@
 enable_dlopen=no
 enable_win32_dll=no
 
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then
-  enableval="$enable_libtool_lock"
+  enableval=$enable_libtool_lock;
+fi
 
-fi;
 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
 
 # Some flags need to be propagated to the compiler or linker for good
@@ -4882,7 +5505,7 @@
 case $host in
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 4885 "configure"' > conftest.$ac_ext
+  echo '#line 5508 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -4907,13 +5530,12 @@
   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
   SAVE_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -belf"
-  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
 if test "${lt_cv_cc_needs_belf+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-
      ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -4936,35 +5558,32 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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
   lt_cv_cc_needs_belf=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-lt_cv_cc_needs_belf=no
+	lt_cv_cc_needs_belf=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
      ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -4973,8 +5592,8 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
   if test x"$lt_cv_cc_needs_belf" != x"yes"; then
     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
     CFLAGS="$SAVE_CFLAGS"
@@ -5074,8 +5693,8 @@
 set dummy $CC
 compiler="$2"
 
-echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
 rm -f .libs 2>/dev/null
 mkdir .libs 2>/dev/null
 if test -d .libs; then
@@ -5085,25 +5704,25 @@
   objdir=_libs
 fi
 rmdir .libs 2>/dev/null
-echo "$as_me:$LINENO: result: $objdir" >&5
-echo "${ECHO_T}$objdir" >&6
+{ echo "$as_me:$LINENO: result: $objdir" >&5
+echo "${ECHO_T}$objdir" >&6; }
 
 
 
-# Check whether --with-pic or --without-pic was given.
+# Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then
-  withval="$with_pic"
-  pic_mode="$withval"
+  withval=$with_pic; pic_mode="$withval"
 else
   pic_mode=default
-fi;
+fi
+
 test -z "$pic_mode" && pic_mode=default
 
 # We assume here that the value for lt_cv_prog_cc_pic will not be cached
 # in isolation, and that seeing it set (from the cache) indicates that
 # the associated values are set (in the cache) correctly too.
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 if test "${lt_cv_prog_cc_pic+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5254,15 +5873,15 @@
 fi
 
 if test -z "$lt_cv_prog_cc_pic"; then
-  echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
+  { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
 else
-  echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic" >&5
-echo "${ECHO_T}$lt_cv_prog_cc_pic" >&6
+  { echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic" >&5
+echo "${ECHO_T}$lt_cv_prog_cc_pic" >&6; }
 
   # Check to make sure the pic_flag actually works.
-  echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_cv_prog_cc_pic works... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_cv_prog_cc_pic works... $ECHO_C" >&6; }
   if test "${lt_cv_prog_cc_pic_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5284,27 +5903,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
         case $host_os in
       hpux9* | hpux10* | hpux11*)
 	# On HP-UX, both CC and GCC only warn that PIC is supported... then
@@ -5325,10 +5939,11 @@
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-      lt_cv_prog_cc_pic_works=no
+	      lt_cv_prog_cc_pic_works=no
 
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     CFLAGS="$save_CFLAGS"
 
 fi
@@ -5341,8 +5956,8 @@
     lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic"
   fi
 
-  echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic_works" >&5
-echo "${ECHO_T}$lt_cv_prog_cc_pic_works" >&6
+  { echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic_works" >&5
+echo "${ECHO_T}$lt_cv_prog_cc_pic_works" >&6; }
 fi
 
 # Check for any special shared library compilation flags.
@@ -5357,8 +5972,8 @@
   fi
 fi
 
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_cv_prog_cc_static works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_cv_prog_cc_static works... $ECHO_C" >&6; }
 if test "${lt_cv_prog_cc_static_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5381,34 +5996,32 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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
   lt_cv_prog_cc_static_works=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
   LDFLAGS="$save_LDFLAGS"
 
@@ -5417,8 +6030,8 @@
 
 # Belt *and* braces to stop my trousers falling down:
 test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static=
-echo "$as_me:$LINENO: result: $lt_cv_prog_cc_static_works" >&5
-echo "${ECHO_T}$lt_cv_prog_cc_static_works" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_cc_static_works" >&5
+echo "${ECHO_T}$lt_cv_prog_cc_static_works" >&6; }
 
 pic_flag="$lt_cv_prog_cc_pic"
 special_shlib_compile_flags="$lt_cv_prog_cc_shlib"
@@ -5429,8 +6042,8 @@
 
 
 # Check to see if options -o and -c are simultaneously supported by compiler
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
 if test "${lt_cv_compiler_c_o+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5449,7 +6062,7 @@
 save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
 compiler_c_o=no
-if { (eval echo configure:5452: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
+if { (eval echo configure:6065: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
   # The compiler can only warn and ignore the option if not recognized
   # So say no if there are warnings
   if test -s out/conftest.err; then
@@ -5473,13 +6086,13 @@
 fi
 
 compiler_c_o=$lt_cv_compiler_c_o
-echo "$as_me:$LINENO: result: $compiler_c_o" >&5
-echo "${ECHO_T}$compiler_c_o" >&6
+{ echo "$as_me:$LINENO: result: $compiler_c_o" >&5
+echo "${ECHO_T}$compiler_c_o" >&6; }
 
 if test x"$compiler_c_o" = x"yes"; then
   # Check to see if we can write to a .lo
-  echo "$as_me:$LINENO: checking if $compiler supports -c -o file.lo" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.lo... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.lo" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.lo... $ECHO_C" >&6; }
   if test "${lt_cv_compiler_o_lo+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5505,27 +6118,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
       # The compiler can only warn and ignore the option if not recognized
     # So say no if there are warnings
     if test -s conftest.err; then
@@ -5538,16 +6146,18 @@
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   ac_objext="$save_objext"
   CFLAGS="$save_CFLAGS"
 
 fi
 
   compiler_o_lo=$lt_cv_compiler_o_lo
-  echo "$as_me:$LINENO: result: $compiler_o_lo" >&5
-echo "${ECHO_T}$compiler_o_lo" >&6
+  { echo "$as_me:$LINENO: result: $compiler_o_lo" >&5
+echo "${ECHO_T}$compiler_o_lo" >&6; }
 else
   compiler_o_lo=no
 fi
@@ -5556,16 +6166,16 @@
 hard_links="nottested"
 if test "$compiler_c_o" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
-  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+  { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
   if test "$hard_links" = no; then
     { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -5577,8 +6187,8 @@
 
 if test "$GCC" = yes; then
   # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
-  echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
   echo "int some_variable = 0;" > conftest.$ac_ext
   save_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
@@ -5599,27 +6209,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
       # The compiler can only warn and ignore the option if not recognized
     # So say no if there are warnings
     if test -s conftest.err; then
@@ -5632,11 +6237,13 @@
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CFLAGS="$save_CFLAGS"
-  echo "$as_me:$LINENO: result: $compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$compiler_rtti_exceptions" >&6
+  { echo "$as_me:$LINENO: result: $compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$compiler_rtti_exceptions" >&6; }
 
   if test "$compiler_rtti_exceptions" = "yes"; then
     no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
@@ -5646,8 +6253,8 @@
 fi
 
 # See if the linker supports building shared libraries.
-echo "$as_me:$LINENO: checking whether the linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 
 allow_undefined_flag=
 no_undefined_flag=
@@ -6340,13 +6947,13 @@
     ;;
   esac
 fi
-echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6; }
 test "$ld_shlibs" = no && can_build_shared=no
 
 # Check hardcoding attributes.
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
 hardcode_action=
 if test -n "$hardcode_libdir_flag_spec" || \
    test -n "$runpath_var"; then
@@ -6369,29 +6976,29 @@
   # directories.
   hardcode_action=unsupported
 fi
-echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6; }
 
 striplib=
 old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
 test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
 # PORTME Fill in your ld.so characteristics
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -6783,18 +7390,18 @@
   dynamic_linker=no
   ;;
 esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
 # Report the final consequences.
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
 
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
 test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
@@ -6814,15 +7421,15 @@
   fi
   ;;
 esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
 
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
 # Make sure either enable_shared or enable_static is yes.
 test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
 
 if test "$hardcode_action" = relink; then
   # Fast installation is not supported
@@ -6859,8 +7466,8 @@
    ;;
 
   *)
-    echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
 if test "${ac_cv_func_shl_load+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6887,73 +7494,64 @@
 
 #undef shl_load
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char shl_load ();
 /* 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_shl_load) || defined (__stub___shl_load)
+#if defined __stub_shl_load || defined __stub___shl_load
 choke me
-#else
-char (*f) () = shl_load;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != shl_load;
+return shl_load ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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_func_shl_load=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_shl_load=no
+	ac_cv_func_shl_load=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
 if test $ac_cv_func_shl_load = yes; then
   lt_cv_dlopen="shl_load"
 else
-  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dld_shl_load+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6966,61 +7564,58 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char shl_load ();
 int
 main ()
 {
-shl_load ();
+return shl_load ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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_dld_shl_load=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dld_shl_load=no
+	ac_cv_lib_dld_shl_load=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
 if test $ac_cv_lib_dld_shl_load = yes; then
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
 else
-  echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
 if test "${ac_cv_func_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7047,73 +7642,64 @@
 
 #undef dlopen
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 /* 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_dlopen) || defined (__stub___dlopen)
+#if defined __stub_dlopen || defined __stub___dlopen
 choke me
-#else
-char (*f) () = dlopen;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != dlopen;
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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_func_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_dlopen=no
+	ac_cv_func_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
 if test $ac_cv_func_dlopen = yes; then
   lt_cv_dlopen="dlopen"
 else
-  echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dl_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7126,61 +7712,58 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 int
 main ()
 {
-dlopen ();
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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_dl_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dl_dlopen=no
+	ac_cv_lib_dl_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
 if test $ac_cv_lib_dl_dlopen = yes; then
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
-  echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
 if test "${ac_cv_lib_svld_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7193,61 +7776,58 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 int
 main ()
 {
-dlopen ();
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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_svld_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_svld_dlopen=no
+	ac_cv_lib_svld_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
 if test $ac_cv_lib_svld_dlopen = yes; then
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
-  echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dld_dld_link+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7260,56 +7840,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dld_link ();
 int
 main ()
 {
-dld_link ();
+return dld_link ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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_dld_dld_link=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dld_dld_link=no
+	ac_cv_lib_dld_dld_link=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
 if test $ac_cv_lib_dld_dld_link = yes; then
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
 fi
@@ -7349,8 +7926,8 @@
     save_LIBS="$LIBS"
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
-    echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
 if test "${lt_cv_dlopen_self+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7360,7 +7937,7 @@
     lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 7363 "configure"
+#line 7940 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -7442,13 +8019,13 @@
 
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
 
     if test "x$lt_cv_dlopen_self" = xyes; then
       LDFLAGS="$LDFLAGS $link_static_flag"
-      echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+      { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
 if test "${lt_cv_dlopen_self_static+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7458,7 +8035,7 @@
     lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 7461 "configure"
+#line 8038 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -7540,8 +8117,8 @@
 
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
     fi
 
     CPPFLAGS="$save_CPPFLAGS"
@@ -7571,8 +8148,8 @@
     # Test whether the compiler implicitly links with -lc since on some
     # systems, -lgcc has to come before -lc. If gcc already passes -lc
     # to ld, don't add -lc before -lgcc.
-    echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
     if test "${lt_cv_archive_cmds_need_lc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7612,8 +8189,8 @@
     fi
 fi
 
-    echo "$as_me:$LINENO: result: $lt_cv_archive_cmds_need_lc" >&5
-echo "${ECHO_T}$lt_cv_archive_cmds_need_lc" >&6
+    { echo "$as_me:$LINENO: result: $lt_cv_archive_cmds_need_lc" >&5
+echo "${ECHO_T}$lt_cv_archive_cmds_need_lc" >&6; }
     ;;
   esac
 fi
@@ -8189,8 +8766,8 @@
 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
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_PERL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8203,25 +8780,27 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_PERL="$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
 PERL=$ac_cv_prog_PERL
 if test -n "$PERL"; then
-  echo "$as_me:$LINENO: result: $PERL" >&5
-echo "${ECHO_T}$PERL" >&6
+  { echo "$as_me:$LINENO: result: $PERL" >&5
+echo "${ECHO_T}$PERL" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$PERL" && break
 done
 
@@ -8232,8 +8811,8 @@
 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
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8246,25 +8825,27 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AR="$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
 AR=$ac_cv_prog_AR
 if test -n "$AR"; then
-  echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+  { echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$AR" && break
 done
 test -n "$AR" || AR=":"
@@ -8273,8 +8854,8 @@
 
 
 if test -z "$SEARCH"; then
-  echo "$as_me:$LINENO: checking how make searches directories" >&5
-echo $ECHO_N "checking how make searches directories... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking how make searches directories" >&5
+echo $ECHO_N "checking how make searches directories... $ECHO_C" >&6; }
   while true; do #for break
         cat >maketest <<EOF
 VPATH=$srcdir/config $srcdir/src $srcdir/bin
@@ -8289,8 +8870,8 @@
     if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
       SEARCH_RULE='VPATH='
       SEARCH_SEP=' '
-      echo "$as_me:$LINENO: result: VPATH=DIR1 DIR2 ..." >&5
-echo "${ECHO_T}VPATH=DIR1 DIR2 ..." >&6
+      { echo "$as_me:$LINENO: result: VPATH=DIR1 DIR2 ..." >&5
+echo "${ECHO_T}VPATH=DIR1 DIR2 ..." >&6; }
       break
     fi
 
@@ -8307,8 +8888,8 @@
     if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
       SEARCH_RULE='VPATH='
       SEARCH_SEP=':'
-      echo "$as_me:$LINENO: result: VPATH=DIR1:DIR2:..." >&5
-echo "${ECHO_T}VPATH=DIR1:DIR2:..." >&6
+      { echo "$as_me:$LINENO: result: VPATH=DIR1:DIR2:..." >&5
+echo "${ECHO_T}VPATH=DIR1:DIR2:..." >&6; }
       break
     fi
 
@@ -8324,15 +8905,15 @@
     if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
       SEARCH_RULE='.PATH: '
       SEARCH_SEP=' '
-      echo "$as_me:$LINENO: result: .PATH: DIR1 DIR2 ..." >&5
-echo "${ECHO_T}.PATH: DIR1 DIR2 ..." >&6
+      { echo "$as_me:$LINENO: result: .PATH: DIR1 DIR2 ..." >&5
+echo "${ECHO_T}.PATH: DIR1 DIR2 ..." >&6; }
       break
     fi
 
         SEARCH_RULE='## SEARCH DISABLED: '
     SEARCH_SEP=' '
-    echo "$as_me:$LINENO: result: it doesn't" >&5
-echo "${ECHO_T}it doesn't" >&6
+    { echo "$as_me:$LINENO: result: it doesn't" >&5
+echo "${ECHO_T}it doesn't" >&6; }
     if test ! -f configure; then
       { { echo "$as_me:$LINENO: error: ${MAKE-make} requires the build and source directories to be the same" >&5
 echo "$as_me: error: ${MAKE-make} requires the build and source directories to be the same" >&2;}
@@ -8343,18 +8924,18 @@
   rm maketest
 fi
 
-echo "$as_me:$LINENO: checking for production mode" >&5
-echo $ECHO_N "checking for production mode... $ECHO_C" >&6
-# Check whether --enable-production or --disable-production was given.
+{ echo "$as_me:$LINENO: checking for production mode" >&5
+echo $ECHO_N "checking for production mode... $ECHO_C" >&6; }
+# Check whether --enable-production was given.
 if test "${enable_production+set}" = set; then
-  enableval="$enable_production"
+  enableval=$enable_production;
+fi
 
-fi;
 
 case "X-$enable_production" in
   X-|X-yes)
-    echo "$as_me:$LINENO: result: \"production\"" >&5
-echo "${ECHO_T}\"production\"" >&6
+    { echo "$as_me:$LINENO: result: \"production\"" >&5
+echo "${ECHO_T}\"production\"" >&6; }
 
             CXXFLAGS_temp=""
     if test -n "$CXXFLAGS"; then
@@ -8381,29 +8962,29 @@
     CPPFLAGS="$CPPFLAGS $PROD_CPPFLAGS"
     ;;
   X-no)
-    echo "$as_me:$LINENO: result: \"development\"" >&5
-echo "${ECHO_T}\"development\"" >&6
+    { echo "$as_me:$LINENO: result: \"development\"" >&5
+echo "${ECHO_T}\"development\"" >&6; }
     CONFIG_MODE=development
     CXXFLAGS="$CXXFLAGS $DEBUG_CXXFLAGS"
     CPPFLAGS="$CPPFLAGS $DEBUG_CPPFLAGS"
     ;;
   X-pg|X-profile)
-    echo "$as_me:$LINENO: result: \"profile\"" >&5
-echo "${ECHO_T}\"profile\"" >&6
+    { echo "$as_me:$LINENO: result: \"profile\"" >&5
+echo "${ECHO_T}\"profile\"" >&6; }
     CONFIG_MODE=profile
     CXXFLAGS="$CXXFLAGS $PROFILE_CXXFLAGS"
     CPPFLAGS="$CPPFLAGS $PROFILE_CPPFLAGS"
     ;;
   *)
-    echo "$as_me:$LINENO: result: \"user-defined\"" >&5
-echo "${ECHO_T}\"user-defined\"" >&6
+    { echo "$as_me:$LINENO: result: \"user-defined\"" >&5
+echo "${ECHO_T}\"user-defined\"" >&6; }
     CONFIG_MODE="$X-enableval"
     ;;
 esac
 
 
-echo "$as_me:$LINENO: checking for ceil in -lm" >&5
-echo $ECHO_N "checking for ceil in -lm... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for ceil in -lm" >&5
+echo $ECHO_N "checking for ceil in -lm... $ECHO_C" >&6; }
 if test "${ac_cv_lib_m_ceil+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8416,56 +8997,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char ceil ();
 int
 main ()
 {
-ceil ();
+return ceil ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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_ceil=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_m_ceil=no
+	ac_cv_lib_m_ceil=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_ceil" >&5
-echo "${ECHO_T}$ac_cv_lib_m_ceil" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_m_ceil" >&5
+echo "${ECHO_T}$ac_cv_lib_m_ceil" >&6; }
 if test $ac_cv_lib_m_ceil = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
@@ -8478,8 +9056,8 @@
 
 if test "`uname`" = "SunOS" -o "`uname -sr`" = "HP-UX B.11.00"; then
 
-echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
-echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
+echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6; }
 if test "${ac_cv_lib_socket_socket+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8492,56 +9070,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char socket ();
 int
 main ()
 {
-socket ();
+return socket ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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_socket_socket=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_socket_socket=no
+	ac_cv_lib_socket_socket=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_socket_socket" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
+echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6; }
 if test $ac_cv_lib_socket_socket = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
@@ -8552,8 +9127,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for xdr_int in -lnsl" >&5
-echo $ECHO_N "checking for xdr_int in -lnsl... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for xdr_int in -lnsl" >&5
+echo $ECHO_N "checking for xdr_int in -lnsl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_nsl_xdr_int+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8566,56 +9141,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char xdr_int ();
 int
 main ()
 {
-xdr_int ();
+return xdr_int ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (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_nsl_xdr_int=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_nsl_xdr_int=no
+	ac_cv_lib_nsl_xdr_int=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_nsl_xdr_int" >&5
-echo "${ECHO_T}$ac_cv_lib_nsl_xdr_int" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_xdr_int" >&5
+echo "${ECHO_T}$ac_cv_lib_nsl_xdr_int" >&6; }
 if test $ac_cv_lib_nsl_xdr_int = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
@@ -8627,14 +9199,14 @@
 
 fi
 
-echo "$as_me:$LINENO: checking if should build only statically linked executables" >&5
-echo $ECHO_N "checking if should build only statically linked executables... $ECHO_C" >&6
-# Check whether --enable-static_exec or --disable-static_exec was given.
+{ echo "$as_me:$LINENO: checking if should build only statically linked executables" >&5
+echo $ECHO_N "checking if should build only statically linked executables... $ECHO_C" >&6; }
+# Check whether --enable-static_exec was given.
 if test "${enable_static_exec+set}" = set; then
-  enableval="$enable_static_exec"
-  STATIC_EXEC=$enableval
-fi;
+  enableval=$enable_static_exec; STATIC_EXEC=$enableval
+fi
 
+
 if test "X$STATIC_EXEC" = "Xyes"; then
   echo "yes"
   LT_STATIC_EXEC="-all-static"
@@ -8646,11 +9218,11 @@
 
 case "$host_cpu-$host_vendor-$host_os" in
   *linux*)
-                # Check whether --enable-linux-lfs or --disable-linux-lfs was given.
+                # Check whether --enable-linux-lfs was given.
 if test "${enable_linux_lfs+set}" = set; then
-  enableval="$enable_linux_lfs"
+  enableval=$enable_linux_lfs;
+fi
 
-fi;
 
     LINUX_LFS="no"
     case "X-$enable_linux_lfs" in
@@ -8669,16 +9241,16 @@
         ;;
     esac
 
-    echo "$as_me:$LINENO: checking for large file support mode on Linux" >&5
-echo $ECHO_N "checking for large file support mode on Linux... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for large file support mode on Linux" >&5
+echo $ECHO_N "checking for large file support mode on Linux... $ECHO_C" >&6; }
     if test "X$LINUX_LFS" = "Xyes"; then
-      echo "$as_me:$LINENO: result: enabled" >&5
-echo "${ECHO_T}enabled" >&6
+      { echo "$as_me:$LINENO: result: enabled" >&5
+echo "${ECHO_T}enabled" >&6; }
 
       CPPFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $CPPFLAGS"
     else
-      echo "$as_me:$LINENO: result: disabled" >&5
-echo "${ECHO_T}disabled" >&6
+      { echo "$as_me:$LINENO: result: disabled" >&5
+echo "${ECHO_T}disabled" >&6; }
     fi
 
                 CPPFLAGS="-D_POSIX_SOURCE $CPPFLAGS"
@@ -8687,16 +9259,77 @@
     ;;
 esac
 
-ac_ext=cc
+ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-echo "$as_me:$LINENO: checking if $CXX needs old style header files in includes" >&5
-echo $ECHO_N "checking if $CXX needs old style header files in includes... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for offsetof extension" >&5
+echo $ECHO_N "checking for offsetof extension... $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 <stdio.h>
+                #include <stddef.h>
+int
+main ()
+{
+struct index_st
+                {
+                  unsigned char type;
+                  unsigned char num;
+                  unsigned int len;
+                };
+                typedef struct index_st index_t;
+                int x,y;
+                x = offsetof(struct index_st, len);
+                y = offsetof(index_t, num)
+  ;
+  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_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_OFFSETOF 1
+_ACEOF
+
+               { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ echo "$as_me:$LINENO: checking if $CXX needs old style header files in includes" >&5
+echo $ECHO_N "checking if $CXX needs old style header files in includes... $ECHO_C" >&6; }
 if test "$cross_compiling" = yes; then
   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
 See \`config.log' for more details." >&5
@@ -8717,13 +9350,22 @@
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+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'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&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_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -8741,11 +9383,13 @@
   CXXFLAGS="${CXXFLAGS} -DOLD_HEADER_FILENAME"
 
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: checking if $CXX can handle namespaces" >&5
-echo $ECHO_N "checking if $CXX can handle namespaces... $ECHO_C" >&6
+
+
+{ echo "$as_me:$LINENO: checking if $CXX can handle namespaces" >&5
+echo $ECHO_N "checking if $CXX can handle namespaces... $ECHO_C" >&6; }
 if test "$cross_compiling" = yes; then
   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
 See \`config.log' for more details." >&5
@@ -8772,13 +9416,22 @@
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+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'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&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_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -8796,11 +9449,13 @@
    CXXFLAGS="${CXXFLAGS} -DH5_NO_NAMESPACE"
 
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: checking if $CXX supports std" >&5
-echo $ECHO_N "checking if $CXX supports std... $ECHO_C" >&6
+
+
+{ echo "$as_me:$LINENO: checking if $CXX supports std" >&5
+echo $ECHO_N "checking if $CXX supports std... $ECHO_C" >&6; }
 if test "$cross_compiling" = yes; then
   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
 See \`config.log' for more details." >&5
@@ -8826,13 +9481,22 @@
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+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'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&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_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -8850,11 +9514,13 @@
    CXXFLAGS="${CXXFLAGS} -DH5_NO_STD"
 
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: checking if $CXX supports bool types" >&5
-echo $ECHO_N "checking if $CXX supports bool types... $ECHO_C" >&6
+
+
+{ echo "$as_me:$LINENO: checking if $CXX supports bool types" >&5
+echo $ECHO_N "checking if $CXX supports bool types... $ECHO_C" >&6; }
 if test "$cross_compiling" = yes; then
   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
 See \`config.log' for more details." >&5
@@ -8876,13 +9542,22 @@
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+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'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&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_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -8900,11 +9575,13 @@
    CXXFLAGS="${CXXFLAGS} -DBOOL_NOTDEFINED"
 
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: checking if $CXX can handle static cast" >&5
-echo $ECHO_N "checking if $CXX can handle static cast... $ECHO_C" >&6
+
+
+{ echo "$as_me:$LINENO: checking if $CXX can handle static cast" >&5
+echo $ECHO_N "checking if $CXX can handle static cast... $ECHO_C" >&6; }
 if test "$cross_compiling" = yes; then
   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
 See \`config.log' for more details." >&5
@@ -8929,13 +9606,22 @@
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+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'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&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_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -8953,19 +9639,21 @@
   CXXFLAGS="${CXXFLAGS} -DNO_STATIC_CAST"
 
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
 
 
-# Check whether --with-zlib or --without-zlib was given.
+
+
+# Check whether --with-zlib was given.
 if test "${with_zlib+set}" = set; then
-  withval="$with_zlib"
-
+  withval=$with_zlib;
 else
   withval=yes
-fi;
+fi
 
+
 case $withval in
   yes)
     HAVE_ZLIB="yes"
@@ -8974,18 +9662,19 @@
 for ac_header in zlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+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
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+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
+{ 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
@@ -8996,41 +9685,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_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
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+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
+{ 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
@@ -9039,24 +9724,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9064,9 +9747,10 @@
 
   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
+{ 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_cxx_preproc_warn_flag in
@@ -9090,25 +9774,24 @@
 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;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+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
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+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
@@ -9121,8 +9804,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
-echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
+echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_z_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -9135,56 +9818,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 int
 main ()
 {
-compress2 ();
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_z_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_z_compress2=no
+	ac_cv_lib_z_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_z_compress2" >&5
-echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
+echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6; }
 if test $ac_cv_lib_z_compress2 = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBZ 1
@@ -9196,8 +9876,8 @@
   unset HAVE_ZLIB
 fi
 
-    echo "$as_me:$LINENO: checking for compress2" >&5
-echo $ECHO_N "checking for compress2... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for compress2" >&5
+echo $ECHO_N "checking for compress2... $ECHO_C" >&6; }
 if test "${ac_cv_func_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -9224,68 +9904,59 @@
 
 #undef compress2
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 /* 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_compress2) || defined (__stub___compress2)
+#if defined __stub_compress2 || defined __stub___compress2
 choke me
-#else
-char (*f) () = compress2;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != compress2;
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_compress2=no
+	ac_cv_func_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_compress2" >&5
-echo "${ECHO_T}$ac_cv_func_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
+echo "${ECHO_T}$ac_cv_func_compress2" >&6; }
 if test $ac_cv_func_compress2 = yes; then
   HAVE_COMPRESS2="yes"
 fi
@@ -9299,10 +9970,10 @@
     ;;
   no)
     HAVE_ZLIB="no"
-    echo "$as_me:$LINENO: checking for GNU zlib" >&5
-echo $ECHO_N "checking for GNU zlib... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for GNU zlib" >&5
+echo $ECHO_N "checking for GNU zlib... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     ;;
   *)
     HAVE_ZLIB="yes"
@@ -9337,18 +10008,19 @@
 for ac_header in zlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+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
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+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
+{ 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
@@ -9359,41 +10031,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_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
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+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
+{ 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
@@ -9402,24 +10070,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9427,9 +10093,10 @@
 
   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
+{ 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_cxx_preproc_warn_flag in
@@ -9453,25 +10120,24 @@
 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;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+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
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+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
@@ -9491,8 +10157,8 @@
     fi
 
 
-echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
-echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
+echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_z_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -9505,56 +10171,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 int
 main ()
 {
-compress2 ();
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_z_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_z_compress2=no
+	ac_cv_lib_z_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_z_compress2" >&5
-echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
+echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6; }
 if test $ac_cv_lib_z_compress2 = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBZ 1
@@ -9566,8 +10229,8 @@
   LDFLAGS="$saved_LDFLAGS"; unset HAVE_ZLIB
 fi
 
-    echo "$as_me:$LINENO: checking for compress2" >&5
-echo $ECHO_N "checking for compress2... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for compress2" >&5
+echo $ECHO_N "checking for compress2... $ECHO_C" >&6; }
 if test "${ac_cv_func_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -9594,68 +10257,59 @@
 
 #undef compress2
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 /* 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_compress2) || defined (__stub___compress2)
+#if defined __stub_compress2 || defined __stub___compress2
 choke me
-#else
-char (*f) () = compress2;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != compress2;
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_compress2=no
+	ac_cv_func_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_compress2" >&5
-echo "${ECHO_T}$ac_cv_func_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
+echo "${ECHO_T}$ac_cv_func_compress2" >&6; }
 if test $ac_cv_func_compress2 = yes; then
   HAVE_COMPRESS2="yes"
 fi
@@ -9678,14 +10332,14 @@
 fi
 
 
-# Check whether --with-szlib or --without-szlib was given.
+# Check whether --with-szlib was given.
 if test "${with_szlib+set}" = set; then
-  withval="$with_szlib"
-
+  withval=$with_szlib;
 else
   withval=yes
-fi;
+fi
 
+
 case $withval in
   yes)
     HAVE_SZLIB="yes"
@@ -9693,18 +10347,19 @@
 for ac_header in szlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+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
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+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
+{ 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
@@ -9715,41 +10370,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_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
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+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
+{ 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
@@ -9758,24 +10409,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9783,9 +10432,10 @@
 
   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
+{ 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_cxx_preproc_warn_flag in
@@ -9809,25 +10459,24 @@
 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;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+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
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+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
@@ -9840,8 +10489,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
-echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
+echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_sz_SZ_BufftoBuffCompress+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -9854,56 +10503,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char SZ_BufftoBuffCompress ();
 int
 main ()
 {
-SZ_BufftoBuffCompress ();
+return SZ_BufftoBuffCompress ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_sz_SZ_BufftoBuffCompress=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_sz_SZ_BufftoBuffCompress=no
+	ac_cv_lib_sz_SZ_BufftoBuffCompress=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_sz_SZ_BufftoBuffCompress" >&5
-echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
+echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6; }
 if test $ac_cv_lib_sz_SZ_BufftoBuffCompress = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSZ 1
@@ -9924,10 +10570,10 @@
     ;;
   no)
     HAVE_SZLIB="no"
-    echo "$as_me:$LINENO: checking for szlib" >&5
-echo $ECHO_N "checking for szlib... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for szlib" >&5
+echo $ECHO_N "checking for szlib... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     ;;
   *)
     HAVE_SZLIB="yes"
@@ -9962,18 +10608,19 @@
 for ac_header in szlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+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
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+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
+{ 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
@@ -9984,41 +10631,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_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
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+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
+{ 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
@@ -10027,24 +10670,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10052,9 +10693,10 @@
 
   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
+{ 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_cxx_preproc_warn_flag in
@@ -10078,25 +10720,24 @@
 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;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+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
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+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
@@ -10116,8 +10757,8 @@
     fi
 
 
-echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
-echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
+echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_sz_SZ_BufftoBuffCompress+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -10130,56 +10771,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char SZ_BufftoBuffCompress ();
 int
 main ()
 {
-SZ_BufftoBuffCompress ();
+return SZ_BufftoBuffCompress ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_sz_SZ_BufftoBuffCompress=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_sz_SZ_BufftoBuffCompress=no
+	ac_cv_lib_sz_SZ_BufftoBuffCompress=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+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_sz_SZ_BufftoBuffCompress" >&5
-echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
+echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6; }
 if test $ac_cv_lib_sz_SZ_BufftoBuffCompress = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSZ 1
@@ -10208,34 +10846,35 @@
 
 fi
 
-echo "$as_me:$LINENO: checking for Stream Virtual File Driver support" >&5
-echo $ECHO_N "checking for Stream Virtual File Driver support... $ECHO_C" >&6
-# Check whether --enable-stream-vfd or --disable-stream-vfd was given.
+{ echo "$as_me:$LINENO: checking for Stream Virtual File Driver support" >&5
+echo $ECHO_N "checking for Stream Virtual File Driver support... $ECHO_C" >&6; }
+# Check whether --enable-stream-vfd was given.
 if test "${enable_stream_vfd+set}" = set; then
-  enableval="$enable_stream_vfd"
-  STREAM_VFD=$enableval
-fi;
+  enableval=$enable_stream_vfd; STREAM_VFD=$enableval
+fi
 
+
 if test "$STREAM_VFD" = "yes"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 
 for ac_header in netinet/tcp.h sys/filio.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+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
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+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
+{ 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
@@ -10246,41 +10885,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_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
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+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
+{ 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
@@ -10289,24 +10924,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+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; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10314,9 +10947,10 @@
 
   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
+{ 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_cxx_preproc_warn_flag in
@@ -10340,25 +10974,24 @@
 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;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+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
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+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
@@ -10376,8 +11009,8 @@
 _ACEOF
 
 
-    echo "$as_me:$LINENO: checking if socklen_t is defined" >&5
-echo $ECHO_N "checking if socklen_t is defined... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking if socklen_t is defined" >&5
+echo $ECHO_N "checking if socklen_t is defined... $ECHO_C" >&6; }
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -10406,46 +11039,42 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_SOCKLEN_T 1
 _ACEOF
 
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
-  echo "$as_me:$LINENO: result: not configured" >&5
-echo "${ECHO_T}not configured" >&6
+  { echo "$as_me:$LINENO: result: not configured" >&5
+echo "${ECHO_T}not configured" >&6; }
 fi
 
 
@@ -10467,50 +11096,69 @@
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# 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 `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    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 \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!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 "updating cache $cache_file"
+     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 "not updating unwritable cache $cache_file"
+    { 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
 
-echo "$as_me:$LINENO: checking make" >&5
-echo $ECHO_N "checking make... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking make" >&5
+echo $ECHO_N "checking make... $ECHO_C" >&6; }
 
 if test "`${MAKE-make} --version -f /dev/null 2>/dev/null |\
           sed -n 1p|cut -c1-8`" = "GNU Make"; then
-  echo "$as_me:$LINENO: result: GNU make" >&5
-echo "${ECHO_T}GNU make" >&6
+  { echo "$as_me:$LINENO: result: GNU make" >&5
+echo "${ECHO_T}GNU make" >&6; }
   GMAKE=yes
   if test "X$GCC" = "Xyes"; then
     DEPEND=config/depend1
@@ -10518,13 +11166,13 @@
     DEPEND=config/depend2
   fi
 else
-  echo "$as_me:$LINENO: result: generic" >&5
-echo "${ECHO_T}generic" >&6
+  { echo "$as_me:$LINENO: result: generic" >&5
+echo "${ECHO_T}generic" >&6; }
 fi
 
 if test -z "$DEPEND"; then
-  echo "$as_me:$LINENO: checking how to include a makefile" >&5
-echo $ECHO_N "checking how to include a makefile... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking how to include a makefile" >&5
+echo $ECHO_N "checking how to include a makefile... $ECHO_C" >&6; }
 
     cat >makeinc <<EOF
 foo:
@@ -10533,22 +11181,22 @@
 
   while true; do             echo '.include <makeinc>' >maketest
     if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
-      echo "$as_me:$LINENO: result: .include <FILE>" >&5
-echo "${ECHO_T}.include <FILE>" >&6
+      { echo "$as_me:$LINENO: result: .include <FILE>" >&5
+echo "${ECHO_T}.include <FILE>" >&6; }
       DEPEND=config/depend3
       break
     fi
 
         echo 'include makeinc' >maketest
     if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
-      echo "$as_me:$LINENO: result: include FILE" >&5
-echo "${ECHO_T}include FILE" >&6
+      { echo "$as_me:$LINENO: result: include FILE" >&5
+echo "${ECHO_T}include FILE" >&6; }
       DEPEND=config/depend4
       break;
     fi
 
-        echo "$as_me:$LINENO: result: you have a deficient make command" >&5
-echo "${ECHO_T}you have a deficient make command" >&6
+        { echo "$as_me:$LINENO: result: you have a deficient make command" >&5
+echo "${ECHO_T}you have a deficient make command" >&6; }
     DEPEND=config/dependN
     break
   done
@@ -10575,6 +11223,24 @@
 fi
 
 
+ HL=""
+{ echo "$as_me:$LINENO: checking if high level library is enabled" >&5
+echo $ECHO_N "checking if high level library is enabled... $ECHO_C" >&6; }
+# Check whether --enable-hl was given.
+if test "${enable_hl+set}" = set; then
+  enableval=$enable_hl; HDF5_HL=$enableval
+else
+  HDF5_HL=yes
+fi
+
+
+if test "X$HDF5_HL" = "Xyes"; then
+ echo "yes"
+ HL="hl"
+else
+ echo "no"
+fi
+
  COMMENCE=config/commence
  CONCLUDE=config/conclude
 
@@ -10595,7 +11261,7 @@
 
 saved_no_create=$no_create
 no_create=yes
-                                                                                                                        ac_config_files="$ac_config_files config/depend1 config/depend2 config/depend3 config/depend4 config/dependN config/commence config/conclude Makefile src/Makefile src/h5c++ test/Makefile examples/Makefile"
+ac_config_files="$ac_config_files config/depend1 config/depend2 config/depend3 config/depend4 config/dependN config/commence config/conclude Makefile src/Makefile src/h5c++ test/Makefile examples/testh5c++.sh examples/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -10615,39 +11281,58 @@
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# 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 `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    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 \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!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 "updating cache $cache_file"
+     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 "not updating unwritable cache $cache_file"
+    { 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
@@ -10656,63 +11341,18 @@
 # Let make expand exec_prefix.
 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
 
-# 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
+DEFS=-DHAVE_CONFIG_H
 
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then we branch to the quote section.  Otherwise,
-# look for a macro that doesn't take arguments.
-cat >confdef2opt.sed <<\_ACEOF
-t clear
-: clear
-s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\),-D\1=\2,g
-t quote
-s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\),-D\1=\2,g
-t quote
-d
-: quote
-s,[	 `~#$^&*(){}\\|;'"<>?],\\&,g
-s,\[,\\&,g
-s,\],\\&,g
-s,\$,$$,g
-p
-_ACEOF
-# We use echo to avoid assuming a particular line-breaking character.
-# The extra dot is to prevent the shell from consuming trailing
-# line-breaks from the sub-command output.  A line-break within
-# single-quotes doesn't work because, if this script is created in a
-# platform that uses two characters for line-breaks (e.g., DOS), tr
-# would break.
-ac_LF_and_DOT=`echo; echo .`
-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
-rm -f confdef2opt.sed
-
-
 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_i=`echo "$ac_i" |
-	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
-  # 2. Add them.
-  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+  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
 
@@ -10743,18 +11383,46 @@
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be Bourne compatible
+# 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+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
 fi
-DUALCASE=1; export DUALCASE # for MKS sh
 
+
+
+
+# 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
@@ -10763,8 +11431,43 @@
 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.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
@@ -10778,18 +11481,19 @@
   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
+    ($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; then
+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
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
   as_basename=basename
 else
   as_basename=false
@@ -10797,159 +11501,120 @@
 
 
 # Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)$' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\/\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
 
+# CDPATH.
+$as_unset CDPATH
 
-# PATH needs CR, and LINENO needs CR and PATH.
-# 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
 
-
   as_lineno_1=$LINENO
   as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  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
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
 
-       ;;
-  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_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
-    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=.
-  for as_base in sh bash ksh sh5; do
-	 case $as_dir in
-	 /*)
-	   if ("$as_dir/$as_base" -c '
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-	     CONFIG_SHELL=$as_dir/$as_base
-	     export CONFIG_SHELL
-	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-	   fi;;
-	 esac
-       done
-done
-;;
-  esac
-
   # 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 before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # 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
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # 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
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
-    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+  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 sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='	' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+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; then
+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
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
+  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'
-  else
-    as_ln_s='ln -s'
-  fi
 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$$.file
+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=:
@@ -10958,7 +11623,28 @@
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+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'"
@@ -10967,62 +11653,35 @@
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" 	$as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
 exec 6>&1
 
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# 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.  Logging --version etc. is OK.
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
+# values after options handling.
+ac_log="
+This file was extended by HDF5 C++ $as_me 1.6.6, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
 
-This file was extended by HDF5 C++ $as_me 1.6.5, which was
-generated by GNU Autoconf 2.59.  Invocation command line was
-
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
   CONFIG_LINKS    = $CONFIG_LINKS
   CONFIG_COMMANDS = $CONFIG_COMMANDS
   $ $0 $@
 
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
 _ACEOF
 
+cat >>$CONFIG_STATUS <<_ACEOF
 # Files that config.status was made for.
-if test -n "$ac_config_files"; then
-  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
 
-if test -n "$ac_config_headers"; then
-  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
+_ACEOF
 
-if test -n "$ac_config_links"; then
-  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
-  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
 cat >>$CONFIG_STATUS <<\_ACEOF
-
 ac_cs_usage="\
 \`$as_me' instantiates files from templates according to the
 current configuration.
@@ -11030,30 +11689,40 @@
 Usage: $0 [OPTIONS] [FILE]...
 
   -h, --help       print this help, then exit
-  -V, --version    print version number, 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 at gnu.org>."
+
 _ACEOF
-
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-HDF5 C++ config.status 1.6.5
-configured by $0, generated by GNU Autoconf 2.59,
-  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+HDF5 C++ config.status 1.6.6
+configured by $0, generated by GNU Autoconf 2.61,
+  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
-Copyright (C) 2003 Free Software Foundation, Inc.
+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."
-srcdir=$srcdir
-INSTALL="$INSTALL"
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
 _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF
@@ -11064,39 +11733,24 @@
 do
   case $1 in
   --*=*)
-    ac_option=`expr "x$1" : 'x\([^=]*\)='`
-    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
-  -*)
+  *)
     ac_option=$1
     ac_optarg=$2
     ac_shift=shift
     ;;
-  *) # This is not an option, so the user has probably given explicit
-     # arguments.
-     ac_option=$1
-     ac_need_defaults=false;;
   esac
 
   case $ac_option in
   # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
-  --version | --vers* | -V )
-    echo "$ac_cs_version"; exit 0 ;;
-  --he | --h)
-    # Conflict between --help and --header
-    { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-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 0 ;;
-  --debug | --d* | -d )
+  --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
@@ -11106,18 +11760,24 @@
     $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:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
+  -*) { 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_config_targets="$ac_config_targets $1"
+     ac_need_defaults=false ;;
 
   esac
   shift
@@ -11133,408 +11793,637 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 if \$ac_cs_recheck; then
-  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  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
+#
 
 
+_ACEOF
 
+cat >>$CONFIG_STATUS <<\_ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+# Handling of arguments.
 for ac_config_target in $ac_config_targets
 do
-  case "$ac_config_target" in
-  # Handling of arguments.
-  "config/depend1" ) CONFIG_FILES="$CONFIG_FILES config/depend1" ;;
-  "config/depend2" ) CONFIG_FILES="$CONFIG_FILES config/depend2" ;;
-  "config/depend3" ) CONFIG_FILES="$CONFIG_FILES config/depend3" ;;
-  "config/depend4" ) CONFIG_FILES="$CONFIG_FILES config/depend4" ;;
-  "config/dependN" ) CONFIG_FILES="$CONFIG_FILES config/dependN" ;;
-  "config/commence" ) CONFIG_FILES="$CONFIG_FILES config/commence" ;;
-  "config/conclude" ) CONFIG_FILES="$CONFIG_FILES config/conclude" ;;
-  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
-  "src/h5c++" ) CONFIG_FILES="$CONFIG_FILES src/h5c++" ;;
-  "test/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
-  "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+  case $ac_config_target in
+    "src/H5cxx_config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/H5cxx_config.h" ;;
+    "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+    "config/depend1") CONFIG_FILES="$CONFIG_FILES config/depend1" ;;
+    "config/depend2") CONFIG_FILES="$CONFIG_FILES config/depend2" ;;
+    "config/depend3") CONFIG_FILES="$CONFIG_FILES config/depend3" ;;
+    "config/depend4") CONFIG_FILES="$CONFIG_FILES config/depend4" ;;
+    "config/dependN") CONFIG_FILES="$CONFIG_FILES config/dependN" ;;
+    "config/commence") CONFIG_FILES="$CONFIG_FILES config/commence" ;;
+    "config/conclude") CONFIG_FILES="$CONFIG_FILES config/conclude" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+    "src/h5c++") CONFIG_FILES="$CONFIG_FILES src/h5c++" ;;
+    "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+    "examples/testh5c++.sh") CONFIG_FILES="$CONFIG_FILES examples/testh5c++.sh" ;;
+    "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+
   *) { { 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 to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
 # creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
+# 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 ||
 {
-  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  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 -q "./confstatXXXXXX") 2>/dev/null` &&
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
   test -n "$tmp" && test -d "$tmp"
 }  ||
 {
-  tmp=./confstat$$-$RANDOM
-  (umask 077 && mkdir $tmp)
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
 } ||
 {
    echo "$me: cannot create a temporary directory in ." >&2
    { (exit 1); exit 1; }
 }
 
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
 #
-# CONFIG_FILES section.
+# 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
-  # Protect against being on the right side of a sed subst in config.status.
-  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
-   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s, at SHELL@,$SHELL,;t t
-s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s, at exec_prefix@,$exec_prefix,;t t
-s, at prefix@,$prefix,;t t
-s, at program_transform_name@,$program_transform_name,;t t
-s, at bindir@,$bindir,;t t
-s, at sbindir@,$sbindir,;t t
-s, at libexecdir@,$libexecdir,;t t
-s, at datadir@,$datadir,;t t
-s, at sysconfdir@,$sysconfdir,;t t
-s, at sharedstatedir@,$sharedstatedir,;t t
-s, at localstatedir@,$localstatedir,;t t
-s, at libdir@,$libdir,;t t
-s, at includedir@,$includedir,;t t
-s, at oldincludedir@,$oldincludedir,;t t
-s, at infodir@,$infodir,;t t
-s, at mandir@,$mandir,;t t
-s, at build_alias@,$build_alias,;t t
-s, at host_alias@,$host_alias,;t t
-s, at target_alias@,$target_alias,;t t
-s, at DEFS@,$DEFS,;t t
-s, at ECHO_C@,$ECHO_C,;t t
-s, at ECHO_N@,$ECHO_N,;t t
-s, at ECHO_T@,$ECHO_T,;t t
-s, at LIBS@,$LIBS,;t t
-s, at build@,$build,;t t
-s, at build_cpu@,$build_cpu,;t t
-s, at build_vendor@,$build_vendor,;t t
-s, at build_os@,$build_os,;t t
-s, at host@,$host,;t t
-s, at host_cpu@,$host_cpu,;t t
-s, at host_vendor@,$host_vendor,;t t
-s, at host_os@,$host_os,;t t
-s, at CPPFLAGS@,$CPPFLAGS,;t t
-s, at H5_CPPFLAGS@,$H5_CPPFLAGS,;t t
-s, at H5_CFLAGS@,$H5_CFLAGS,;t t
-s, at H5_CXXFLAGS@,$H5_CXXFLAGS,;t t
-s, at ROOT@,$ROOT,;t t
-s, at DEFAULT_LIBS@,$DEFAULT_LIBS,;t t
-s, at CXX@,$CXX,;t t
-s, at CXXFLAGS@,$CXXFLAGS,;t t
-s, at LDFLAGS@,$LDFLAGS,;t t
-s, at ac_ct_CXX@,$ac_ct_CXX,;t t
-s, at EXEEXT@,$EXEEXT,;t t
-s, at OBJEXT@,$OBJEXT,;t t
-s, at CXXCPP@,$CXXCPP,;t t
-s, at SET_MAKE@,$SET_MAKE,;t t
-s, at INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s, at INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s, at INSTALL_DATA@,$INSTALL_DATA,;t t
-s, at CC@,$CC,;t t
-s, at CFLAGS@,$CFLAGS,;t t
-s, at ac_ct_CC@,$ac_ct_CC,;t t
-s, at LN_S@,$LN_S,;t t
-s, at ECHO@,$ECHO,;t t
-s, at RANLIB@,$RANLIB,;t t
-s, at ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s, at STRIP@,$STRIP,;t t
-s, at ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s, at CPP@,$CPP,;t t
-s, at EGREP@,$EGREP,;t t
-s, at LIBTOOL@,$LIBTOOL,;t t
-s, at PERL@,$PERL,;t t
-s, at AR@,$AR,;t t
-s, at LT_STATIC_EXEC@,$LT_STATIC_EXEC,;t t
-s, at DYNAMIC_DIRS@,$DYNAMIC_DIRS,;t t
-s, at SEARCH@,$SEARCH,;t t
-s, at SETX@,$SETX,;t t
-s, at LIBOBJS@,$LIBOBJS,;t t
-s, at LTLIBOBJS@,$LTLIBOBJS,;t t
-/@DEPEND@/r $DEPEND
-s, at DEPEND@,,;t t
-/@COMMENCE@/r $COMMENCE
-s, at COMMENCE@,,;t t
-/@CONCLUDE@/r $CONCLUDE
-s, at CONCLUDE@,,;t t
-CEOF
+if test -n "$CONFIG_FILES"; then
 
 _ACEOF
 
-  cat >>$CONFIG_STATUS <<\_ACEOF
-  # Split the substitutions into bite-sized pieces for seds with
-  # small command number limits, like on Digital OSF/1 and HP-UX.
-  ac_max_sed_lines=48
-  ac_sed_frag=1 # Number of current file.
-  ac_beg=1 # First line for current file.
-  ac_end=$ac_max_sed_lines # Line after last line for current file.
-  ac_more_lines=:
-  ac_sed_cmds=
-  while $ac_more_lines; do
-    if test $ac_beg -gt 1; then
-      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    else
-      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    fi
-    if test ! -s $tmp/subs.frag; then
-      ac_more_lines=false
-    else
-      # The purpose of the label and of the branching condition is to
-      # speed up the sed processing (if there are no `@' at all, there
-      # is no need to browse any of the substitutions).
-      # These are the two extra sed commands mentioned above.
-      (echo ':t
-  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
-      if test -z "$ac_sed_cmds"; then
-	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
-      else
-	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
-      fi
-      ac_sed_frag=`expr $ac_sed_frag + 1`
-      ac_beg=$ac_end
-      ac_end=`expr $ac_end + $ac_max_sed_lines`
-    fi
-  done
-  if test -z "$ac_sed_cmds"; then
-    ac_sed_cmds=cat
+# Create sed commands to just substitute file output variables.
+
+# Remaining file output variables are in a fragment that also has non-file
+# output varibles.
+
+
+
+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
+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
+CPPFLAGS!$CPPFLAGS$ac_delim
+H5_CPPFLAGS!$H5_CPPFLAGS$ac_delim
+H5_CFLAGS!$H5_CFLAGS$ac_delim
+H5_CXXFLAGS!$H5_CXXFLAGS$ac_delim
+ROOT!$ROOT$ac_delim
+DEFAULT_LIBS!$DEFAULT_LIBS$ac_delim
+CXX!$CXX$ac_delim
+CXXFLAGS!$CXXFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+ac_ct_CXX!$ac_ct_CXX$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+CXXCPP!$CXXCPP$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+LN_S!$LN_S$ac_delim
+ECHO!$ECHO$ac_delim
+RANLIB!$RANLIB$ac_delim
+STRIP!$STRIP$ac_delim
+CPP!$CPP$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+LIBTOOL!$LIBTOOL$ac_delim
+PERL!$PERL$ac_delim
+AR!$AR$ac_delim
+LT_STATIC_EXEC!$LT_STATIC_EXEC$ac_delim
+DYNAMIC_DIRS!$DYNAMIC_DIRS$ac_delim
+HL!$HL$ac_delim
+SEARCH!$SEARCH$ac_delim
+SETX!$SETX$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` = 82; 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
-fi # test -n "$CONFIG_FILES"
+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
+/^[	 ]*@DEPEND@[	 ]*$/{
+r $DEPEND
+d
+}
+/^[	 ]*@COMMENCE@[	 ]*$/{
+r $COMMENCE
+d
+}
+/^[	 ]*@CONCLUDE@[	 ]*$/{
+r $CONCLUDE
+d
+}
 _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
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case $ac_file in
-  - | *:- | *:-:* ) # input from stdin
-	cat >$tmp/stdin
-	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  * )   ac_file_in=$ac_file.in ;;
+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
 
-  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
-  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+  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 ||
+	 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'`
-  { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
+    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 test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+    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 ||
+	 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'`
+    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 ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+    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=.
 
-if test "$ac_dir" != .; then
+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=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+  # 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
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    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 ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+    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
 
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
 
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
 
   case $INSTALL in
   [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
   esac
+_ACEOF
 
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
-  # 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.  */
-  if test x"$ac_file" = x-; then
-    configure_input=
-  else
-    configure_input="$ac_file.  "
-  fi
-  configure_input=$configure_input"Generated from `echo $ac_file_in |
-				     sed 's,.*/,,'` by configure."
+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=
 
-  # First look for the input files in the build tree, otherwise in the
-  # src tree.
-  ac_file_inputs=`IFS=:
-    for f in $ac_file_in; do
-      case $f in
-      -) echo $tmp/stdin ;;
-      [\\/$]*)
-	 # Absolute (can't be DOS-style, as IFS=:)
-	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 echo "$f";;
-      *) # Relative
-	 if test -f "$f"; then
-	   # Build tree
-	   echo "$f"
-	 elif test -f "$srcdir/$f"; then
-	   # Source tree
-	   echo "$srcdir/$f"
-	 else
-	   # /dev/null tree
-	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 fi;;
-      esac
-    done` || { (exit 1); exit 1; }
+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, at configure_input@,$configure_input,;t t
-s, at srcdir@,$ac_srcdir,;t t
-s, at abs_srcdir@,$ac_abs_srcdir,;t t
-s, at top_srcdir@,$ac_top_srcdir,;t t
-s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s, at builddir@,$ac_builddir,;t t
-s, at abs_builddir@,$ac_abs_builddir,;t t
-s, at top_builddir@,$ac_top_builddir,;t t
-s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
-s, at INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
-  rm -f $tmp/stdin
+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
+$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
-    mv $tmp/out $ac_file
+    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
-    cat $tmp/out
-    rm -f $tmp/out
+    echo "/* $configure_input  */"
+    cat "$ac_result"
   fi
+  rm -f "$tmp/out12"
+ ;;
 
-done
-_ACEOF
+  :C)  { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
 
-cat >>$CONFIG_STATUS <<\_ACEOF
 
+  case $ac_file$ac_mode in
+    "default-1":C)
+  echo "creating c++/src/H5cxx_pubconf.h"
+  sed 's/#define /#define H5_CXX_/' <src/H5cxx_config.h |\
+    sed 's/#undef /#undef H5_CXX_/' >pubconf
+  if test ! -f src/H5cxx_pubconf.h; then
+    /bin/mv -f pubconf src/H5cxx_pubconf.h
+  elif (diff pubconf src/H5cxx_pubconf.h >/dev/null); then
+    /bin/rm -f pubconf
+    echo "src/H5cxx_pubconf.h is unchanged"
+  else
+    /bin/mv -f pubconf src/H5cxx_pubconf.h
+  fi
+ ;;
+
+  esac
+done # for ac_tag
+
+
 { (exit 0); exit 0; }
 _ACEOF
 chmod +x $CONFIG_STATUS
@@ -11584,19 +12473,19 @@
   fi
 fi
 
+config_summary="../#c++_configure_summary"
+rm -f $config_summary
+
 PRINT_PLAIN() {
-  echo $ECHO_N "$1$ECHO_C"
-  echo $ECHO_N "$1$ECHO_C" 1>>src/libhdf5_cpp.settings
+  echo $ECHO_N "$1$ECHO_C" 1>>$config_summary
 }
 
 PRINT_N() {
-  echo $ECHO_N "$1:  $ECHO_C"
-  echo $ECHO_N "$1:  $ECHO_C" 1>>src/libhdf5_cpp.settings
+  echo $ECHO_N "$1:  $ECHO_C" 1>>$config_summary
 }
 
 PRINT() {
-  echo "$1"
-  echo "$1" 1>>src/libhdf5_cpp.settings
+  echo "$1" 1>>$config_summary
 }
 
 IF_YES_NO() {
@@ -11623,13 +12512,8 @@
   fi
 }
 
-PRINT "C++ Configure Summary"
-PRINT "Compiling Options:"
-
 PRINT_N "                   C++ Compiler"
 PRINT "$CXX"
 
 PRINT_N "                       CXXFLAGS"
 PRINT "$CXXFLAGS"
-
-PRINT "Features:"

Modified: packages/hdf5/branches/upstream/current/c++/configure.in
===================================================================
--- packages/hdf5/branches/upstream/current/c++/configure.in	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/configure.in	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,6 +1,7 @@
 dnl ----------------------------------------------------------------------
 dnl Process this file with autoconf to produce configure.
 dnl
+dnl Copyright by The HDF Group.
 dnl Copyright by the Board of Trustees of the University of Illinois.
 dnl All rights reserved.
 dnl
@@ -10,15 +11,15 @@
 dnl of the source code distribution tree; Copyright.html can be found at the
 dnl root level of an installed copy of the electronic HDF5 document set and
 dnl is linked from the top-level documents page.  It can also be found at
-dnl http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-dnl access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+dnl http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+dnl access to either file, you may request a copy from help at hdfgroup.org.
 dnl
 dnl ----------------------------------------------------------------------
 
 dnl ----------------------------------------------------------------------
 dnl Initialize configure.
 dnl
-AC_REVISION($Id: configure.in,v 1.67.2.100 2005/11/06 23:46:38 hdfadmin Exp $)
+AC_REVISION($Id: configure.in 14030 2007-07-31 03:04:21Z epourmal $)
 
 dnl AC_INIT takes the name of the package, the version number, and an
 dnl email address to report bugs. AC_CONFIG_SRCDIR takes a unique file
@@ -27,10 +28,26 @@
 dnl NOTE: Don't forget to change the version number here when we do a
 dnl release!!!
 dnl
-AC_INIT([HDF5 C++], [1.6.5], [hdfhelp at ncsa.uiuc.edu])
+AC_INIT([HDF5 C++], [1.6.6], [help at hdfgroup.org])
 AC_CONFIG_SRCDIR([src/H5Library.cpp])
+AC_CONFIG_HEADER([src/H5cxx_config.h])
+
 AC_CONFIG_AUX_DIR([../bin])
 
+AC_OUTPUT_COMMANDS([
+  echo "creating c++/src/H5cxx_pubconf.h"
+  sed 's/#define /#define H5_CXX_/' <src/H5cxx_config.h |\
+    sed 's/#undef /#undef H5_CXX_/' >pubconf
+  if test ! -f src/H5cxx_pubconf.h; then
+    /bin/mv -f pubconf src/H5cxx_pubconf.h
+  elif (diff pubconf src/H5cxx_pubconf.h >/dev/null); then
+    /bin/rm -f pubconf
+    echo "src/H5cxx_pubconf.h is unchanged"
+  else
+    /bin/mv -f pubconf src/H5cxx_pubconf.h
+  fi
+])
+
 AC_CANONICAL_HOST
 AC_SUBST(CPPFLAGS)
 
@@ -394,6 +411,24 @@
 dnl
 AC_LANG_CPLUSPLUS
 
+AC_MSG_CHECKING([for offsetof extension])
+AC_TRY_COMPILE([#include <stdio.h>
+                #include <stddef.h>],
+                [struct index_st
+                {
+                  unsigned char type;
+                  unsigned char num;
+                  unsigned int len;
+                };
+                typedef struct index_st index_t;
+                int x,y;
+                x = offsetof(struct index_st, len);
+                y = offsetof(index_t, num)],
+               AC_DEFINE([HAVE_OFFSETOF], [1],
+                         [Define if the offsetof extension is present])
+               AC_MSG_RESULT([yes]),
+               AC_MSG_RESULT([no]))
+
 AC_MSG_CHECKING(if $CXX needs old style header files in includes)
 AC_TRY_RUN([
 #include <iostream>
@@ -764,6 +799,24 @@
 AC_SUBST(DYNAMIC_DIRS)
 
 dnl ----------------------------------------------------------------------
+dnl Check if they would like the High Level library  compiled
+dnl
+AC_SUBST(HL) HL=""
+AC_MSG_CHECKING([if high level library is enabled])
+AC_ARG_ENABLE([hl],
+     [AC_HELP_STRING([--enable-hl],
+                     [Enable the high level library [default=yes]])],
+     [HDF5_HL=$enableval],
+     [HDF5_HL=yes])
+
+if test "X$HDF5_HL" = "Xyes"; then
+ echo "yes"
+ HL="hl"
+else
+ echo "no"
+fi
+
+dnl ----------------------------------------------------------------------
 dnl Build the Makefiles.  Almost every Makefile.in will begin with the line
 dnl `@COMMENCE@' and end with the line `@CONCLUDE@'.  These lines insert
 dnl various files from the config directory into the Makefile.
@@ -808,6 +861,7 @@
                  src/Makefile
                  src/h5c++
                  test/Makefile
+                 examples/testh5c++.sh
                  examples/Makefile])
 AC_OUTPUT
 no_create=$saved_no_create
@@ -836,19 +890,20 @@
   fi
 fi
 
+dnl cache the output to be printed later.
+config_summary="../#c++_configure_summary"
+rm -f $config_summary
+
 PRINT_PLAIN() {
-  echo $ECHO_N "$1$ECHO_C"
-  echo $ECHO_N "$1$ECHO_C" 1>>src/libhdf5_cpp.settings
+  echo $ECHO_N "$1$ECHO_C" 1>>$config_summary
 }
 
 PRINT_N() {
-  echo $ECHO_N "$1:  $ECHO_C"
-  echo $ECHO_N "$1:  $ECHO_C" 1>>src/libhdf5_cpp.settings
+  echo $ECHO_N "$1:  $ECHO_C" 1>>$config_summary
 }
 
 PRINT() {
-  echo "$1"
-  echo "$1" 1>>src/libhdf5_cpp.settings
+  echo "$1" 1>>$config_summary
 }
 
 dnl ----------------------------------------------------------------------
@@ -878,13 +933,8 @@
   fi
 }
 
-PRINT "C++ Configure Summary"
-PRINT "Compiling Options:"
-
 PRINT_N "                   C++ Compiler"
 PRINT "$CXX"
 
 PRINT_N "                       CXXFLAGS"
 PRINT "$CXXFLAGS"
-
-PRINT "Features:"

Modified: packages/hdf5/branches/upstream/current/c++/examples/Dependencies
===================================================================
--- packages/hdf5/branches/upstream/current/c++/examples/Dependencies	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/examples/Dependencies	2007-09-19 15:24:24 UTC (rev 1093)
@@ -2,15 +2,16 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 

Modified: packages/hdf5/branches/upstream/current/c++/examples/Makefile.in
===================================================================
--- packages/hdf5/branches/upstream/current/c++/examples/Makefile.in	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/examples/Makefile.in	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,20 +1,21 @@
 ## HDF5-C++ examples/Makefile(.in)
 ##
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
 ##
 ##
-##
 top_srcdir=@top_srcdir@/..
 top_builddir=../..
 srcdir=@srcdir@
@@ -33,7 +34,7 @@
 ## created by replacing the `.cpp' with a `.lo'. This list is necessary
 ## for building automatic dependencies.
 TEST_SRC=create.cpp readdata.cpp writedata.cpp compound.cpp extend_ds.cpp \
-	 chunks.cpp h5group.cpp
+	 chunks.cpp h5group.cpp strtype.cpp
 TEST_OBJ=$(TEST_SRC:.cpp=.lo)
 
 EXAMPLE_PROGS=$(TEST_SRC)
@@ -41,15 +42,16 @@
 ## These are the programs that `make all' or `make tests' will build and which
 ## `make check' will run. List them in the order they should be run.
 TEST_PROGS=$(TEST_SRC:.cpp=)
+TEST_SCRIPTS=testh5c++.sh
 
-##TEST_SCRIPTS=$(srcdir)/testexamples.sh
-
 ## These are the files that `make clean' (and derivatives) will remove from
 ## this directory.
 CLEAN=*.h5
+DISTCLEAN=testh5c++.sh
 
-## How to build the programs... they all depend on the Fortran & C hdf5 libraries
-$(TEST_PROGS): $(LIB) $(LIBHDF5)
+## How to build the programs... they depend only on the installed library
+## and h5c++.
+$(TEST_PROGS):
 
 compound: $(srcdir)/compound.cpp
 	$(CXX) $(CPPFLAGS) -o $@ $(srcdir)/compound.cpp
@@ -69,6 +71,9 @@
 extend_ds: $(srcdir)/extend_ds.cpp
 	$(CXX) $(CPPFLAGS) -o $@ $(srcdir)/extend_ds.cpp
 
+strtype: $(srcdir)/strtype.cpp
+	$(CXX) $(CPPFLAGS) -o $@ $(srcdir)/strtype.cpp
+
 writedata: $(srcdir)/writedata.cpp
 	$(CXX) $(CPPFLAGS) -o $@ $(srcdir)/writedata.cpp
 

Modified: packages/hdf5/branches/upstream/current/c++/examples/chunks.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/examples/chunks.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/examples/chunks.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -17,21 +18,28 @@
  *   We will read from the file created by extend.C
  */
 
-#include <string>
-
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string FILE_NAME( "SDSextendible.h5" );
-const string DATASET_NAME( "ExtendibleArray" );
+const H5std_string FILE_NAME( "SDSextendible.h5" );
+const H5std_string DATASET_NAME( "ExtendibleArray" );
 const int      NX = 10;
 const int      NY = 5;
 const int      RANK = 2;

Modified: packages/hdf5/branches/upstream/current/c++/examples/compound.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/examples/compound.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/examples/compound.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -18,24 +19,31 @@
  * and read back fields' subsets.
  */
 
-#include <string>
-
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string FILE_NAME( "SDScompound.h5" );
-const string DATASET_NAME( "ArrayOfStructures" );
-const string MEMBER1( "a_name" );
-const string MEMBER2( "b_name" );
-const string MEMBER3( "c_name" );
+const H5std_string FILE_NAME( "SDScompound.h5" );
+const H5std_string DATASET_NAME( "ArrayOfStructures" );
+const H5std_string MEMBER1( "a_name" );
+const H5std_string MEMBER2( "b_name" );
+const H5std_string MEMBER3( "c_name" );
 const int   LENGTH = 10;
 const int   RANK = 1;
 
@@ -116,7 +124,7 @@
       if( member1_class == H5T_FLOAT )
       {
 	 FloatType member2 = mtype1.getMemberFloatType( 2 );
-	 string norm_string;
+	 H5std_string norm_string;
 	 H5T_norm_t norm = member2.getNorm( norm_string );
 	 cout << "Normalization type is " << norm_string << endl;
       }

Modified: packages/hdf5/branches/upstream/current/c++/examples/create.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/examples/create.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/examples/create.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -23,14 +24,15 @@
 #else
 #include <iostream>
 #endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string	FILE_NAME( "SDS.h5" );
-const string	DATASET_NAME( "IntArray" );
+const H5std_string	FILE_NAME( "SDS.h5" );
+const H5std_string	DATASET_NAME( "IntArray" );
 const int 	NX = 5;                    // dataset dimensions
 const int 	NY = 6;
 const int 	RANK = 2;

Modified: packages/hdf5/branches/upstream/current/c++/examples/expected.out
===================================================================
--- packages/hdf5/branches/upstream/current/c++/examples/expected.out	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/examples/expected.out	2007-09-19 15:24:24 UTC (rev 1093)
@@ -80,3 +80,9 @@
 Iterating over elements in the file again
 Name : Data_new
 
+data read:
+Four score and seven years ago our forefathers brought forth on this continent a new nation,
+conceived in liberty and dedicated to the proposition that all men are created equal.
+Now we are engaged in a great civil war,
+testing whether that nation or any nation so conceived and so dedicated can long endure.
+

Modified: packages/hdf5/branches/upstream/current/c++/examples/extend_ds.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/examples/extend_ds.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/examples/extend_ds.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -19,21 +20,28 @@
  *
  */
 
-#include <string>
-
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string FILE_NAME( "SDSextendible.h5" );
-const string DATASET_NAME( "ExtendibleArray" );
+const H5std_string FILE_NAME( "SDSextendible.h5" );
+const H5std_string DATASET_NAME( "ExtendibleArray" );
 const int      NX = 10;
 const int      NY = 5;
 const int      RANK = 2;

Modified: packages/hdf5/branches/upstream/current/c++/examples/h5group.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/examples/h5group.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/examples/h5group.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -20,20 +21,27 @@
  * Note that the C++ API iterator function is not completed yet, thus
  * the C version is used in this example.
  */
-#include <string>
-
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string	FILE_NAME( "Group.h5" );
+const H5std_string	FILE_NAME( "Group.h5" );
 const int	RANK = 2;
 
 // Operator function

Modified: packages/hdf5/branches/upstream/current/c++/examples/readdata.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/examples/readdata.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/examples/readdata.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 //
@@ -18,21 +19,28 @@
 //      information about the dataset in the SDS.h5 file is obtained.
 //
 
-#include <string>
-
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string FILE_NAME( "SDS.h5" );
-const string DATASET_NAME( "IntArray" );
+const H5std_string FILE_NAME( "SDS.h5" );
+const H5std_string DATASET_NAME( "IntArray" );
 const int    NX_SUB = 3;	// hyperslab dimensions
 const int    NY_SUB = 4;
 const int    NX = 7;		// output buffer dimensions
@@ -93,7 +101,7 @@
          /*
           * Get order of datatype and print message if it's a little endian.
           */
-	 string order_string;
+	 H5std_string order_string;
          H5T_order_t order = intype.getOrder( order_string );
 	 cout << order_string << endl;
 

Added: packages/hdf5/branches/upstream/current/c++/examples/strtype.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/examples/strtype.cpp	                        (rev 0)
+++ packages/hdf5/branches/upstream/current/c++/examples/strtype.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -0,0 +1,150 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/* (wrong, need to change to this example!!!)
+
+ *  This program shows how the select_hyperslab and select_elements
+ *  functions are used to write selected data from memory to the file.
+ *  Program takes 48 elements from the linear buffer and writes them into
+ *  the matrix using 3x2 blocks, (4,3) stride and (2,4) count.
+ *  Then four elements  of the matrix are overwritten with the new values and
+ *  file is closed. Program reopens the file and reads and displays the result.
+ */
+
+#ifdef OLD_HEADER_FILENAME
+#include <iostream.h>
+#else
+#include <iostream>
+#endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
+#include "H5Cpp.h"      // C++ API header file
+
+#ifndef H5_NO_NAMESPACE
+using namespace H5;
+#endif
+
+const H5std_string      FILE_NAME( "varlen.h5");
+const H5std_string DSET_VLSTR_NAME( "vlstr_type" );
+const int   SPACE1_DIM1 = 4;
+const int   SPACE1_RANK = 1;
+
+int main()
+{
+    const char *wdata[SPACE1_DIM1]= {
+        "Four score and seven years ago our forefathers brought forth on this continent a new nation,",
+        "conceived in liberty and dedicated to the proposition that all men are created equal.",
+        "Now we are engaged in a great civil war,",
+        "testing whether that nation or any nation so conceived and so dedicated can long endure."
+        };   /* Information to write */
+    char *rdata[SPACE1_DIM1];   /* Information read in */
+    hid_t		native_type;       /* Datatype ID */
+    hsize_t		dims1[] = {SPACE1_DIM1};
+
+   // Try block to detect exceptions raised by any of the calls inside it
+   try
+   {
+      /*
+       * Turn off the auto-printing when failure occurs so that we can
+       * handle the errors appropriately
+       */
+      Exception::dontPrint();
+
+      /*
+       * Create a new file using H5F_ACC_TRUNC access,
+       * default file creation properties, and default file
+       * access properties.
+       */
+      H5File file( FILE_NAME, H5F_ACC_TRUNC );
+
+      /* Create dataspace for datasets */
+      DataSpace sid1(SPACE1_RANK, dims1);
+
+      /* Create a variable-length datatype */
+      StrType tid1(0, H5T_VARIABLE);
+
+      /*
+       * Create a new dataset within the file using defined dataspace and
+       * datatype and default dataset creation properties.
+       */
+      DataSet dataset = file.createDataSet(DSET_VLSTR_NAME, tid1, sid1);
+
+      /*
+       * Write the data to the dataset using default memory space, file
+       * space, and transfer properties.
+       */
+      dataset.write((void*)wdata, tid1);
+
+      /* Close Dataset */
+      dataset.close();
+
+      /* Re-open the dataset */
+      dataset = file.openDataSet(DSET_VLSTR_NAME);
+
+      /* Get datatype for dataset */
+      DataType dtype = dataset.getDataType();
+
+      /* Read dataset from disk */
+      dataset.read((void*)rdata, dtype);
+
+      /* Print data read in */
+      unsigned i;
+      cout << "data read:" << endl;
+      for(i=0; i<SPACE1_DIM1; i++)
+	  cout << wdata[i] << endl;
+      cout << endl;
+
+      /* Free memory for rdata */
+      for(i=0; i<SPACE1_DIM1; i++) {
+          free(rdata[i]);
+      }
+   } // end of try block
+
+   // catch failure caused by the H5File operations
+   catch( FileIException error )
+   {
+      error.printError();
+      return -1;
+   }
+
+   // catch failure caused by the DataSet operations
+   catch( DataSetIException error )
+   {
+      error.printError();
+      return -1;
+   }
+
+   // catch failure caused by the DataSpace operations
+   catch( DataSpaceIException error )
+   {
+      error.printError();
+      return -1;
+   }
+
+   // catch failure caused by the DataSpace operations
+   catch( DataTypeIException error )
+   {
+      error.printError();
+      return -1;
+   }
+   return 0;  // successfully terminated
+}

Modified: packages/hdf5/branches/upstream/current/c++/examples/testexamples.sh
===================================================================
--- packages/hdf5/branches/upstream/current/c++/examples/testexamples.sh	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/examples/testexamples.sh	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 #!/bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 CMP='cmp -s'
 DIFF='diff -c'
@@ -44,6 +45,7 @@
    ./extend_ds
    ./chunks
    ./h5group
+   ./strtype
 ) > $actual
 
 if $CMP $expect $actual; then

Added: packages/hdf5/branches/upstream/current/c++/examples/testh5c++.sh.in
===================================================================
--- packages/hdf5/branches/upstream/current/c++/examples/testh5c++.sh.in	                        (rev 0)
+++ packages/hdf5/branches/upstream/current/c++/examples/testh5c++.sh.in	2007-09-19 15:24:24 UTC (rev 1093)
@@ -0,0 +1,273 @@
+#! /bin/sh
+#
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
+#
+# Tests for the h5c++ compiler tool
+# Created: Albert Cheng, 2007/3/14
+#
+# Modification:
+#
+
+# Initializations
+# Where the tool is installed.
+prefix="${prefix:- at prefix@}"
+AR=@AR@
+RANLIB=@RANLIB@
+H5TOOL="h5c++"           	# The tool name
+H5TOOL_BIN="${prefix}/bin/${H5TOOL}"   # The path of the tool binary
+
+CMP='cmp -s'
+DIFF='diff -c'
+
+nerrors=0
+verbose=yes
+
+# setup my machine information.
+myos=`uname -s`
+myhostnama=`uname -n`
+
+# The build (current) directory might be different than the source directory.
+if test -z "$srcdir"; then
+   srcdir=.
+fi
+
+# Generate some source files and library for tests.
+suffix=cpp		# source file suffix
+hdf5main=${H5TOOL}_hdf5main.$suffix
+hdf5main_o=${H5TOOL}_hdf5main.o
+appmain=${H5TOOL}_appmain.$suffix
+appmain_o=${H5TOOL}_appmain.o
+prog1=${H5TOOL}_prog1.$suffix
+prog1_o=${H5TOOL}_prog1.o
+prog2=${H5TOOL}_prog2.$suffix
+prog2_o=${H5TOOL}_prog2.o
+applib=libapp${H5TOOL}.a
+
+# short hands
+temp_SRC="$hdf5main $appmain $prog1 $prog2"
+temp_OBJ=`echo $temp_SRC | sed -e "s/\.${suffix}/.o/g"`
+temp_FILES="a.out *.h5 $applib"
+
+# Generate appmain:
+# An application Main that calls hdf5 and application's own functions.
+cat > $appmain <<EOF
+#include <string>
+
+#ifdef OLD_HEADER_FILENAME
+#include <iostream.h>
+#else
+#include <iostream>
+#endif
+
+#include "H5Cpp.h"
+
+#ifndef H5_NO_NAMESPACE
+using namespace H5;
+#endif
+
+const H5std_string	FILE_NAME( "tmpapp.h5" );
+int sub1(void);
+int sub2(void);
+
+int main (void)
+{
+    sub1();
+    sub2();
+    H5File file( FILE_NAME, H5F_ACC_TRUNC );
+    return 0;
+}
+
+EOF
+
+# generate prog1
+cat > $prog1 <<EOF
+#ifdef OLD_HEADER_FILENAME
+    #include <iostream.h>
+#else
+    #include <iostream>
+#endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+int sub1(void)
+{
+    cout << "in sub1" << endl;
+    return 0;
+}
+EOF
+
+# generate prog2
+cat > $prog2 <<EOF
+#ifdef OLD_HEADER_FILENAME
+    #include <iostream.h>
+#else
+    #include <iostream>
+#endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+int sub2(void)
+{
+    cout << "in sub2" << endl;
+    return 0;
+}
+EOF
+
+# Generate HDF5 Main Program:
+# An HDF5 sample program that calls hdf5 functions.
+cat > $hdf5main <<EOF
+#include <string>
+
+#ifdef OLD_HEADER_FILENAME
+#include <iostream.h>
+#else
+#include <iostream>
+#endif
+
+#include "H5Cpp.h"
+
+#ifndef H5_NO_NAMESPACE
+using namespace H5;
+#endif
+
+const H5std_string	FILE_NAME( "tmphdf5.h5" );
+
+int main (void)
+{
+    H5File file( FILE_NAME, H5F_ACC_TRUNC );
+    return 0;
+}
+EOF
+
+
+# Parse option
+#   None
+
+# Print a line-line message left justified in a field of 70 characters
+# beginning with the word "Testing".
+#
+TESTING() {
+   SPACES="                                                               "
+   echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
+}
+
+
+# Debug printing
+# Change : to echo to print the debug statement
+DPRINT() {
+    : $*
+}
+
+# Run a test and print PASS or *FAIL*.  If a test fails then increment
+# the `nerrors' global variable and (if $verbose is set) display the
+# failed output.  The actual output is not removed if $HDF5_NOCLEANUP is
+# defined.
+#
+TOOLTEST() {
+    out=test_$H5TOOL_$$.out
+    err=test_$H5TOOL_$$.err
+
+    # Run test.
+    TESTING $H5TOOL $@
+    $H5TOOL_BIN $@ > $out 2>&1
+    result=$?
+    if [ $result = 0 ]; then
+	echo " PASSED"
+    else
+	echo "*FAILED*"
+	nerrors="`expr $nerrors + 1`"
+	test yes = "$verbose" && \
+	    ( echo "========== results ==========="; cat $out;
+	      echo "===============================================") |sed 's/^/    /'
+    fi
+
+    # Clean up output file
+    if test -z "$HDF5_NOCLEANUP"; then
+	rm -f $out
+    fi
+}
+
+# Print a "SKIP" message
+SKIP() {
+	 TESTING $H5TOOL $@
+	  echo  " -SKIP-"
+}
+
+
+##############################################################################
+###			  T H E   T E S T S                                ###
+##############################################################################
+#
+# HDF5 program that calls HDF5 APIs.
+echo "***"Simple Compile and Link in one step.
+TOOLTEST $hdf5main
+# Application program that calls HDF5 and its own functions.
+TOOLTEST $appmain $prog1 $prog2
+
+# Compile, then link.
+echo "***"Compile and Link in two steps.
+TOOLTEST -c $hdf5main
+TOOLTEST $hdf5main_o
+TOOLTEST -c $appmain $prog1 $prog2
+TOOLTEST $appmain_o $prog1_o $prog2_o
+
+# Build external library, then link with it.
+echo "***"Build external library and link with it.
+TOOLTEST -c $prog1 $prog2
+rm -f $applib
+$AR cru $applib $prog1_o $prog2_o
+$RANLIB $applib
+TOOLTEST $appmain $applib
+TOOLTEST $appmain_o $applib
+# This is peculiar but should work. (See bug ID 729)
+TOOLTEST -c $hdf5main
+rm -f $applib
+$AR cru $applib $hdf5main_o
+$RANLIB $applib
+# SunOS does not support this. Skip it.
+if [ $myos = SunOS ]; then
+    SKIP -o a.out $applib
+else
+    TOOLTEST -o a.out $applib
+fi
+
+# Just preprocess, no compile, no link.
+echo "***"Just preprocess, no compile, no link.
+TOOLTEST -E $hdf5main
+TOOLTEST -E $appmain $prog1 $prog2
+
+##############################################################################
+# END
+##############################################################################
+
+# Clean up  file
+if test -z "$HDF5_NOCLEANUP"; then
+    rm -f $temp_SRC $temp_OBJ $temp_FILES
+fi
+
+if test $nerrors -eq 0 ; then
+   echo "All $H5TOOL tests passed."
+fi
+
+exit $nerrors


Property changes on: packages/hdf5/branches/upstream/current/c++/examples/testh5c++.sh.in
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/hdf5/branches/upstream/current/c++/examples/writedata.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/examples/writedata.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/examples/writedata.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -21,21 +22,28 @@
  *  file is closed. Program reopens the file and reads and displays the result.
  */
 
-#include <string>
-
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string FILE_NAME( "Select.h5" );
-const string DATASET_NAME( "Matrix in file" );
+const H5std_string FILE_NAME( "Select.h5" );
+const H5std_string DATASET_NAME( "Matrix in file" );
 const int   MSPACE1_RANK = 1;	// Rank of the first dataset in memory
 const int   MSPACE1_DIM = 50;   // Dataset size in memory
 const int   MSPACE2_RANK = 1;	// Rank of the second dataset in memory

Modified: packages/hdf5/branches/upstream/current/c++/src/Dependencies
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/Dependencies	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/Dependencies	2007-09-19 15:24:24 UTC (rev 1093)
@@ -2,15 +2,16 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 

Modified: packages/hdf5/branches/upstream/current/c++/src/H5AbstractDs.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5AbstractDs.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5AbstractDs.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -62,10 +63,19 @@
    // Gets the datatype used by this dataset or attribute.
    // p_get_type calls either H5Dget_type or H5Aget_type depending on
    // which object invokes getTypeClass
-   DataType datatype(p_get_type());
+   hid_t datatype_id;
+   try {
+      datatype_id = p_get_type();  // returned value is already validated
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getTypeClass", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getTypeClass", E.getDetailMsg());
+   }
 
    // Gets the class of the datatype and validate it before returning
-   H5T_class_t type_class = H5Tget_class( datatype.getId());
+   H5T_class_t type_class = H5Tget_class(datatype_id);
    if( type_class != H5T_NO_CLASS )
       return( type_class );
    else
@@ -85,19 +95,25 @@
 //--------------------------------------------------------------------------
 DataType AbstractDs::getDataType() const
 {
-   // Gets the id of the datatype used by this dataset or attribute.
-   // p_get_type calls either H5Dget_type or H5Aget_type depending on
-   // which object invokes getTypeClass
-   hid_t datatype_id = p_get_type();  // returned value is already validated
-
-   // Create and return the DataType object
-   DataType datatype( datatype_id );
-   return( datatype );
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getDataType.  Then, create and
+   // return the DataType object
+   try {
+      DataType datatype(p_get_type());
+      return(datatype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getDataType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getDataType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
 // Function:	AbstractDs::getArrayType
-///\brief	Returns the compound datatype of this abstract dataset which
+///\brief	Returns the array datatype of this abstract dataset which
 ///		can be a dataset or an attribute.
 ///\return	ArrayType instance
 ///\exception	H5::DataTypeIException
@@ -105,8 +121,20 @@
 //--------------------------------------------------------------------------
 ArrayType AbstractDs::getArrayType() const
 {
-   ArrayType arraytype(p_get_type());
-   return(arraytype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getArrayType.  Then, create and
+   // return the ArrayType object
+   try {
+      ArrayType arraytype(p_get_type());
+      return(arraytype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getArrayType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getArrayType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -119,8 +147,20 @@
 //--------------------------------------------------------------------------
 CompType AbstractDs::getCompType() const
 {
-   CompType comptype(p_get_type());
-   return(comptype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getCompType.  Then, create and
+   // return the CompType object
+   try {
+      CompType comptype(p_get_type());
+      return(comptype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getCompType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getCompType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -133,36 +173,72 @@
 //--------------------------------------------------------------------------
 EnumType AbstractDs::getEnumType() const
 {
-   EnumType enumtype(p_get_type());
-   return(enumtype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getEnumType.  Then, create and
+   // return the EnumType object
+   try {
+      EnumType enumtype(p_get_type());
+      return(enumtype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getEnumType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getEnumType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
-// Function:	AbstractDs::getFloatType
-///\brief	Returns the floating-point datatype of this abstract dataset,
-///		which can be a dataset or an attribute.
-///\return	FloatType instance
+// Function:	AbstractDs::getIntType
+///\brief	Returns the integer datatype of this abstract dataset which
+///		can be a dataset or an attribute.
+///\return	IntType instance
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-FloatType AbstractDs::getFloatType() const
+IntType AbstractDs::getIntType() const
 {
-   FloatType floatype(p_get_type());
-   return(floatype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getIntType.  Then, create and
+   // return the IntType object
+   try {
+      IntType inttype(p_get_type());
+      return(inttype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getIntType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getIntType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
-// Function:	AbstractDs::getIntType
-///\brief	Returns the integer datatype of this abstract dataset which
-///		can be a dataset or an attribute.
-///\return	IntType instance
+// Function:	AbstractDs::getFloatType
+///\brief	Returns the floating-point datatype of this abstract dataset,
+///		which can be a dataset or an attribute.
+///\return	FloatType instance
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-IntType AbstractDs::getIntType() const
+FloatType AbstractDs::getFloatType() const
 {
-   IntType inttype(p_get_type());
-   return(inttype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getFloatType.  Then, create and
+   // return the FloatType object
+   try {
+      FloatType floatype(p_get_type());
+      return(floatype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getFloatType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getFloatType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -175,8 +251,20 @@
 //--------------------------------------------------------------------------
 StrType AbstractDs::getStrType() const
 {
-   StrType strtype(p_get_type());
-   return(strtype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getStrType.  Then, create and
+   // return the StrType object
+   try {
+      StrType strtype(p_get_type());
+      return(strtype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getStrType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getStrType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -189,8 +277,20 @@
 //--------------------------------------------------------------------------
 VarLenType AbstractDs::getVarLenType() const
 {
-   VarLenType varlentype(p_get_type());
-   return(varlentype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getVarLenType.  Then, create and
+   // return the VarLenType object
+   try {
+      VarLenType varlentype(p_get_type());
+      return(varlentype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getVarLenType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getVarLenType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------

Modified: packages/hdf5/branches/upstream/current/c++/src/H5AbstractDs.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5AbstractDs.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5AbstractDs.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // Class AbstractDs is an abstract base class, from which Attribute and
@@ -24,6 +25,7 @@
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
 #endif
+
 class ArrayType;
 class CompType;
 class EnumType;
@@ -37,23 +39,23 @@
 	// Note that this datatype is a generic one and can only be accessed
 	// via generic member functions, i.e., member functions belong
 	// to DataType.  To get specific datatype, i.e. EnumType, FloatType,
-	// etc..., use the specific functions, that follow, instead .
+	// etc..., use the specific functions, that follow, instead.
 	DataType getDataType() const;
 
-        // Gets a copy of the specific datatype of this abstract dataset
-        ArrayType getArrayType() const;
-        CompType getCompType() const;
-        EnumType getEnumType() const;
-        FloatType getFloatType() const;
-        IntType getIntType() const;
-        StrType getStrType() const;
-        VarLenType getVarLenType() const;
+	// Gets a copy of the specific datatype of this abstract dataset.
+	ArrayType getArrayType() const;
+	CompType getCompType() const;
+	EnumType getEnumType() const;
+	IntType getIntType() const;
+	FloatType getFloatType() const;
+	StrType getStrType() const;
+	VarLenType getVarLenType() const;
 
-	// Gets the dataspace of this abstract dataset - pure virtual
+	// Gets the dataspace of this abstract dataset - pure virtual.
 	virtual DataSpace getSpace() const = 0;
 
-        // Gets the class of the datatype that is used by this abstract
-	// dataset
+	// Gets the class of the datatype that is used by this abstract
+	// dataset.
 	H5T_class_t getTypeClass() const;
 
 	// Returns the amount of storage size required for this abstract
@@ -63,6 +65,7 @@
 	// Copy constructor
 	AbstractDs( const AbstractDs& original );
 
+	// Destructor
 	virtual ~AbstractDs();
 
    protected:

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Alltypes.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Alltypes.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Alltypes.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // This header file simply serves as a container to hold the

Modified: packages/hdf5/branches/upstream/current/c++/src/H5ArrayType.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5ArrayType.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5ArrayType.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>

Modified: packages/hdf5/branches/upstream/current/c++/src/H5ArrayType.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5ArrayType.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5ArrayType.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // Class ArrayType inherits from DataType and provides wrappers for the
@@ -22,6 +23,7 @@
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
 #endif
+
 class H5_DLLCPP ArrayType : public DataType {
    public:
 	// Constructor that creates a new array data type based on the
@@ -35,7 +37,7 @@
 	int getArrayDims(hsize_t* dims);
 
 	// Returns this class name
-	virtual string fromClass () const { return ("ArrayType"); }
+	virtual H5std_string fromClass () const { return("ArrayType"); }
 
 	// Copy constructor: makes copy of the original object.
 	ArrayType( const ArrayType& original );

Modified: packages/hdf5/branches/upstream/current/c++/src/H5AtomType.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5AtomType.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5AtomType.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -71,14 +72,14 @@
 }
 
 //--------------------------------------------------------------------------
-// Function:    AtomType::getOrder
-///\brief       Returns the byte order of an atomic datatype.
-///\return      Byte order, which can be:
-///             \li \c H5T_ORDER_LE
-///             \li \c H5T_ORDER_BE
-///             \li \c H5T_ORDER_VAX
-///\exception   H5::DataTypeIException
-// Programmer   Binh-Minh Ribler - Mar, 2005
+// Function:	AtomType::getOrder
+///\brief	Returns the byte order of an atomic datatype.
+///\return	Byte order, which can be:
+///		\li \c H5T_ORDER_LE
+///		\li \c H5T_ORDER_BE
+///		\li \c H5T_ORDER_VAX
+///\exception	H5::DataTypeIException
+// Programmer	Binh-Minh Ribler - Mar, 2005
 //--------------------------------------------------------------------------
 H5T_order_t AtomType::getOrder() const
 {
@@ -89,29 +90,29 @@
    if( type_order == H5T_ORDER_ERROR )
    {
       throw DataTypeIException(inMemFunc("getOrder"),
-                "H5Tget_order returns H5T_ORDER_ERROR");
+		"H5Tget_order returns H5T_ORDER_ERROR");
    }
    return( type_order );
 }
 
 //--------------------------------------------------------------------------
-// Function:    AtomType::getOrder
-///\brief       This is an overloaded member function, provided for convenience.
-///             It takes a reference to a \c std::string for the buffer that
-///             provide the text description of the returned byte order.
-///             The text description can be either of the following:
-///             "Little endian byte ordering (0)";
-///             "Big endian byte ordering (1)";
-///             "VAX mixed byte ordering (2)";
-///\param       order_string - OUT: Text description of the returned byte order
-///\return      Byte order, which can be:
-///             \li \c H5T_ORDER_LE
-///             \li \c H5T_ORDER_BE
-///             \li \c H5T_ORDER_VAX
-///\exception   H5::DataTypeIException
-// Programmer   Binh-Minh Ribler - 2000
+// Function:	AtomType::getOrder
+///\brief	This is an overloaded member function, provided for convenience.
+///		It takes a reference to a \c H5std_string for the buffer that
+///		provide the text description of the returned byte order.
+///		The text description can be either of the following:
+///		"Little endian byte ordering (0)";
+///		"Big endian byte ordering (1)";
+///		"VAX mixed byte ordering (2)";
+///\param	order_string - OUT: Text description of the returned byte order
+///\return	Byte order, which can be:
+///		\li \c H5T_ORDER_LE
+///		\li \c H5T_ORDER_BE
+///		\li \c H5T_ORDER_VAX
+///\exception	H5::DataTypeIException
+// Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5T_order_t AtomType::getOrder( string& order_string ) const
+H5T_order_t AtomType::getOrder( H5std_string& order_string ) const
 {
    // Call the overloaded to get the type order without text
    H5T_order_t type_order = getOrder();
@@ -177,7 +178,7 @@
 ///\exception	H5::DataTypeIException
 ///\par Description
 ///		For information, please see C layer Reference Manuat at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetPrecision
+/// <A HREF="../RM_H5T.html#Datatype-SetPrecision">../RM_H5T.html#Datatype-SetPrecision</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void AtomType::setPrecision( size_t precision ) const
@@ -197,7 +198,7 @@
 ///\exception	H5::DataTypeIException
 ///\par Description
 ///		For information, please see C layer Reference Manuat at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-GetOffset
+/// <A HREF="../RM_H5T.html#Datatype-GetOffset">../RM_H5T.html#Datatype-GetOffset</A>
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
 //		12/05/00: due to C API change
@@ -224,7 +225,7 @@
 ///\exception	H5::DataTypeIException
 ///\par Description
 ///		For information, please see C layer Reference Manuat at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetOffset
+/// <A HREF="../RM_H5T.html#Datatype-SetOffset">../RM_H5T.html#Datatype-SetOffset</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void AtomType::setOffset( size_t offset ) const
@@ -262,7 +263,7 @@
 }
 
 //--------------------------------------------------------------------------
-// Function:	AtomType::getPad
+// Function:	AtomType::setPad
 ///\brief	Sets the least and most-significant bits padding types.
 ///\param	lsb - IN: Least-significant bit padding type
 ///\param	msb - IN: Most-significant bit padding type

Modified: packages/hdf5/branches/upstream/current/c++/src/H5AtomType.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5AtomType.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5AtomType.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // Class AtomType is a base class, from which IntType, FloatType, StrType,
@@ -24,11 +25,12 @@
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
 #endif
+
 class H5_DLLCPP AtomType : public DataType {
    public:
 	// Returns the byte order of an atomic datatype.
 	H5T_order_t getOrder() const;
-	H5T_order_t getOrder( string& order_string ) const;
+	H5T_order_t getOrder( H5std_string& order_string ) const;
 
 	// Sets the byte ordering of an atomic datatype.
 	void setOrder( H5T_order_t order ) const;
@@ -56,7 +58,7 @@
 	void setSize( size_t size ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("AtomType"); }
+	virtual H5std_string fromClass () const { return("AtomType"); }
 
 	// Copy constructor - makes copy of the original object
 	AtomType( const AtomType& original );

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Attribute.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Attribute.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Attribute.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -30,9 +31,14 @@
 #include "H5CommonFG.h"
 #include "H5DataType.h"
 #include "H5DataSpace.h"
+#include "H5private.h"
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
@@ -80,19 +86,19 @@
 //--------------------------------------------------------------------------
 // Function:	Attribute::write
 ///\brief	This is an overloaded member function, provided for convenience.
-///		It writes a \a std::string to this attribute.
+///		It writes a \a H5std_string to this attribute.
 ///\param	mem_type  - IN: Attribute datatype (in memory)
 ///\param	strg      - IN: Data to be written
 ///\exception	H5::AttributeIException
 // Programmer	Binh-Minh Ribler - Apr, 2003
 //--------------------------------------------------------------------------
-void Attribute::write( const DataType& mem_type, const string& strg ) const
+void Attribute::write( const DataType& mem_type, const H5std_string& strg ) const
 {
    // Convert string to C-string
    const char* strg_C;
    strg_C = strg.c_str();  // strg_C refers to the contents of strg as a C-str
 
-   herr_t ret_value = H5Awrite( id, mem_type.getId(), strg_C );
+   herr_t ret_value = H5Awrite( id, mem_type.getId(), &strg_C );
    if( ret_value < 0 )
    {
       throw AttributeIException("Attribute::write", "H5Awrite failed");
@@ -119,23 +125,25 @@
 //--------------------------------------------------------------------------
 // Function:	Attribute::read
 ///\brief	This is an overloaded member function, provided for convenience.
-///		It reads a \a std::string from this attribute.
+///		It reads a \a H5std_string from this attribute.
 ///\param	mem_type  - IN: Attribute datatype (in memory)
 ///\param	strg      - IN: Buffer for read string
 ///\exception	H5::AttributeIException
 // Programmer	Binh-Minh Ribler - Apr, 2003
 //--------------------------------------------------------------------------
-void Attribute::read( const DataType& mem_type, string& strg ) const
+void Attribute::read( const DataType& mem_type, H5std_string& strg ) const
 {
-   size_t size = mem_type.getSize();
-   char* strg_C = new char[size+1];  // temporary C-string for C API
-   herr_t ret_value = H5Aread( id, mem_type.getId(), strg_C );
+   char* strg_C;  // temporary C-string for C API
+
+   // call C API to get the attribute string of chars
+   herr_t ret_value = H5Aread( id, mem_type.getId(), &strg_C);
+
    if( ret_value < 0 )
    {
       throw AttributeIException("Attribute::read", "H5Aread failed");
    }
-   strg = strg_C;
-   delete []strg_C;
+   strg = strg_C;       // get 'string' from the C char*
+   HDfree(strg_C);
 }
 
 //--------------------------------------------------------------------------
@@ -191,7 +199,7 @@
 ///\exception	H5::AttributeIException
 // Programmer	Binh-Minh Ribler - Nov, 2001
 //--------------------------------------------------------------------------
-ssize_t Attribute::getName( size_t buf_size, string& attr_name ) const
+ssize_t Attribute::getName( size_t buf_size, H5std_string& attr_name ) const
 {
    char* name_C = new char[buf_size+1];  // temporary C-string for C API
 
@@ -219,9 +227,9 @@
 ///\exception	H5::AttributeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string Attribute::getName( size_t buf_size ) const
+H5std_string Attribute::getName( size_t buf_size ) const
 {
-   string attr_name;
+   H5std_string attr_name;
    ssize_t name_size = getName( buf_size, attr_name );
    return( attr_name );
    // let caller catch exception if any
@@ -236,7 +244,7 @@
 ///\exception	H5::AttributeIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
-string Attribute::getName() const
+H5std_string Attribute::getName() const
 {
    // Try with 256 characters for the name first, if the name's length
    // returned is more than that then, read the name again with the
@@ -244,7 +252,7 @@
    char* name_C = new char[256];  // temporary C-string for C API
    ssize_t name_size = H5Aget_name(id, 255, name_C);
 
-   string attr_name;
+   H5std_string attr_name;
    if (name_size >= 256)
       name_size = getName(name_size, attr_name);
 
@@ -280,13 +288,16 @@
 //--------------------------------------------------------------------------
 void Attribute::close()
 {
-   herr_t ret_value = H5Aclose(id);
-   if( ret_value < 0 )
-   {
-      throw AttributeIException("Attribute::close", "H5Aclose failed");
-   }
-   // reset the id because the attribute that it represents is now closed
-   id = 0;
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Aclose(id);
+	if( ret_value < 0 )
+	{
+	    throw AttributeIException("Attribute::close", "H5Aclose failed");
+	}
+	// reset the id because the attribute that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -294,18 +305,19 @@
 ///\brief	Properly terminates access to this attribute.
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 Attribute::~Attribute()
 {
-   // The attribute id will be closed properly
-   try {
-      decRefCount();
-   }
-   catch (Exception close_error) {
-      cerr << "Attribute::~Attribute - " << close_error.getDetailMsg() << endl;
-   }
+    try {
+	close();
+    }
+    catch (Exception close_error) {
+	cerr << "Attribute::~Attribute - " << close_error.getDetailMsg() << endl;
+    }
 }
 
 #ifndef H5_NO_NAMESPACE

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Attribute.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Attribute.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Attribute.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5Attribute_H
@@ -22,27 +23,30 @@
 
 class H5_DLLCPP Attribute : public AbstractDs {
    public:
+	// Closes this attribute.
+	virtual void close();
+
 	// Gets the name of this attribute.
-	ssize_t getName( size_t buf_size, string& attr_name ) const;
-	string getName( size_t buf_size ) const; // returns name, not its length
-	string getName() const; // returns name, no argument
+	ssize_t getName( size_t buf_size, H5std_string& attr_name ) const;
+	H5std_string getName( size_t buf_size ) const; // returns name, not its length
+	H5std_string getName() const; // returns name, no argument
 
 	// Gets a copy of the dataspace for this attribute.
 	virtual DataSpace getSpace() const;
 
 	// Returns the amount of storage size required for this attribute.
-	virtual hsize_t getStorageSize() const;
+	hsize_t getStorageSize() const;
 
 	// Reads data from this attribute.
 	void read( const DataType& mem_type, void *buf ) const;
-	void read( const DataType& mem_type, string& strg ) const;
+	void read( const DataType& mem_type, H5std_string& strg ) const;
 
 	// Writes data to this attribute.
 	void write(const DataType& mem_type, const void *buf ) const;
-	void write(const DataType& mem_type, const string& strg ) const;
+	void write(const DataType& mem_type, const H5std_string& strg ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("Attribute"); }
+	virtual H5std_string fromClass () const { return("Attribute"); }
 
         // Creates a copy of an existing attribute using the attribute id
         Attribute( const hid_t attr_id );
@@ -53,9 +57,6 @@
 	// Default constructor
 	Attribute();
 
-	// Close this attribute.
-	virtual void close();
-
 	// Destructor: properly terminates access to this attribute.
 	virtual ~Attribute();
 
@@ -66,11 +67,11 @@
 	// sub-types
 	virtual hid_t p_get_type() const;
 
-	// do not inherit 'iterateAttrs' from H5Object
+	// do not inherit H5Object::iterateAttrs
 	int iterateAttrs() { return 0; }
 
-        // do not inherit 'rename' from H5Object
-        void rename() {}
+	// do not inherit H5Object::renameAttr
+	void renameAttr() {}
 };
 #ifndef H5_NO_NAMESPACE
 }

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Classes.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Classes.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Classes.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5Classes_H

Modified: packages/hdf5/branches/upstream/current/c++/src/H5CommonFG.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5CommonFG.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5CommonFG.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -85,10 +86,10 @@
 // Function:	CommonFG::createGroup
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-Group CommonFG::createGroup( const string& name, size_t size_hint ) const
+Group CommonFG::createGroup( const H5std_string& name, size_t size_hint ) const
 {
    return( createGroup( name.c_str(), size_hint ));
 }
@@ -123,10 +124,10 @@
 // Function:	CommonFG::openGroup
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-Group CommonFG::openGroup( const string& name ) const
+Group CommonFG::openGroup( const H5std_string& name ) const
 {
    return( openGroup( name.c_str() ));
 }
@@ -167,10 +168,10 @@
 // Function:	CommonFG::createDataSet
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataSet CommonFG::createDataSet( const string& name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist ) const
+DataSet CommonFG::createDataSet( const H5std_string& name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist ) const
 {
    return( createDataSet( name.c_str(), data_type, data_space, create_plist ));
 }
@@ -204,10 +205,10 @@
 // Function:	CommonFG::openDataSet
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataSet CommonFG::openDataSet( const string& name ) const
+DataSet CommonFG::openDataSet( const H5std_string& name ) const
 {
    return( openDataSet( name.c_str() ));
 }
@@ -241,10 +242,10 @@
 // Function:	CommonFG::link
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a curr_name and \a new_name.
+///		\c H5std_string for \a curr_name and \a new_name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::link( H5G_link_t link_type, const string& curr_name, const string& new_name ) const
+void CommonFG::link( H5G_link_t link_type, const H5std_string& curr_name, const H5std_string& new_name ) const
 {
    link( link_type, curr_name.c_str(), new_name.c_str() );
 }
@@ -269,10 +270,10 @@
 // Function:	CommonFG::unlink
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::unlink( const string& name ) const
+void CommonFG::unlink( const H5std_string& name ) const
 {
    unlink( name.c_str() );
 }
@@ -283,6 +284,11 @@
 ///\param	src - IN: Object's original name
 ///\param	dst - IN: Object's new name
 ///\exception	H5::FileIException or H5::GroupIException
+///\note
+///		Exercise care in moving groups as it is possible to render
+///		data in a file inaccessible with Group::move. Please refer
+///		to the Group Interface in the HDF5 User's Guide at:
+/// <A HREF="../Groups.html">../Groups.html</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void CommonFG::move( const char* src, const char* dst ) const
@@ -298,10 +304,10 @@
 // Function:	CommonFG::move
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a src and \a dst.
+///		\c H5std_string for \a src and \a dst.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::move( const string& src, const string& dst ) const
+void CommonFG::move( const H5std_string& src, const H5std_string& dst ) const
 {
    move( src.c_str(), dst.c_str() );
 }
@@ -313,6 +319,10 @@
 ///\param	follow_link - IN: Link flag
 ///\param	statbuf - OUT: Buffer to return information about the object
 ///\exception	H5::FileIException or H5::GroupIException
+///\par Description
+///		For more information, please refer to the C layer Reference
+///		Manual at:
+/// <A HREF="../RM_H5G.html#Group-GetObjinfo">../RM_H5G.html#Group-GetObjinfo</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void CommonFG::getObjinfo( const char* name, hbool_t follow_link, H5G_stat_t& statbuf ) const
@@ -328,15 +338,43 @@
 // Function:	CommonFG::getObjinfo
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::getObjinfo( const string& name, hbool_t follow_link, H5G_stat_t& statbuf ) const
+void CommonFG::getObjinfo( const H5std_string& name, hbool_t follow_link, H5G_stat_t& statbuf ) const
 {
    getObjinfo( name.c_str(), follow_link, statbuf );
 }
 
 //--------------------------------------------------------------------------
+// Function:	CommonFG::getObjinfo
+///\brief	This is an overloaded member function, provided for convenience.
+///		It differs from the above functions in that it doesn't have
+///		the paramemter \a follow_link.
+// Programmer	Binh-Minh Ribler - Nov, 2005
+//--------------------------------------------------------------------------
+void CommonFG::getObjinfo( const char* name, H5G_stat_t& statbuf ) const
+{
+   herr_t ret_value = H5Gget_objinfo( getLocId(), name, 0, &statbuf );
+   if( ret_value < 0 )
+   {
+      throwException("getObjinfo", "H5Gget_objinfo failed");
+   }
+}
+
+//--------------------------------------------------------------------------
+// Function:	CommonFG::getObjinfo
+///\brief	This is an overloaded member function, provided for convenience.
+///		It differs from the above function in that it takes an
+///		\c H5std_string for \a name.
+// Programmer	Binh-Minh Ribler - Nov, 2005
+//--------------------------------------------------------------------------
+void CommonFG::getObjinfo( const H5std_string& name, H5G_stat_t& statbuf ) const
+{
+   getObjinfo( name.c_str(), statbuf );
+}
+
+//--------------------------------------------------------------------------
 // Function:	CommonFG::getLinkval
 ///\brief	Returns the name of the object that the symbolic link points to.
 ///\param	name  - IN: Symbolic link to the object
@@ -345,7 +383,7 @@
 ///\exception	H5::FileIException or H5::GroupIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string CommonFG::getLinkval( const char* name, size_t size ) const
+H5std_string CommonFG::getLinkval( const char* name, size_t size ) const
 {
    char* value_C = new char[size+1];  // temporary C-string for C API
 
@@ -354,7 +392,7 @@
    {
       throwException("getLinkval", "H5Gget_linkval failed");
    }
-   string value = string( value_C );
+   H5std_string value = H5std_string( value_C );
    delete []value_C;
    return( value );
 }
@@ -363,10 +401,10 @@
 // Function:	CommonFG::getLinkval
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string CommonFG::getLinkval( const string& name, size_t size ) const
+H5std_string CommonFG::getLinkval( const H5std_string& name, size_t size ) const
 {
    return( getLinkval( name.c_str(), size ));
 }
@@ -399,10 +437,10 @@
 // Function:	CommonFG::setComment
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name and \a comment.
+///		\c H5std_string for \a name and \a comment.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::setComment( const string& name, const string& comment ) const
+void CommonFG::setComment( const H5std_string& name, const H5std_string& comment ) const
 {
    setComment( name.c_str(), comment.c_str() );
 }
@@ -427,10 +465,10 @@
 // Function:	CommonFG::removeComment
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - May 2005
 //--------------------------------------------------------------------------
-void CommonFG::removeComment(const string& name) const
+void CommonFG::removeComment(const H5std_string& name) const
 {
    removeComment (name.c_str());
 }
@@ -443,7 +481,7 @@
 ///\exception	H5::FileIException or H5::GroupIException
 // Programmer	Binh-Minh Ribler - May 2005
 //--------------------------------------------------------------------------
-string CommonFG::getComment (const string& name) const
+H5std_string CommonFG::getComment (const H5std_string& name) const
 {
    size_t bufsize = 256;        // anticipating the comment's length
    hid_t loc_id = getLocId();   // temporary variable
@@ -468,7 +506,7 @@
    {
       throwException("getComment", "H5Gget_comment failed");
    }
-   string comment = string( comment_C );
+   H5std_string comment = H5std_string(comment_C);
    delete []comment_C;
    return (comment);
 }
@@ -483,7 +521,7 @@
 ///\exception	H5::FileIException or H5::GroupIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string CommonFG::getComment( const char* name, size_t bufsize ) const
+H5std_string CommonFG::getComment( const char* name, size_t bufsize ) const
 {
    // temporary C-string for the object's comment
    char* comment_C = new char[bufsize+1];
@@ -495,7 +533,7 @@
    {
       throwException("getComment", "H5Gget_comment failed");
    }
-   string comment = string( comment_C );
+   H5std_string comment = H5std_string(comment_C);
    delete []comment_C;
    return( comment );
 }
@@ -504,10 +542,10 @@
 // Function:	CommonFG::getComment
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string CommonFG::getComment( const string& name, size_t bufsize ) const
+H5std_string CommonFG::getComment( const H5std_string& name, size_t bufsize ) const
 {
    return( getComment( name.c_str(), bufsize ));
 }
@@ -541,10 +579,10 @@
 // Function:	CommonFG::mount
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::mount( const string& name, H5File& child, PropList& plist ) const
+void CommonFG::mount( const H5std_string& name, H5File& child, PropList& plist ) const
 {
    mount( name.c_str(), child, plist );
 }
@@ -572,68 +610,46 @@
 // Function:	CommonFG::unmount
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::unmount( const string& name ) const
+void CommonFG::unmount( const H5std_string& name ) const
 {
    unmount( name.c_str() );
 }
 
 //--------------------------------------------------------------------------
-// Function:	CommonFG::p_open_data_type (private)
-// Purpose	Opens the named datatype and returns the datatype's identifier.
-// Return	Id of the datatype
-// Exception	H5::FileIException or H5::GroupIException
-// Description
-//              This private function is used by the member functions
-//		CommonFG::openXxxType, where Xxx indicates the specific
-//		datatypes.
+// Function:	CommonFG::openDataType
+///\brief	Opens the named generic datatype at this location.
+///\param	name  - IN: Name of the datatype to open
+///\return	DataType instance
+///\exception	H5::FileIException or H5::GroupIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-hid_t CommonFG::p_open_data_type( const char* name ) const
+DataType CommonFG::openDataType( const char* name ) const
 {
    // Call C function H5Topen to open the named datatype in this group,
-   // giving either the file or group id
-   hid_t datatype_id = H5Topen( getLocId(), name );
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
 
    // If the datatype's opening failed, throw an exception
-   if( datatype_id < 0 )
+   if( type_id < 0 )
    {
       throwException("openDataType", "H5Topen failed");
    }
-
-   // No failure, return the datatype id
-   return( datatype_id );
+   // No failure, create and return the DataType object
+   DataType data_type(type_id);
+   return(data_type);
 }
 
-//
-// The following member functions use the private function
-// p_open_data_type to open a named datatype in this location
-//
-
 //--------------------------------------------------------------------------
 // Function:	CommonFG::openDataType
-///\brief	Opens the named generic datatype at this location.
-///\param	name  - IN: Name of the datatype to open
-///\return	DataType instance
-///\exception	H5::FileIException or H5::GroupIException
-// Programmer	Binh-Minh Ribler - 2000
-//--------------------------------------------------------------------------
-DataType CommonFG::openDataType( const char* name ) const
-{
-   DataType data_type(p_open_data_type(name));
-   return( data_type );
-}
-
-//--------------------------------------------------------------------------
-// Function:	CommonFG::openDataType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataType CommonFG::openDataType( const string& name ) const
+DataType CommonFG::openDataType( const H5std_string& name ) const
 {
    return( openDataType( name.c_str()) );
 }
@@ -644,11 +660,21 @@
 ///\param	name  - IN: Name of the array datatype to open
 ///\return	ArrayType instance
 ///\exception	H5::FileIException or H5::GroupIException
-// Programmer	Binh-Minh Ribler - 2000
+// Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
 ArrayType CommonFG::openArrayType( const char* name ) const
 {
-   ArrayType array_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openArrayType", "H5Topen failed");
+   }
+   // No failure, create and return the ArrayType object
+   ArrayType array_type (type_id);
    return(array_type);
 }
 
@@ -656,10 +682,10 @@
 // Function:	CommonFG::openArrayType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
-// Programmer	Binh-Minh Ribler - 2000
+///		\c H5std_string for \a name.
+// Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
-ArrayType CommonFG::openArrayType( const string& name ) const
+ArrayType CommonFG::openArrayType( const H5std_string& name ) const
 {
    return( openArrayType( name.c_str()) );
 }
@@ -674,7 +700,17 @@
 //--------------------------------------------------------------------------
 CompType CommonFG::openCompType( const char* name ) const
 {
-   CompType comp_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openCompType", "H5Topen failed");
+   }
+   // No failure, create and return the CompType object
+   CompType comp_type(type_id);
    return(comp_type);
 }
 
@@ -682,10 +718,10 @@
 // Function:	CommonFG::openCompType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-CompType CommonFG::openCompType( const string& name ) const
+CompType CommonFG::openCompType( const H5std_string& name ) const
 {
    return( openCompType( name.c_str()) );
 }
@@ -700,7 +736,17 @@
 //--------------------------------------------------------------------------
 EnumType CommonFG::openEnumType( const char* name ) const
 {
-   EnumType enum_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openEnumType", "H5Topen failed");
+   }
+   // No failure, create and return the EnumType object
+   EnumType enum_type(type_id);
    return(enum_type);
 }
 
@@ -708,10 +754,10 @@
 // Function:	CommonFG::openEnumType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-EnumType CommonFG::openEnumType( const string& name ) const
+EnumType CommonFG::openEnumType( const H5std_string& name ) const
 {
    return( openEnumType( name.c_str()) );
 }
@@ -726,7 +772,17 @@
 //--------------------------------------------------------------------------
 IntType CommonFG::openIntType( const char* name ) const
 {
-   IntType int_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openIntType", "H5Topen failed");
+   }
+   // No failure, create and return the IntType object
+   IntType int_type(type_id);
    return(int_type);
 }
 
@@ -734,10 +790,10 @@
 // Function:	CommonFG::openIntType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-IntType CommonFG::openIntType( const string& name ) const
+IntType CommonFG::openIntType( const H5std_string& name ) const
 {
    return( openIntType( name.c_str()) );
 }
@@ -752,7 +808,17 @@
 //--------------------------------------------------------------------------
 FloatType CommonFG::openFloatType( const char* name ) const
 {
-   FloatType float_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openFloatType", "H5Topen failed");
+   }
+   // No failure, create and return the FloatType object
+   FloatType float_type(type_id);
    return(float_type);
 }
 
@@ -760,10 +826,10 @@
 // Function:	CommonFG::openFloatType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-FloatType CommonFG::openFloatType( const string& name ) const
+FloatType CommonFG::openFloatType( const H5std_string& name ) const
 {
    return( openFloatType( name.c_str()) );
 }
@@ -778,7 +844,17 @@
 //--------------------------------------------------------------------------
 StrType CommonFG::openStrType( const char* name ) const
 {
-   StrType str_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openStrType", "H5Topen failed");
+   }
+   // No failure, create and return the StrType object
+   StrType str_type(type_id);
    return(str_type);
 }
 
@@ -786,10 +862,10 @@
 // Function:	CommonFG::openStrType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-StrType CommonFG::openStrType( const string& name ) const
+StrType CommonFG::openStrType( const H5std_string& name ) const
 {
    return( openStrType( name.c_str()) );
 }
@@ -800,11 +876,21 @@
 ///\param	name  - IN: Name of the variable length datatype to open
 ///\return	VarLenType instance
 ///\exception	H5::FileIException or H5::GroupIException
-// Programmer	Binh-Minh Ribler - 2000
+// Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
 VarLenType CommonFG::openVarLenType( const char* name ) const
 {
-   VarLenType varlen_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openVarLenType", "H5Topen failed");
+   }
+   // No failure, create and return the VarLenType object
+   VarLenType varlen_type(type_id);
    return(varlen_type);
 }
 
@@ -812,10 +898,10 @@
 // Function:	CommonFG::openVarLenType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
-// Programmer	Binh-Minh Ribler - 2000
+///		\c H5std_string for \a name.
+// Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
-VarLenType CommonFG::openVarLenType( const string& name ) const
+VarLenType CommonFG::openVarLenType( const H5std_string& name ) const
 {
    return( openVarLenType( name.c_str()) );
 }
@@ -847,10 +933,10 @@
 // Function:	CommonFG::iterateElems
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-int CommonFG::iterateElems( const string& name, int *idx, H5G_iterate_t op , void* op_data )
+int CommonFG::iterateElems( const H5std_string& name, int *idx, H5G_iterate_t op , void* op_data )
 {
    return( iterateElems( name.c_str(), idx, op, op_data ));
 }
@@ -888,7 +974,7 @@
 ///		each time the group is opened.
 // Programmer	Binh-Minh Ribler - Mar, 2005
 //--------------------------------------------------------------------------
-string CommonFG::getObjnameByIdx(hsize_t idx) const
+H5std_string CommonFG::getObjnameByIdx(hsize_t idx) const
 {
     // call H5Gget_objname_by_idx with name as NULL to get its length
     ssize_t name_len = H5Gget_objname_by_idx(getLocId(), idx, NULL, 0);
@@ -898,11 +984,11 @@
     }
 
     // now, allocate C buffer to get the name
-    char* name_C = new char[name_len];
-    name_len = H5Gget_objname_by_idx(getLocId(), idx, name_C, name_len);
+    char* name_C = new char[name_len+1];
+    name_len = H5Gget_objname_by_idx(getLocId(), idx, name_C, name_len+1);
 
     // clean up and return the string
-    string name = string(name_C);
+    H5std_string name = H5std_string(name_C);
     delete []name_C;
     return (name);
 }
@@ -924,16 +1010,16 @@
 ///		each time the group is opened.
 // Programmer	Binh-Minh Ribler - January, 2003
 //--------------------------------------------------------------------------
-ssize_t CommonFG::getObjnameByIdx(hsize_t idx, string& name, size_t size) const
+ssize_t CommonFG::getObjnameByIdx(hsize_t idx, H5std_string& name, size_t size) const
 {
-   char* name_C = new char[size];
-   ssize_t name_len = H5Gget_objname_by_idx(getLocId(), idx, name_C, size);
+   char* name_C = new char[size+1];
+   ssize_t name_len = H5Gget_objname_by_idx(getLocId(), idx, name_C, size+1);
    if(name_len < 0)
    {
       throwException("getObjnameByIdx", "H5Gget_objname_by_idx failed");
    }
-   name = string( name_C );
-   delete [] name_C;
+   name = H5std_string(name_C);
+   delete []name_C;
    return (name_len);
 }
 
@@ -967,15 +1053,15 @@
 ///\exception	H5::FileIException or H5::GroupIException
 // Programmer	Binh-Minh Ribler - January, 2003
 //--------------------------------------------------------------------------
-H5G_obj_t CommonFG::getObjTypeByIdx(hsize_t idx, string& type_name) const
+H5G_obj_t CommonFG::getObjTypeByIdx(hsize_t idx, H5std_string& type_name) const
 {
    H5G_obj_t obj_type = H5Gget_objtype_by_idx(getLocId(), idx);
    switch (obj_type)
    {
-	case H5G_LINK: type_name = string("symbolic link"); break;
-	case H5G_GROUP: type_name = string("group"); break;
-	case H5G_DATASET: type_name = string("dataset"); break;
-	case H5G_TYPE: type_name = string("datatype"); break;
+	case H5G_LINK: type_name = H5std_string("symbolic link"); break;
+	case H5G_GROUP: type_name = H5std_string("group"); break;
+	case H5G_DATASET: type_name = H5std_string("dataset"); break;
+	case H5G_TYPE: type_name = H5std_string("datatype"); break;
 	case H5G_UNKNOWN:
 	default:
    	{

Modified: packages/hdf5/branches/upstream/current/c++/src/H5CommonFG.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5CommonFG.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5CommonFG.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // CommonFG is a protocol class.  Its existence is simply to provide the
@@ -33,37 +34,37 @@
 	// Creates a new group at this location which can be a file
 	// or another group.
 	Group createGroup(const char* name, size_t size_hint = 0) const;
-	Group createGroup(const string& name, size_t size_hint = 0) const;
+	Group createGroup(const H5std_string& name, size_t size_hint = 0) const;
 
 	// Opens an existing group in a location which can be a file
 	// or another group.
 	Group openGroup(const char* name) const;
-	Group openGroup(const string& name) const;
+	Group openGroup(const H5std_string& name) const;
 
 	// Creates a new dataset at this location.
 	DataSet createDataSet(const char* name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist = DSetCreatPropList::DEFAULT) const;
-	DataSet createDataSet(const string& name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist = DSetCreatPropList::DEFAULT) const;
+	DataSet createDataSet(const H5std_string& name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist = DSetCreatPropList::DEFAULT) const;
 
 	// Opens an existing dataset at this location.
 	DataSet openDataSet(const char* name) const;
-	DataSet openDataSet(const string& name) const;
+	DataSet openDataSet(const H5std_string& name) const;
 
 	// Retrieves comment for the HDF5 object specified by its name.
-	string getComment(const string& name) const;
-	string getComment(const char* name, size_t bufsize) const;
-	string getComment(const string& name, size_t bufsize) const;
+	H5std_string getComment(const H5std_string& name) const;
+	H5std_string getComment(const char* name, size_t bufsize) const;
+	H5std_string getComment(const H5std_string& name, size_t bufsize) const;
 
 	// Removes the comment for the HDF5 object specified by its name.
 	void removeComment(const char* name) const;
-	void removeComment(const string& name) const;
+	void removeComment(const H5std_string& name) const;
 
 	// Sets the comment for an HDF5 object specified by its name.
 	void setComment(const char* name, const char* comment) const;
-	void setComment(const string& name, const string& comment) const;
+	void setComment(const H5std_string& name, const H5std_string& comment) const;
 
 	// Returns the name of the HDF5 object that the symbolic link points to.
-	string getLinkval(const char* name, size_t size) const;
-	string getLinkval(const string& name, size_t size) const;
+	H5std_string getLinkval(const char* name, size_t size) const;
+	H5std_string getLinkval(const H5std_string& name, size_t size) const;
 
 	// Returns the number of objects in this group.
 	hsize_t getNumObjs() const;
@@ -71,82 +72,87 @@
 	// Returns information about an HDF5 object, given by its name,
 	// at this location.
 	void getObjinfo(const char* name, hbool_t follow_link, H5G_stat_t& statbuf) const;
-	void getObjinfo(const string& name, hbool_t follow_link, H5G_stat_t& statbuf) const;
+	void getObjinfo(const H5std_string& name, hbool_t follow_link, H5G_stat_t& statbuf) const;
+	void getObjinfo(const char* name, H5G_stat_t& statbuf) const;
+	void getObjinfo(const H5std_string& name, H5G_stat_t& statbuf) const;
 
 	// Retrieves the name of an object in this group, given the
 	// object's index.
-	ssize_t getObjnameByIdx(hsize_t idx, string& name, size_t size) const;
-	string getObjnameByIdx(hsize_t idx) const;
+	ssize_t getObjnameByIdx(hsize_t idx, H5std_string& name, size_t size) const;
+	H5std_string getObjnameByIdx(hsize_t idx) const;
 
 	// Returns the type of an object in this group, given the
 	// object's index.
 	H5G_obj_t getObjTypeByIdx(hsize_t idx) const;
-	H5G_obj_t getObjTypeByIdx(hsize_t idx, string& type_name) const;
+	H5G_obj_t getObjTypeByIdx(hsize_t idx, H5std_string& type_name) const;
 
 	// Iterates over the elements of this group - not implemented in
 	// C++ style yet.
 	int iterateElems(const char* name, int *idx, H5G_iterate_t op, void *op_data);
-	int iterateElems(const string& name, int *idx, H5G_iterate_t op, void *op_data);
+	int iterateElems(const H5std_string& name, int *idx, H5G_iterate_t op, void *op_data);
 
 	// Creates a link of the specified type from new_name to current_name;
 	// both names are interpreted relative to the specified location id.
 	void link(H5G_link_t link_type, const char* curr_name, const char* new_name) const;
-	void link(H5G_link_t link_type, const string& curr_name, const string& new_name) const;
+	void link(H5G_link_t link_type, const H5std_string& curr_name, const H5std_string& new_name) const;
 
 	// Removes the specified name at this location.
 	void unlink(const char* name) const;
-	void unlink(const string& name) const;
+	void unlink(const H5std_string& name) const;
 
 	// Mounts the file 'child' onto this location.
 	void mount(const char* name, H5File& child, PropList& plist) const;
-	void mount(const string& name, H5File& child, PropList& plist) const;
+	void mount(const H5std_string& name, H5File& child, PropList& plist) const;
 
 	// Unmounts the file named 'name' from this parent location.
 	void unmount(const char* name) const;
-	void unmount(const string& name) const;
+	void unmount(const H5std_string& name) const;
 
 	// Renames an object at this location.
 	void move(const char* src, const char* dst) const;
-	void move(const string& src, const string& dst) const;
+	void move(const H5std_string& src, const H5std_string& dst) const;
 
 	// Opens a generic named datatype in this location.
 	DataType openDataType(const char* name) const;
-	DataType openDataType(const string& name) const;
+	DataType openDataType(const H5std_string& name) const;
 
 	// Opens a named array datatype in this location.
 	ArrayType openArrayType(const char* name) const;
-	ArrayType openArrayType(const string& name) const;
+	ArrayType openArrayType(const H5std_string& name) const;
 
 	// Opens a named compound datatype in this location.
 	CompType openCompType(const char* name) const;
-	CompType openCompType(const string& name) const;
+	CompType openCompType(const H5std_string& name) const;
 
 	// Opens a named enumeration datatype in this location.
 	EnumType openEnumType(const char* name) const;
-	EnumType openEnumType(const string& name) const;
+	EnumType openEnumType(const H5std_string& name) const;
 
 	// Opens a named integer datatype in this location.
 	IntType openIntType(const char* name) const;
-	IntType openIntType(const string& name) const;
+	IntType openIntType(const H5std_string& name) const;
 
 	// Opens a named floating-point datatype in this location.
 	FloatType openFloatType(const char* name) const;
-	FloatType openFloatType(const string& name) const;
+	FloatType openFloatType(const H5std_string& name) const;
 
 	// Opens a named string datatype in this location.
 	StrType openStrType(const char* name) const;
-	StrType openStrType(const string& name) const;
+	StrType openStrType(const H5std_string& name) const;
 
 	// Opens a named variable length datatype in this location.
 	VarLenType openVarLenType(const char* name) const;
-	VarLenType openVarLenType(const string& name) const;
+	VarLenType openVarLenType(const H5std_string& name) const;
 
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
 	/// For subclasses, H5File and Group, to return the correct
 	/// object id, i.e. file or group id.
 	virtual hid_t getLocId() const = 0;
 
+#endif // DOXYGEN_SHOULD_SKIP_THIS
+
 	/// For subclasses, H5File and Group, to throw appropriate exception.
-	virtual void throwException(const string func_name, const string msg) const = 0;
+	virtual void throwException(const H5std_string& func_name, const H5std_string& msg) const = 0;
 
 	// Default constructor.
 	CommonFG();
@@ -154,10 +160,6 @@
 	// Noop destructor.
 	virtual ~CommonFG();
 
-   private:
-	// Common code for member functions openXxxType
-	hid_t p_open_data_type(const char* name) const;
-
 }; // end of CommonFG declaration
 
 #ifndef H5_NO_NAMESPACE

Modified: packages/hdf5/branches/upstream/current/c++/src/H5CompType.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5CompType.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5CompType.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -113,7 +114,7 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string CompType::getMemberName( unsigned member_num ) const
+H5std_string CompType::getMemberName( unsigned member_num ) const
 {
     char* member_name_C = H5Tget_member_name( id, member_num );
     if( member_name_C == NULL )  // NULL means failure
@@ -121,7 +122,7 @@
 	throw DataTypeIException("CompType::getMemberName",
 		"H5Tget_member_name returns NULL for member name");
     }
-    string member_name = string(member_name_C); // convert C string to string
+    H5std_string member_name = H5std_string(member_name_C); // convert C string to string
     HDfree(member_name_C); // free the C string
     return( member_name ); // return the member name string
 }
@@ -148,7 +149,7 @@
    }
    return( member_index );
 }
-int CompType::getMemberIndex(const string& name) const
+int CompType::getMemberIndex(const H5std_string& name) const
 {
    return(getMemberIndex(name.c_str()));
 }
@@ -175,14 +176,6 @@
    return( offset );
 }
 
-// Returns the dimensionality of the member.
-int CompType::getMemberDims( unsigned member_num, size_t* dims, int* perm ) const
-{
-   throw DataTypeIException( "Error: getMemberDims is no longer supported." );
-   return (-1); // unreachable statement; but without it, the compiler
-		// will complain
-}
-
 //--------------------------------------------------------------------------
 // Function:	CompType::getMemberClass
 ///\brief	Gets the type class of the specified member.
@@ -216,9 +209,9 @@
       return( member_type_id );
    else
    {
-	// p_get_member_type is private, use caller's function name for api
-      throw DataTypeIException("CompType::p_get_member_type",
-		"H5Tget_member_type failed");
+      // p_get_member_type is private, caller will catch this exception
+      // then throw another with appropriate API name
+      throw DataTypeIException("", "H5Tget_member_type failed");
    }
 }
 
@@ -233,8 +226,13 @@
 //--------------------------------------------------------------------------
 DataType CompType::getMemberDataType( unsigned member_num ) const
 {
-   DataType datatype(p_get_member_type(member_num));
-   return(datatype);
+   try {
+      DataType datatype(p_get_member_type(member_num));
+      return(datatype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberDataType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -244,12 +242,17 @@
 ///\param	member_num - IN: Zero-based index of the member
 ///\return	ArrayType instance
 ///\exception	H5::DataTypeIException
-// Programmer	Binh-Minh Ribler - 2000
+// Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
 ArrayType CompType::getMemberArrayType( unsigned member_num ) const
 {
-   ArrayType arraytype(p_get_member_type(member_num));
-   return(arraytype);
+   try {
+      ArrayType arraytype(p_get_member_type(member_num));
+      return(arraytype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberArrayType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -263,8 +266,13 @@
 //--------------------------------------------------------------------------
 CompType CompType::getMemberCompType( unsigned member_num ) const
 {
-   CompType comptype(p_get_member_type(member_num));
-   return(comptype);
+   try {
+      CompType comptype(p_get_member_type(member_num));
+      return(comptype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberCompType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -278,8 +286,13 @@
 //--------------------------------------------------------------------------
 EnumType CompType::getMemberEnumType( unsigned member_num ) const
 {
-   EnumType enumtype(p_get_member_type(member_num));
-   return(enumtype);
+   try {
+      EnumType enumtype(p_get_member_type(member_num));
+      return(enumtype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberEnumType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -293,8 +306,13 @@
 //--------------------------------------------------------------------------
 IntType CompType::getMemberIntType( unsigned member_num ) const
 {
-   IntType inttype(p_get_member_type(member_num));
-   return(inttype);
+   try {
+      IntType inttype(p_get_member_type(member_num));
+      return(inttype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberIntType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -308,8 +326,13 @@
 //--------------------------------------------------------------------------
 FloatType CompType::getMemberFloatType( unsigned member_num ) const
 {
-   FloatType floatype(p_get_member_type(member_num));
-   return(floatype);
+   try {
+      FloatType floatype(p_get_member_type(member_num));
+      return(floatype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberFloatType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -323,8 +346,13 @@
 //--------------------------------------------------------------------------
 StrType CompType::getMemberStrType( unsigned member_num ) const
 {
-   StrType strtype(p_get_member_type(member_num));
-   return(strtype);
+   try {
+      StrType strtype(p_get_member_type(member_num));
+      return(strtype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberStrType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -334,12 +362,17 @@
 ///\param	member_num - IN: Zero-based index of the member
 ///\return	VarLenType instance
 ///\exception	H5::DataTypeIException
-// Programmer	Binh-Minh Ribler - 2000
+// Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
 VarLenType CompType::getMemberVarLenType( unsigned member_num ) const
 {
-   VarLenType varlentype(p_get_member_type(member_num));
-   return(varlentype);
+   try {
+      VarLenType varlentype(p_get_member_type(member_num));
+      return(varlentype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberVarLenType", E.getDetailMsg());
+   }
 }
 
 /* old style of getMemberType - using overloads; new style above
@@ -384,7 +417,7 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CompType::insertMember( const string& name, size_t offset, const DataType& new_member ) const
+void CompType::insertMember( const H5std_string& name, size_t offset, const DataType& new_member ) const
 {
    // Convert string to C-string
    const char* name_C;

Modified: packages/hdf5/branches/upstream/current/c++/src/H5CompType.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5CompType.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5CompType.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // Class CompType inherits from DataType and provides accesses to a compound
@@ -36,24 +37,21 @@
 	// to create another datatype of the same class
 	H5T_class_t getMemberClass( unsigned member_num ) const;
 
-	// Returns the dimensionality of the specified member.
-	int getMemberDims( unsigned member_num, size_t* dims, int* perm ) const; // obsolete
-
 	// Returns the index of a member in this compound data type.
 	int getMemberIndex(const char* name) const;
-	int getMemberIndex(const string& name) const;
+	int getMemberIndex(const H5std_string& name) const;
 
 	// Returns the offset of a member of this compound datatype.
 	size_t getMemberOffset( unsigned memb_no ) const;
 
 	// Returns the name of a member of this compound datatype.
-	string getMemberName( unsigned member_num ) const;
+	H5std_string getMemberName( unsigned member_num ) const;
 
 	// Returns the generic datatype of the specified member in
 	// this compound datatype.
 	DataType getMemberDataType( unsigned member_num ) const;
 
-	// Returns the compound datatype of the specified member in
+	// Returns the array datatype of the specified member in
 	// this compound datatype.
 	ArrayType getMemberArrayType( unsigned member_num ) const;
 
@@ -77,7 +75,7 @@
 	// this compound datatype.
 	StrType getMemberStrType( unsigned member_num ) const;
 
-	// Returns the compound datatype of the specified member in
+	// Returns the variable length datatype of the specified member in
 	// this compound datatype.
 	VarLenType getMemberVarLenType( unsigned member_num ) const;
 
@@ -85,13 +83,13 @@
 	int getNmembers() const;
 
 	// Adds a new member to this compound datatype.
-	void insertMember( const string& name, size_t offset, const DataType& new_member ) const;
+	void insertMember( const H5std_string& name, size_t offset, const DataType& new_member ) const;
 
 	// Recursively removes padding from within this compound datatype.
 	void pack() const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("CompType"); }
+	virtual H5std_string fromClass () const { return("CompType"); }
 
 	// Default constructor
 	CompType();

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Cpp.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Cpp.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Cpp.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,13 +10,14 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5CPP_H
 #define _H5CPP_H
 
+#include "H5cxx_pubconf.h"
 #include "H5Include.h"
 #include "H5Exception.h"
 #include "H5IdComponent.h"
@@ -43,4 +45,15 @@
 #include "H5Group.h"
 #include "H5File.h"
 #include "H5Library.h"
+
+/* Some C++ compilers do not have offsetof macro; define to bypass the problem
+   - BMR- -EIP- 2007/06/21 
+*/
+#ifndef H5_CXX_HAVE_OFFSETOF
+#ifdef HOFFSET
+   #undef HOFFSET
 #endif
+#define HOFFSET(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+#endif
+
+#endif

Modified: packages/hdf5/branches/upstream/current/c++/src/H5CppDoc.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5CppDoc.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5CppDoc.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5CPPDOC_H
@@ -29,7 +30,7 @@
  * It is assumed that the user has knowledge of the HDF5 file format
  * and its components.  If you are not familiar with HDF5 file format,
  * and would like to find out more, please refer to the HDF5 documentation
- * at http://hdf.ncsa.uiuc.edu/HDF5/doc/H5.intro.html
+ * at http://hdfgroup.org/HDF5/doc/index.html
  *
  * Because the HDF5 library maps very well to
  * the object oriented design approach, classes in the C++ API can
@@ -50,7 +51,7 @@
   \endverbatim
  * \section install_sec Installation
  *
- * Please refer to the file release_docs/INSTALL_Windows_withcpp.txt
+ * Please refer to the file release_docs/INSTALL_Windows.txt
  * under the top directory for information about installing, building,
  * and testing the C++ API.
  *

Modified: packages/hdf5/branches/upstream/current/c++/src/H5DataSet.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5DataSet.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5DataSet.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -35,6 +36,10 @@
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
@@ -61,6 +66,23 @@
 DataSet::DataSet( const DataSet& original ) : AbstractDs( original ) {}
 
 //--------------------------------------------------------------------------
+// Function:	DataSet overload constructor - dereference
+///\brief	Given a reference to some object, returns that dataset
+///\param	obj - IN: Dataset reference object is in or location of
+///                   object that the dataset is located within.
+///\param	ref - IN: Reference pointer
+///\exception	H5::DataSetIException
+///\par Description
+///		\c obj can be DataSet, Group, H5File, or named DataType, that 
+///		is a datatype that has been named by DataType::commit.
+// Programmer	Binh-Minh Ribler - Oct, 2006
+//--------------------------------------------------------------------------
+DataSet::DataSet(IdComponent& obj, void* ref) : AbstractDs()
+{
+   IdComponent::dereference(obj, ref);
+}
+
+//--------------------------------------------------------------------------
 // Function:	DataSet::getSpace
 ///\brief	Gets a copy of the dataspace of this dataset.
 ///\return	DataSpace instance
@@ -199,7 +221,7 @@
 ///\exception	H5::DataSetIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataSet::vlenReclaim( DataType& type, DataSpace& space, DSetMemXferPropList& xfer_plist, void* buf ) const
+void DataSet::vlenReclaim(const DataType& type, const DataSpace& space, const DSetMemXferPropList& xfer_plist, void* buf )
 {
    // Obtain identifiers for C API
    hid_t type_id = type.getId();
@@ -214,6 +236,34 @@
 }
 
 //--------------------------------------------------------------------------
+// Function:	DataSet::vlenReclaim
+///\brief	Reclaims VL datatype memory buffers.
+///\param	type - IN: Datatype, which is the datatype stored in the buffer
+///\param	space - IN: Selection for the memory buffer to free the
+///		VL datatypes within
+///\param	xfer_plist - IN: Property list used to create the buffer
+///\param	buf - IN: Pointer to the buffer to be reclaimed
+///\exception	H5::DataSetIException
+// Programmer	Binh-Minh Ribler - 2000
+//\parDescription
+//		This function has better prototype for the users than the
+//		other, which might be removed at some point. BMR - 2006/12/20
+//--------------------------------------------------------------------------
+void DataSet::vlenReclaim(void* buf, const DataType& type, const DataSpace& space, const DSetMemXferPropList& xfer_plist)
+{
+   // Obtain identifiers for C API
+   hid_t type_id = type.getId();
+   hid_t space_id = space.getId();
+   hid_t xfer_plist_id = xfer_plist.getId();
+
+   herr_t ret_value = H5Dvlen_reclaim(type_id, space_id, xfer_plist_id, buf);
+   if (ret_value < 0)
+   {
+      throw DataSetIException("DataSet::vlenReclaim", "H5Dvlen_reclaim failed");
+   }
+}
+
+//--------------------------------------------------------------------------
 // Function:	DataSet::read
 ///\brief	Reads raw data from the specified dataset.
 ///\param	buf - IN: Buffer for read data
@@ -246,10 +296,10 @@
 //--------------------------------------------------------------------------
 // Function:	DataSet::read
 ///\brief	This is an overloaded member function, provided for convenience.
-///		It takes a reference to a \c std::string for the buffer.
+///		It takes a reference to a \c H5std_string for the buffer.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataSet::read( string& strg, const DataType& mem_type, const DataSpace& mem_space, const DataSpace& file_space, const DSetMemXferPropList& xfer_plist ) const
+void DataSet::read( H5std_string& strg, const DataType& mem_type, const DataSpace& mem_space, const DataSpace& file_space, const DSetMemXferPropList& xfer_plist ) const
 {
    // Allocate C character string for reading
    size_t size = mem_type.getSize();
@@ -297,10 +347,10 @@
 //--------------------------------------------------------------------------
 // Function:	DataSet::write
 ///\brief	This is an overloaded member function, provided for convenience.
-///		It takes a reference to a \c std::string for the buffer.
+///		It takes a reference to a \c H5std_string for the buffer.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataSet::write( const string& strg, const DataType& mem_type, const DataSpace& mem_space, const DataSpace& file_space, const DSetMemXferPropList& xfer_plist ) const
+void DataSet::write( const H5std_string& strg, const DataType& mem_type, const DataSpace& mem_space, const DataSpace& file_space, const DSetMemXferPropList& xfer_plist ) const
 {
    // Convert string to C-string
    const char* strg_C;
@@ -349,7 +399,8 @@
 ///\par Description
 ///		For more information, please see the Description section in
 ///		C layer Reference Manual at:
-/// http:
+///\par
+/// <A HREF="../RM_H5D.html#Dataset-Extend">../RM_H5D.html#Dataset-Extend</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DataSet::extend( const hsize_t* size ) const
@@ -408,47 +459,46 @@
 
 //--------------------------------------------------------------------------
 // Function:	DataSet::Reference
-///\brief	Creates a reference to an HDF5 object or a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\param	dataspace - IN: Dataspace with selection
-///\param	ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
-///\return	A reference
-///\exception	H5::IdComponentException
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use 
+///		DataSet::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* DataSet::Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type) const
 {
-   return(p_reference(name, dataspace.getId(), ref_type));
+   try {
+      return(p_reference(name, dataspace.getId(), ref_type));
+   }
+   catch (IdComponentException E) {
+      throw DataSetIException("DataSet::Reference", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
 // Function:	DataSet::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it only creates
-///		a reference to an HDF5 object, not to a dataset region.
-///\param	name - IN: Name of the object to be referenced - \c char pointer
-///\return	A reference
-///\exception	H5::IdComponentException
-///\par Description
-//		This function passes H5R_OBJECT and -1 to the protected
-//		function for it to pass to the C API H5Rcreate
-//		to create a reference to the named object.
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		DataSet::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* DataSet::Reference(const char* name) const
 {
-   return(p_reference(name, -1, H5R_OBJECT));
+   try {
+      return(p_reference(name, -1, H5R_OBJECT));
+   }
+   catch (IdComponentException E) {
+      throw DataSetIException("DataSet::Reference", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
-// Function:    DataSet::Reference
-///\brief       This is an overloaded function, provided for your convenience.
-///             It differs from the above function in that it takes an
-///             \c std::string for the object's name.
-///\param       name - IN: Name of the object to be referenced - \c std::string
-// Programmer   Binh-Minh Ribler - May, 2004
+// Function:	DataSet::Reference
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		DataSet::reference instead!
+// Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
-void* DataSet::Reference(const string& name) const
+void* DataSet::Reference(const H5std_string& name) const
 {
    return(Reference(name.c_str()));
 }
@@ -456,19 +506,26 @@
 //--------------------------------------------------------------------------
 // Function:	DataSet::getObjType
 ///\brief	Retrieves the type of object that an object reference points to.
-///\param		ref_type - IN: Type of reference to query
-///\param		ref      - IN: Reference to query
-// Return	An object type, which can be one of the following:
-//			H5G_LINK Object is a symbolic link.
-//			H5G_GROUP Object is a group.
-//			H5G_DATASET   Object is a dataset.
-//			H5G_TYPE Object is a named datatype
-// Exception	H5::IdComponentException
+///\param	ref      - IN: Reference to query
+///\param	ref_type - IN: Type of reference to query, valid values are:
+///		\li \c H5R_OBJECT - Reference is an object reference.
+///		\li \c H5R_DATASET_REGION - Reference is a dataset region reference.
+///\return	An object type, which can be one of the following:
+///		\li \c H5G_LINK (0) - Object is a symbolic link.
+///		\li \c H5G_GROUP (1) - Object is a group.
+///		\li \c H5G_DATASET (2) - Object is a dataset.
+///		\li \c H5G_TYPE Object (3) - is a named datatype
+///\exception	H5::DataSetIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 H5G_obj_t DataSet::getObjType(void *ref, H5R_type_t ref_type) const
 {
-   return(p_get_obj_type(ref, ref_type));
+   try {
+      return(p_get_obj_type(ref, ref_type));
+   }
+   catch (IdComponentException E) {
+      throw DataSetIException("DataSet::getObjType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -478,13 +535,18 @@
 ///		to H5R_DATASET_REGION
 ///\param	ref      - IN: Reference to get region of
 ///\return	DataSpace instance
-///\exception	H5::IdComponentException
+///\exception	H5::DataSetIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 DataSpace DataSet::getRegion(void *ref, H5R_type_t ref_type) const
 {
-   DataSpace dataspace(p_get_region(ref, ref_type));
-   return(dataspace);
+   try {
+      DataSpace dataspace(p_get_region(ref, ref_type));
+      return(dataspace);
+   }
+   catch (IdComponentException E) {
+      throw DataSetIException("DataSet::getRegion", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -496,13 +558,16 @@
 //--------------------------------------------------------------------------
 void DataSet::close()
 {
-   herr_t ret_value = H5Dclose( id );
-   if( ret_value < 0 )
-   {
-      throw DataSetIException("DataSet::close", "H5Dclose failed");
-   }
-   // reset the id because the group that it represents is now closed
-   id = 0;
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Dclose( id );
+	if( ret_value < 0 )
+	{
+	    throw DataSetIException("DataSet::close", "H5Dclose failed");
+	}
+	// reset the id because the dataset that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -510,17 +575,18 @@
 ///\brief	Properly terminates access to this dataset.
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 DataSet::~DataSet()
 {
-    // The dataset id will be closed properly
     try {
-        decRefCount();
+	close();
     }
     catch (Exception close_error) {
-        cerr << "DataSet::~DataSet - " << close_error.getDetailMsg() << endl;
+	cerr << "DataSet::~DataSet - " << close_error.getDetailMsg() << endl;
     }
 }
 

Modified: packages/hdf5/branches/upstream/current/c++/src/H5DataSet.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5DataSet.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5DataSet.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // Class DataSet inherits from AbstractDs and provides accesses to a dataset.
@@ -24,6 +25,9 @@
 
 class H5_DLLCPP DataSet : public AbstractDs {
    public:
+	// Close this dataset.
+	virtual void close();
+
 	// Extends the dataset with unlimited dimension.
 	void extend( const hsize_t* size ) const;
 
@@ -45,29 +49,32 @@
 	void getSpaceStatus(H5D_space_status_t& status) const;
 
 	// Returns the amount of storage size required for this dataset.
-	virtual hsize_t getStorageSize() const;
+	hsize_t getStorageSize() const;
 
-	// not yet implemented??
+	// Returns the number of bytes required to store VL data.
 	hsize_t getVlenBufSize( DataType& type, DataSpace& space ) const;
-	void vlenReclaim( DataType& type, DataSpace& space, DSetMemXferPropList& xfer_plist, void* buf ) const;
 
+	// Reclaims VL datatype memory buffers.
+	static void vlenReclaim(const DataType& type, const DataSpace& space, const DSetMemXferPropList& xfer_plist, void* buf );
+	static void vlenReclaim(void *buf, const DataType& type, const DataSpace& space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT);
+
 	// Reads the data of this dataset and stores it in the provided buffer.
 	// The memory and file dataspaces and the transferring property list
 	// can be defaults.
 	void read( void* buf, const DataType& mem_type, const DataSpace& mem_space = DataSpace::ALL, const DataSpace& file_space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT ) const;
-        void read( string& buf, const DataType& mem_type, const DataSpace& mem_space = DataSpace::ALL, const DataSpace& file_space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT ) const;
+        void read( H5std_string& buf, const DataType& mem_type, const DataSpace& mem_space = DataSpace::ALL, const DataSpace& file_space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT ) const;
 
 	// Writes the buffered data to this dataset.
 	// The memory and file dataspaces and the transferring property list
 	// can be defaults.
 	void write( const void* buf, const DataType& mem_type, const DataSpace& mem_space = DataSpace::ALL, const DataSpace& file_space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT ) const;
-        void write( const string& buf, const DataType& mem_type, const DataSpace& mem_space = DataSpace::ALL, const DataSpace& file_space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT ) const;
+        void write( const H5std_string& buf, const DataType& mem_type, const DataSpace& mem_space = DataSpace::ALL, const DataSpace& file_space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT ) const;
 
 	// Iterates the selected elements in the specified dataspace - not implemented in C++ style yet
         int iterateElems( void* buf, const DataType& type, const DataSpace& space, H5D_operator_t op, void* op_data = NULL );
 
 	// Retrieves the type of object that an object reference points to.
-	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type) const;
+	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type = H5R_OBJECT) const;
 
 	// Retrieves a dataspace with the region pointed to selected.
 	DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const;
@@ -77,24 +84,24 @@
 	void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const;
 
 	// Creates a reference to a named Hdf5 object in this object.
-	void* Reference(const char* name) const;
-	void* Reference(const string& name) const;
+	void* Reference(const char* name) const; // will be obsolete
+	void* Reference(const H5std_string& name) const; // will be obsolete
 
 	// Returns this class name
-	virtual string fromClass () const { return("DataSet"); }
+	virtual H5std_string fromClass () const { return("DataSet"); }
 
-	// Creates a copy of an existing DataSet using its id.
-	DataSet(const hid_t existing_id);
+	// Creates a dataset by way of dereference.
+	DataSet(IdComponent& obj, void* ref);
 
-	// Close this dataset.
-	virtual void close();
-
 	// Default constructor.
 	DataSet();
 
 	// Copy constructor.
 	DataSet( const DataSet& original );
 
+	// Creates a copy of an existing DataSet using its id.
+	DataSet(const hid_t existing_id);
+
 	// Destructor: properly terminates access to this dataset.
 	virtual ~DataSet();
 

Modified: packages/hdf5/branches/upstream/current/c++/src/H5DataSpace.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5DataSpace.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5DataSpace.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -26,6 +27,10 @@
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
@@ -42,7 +47,7 @@
 ///\exception	H5::DataSpaceIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataSpace::DataSpace( H5S_class_t type ) : IdComponent()
+DataSpace::DataSpace( H5S_class_t type ) : IdComponent(0)
 {
    id = H5Screate( type );
    if( id < 0 )
@@ -60,7 +65,7 @@
 ///\exception	H5::DataSpaceIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataSpace::DataSpace( int rank, const hsize_t * dims, const hsize_t * maxdims) : IdComponent()
+DataSpace::DataSpace( int rank, const hsize_t * dims, const hsize_t * maxdims) : IdComponent(0)
 {
    id = H5Screate_simple( rank, dims, maxdims );
    if( id < 0 )
@@ -94,21 +99,22 @@
 ///\exception	H5::DataSpaceIException
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 void DataSpace::copy( const DataSpace& like_space )
 {
-   // If this object has a valid id, appropriately decrement reference
-   // counter and close the id.
+   // If this object has an hdf5 valid id, close it
    if( id != H5S_ALL ) {
       try {
-         decRefCount();
+         close();
       }
       catch (Exception close_error) {
          throw DataSpaceIException("DataSpace::copy", close_error.getDetailMsg());
       }
-   }  // if
+   }  // end if
 
    // call C routine to copy the dataspace
    id = H5Scopy( like_space.getId() );
@@ -130,8 +136,9 @@
 //--------------------------------------------------------------------------
 DataSpace& DataSpace::operator=( const DataSpace& rhs )
 {
-   copy(rhs);
-   return(*this);
+    if (this != &rhs)
+	copy(rhs);
+    return(*this);
 }
 
 //--------------------------------------------------------------------------
@@ -394,7 +401,7 @@
 ///\par Description
 ///		For more information, please refer to the C layer Reference
 ///		Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectElemPointList
+/// <A HREF="../RM_H5S.html#Dataspace-SelectElemPointList">../RM_H5S.html#Dataspace-SelectElemPointList</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DataSpace::getSelectElemPointlist ( hsize_t startpoint, hsize_t numpoints, hsize_t *buf ) const
@@ -404,7 +411,7 @@
    if( ret_value < 0 )
    {
       throw DataSpaceIException("DataSpace::getSelectElemPointlist",
-                "H5Sget_select_elem_pointlist failed");
+		"H5Sget_select_elem_pointlist failed");
    }
 }
 
@@ -418,7 +425,7 @@
 ///\par Description
 ///		For more information, please refer to the C layer Reference
 ///		Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectBounds
+/// <A HREF="../RM_H5S.html#Dataspace-SelectBounds">../RM_H5S.html#Dataspace-SelectBounds</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DataSpace::getSelectBounds ( hsize_t* start, hsize_t* end ) const
@@ -427,7 +434,7 @@
    if( ret_value < 0 )
    {
       throw DataSpaceIException("DataSpace::getSelectBounds",
-                "H5Sget_select_bounds failed");
+		"H5Sget_select_bounds failed");
    }
 }
 
@@ -444,7 +451,7 @@
 ///\par Description
 ///		For more information, please refer to the C layer Reference
 ///		Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectElements
+/// <A HREF="../RM_H5S.html#Dataspace-SelectElements">../RM_H5S.html#Dataspace-SelectElements</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DataSpace::selectElements ( H5S_seloper_t op, const size_t num_elements, const hsize_t *coord[ ] ) const
@@ -454,7 +461,7 @@
    if( ret_value < 0 )
    {
       throw DataSpaceIException("DataSpace::selectElements",
-                "H5Sselect_elements failed");
+		"H5Sselect_elements failed");
    }
 }
 
@@ -487,7 +494,7 @@
    if( ret_value < 0 )
    {
       throw DataSpaceIException("DataSpace::selectNone",
-                "H5Sselect_none failed");
+		"H5Sselect_none failed");
    }
 }
 
@@ -510,7 +517,7 @@
    else
    {
       throw DataSpaceIException("DataSpace::selectValid",
-                "H5Sselect_valid returns negative value");
+		"H5Sselect_valid returns negative value");
    }
 }
 
@@ -526,7 +533,7 @@
 ///\par Description
 ///		For more information, please refer to the C layer Reference
 ///		Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectHyperslab
+/// <A HREF="../RM_H5S.html#Dataspace-SelectHyperslab">../RM_H5S.html#Dataspace-SelectHyperslab</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DataSpace::selectHyperslab( H5S_seloper_t op, const hsize_t *count, const hsize_t *start, const hsize_t *stride, const hsize_t *block ) const
@@ -549,18 +556,17 @@
 //--------------------------------------------------------------------------
 void DataSpace::close()
 {
-   if( id != H5S_ALL ) // not a constant, should call H5Sclose
-   {
-      herr_t ret_value = H5Sclose(id);
-      if( ret_value < 0 )
-      {
-	 throw DataSpaceIException("DataSpace::close", "H5Sclose failed");
-      }
-      // reset the id because the dataspace that it represents is now closed
-      id = 0;
-   }
-   else // cannot close a constant
-      throw DataSpaceIException("DataSpace::close", "Cannot close a constant");
+    // check if id is a valid hdf5 object id before trying to close it
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Sclose(id);
+	if( ret_value < 0 )
+	{
+	    throw DataSpaceIException("DataSpace::close", "H5Sclose failed");
+	}
+	// reset the id because the dataspace that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -568,21 +574,19 @@
 ///\brief	Properly terminates access to this dataspace.
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 DataSpace::~DataSpace()
 {
-   // If this object has a valid id, appropriately decrement reference
-   // counter and close the id.
-   if( id != H5S_ALL ) {
-      try {
-         decRefCount();
-      }
-      catch (Exception close_error) {
-	 cerr << "DataSpace::~DataSpace - " << close_error.getDetailMsg() << endl;
-      }
-   }  // if
+    try {
+	close();
+    }
+    catch (Exception close_error) {
+	cerr << "DataSpace::~DataSpace - " << close_error.getDetailMsg() << endl;
+    }
 }
 
 #ifndef H5_NO_NAMESPACE

Modified: packages/hdf5/branches/upstream/current/c++/src/H5DataSpace.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5DataSpace.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5DataSpace.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5DataSpace_H
@@ -34,6 +35,9 @@
 	// Assignment operator
 	DataSpace& operator=( const DataSpace& rhs );
 
+	// Closes this dataspace.
+	virtual void close();
+
 	// Makes copy of an existing dataspace.
 	void copy(const DataSpace& like_space);
 
@@ -100,7 +104,7 @@
 	void setExtentSimple( int rank, const hsize_t *current_size, const hsize_t *maximum_size = NULL ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("DataSpace"); }
+	virtual H5std_string fromClass () const { return("DataSpace"); }
 
 	// Creates a DataSpace object using an existing dataspace id.
 	DataSpace(const hid_t space_id);
@@ -108,9 +112,6 @@
 	// Copy constructor: makes a copy of the original DataSpace object.
 	DataSpace(const DataSpace& original);
 
-	// Close this dataspace.
-	virtual void close();
-
 	// Destructor: properly terminates access to this dataspace.
 	virtual ~DataSpace();
 };

Modified: packages/hdf5/branches/upstream/current/c++/src/H5DataType.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5DataType.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5DataType.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -25,23 +26,31 @@
 #include "H5PropList.h"
 #include "H5DataSpace.h"
 #include "H5Object.h"
+#include "H5FaccProp.h"
+#include "H5FcreatProp.h"
 #include "H5DcreatProp.h"
+#include "H5DxferProp.h"
 #include "H5CommonFG.h"
 #include "H5DataType.h"
 #include "H5AtomType.h"
 #include "H5PredType.h"
 #include "H5private.h"
+#include "H5AbstractDs.h"
+#include "H5DataSet.h"
+#include "H5File.h"
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
 // Function:	DataType overloaded constructor
 ///\brief	Creates a datatype using an existing datatype's id
 ///\param	existing_id - IN: Id of the existing datatype
-///\param	predefined  - IN: Indicates whether or not this datatype is
-///		a predefined datatype; default to \c false
 // Description
 //		Constructor creates a copy of an existing DataType using
 //		its id.  The argument "predefined" is default to false;
@@ -51,7 +60,7 @@
 //		- BMR 5/2004
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataType::DataType(const hid_t existing_id, bool predefined) : H5Object(existing_id), is_predtype(predefined) {}
+DataType::DataType(const hid_t existing_id) : H5Object(existing_id) {}
 
 //--------------------------------------------------------------------------
 // Function:	DataType overloaded constructor
@@ -61,7 +70,7 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataType::DataType( const H5T_class_t type_class, size_t size ) : H5Object(), is_predtype( false )
+DataType::DataType( const H5T_class_t type_class, size_t size ) : H5Object()
 {
    // Call C routine to create the new datatype
    id = H5Tcreate( type_class, size );
@@ -72,21 +81,33 @@
 }
 
 //--------------------------------------------------------------------------
+// Function:	DataType overload constructor - dereference
+///\brief	Given a reference to some object, returns that datatype
+///\param       obj - IN: Location reference object is in
+///\param	ref - IN: Reference pointer
+///\par Description
+///		\c obj can be DataSet, Group, H5File, or named DataType, that 
+///		is a datatype that has been named by DataType::commit.
+// Programmer	Binh-Minh Ribler - Oct, 2006
+//--------------------------------------------------------------------------
+DataType::DataType(IdComponent& obj, void* ref) : H5Object()
+{
+   IdComponent::dereference(obj, ref);
+}
+
+//--------------------------------------------------------------------------
 // Function:	DataType default constructor
 ///\brief	Default constructor: Creates a stub datatype
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataType::DataType() : H5Object(), is_predtype( false ) {}
+DataType::DataType() : H5Object() {}
 
 //--------------------------------------------------------------------------
 // Function:	DataType copy constructor
 ///\brief	Copy constructor: makes a copy of the original DataType object.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataType::DataType(const DataType& original) : H5Object(original)
-{
-   is_predtype = original.is_predtype; // copy data member from original
-}
+DataType::DataType(const DataType& original) : H5Object(original) {}
 
 //--------------------------------------------------------------------------
 // Function:	DataType::copy
@@ -95,27 +116,50 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Jun 1, 2004
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 void DataType::copy( const DataType& like_type )
 {
-   // reset the identifier of this instance, H5Tclose will be called
-   // if needed
-   if( is_predtype == false ) {
-        try {
-            decRefCount();
-        }
-        catch (Exception close_error) {
-            throw DataTypeIException(inMemFunc("copy"), close_error.getDetailMsg());
-        }
+    // close the current data type before copying like_type to this object
+    try {
+	close();
     }
+    catch (Exception close_error) {
+	throw DataTypeIException(inMemFunc("copy"), close_error.getDetailMsg());
+    }
 
-   // call C routine to copy the datatype
-   id = H5Tcopy( like_type.getId() );
+    // call C routine to copy the datatype
+    id = H5Tcopy( like_type.getId() );
+    if( id < 0 )
+	throw DataTypeIException(inMemFunc("copy"), "H5Tcopy failed");
+}
 
-   if( id < 0 )
-      throw DataTypeIException(inMemFunc("copy"), "H5Tcopy failed");
+//--------------------------------------------------------------------------
+// Function:	DataType::copy
+///\brief	Copies the datatype of the given dataset to this datatype object
+///\param	dset - IN: Dataset 
+///\exception	H5::DataTypeIException
+// Programmer	Binh-Minh Ribler - Jan, 2007
+///\par Description
+///		The resulted dataset will be transient and modifiable.
+//--------------------------------------------------------------------------
+void DataType::copy(const DataSet& dset)
+{
+    // close the current data type before copying dset's datatype to this object
+    try {
+	close();
+    }
+    catch (Exception close_error) {
+	throw DataTypeIException(inMemFunc("copy"), close_error.getDetailMsg());
+    }
+
+    // call C routine to copy the datatype
+    id = H5Tcopy( dset.getId() );
+    if( id < 0 )
+	throw DataTypeIException(inMemFunc("copy"), "H5Tcopy failed");
 }
 
 //--------------------------------------------------------------------------
@@ -131,8 +175,9 @@
 //--------------------------------------------------------------------------
 DataType& DataType::operator=( const DataType& rhs )
 {
-   copy(rhs);
-   return(*this);
+    if (this != &rhs)
+	copy(rhs);
+    return(*this);
 }
 
 //--------------------------------------------------------------------------
@@ -155,49 +200,91 @@
       return false;
    else
    {
-      throw DataTypeIException(inMemFunc("operator=="),
-		"H5Tequal returns negative value");
+      throw DataTypeIException(inMemFunc("operator=="), "H5Tequal returns negative value");
    }
 }
 
 //--------------------------------------------------------------------------
+// Function:	DataType::p_commit (private)
+//\brief	Commits a transient datatype to a file, creating a new
+//		named datatype
+//\param	loc_id - IN: The id of either a file, group, dataset, named 
+//			 datatype, or attribute.
+//\param	name - IN: Name of the datatype
+//\exception	H5::DataTypeIException
+// Programmer	Binh-Minh Ribler - 2000
+// Modification:
+//		Copied from DataType::commit and made into private function
+//		to be commonly used by several overloads of DataType::commit.
+//		BMR - Jan, 2007
+//--------------------------------------------------------------------------
+void DataType::p_commit(hid_t loc_id, const char* name)
+{
+   // Call C routine to commit the transient datatype
+   herr_t ret_value = H5Tcommit(loc_id, name, id);
+   if( ret_value < 0 )
+   {
+      throw DataTypeIException(inMemFunc("p_commit"), "H5Tcommit failed");
+   }
+}
+
+//--------------------------------------------------------------------------
 // Function:	DataType::commit
 ///\brief	Commits a transient datatype to a file, creating a new
 ///		named datatype
-///\param	loc - IN: Either a file or a group
+///\param	loc - IN: A file
 ///\param	name - IN: Name of the datatype
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataType::commit(CommonFG& loc, const char* name) const
+void DataType::commit(H5File& loc, const char* name)
 {
-   hid_t loc_id = loc.getLocId(); // get location id for C API
+   p_commit(loc.getLocId(), name);
+}
 
-   // Call C routine to commit the transient datatype
-   herr_t ret_value = H5Tcommit( loc_id, name, id );
-   if( ret_value < 0 )
-   {
-      throw DataTypeIException(inMemFunc("commit"), "H5Tcommit failed");
-   }
+//--------------------------------------------------------------------------
+// Function:	DataType::commit
+///\brief	This is an overloaded member function, provided for convenience.
+///		It differs from the above function only in the type of the
+///		argument \a name.
+// Programmer	Binh-Minh Ribler - 2000
+//--------------------------------------------------------------------------
+void DataType::commit(H5File& loc, const H5std_string& name)
+{
+   p_commit(loc.getLocId(), name.c_str());
 }
 
 //--------------------------------------------------------------------------
 // Function:	DataType::commit
+///\brief	Commits a transient datatype to a file, creating a new
+///		named datatype
+///\param	loc - IN: Either a group, dataset, named datatype, or attribute.
+///\param	name - IN: Name of the datatype
+///\exception	H5::DataTypeIException
+// Programmer	Binh-Minh Ribler - Jan, 2007
+//--------------------------------------------------------------------------
+void DataType::commit(H5Object& loc, const char* name)
+{
+   p_commit(loc.getId(), name);
+}
+
+//--------------------------------------------------------------------------
+// Function:	DataType::commit
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function only in the type of the
 ///		argument \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataType::commit(CommonFG& loc, const string& name) const
+void DataType::commit(H5Object& loc, const H5std_string& name)
 {
-   commit( loc, name.c_str() );
+   p_commit(loc.getId(), name.c_str());
 }
 
 //--------------------------------------------------------------------------
 // Function:	DataType::committed
 ///\brief	Determines whether a datatype is a named type or a
 ///		transient type.
-///\return	\c true if the datatype is a named type, and \c false, 
+///\return	\c true if the datatype is a named type, and \c false,
 ///		otherwise.
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
@@ -250,7 +337,7 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataType::convert( const DataType& dest, size_t nelmts, void *buf, void *background, PropList& plist ) const
+void DataType::convert( const DataType& dest, size_t nelmts, void *buf, void *background, const PropList& plist ) const
 {
    // Get identifiers for C API
    hid_t dest_id = dest.getId();
@@ -280,7 +367,7 @@
 ///		The function specified by \a func will be called for all 
 ///		data type conversions that result in an overflow.
 ///		For more information, please see:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetOverflow
+/// <A HREF="../RM_H5T.html#Datatype-SetOverflow">../RM_H5T.html#Datatype-SetOverflow</A>
 // Programmer	Binh-Minh Ribler - 2004
 //--------------------------------------------------------------------------
 void DataType::setOverflow( H5T_overflow_t func ) const
@@ -346,8 +433,7 @@
    // Return datatype class identifier if successful
    if( type_class == H5T_NO_CLASS )
    {
-      throw DataTypeIException(inMemFunc("getClass"),
-		"H5Tget_class returns H5T_NO_CLASS");
+      throw DataTypeIException(inMemFunc("getClass"), "H5Tget_class returns H5T_NO_CLASS");
    }
    return( type_class );
 }
@@ -365,8 +451,7 @@
    size_t type_size = H5Tget_size( id );
    if( type_size <= 0 ) // valid data types are never zero size
    {
-      throw DataTypeIException(inMemFunc("getSize"),
-		"H5Tget_size returns invalid datatype size");
+      throw DataTypeIException(inMemFunc("getSize"), "H5Tget_size returns invalid datatype size");
    }
    return( type_size );
 }
@@ -410,7 +495,7 @@
 ///\exception	H5::DataTypeIException
 ///\par Description
 ///		For more information, please see:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-Register
+/// <A HREF="../RM_H5T.html#Datatype-Register">../RM_H5T.html#Datatype-Register</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DataType::registerFunc( H5T_pers_t pers, const char* name, const DataType& dest, H5T_conv_t func ) const
@@ -432,7 +517,7 @@
 ///		argument \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataType::registerFunc( H5T_pers_t pers, const string& name, const DataType& dest, H5T_conv_t func ) const
+void DataType::registerFunc( H5T_pers_t pers, const H5std_string& name, const DataType& dest, H5T_conv_t func ) const
 {
    registerFunc( pers, name.c_str(), dest, func );
 }
@@ -469,7 +554,7 @@
 ///		argument \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataType::unregister( H5T_pers_t pers, const string& name, const DataType& dest, H5T_conv_t func ) const
+void DataType::unregister( H5T_pers_t pers, const H5std_string& name, const DataType& dest, H5T_conv_t func ) const
 {
    unregister( pers, name.c_str(), dest, func );
 }
@@ -499,7 +584,7 @@
 ///		argument \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataType::setTag( const string& tag ) const
+void DataType::setTag( const H5std_string& tag ) const
 {
    setTag( tag.c_str());
 }
@@ -511,23 +596,22 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string DataType::getTag() const
+H5std_string DataType::getTag() const
 {
-   char* tag_Cstr = H5Tget_tag( id );
+    char* tag_Cstr = H5Tget_tag( id );
 
-   // if the tag C-string returned is not NULL, convert it to C++ string
-   // and return it, otherwise, raise an exception
-   if( tag_Cstr != NULL )
-   {
-      string tag = string(tag_Cstr); // convert C string to string object
+    // if the tag C-string returned is not NULL, convert it to C++ string
+    // and return it, otherwise, raise an exception
+    if( tag_Cstr != NULL )
+    {
+	H5std_string tag = H5std_string(tag_Cstr); // C string to string object
 	HDfree(tag_Cstr); // free the C string
-      return (tag); // return the tag
-   }
-   else
-   {
-      throw DataTypeIException(inMemFunc("getTag"),
-		"H5Tget_tag returns NULL for tag");
-   }
+	return (tag); // return the tag
+    }
+    else
+    {
+	throw DataTypeIException(inMemFunc("getTag"), "H5Tget_tag returns NULL for tag");
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -549,7 +633,7 @@
    else
    {
       throw DataTypeIException(inMemFunc("detectClass"),
-		"H5Tdetect_class returns negative value");
+				"H5Tdetect_class returns negative value");
    }
 }
 
@@ -571,18 +655,15 @@
    else
    {
       throw DataTypeIException(inMemFunc("isVariableStr"),
-                "H5Tis_variable_str returns negative value");
+				"H5Tis_variable_str returns negative value");
    }
 }
 
 //--------------------------------------------------------------------------
 // Function:	DataType::Reference
-///\brief	Creates a reference to an HDF5 object or a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\param	dataspace - IN: Dataspace with selection
-///\param	ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
-///\return	A reference
-///\exception	H5::IdComponentException
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		DataType::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* DataType::Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type) const
@@ -597,16 +678,9 @@
 
 //--------------------------------------------------------------------------
 // Function:	DataType::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it only creates
-///		a reference to an HDF5 object, not to a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\return	A reference
-///\exception	H5::IdComponentException
-///\par Description
-//		This function passes H5R_OBJECT and -1 to the protected
-//		function for it to pass to the C API H5Rcreate
-//		to create a reference to the named object.
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		DataType::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* DataType::Reference(const char* name) const
@@ -621,13 +695,12 @@
 
 //--------------------------------------------------------------------------
 // Function:	DataType::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it takes an
-///		\c std::string for the object's name.
-///\param	name - IN: Name of the object to be referenced - \c std::string
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		DataType::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
-void* DataType::Reference(const string& name) const
+void* DataType::Reference(const H5std_string& name) const
 {
    return(Reference(name.c_str()));
 }
@@ -642,7 +715,7 @@
 ///			\li \c H5G_GROUP Object is a group.
 ///			\li \c H5G_DATASET   Object is a dataset.
 ///			\li \c H5G_TYPE Object is a named datatype
-///\exception	H5::IdComponentException
+///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 H5G_obj_t DataType::getObjType(void *ref, H5R_type_t ref_type) const
@@ -661,7 +734,7 @@
 ///\param	ref      - IN: Reference to get region of
 ///\param	ref_type - IN: Type of reference to get region of - default
 ///\return	DataSpace instance
-///\exception	H5::IdComponentException
+///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 DataSpace DataType::getRegion(void *ref, H5R_type_t ref_type) const
@@ -684,19 +757,16 @@
 //--------------------------------------------------------------------------
 void DataType::close()
 {
-   // If this datatype is not a predefined type, call H5Tclose on it.
-   if( is_predtype == false )
-   {
-      herr_t ret_value = H5Tclose(id);
-      if( ret_value < 0 )
-      {
-         throw DataTypeIException(inMemFunc("close"), "H5Tclose failed");
-      }
-      // reset the id because the datatype that it represents is now closed
-      id = 0;
-   }
-   else // cannot close a predefined type
-      throw DataTypeIException(inMemFunc("close"), "Cannot close a predefined type");
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Tclose(id);
+	if( ret_value < 0 )
+	{
+	    throw DataTypeIException(inMemFunc("close"), "H5Tclose failed");
+	}
+	// reset the id because the datatype that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -704,20 +774,19 @@
 ///\brief	Properly terminates access to this datatype.
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Jun 1, 2004
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 DataType::~DataType()
 {
-   // The datatype id will be closed properly
-   if( is_predtype == false ) {
-        try {
-            decRefCount();
-        }
-        catch (Exception close_error) {
-            cerr << inMemFunc("~DataType - ") << close_error.getDetailMsg() << endl;
-        }
+    try {
+	close();
     }
+    catch (Exception close_error) {
+	cerr << inMemFunc("~DataType - ") << close_error.getDetailMsg() << endl;
+    }
 }
 
 #ifndef H5_NO_NAMESPACE

Modified: packages/hdf5/branches/upstream/current/c++/src/H5DataType.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5DataType.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5DataType.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5DataType_H
@@ -28,19 +29,27 @@
 	// Copy constructor: makes a copy of the original object
 	DataType( const DataType& original );
 
+	// Creates a datatype by way of dereference.
+	DataType(IdComponent& obj, void* ref);
+
 	// Closes this datatype.
 	virtual void close();
 
-	// Copies an existing datatype to this datatype object
-	void copy( const DataType& like_type );
+	// Copies an existing datatype to this datatype object.
+	void copy(const DataType& like_type);
 
+	// Copies the datatype of dset to this datatype object.
+	void copy(const DataSet& dset);
+
 	// Returns the datatype class identifier.
 	H5T_class_t getClass() const;
 
 	// Commits a transient datatype to a file; this datatype becomes
 	// a named datatype which can be accessed from the location.
-	void commit( CommonFG& loc, const char* name ) const;
-	void commit( CommonFG& loc, const string& name ) const;
+	void commit( H5File& loc, const char* name);
+	void commit( H5File& loc, const H5std_string& name);
+	void commit( H5Object& loc, const char* name);
+	void commit( H5Object& loc, const H5std_string& name);
 
 	// Determines whether this datatype is a named datatype or
 	// a transient datatype.
@@ -51,7 +60,7 @@
 	H5T_conv_t find( const DataType& dest, H5T_cdata_t **pcdata ) const;
 
 	// Converts data from between specified datatypes.
-	void convert( const DataType& dest, size_t nelmts, void *buf, void *background, PropList& plist ) const;
+	void convert( const DataType& dest, size_t nelmts, void *buf, void *background, const PropList& plist=PropList::DEFAULT) const;
 
 	// Assignment operator
 	DataType& operator=( const DataType& rhs );
@@ -77,18 +86,18 @@
 
 	// Registers a conversion function.
 	void registerFunc(H5T_pers_t pers, const char* name, const DataType& dest, H5T_conv_t func ) const;
-	void registerFunc(H5T_pers_t pers, const string& name, const DataType& dest, H5T_conv_t func ) const;
+	void registerFunc(H5T_pers_t pers, const H5std_string& name, const DataType& dest, H5T_conv_t func ) const;
 
 	// Removes a conversion function from all conversion paths.
 	void unregister( H5T_pers_t pers, const char* name, const DataType& dest, H5T_conv_t func ) const;
-	void unregister( H5T_pers_t pers, const string& name, const DataType& dest, H5T_conv_t func ) const;
+	void unregister( H5T_pers_t pers, const H5std_string& name, const DataType& dest, H5T_conv_t func ) const;
 
 	// Tags an opaque datatype.
 	void setTag( const char* tag ) const;
-	void setTag( const string& tag ) const;
+	void setTag( const H5std_string& tag ) const;
 
 	// Gets the tag associated with an opaque datatype.
-	string getTag() const;
+	H5std_string getTag() const;
 
 	// Checks whether this datatype contains (or is) a certain type class.
 	bool detectClass(H5T_class_t cls) const;
@@ -96,35 +105,33 @@
 	// Checks whether this datatype is a variable-length string.
 	bool isVariableStr() const;
 
-	// Creates a reference to a named Hdf5 object in this object.
-	void* Reference(const char* name) const;
-	void* Reference(const string& name) const;
-
-	// Creates a reference to a named Hdf5 object or to a dataset region
+	// Creates a reference to a named HDF5 object or to a dataset region
 	// in this object.
-	void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const;
+	void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const; // will be obsolete
 
+	// Creates a reference to a named HDF5 object in this object.
+	void* Reference(const char* name) const; // will be obsolete
+	void* Reference(const H5std_string& name) const; // will be obsolete
+
 	// Retrieves the type of object that an object reference points to.
-	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type) const;
+	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type = H5R_OBJECT) const;
 
 	// Retrieves a dataspace with the region pointed to selected.
 	DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("DataType"); }
+	virtual H5std_string fromClass () const { return("DataType"); }
 
 	// Creates a copy of an existing DataType using its id
-	DataType( const hid_t type_id, bool predtype = false );
+	DataType( const hid_t type_id );
 
 	// Default constructor
 	DataType();
 
 	// Destructor: properly terminates access to this datatype.
 	virtual ~DataType();
-
-   protected:
-	bool is_predtype;	// indicates a type is predefined so
-				// H5Tclose will not be called for it
+   private:
+	void p_commit(hid_t loc_id, const char* name);
 };
 #ifndef H5_NO_NAMESPACE
 }

Modified: packages/hdf5/branches/upstream/current/c++/src/H5DcreatProp.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5DcreatProp.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5DcreatProp.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -106,7 +107,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For information on setting layout type, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetLayout
+/// <A HREF="../RM_H5P.html#Property-SetLayout">../RM_H5P.html#Property-SetLayout</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DSetCreatPropList::setLayout(H5D_layout_t layout) const
@@ -169,6 +170,33 @@
 }
 
 //--------------------------------------------------------------------------
+// Function:	DSetCreatPropList::setSzip
+///\brief	Sets up for the use of the SZIP compression filter.
+///\param	options_mask     - IN: A bit-mask conveying the desired SZIP
+///			options.  Valid values are H5_SZIP_EC_OPTION_MASK
+///			and H5_SZIP_NN_OPTION_MASK.
+///\param	pixels_per_block - IN: Number of pixels or data elements in
+///			each data block.
+///\exception	H5::PropListIException
+///\par Description
+///		The associate C function sets an SZIP compression filter,
+///		H5Z_FILTER_SZIP, for a dataset.  For more information about
+///		SZIP and usage, please refer to the C layer Reference
+///		Manual at:
+/// <A HREF="../RM_H5P.html#Property-SetSzip">../RM_H5P.html#Property-SetSzip</A>
+// Programmer	Binh-Minh Ribler - Jan, 2007
+//--------------------------------------------------------------------------
+void DSetCreatPropList::setSzip(unsigned int options_mask, unsigned int pixels_per_block) const
+{
+    herr_t ret_value = H5Pset_szip(id, options_mask, pixels_per_block);
+    if( ret_value < 0 )
+    {
+	throw PropListIException("DSetCreatPropList::setSzip",
+		"H5Pset_szip failed");
+    }
+}
+
+//--------------------------------------------------------------------------
 // Function:	DSetCreatPropList::setFillValue
 ///\brief	Sets a dataset fill value
 ///\param	fvalue_type - IN: Data type for the value passed via \a value
@@ -183,7 +211,7 @@
 ///\par
 ///		For information on setting fill value, please refer to the
 ///		C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFillValue
+/// <A HREF="../RM_H5P.html#Property-SetFillValue">../RM_H5P.html#Property-SetFillValue</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DSetCreatPropList::setFillValue( const DataType& fvalue_type, const void* value ) const
@@ -229,7 +257,7 @@
 ///\exception	H5::PropListIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5D_fill_value_t DSetCreatPropList::isFillValueDefined()
+H5D_fill_value_t DSetCreatPropList::isFillValueDefined() const
 {
    H5D_fill_value_t status;
    herr_t ret_value = H5Pfill_value_defined(id, &status);
@@ -262,7 +290,8 @@
 ///		and the filter fails then the entire I/O operation fails.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::setFilter( H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[] ) const
+void DSetCreatPropList::setFilter( H5Z_filter_t filter_id, unsigned int flags, 
+	size_t cd_nelmts, const unsigned int cd_values[] ) const
 {
    herr_t ret_value = H5Pset_filter( id, filter_id, flags, cd_nelmts, cd_values );
    if( ret_value < 0 )
@@ -327,8 +356,9 @@
 ///\par Description
 ///		Failure occurs when \a filter_number is out of range.
 //--------------------------------------------------------------------------
-H5Z_filter_t DSetCreatPropList::getFilter(int filter_number, unsigned int &flags, size_t &cd_nelmts,
-                    unsigned int* cd_values, size_t namelen, char name[] ) const
+H5Z_filter_t DSetCreatPropList::getFilter(int filter_number, 
+	unsigned int &flags, size_t &cd_nelmts, unsigned int* cd_values, 
+	size_t namelen, char name[] ) const
 {
    H5Z_filter_t filter_id;
    filter_id = H5Pget_filter( id, filter_number, &flags, &cd_nelmts,
@@ -356,8 +386,9 @@
 ///\exception	H5::PropListIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::getFilterById(H5Z_filter_t filter_id, unsigned int &flags, size_t &cd_nelmts,
-                unsigned int* cd_values, size_t namelen, char name[]) const
+void DSetCreatPropList::getFilterById(H5Z_filter_t filter_id, 
+	unsigned int &flags, size_t &cd_nelmts, unsigned int* cd_values, 
+	size_t namelen, char name[]) const
 {
    herr_t ret_value = H5Pget_filter_by_id(id, filter_id, &flags, &cd_nelmts,
                                 cd_values, namelen, name );
@@ -389,7 +420,8 @@
 ///		and the filter fails then the entire I/O operation fails.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::modifyFilter( H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[] ) const
+void DSetCreatPropList::modifyFilter( H5Z_filter_t filter_id, unsigned int 
+	flags, size_t cd_nelmts, const unsigned int cd_values[] ) const
 {
    herr_t ret_value = H5Pmodify_filter(id, filter_id, flags, cd_nelmts, cd_values);
    if( ret_value < 0 )
@@ -408,7 +440,7 @@
 ///\exception	H5::PropListIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-bool DSetCreatPropList::allFiltersAvail()
+bool DSetCreatPropList::allFiltersAvail() const
 {
    htri_t ret_value = H5Pall_filters_avail(id);
    if( ret_value > 0 )
@@ -429,10 +461,10 @@
 ///\par Description
 ///		Please refer to the Reference Manual of \c H5Pset_shuffle for
 ///		details.
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetShuffle
+/// <A HREF="../RM_H5P.html#Property-SetShuffle">../RM_H5P.html#Property-SetShuffle</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::setShuffle()
+void DSetCreatPropList::setShuffle() const
 {
    herr_t ret_value = H5Pset_shuffle(id);
    if( ret_value < 0 )
@@ -456,7 +488,7 @@
 ///		\li \c H5D_ALLOC_TIME_INCR
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5D_alloc_time_t DSetCreatPropList::getAllocTime()
+H5D_alloc_time_t DSetCreatPropList::getAllocTime() const
 {
    H5D_alloc_time_t alloc_time;
    herr_t ret_value = H5Pget_alloc_time(id, &alloc_time);
@@ -480,7 +512,7 @@
 ///		\li \c H5D_FILL_TIME_ALLOC.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5D_fill_time_t DSetCreatPropList::getFillTime()
+H5D_fill_time_t DSetCreatPropList::getFillTime() const
 {
    H5D_fill_time_t fill_time;
    herr_t ret_value = H5Pget_fill_time(id, &fill_time);
@@ -506,7 +538,7 @@
 ///		\li \c H5D_ALLOC_TIME_INCR
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::setAllocTime(H5D_alloc_time_t alloc_time)
+void DSetCreatPropList::setAllocTime(H5D_alloc_time_t alloc_time) const
 {
    herr_t ret_value = H5Pset_alloc_time(id, alloc_time);
    if( ret_value < 0 )
@@ -527,7 +559,7 @@
 ///		\li \c H5D_FILL_TIME_ALLOC.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::setFillTime(H5D_fill_time_t fill_time)
+void DSetCreatPropList::setFillTime(H5D_fill_time_t fill_time) const
 {
    herr_t ret_value = H5Pset_fill_time(id, fill_time);
    if( ret_value < 0 )
@@ -544,7 +576,7 @@
 ///\exception	H5::PropListIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::setFletcher32()
+void DSetCreatPropList::setFletcher32() const
 {
    herr_t ret_value = H5Pset_fletcher32(id);
    if( ret_value < 0 )

Modified: packages/hdf5/branches/upstream/current/c++/src/H5DcreatProp.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5DcreatProp.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5DcreatProp.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5DSCreatPropList_H
@@ -25,15 +26,18 @@
 	// Default dataset creation property list.
 	static const DSetCreatPropList DEFAULT;
 
+	// Creates a dataset creation property list.
+	DSetCreatPropList();
+
 	// Queries whether all the filters set in this property list are
 	// available currently.
-	bool allFiltersAvail();
+	bool allFiltersAvail() const;
 
 	// Get space allocation time for this property.
-	H5D_alloc_time_t getAllocTime();
+	H5D_alloc_time_t getAllocTime() const;
 
 	// Set space allocation time for dataset during creation.
-	void setAllocTime(H5D_alloc_time_t alloc_time);
+	void setAllocTime(H5D_alloc_time_t alloc_time) const;
 
 	// Retrieves the size of the chunks used to store a chunked layout dataset.
 	int getChunk( int max_ndims, hsize_t* dim ) const;
@@ -48,10 +52,10 @@
 	int getExternalCount() const;
 
 	// Gets fill value writing time.
-	H5D_fill_time_t getFillTime();
+	H5D_fill_time_t getFillTime() const;
 
 	// Sets fill value writing time for dataset.
-	void setFillTime(H5D_fill_time_t fill_time);
+	void setFillTime(H5D_fill_time_t fill_time) const;
 
 	// Retrieves a dataset fill value.
 	void getFillValue( const DataType& fvalue_type, void* value ) const;
@@ -77,7 +81,7 @@
 	int getNfilters() const;
 
 	// Checks if fill value has been defined for this property.
-	H5D_fill_value_t isFillValueDefined();
+	H5D_fill_value_t isFillValueDefined() const;
 
 	// Modifies the specified filter.
 	void modifyFilter( H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[] ) const;
@@ -92,20 +96,20 @@
 	void setExternal( const char* name, off_t offset, hsize_t size ) const;
 
 	// Adds a filter to the filter pipeline.
-	void setFilter( H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[] ) const;
+	void setFilter( H5Z_filter_t filter, unsigned int flags = 0, size_t cd_nelmts = 0, const unsigned int cd_values[] = NULL) const;
 
 	// Sets Fletcher32 checksum of EDC for this property list.
-	void setFletcher32();
+	void setFletcher32() const;
 
 	// Sets method of the shuffle filter.
-	void setShuffle();
+	void setShuffle() const;
 
+	// Sets SZIP compression method.
+	void setSzip(unsigned int options_mask, unsigned int pixels_per_block) const;
+
 	// Returns this class name
-	virtual string fromClass () const { return("DSetCreatPropList"); }
+	virtual H5std_string fromClass () const { return("DSetCreatPropList"); }
 
-	// Default constructor: creates a stub dataset creation property list.
-	DSetCreatPropList();
-
 	// Copy constructor: creates a copy of a DSetCreatPropList object.
 	DSetCreatPropList(const DSetCreatPropList& orig);
 

Modified: packages/hdf5/branches/upstream/current/c++/src/H5DxferProp.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5DxferProp.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5DxferProp.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -33,27 +34,27 @@
 // Function     Default constructor
 ///\brief	Default constructor: creates a stub dataset memory and
 ///		transfer property list object.
-// Programmer:  Binh-Minh Ribler - 2000
+// Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 DSetMemXferPropList::DSetMemXferPropList() : PropList(H5P_DATASET_XFER) {}
 
 //--------------------------------------------------------------------------
-// Function     DSetMemXferPropList copy constructor
+// Function	DSetMemXferPropList copy constructor
 ///\brief	Copy constructor: makes a copy of the original
 ///		DSetMemXferPropList object
-///\param       original - IN: Original dataset memory and transfer property
+///\param	original - IN: Original dataset memory and transfer property
 ///				list object to copy
-// Programmer:  Binh-Minh Ribler - 2000
+// Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 DSetMemXferPropList::DSetMemXferPropList(const DSetMemXferPropList& original) : PropList(original) {}
 
 //--------------------------------------------------------------------------
-// Function     DSetMemXferPropList overloaded constructor
+// Function	DSetMemXferPropList overloaded constructor
 ///\brief	Creates a DSetMemXferPropList object using the id of an
 ///		existing DSetMemXferPropList.
-///\param       plist_id - IN: Id of an existing dataset memory and transfer
+///\param	plist_id - IN: Id of an existing dataset memory and transfer
 ///				property list
-// Programmer:  Binh-Minh Ribler - 2000
+// Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 DSetMemXferPropList::DSetMemXferPropList(const hid_t plist_id) : PropList(plist_id) {}
 
@@ -274,7 +275,7 @@
 //--------------------------------------------------------------------------
 // Function:	DSetMemXferPropList::setVlenMemManager
 ///\brief	Sets the memory manager for variable-length datatype allocation.
-///\param       alloc_func - IN: User's allocate routine
+///\param	alloc_func - IN: User's allocate routine
 ///\param	alloc_info - IN: User's allocation parameters
 ///\param	free_func  - IN: User's free routine
 ///\param	free_info  - IN: User's free parameters
@@ -308,7 +309,7 @@
 //--------------------------------------------------------------------------
 // Function:	DSetMemXferPropList::getVlenMemManager
 ///\brief	Gets the memory manager for variable-length datatype allocation
-///\param       alloc_func - OUT: User's allocate routine
+///\param	alloc_func - OUT: User's allocate routine
 ///\param	alloc_info - OUT: User's allocation parameters
 ///\param	free_func  - OUT: User's free routine
 ///\param	free_info  - OUT: User's free parameters
@@ -328,7 +329,7 @@
 //--------------------------------------------------------------------------
 // Function:	DSetMemXferPropList::setMulti
 ///\brief	Sets the data transfer property list for the multi-file driver.
-///\param       memb_dxpl - OUT: Array of data access property lists
+///\param	memb_dxpl - OUT: Array of data access property lists
 ///\exception	H5::PropListIException
 ///\par Description
 ///		This function can only be used after the member map has
@@ -348,7 +349,7 @@
 //--------------------------------------------------------------------------
 // Function:	DSetMemXferPropList::getMulti
 ///\brief	Returns multi-file data transfer property list information.
-///\param       memb_dxpl - OUT: Array of data access property lists
+///\param	memb_dxpl - OUT: Array of data access property lists
 ///\exception	H5::PropListIException
 // Programmer:	Binh-Minh Ribler - July, 2004
 //--------------------------------------------------------------------------
@@ -365,11 +366,11 @@
 //--------------------------------------------------------------------------
 // Function:	DSetMemXferPropList::setSmallDataBlockSize
 ///\brief	Sets the size of a contiguous block reserved for small data.
-///\param       size - IN: Maximum size, in bytes, of the small data block.
+///\param	size - IN: Maximum size, in bytes, of the small data block.
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For detail, please refer to the C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSmallData
+/// <A HREF="../RM_H5P.html#Property-SetSmallData">../RM_H5P.html#Property-SetSmallData</A>
 // Programmer:	Binh-Minh Ribler - July, 2004
 //--------------------------------------------------------------------------
 void DSetMemXferPropList::setSmallDataBlockSize(hsize_t size)
@@ -409,7 +410,7 @@
 ///\par Description
 ///		For information, please refer to the C layer Reference
 ///		Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetHyperVectorSize
+/// <A HREF="../RM_H5P.html#Property-SetHyperVectorSize">../RM_H5P.html#Property-SetHyperVectorSize</A>
 // Programmer:	Binh-Minh Ribler - July, 2004
 //--------------------------------------------------------------------------
 void DSetMemXferPropList::setHyperVectorSize(size_t vector_size)
@@ -423,7 +424,7 @@
 }
 
 //--------------------------------------------------------------------------
-// Function:	DSetMemXferPropList::getSmallDataBlockSize
+// Function:	DSetMemXferPropList::getHyperVectorSize
 ///\brief	Returns the number of I/O vectors to be read/written in
 ///		hyperslab I/O.
 ///\return	Number of I/O vectors

Modified: packages/hdf5/branches/upstream/current/c++/src/H5DxferProp.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5DxferProp.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5DxferProp.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5DSetMemXferPropList_H
@@ -24,6 +25,9 @@
    public:
 	static const DSetMemXferPropList DEFAULT;
 
+	// Creates a dataset memory and transfer property list.
+	DSetMemXferPropList();
+
 #ifdef H5_WANT_H5_V1_4_COMPAT
         // Sets type conversion and background buffers.
         void setBuffer( hsize_t size, void* tconv, void* bkg ) const;
@@ -45,10 +49,10 @@
         size_t getBuffer( void** tconv, void** bkg ) const;
 #endif /* H5_WANT_H5_V1_4_COMPAT */
 
-	// Sets B-tree split ratios for a dataset transfer property list
+	// Sets B-tree split ratios for a dataset transfer property list.
 	void setBtreeRatios( double left, double middle, double right ) const;
 
-	// Gets B-tree split ratios for a dataset transfer property list
+	// Gets B-tree split ratios for a dataset transfer property list.
 	void getBtreeRatios( double& left, double& middle, double& right ) const;
 
 	// Sets the dataset transfer property list status to TRUE or FALSE.
@@ -58,16 +62,16 @@
 	bool getPreserve() const;
 
 	// Sets the memory manager for variable-length datatype
-	// allocation in H5Dread and H5Dvlen_reclaim
+	// allocation in H5Dread and H5Dvlen_reclaim.
 	void setVlenMemManager( H5MM_allocate_t alloc, void* alloc_info,
 				H5MM_free_t free, void* free_info ) const;
 
 	// alloc and free are set to NULL, indicating that system
-	// malloc and free are to be used
+	// malloc and free are to be used.
 	void setVlenMemManager() const;
 
 	// Gets the memory manager for variable-length datatype
-	// allocation in H5Dread and H5Tvlen_reclaim
+	// allocation in H5Dread and H5Tvlen_reclaim.
 	void getVlenMemManager( H5MM_allocate_t& alloc, void** alloc_info,
 				H5MM_free_t& free, void** free_info ) const;
 
@@ -97,18 +101,15 @@
 	// Determines whether error-detection is enabled for dataset reads.
 	H5Z_EDC_t getEDCCheck();
 
-	// Returns this class name
-	virtual string fromClass () const { return("DSetMemXferPropList"); }
+	// Returns this class name.
+	virtual H5std_string fromClass () const { return("DSetMemXferPropList"); }
 
-	// Default constructor: creates a dataset memory and transfer prop list.
-	DSetMemXferPropList();
-
 	// Copy constructor: makes a copy of a DSetMemXferPropList object.
 	DSetMemXferPropList(const DSetMemXferPropList& orig);
 
 	// Creates a copy of an existing dataset memory and transfer
 	// property list using the property list id.
-	DSetMemXferPropList (const hid_t plist_id);
+	DSetMemXferPropList(const hid_t plist_id);
 
 	// Noop destructor
 	virtual ~DSetMemXferPropList();

Modified: packages/hdf5/branches/upstream/current/c++/src/H5EnumType.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5EnumType.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5EnumType.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -132,7 +133,7 @@
 ///		argument \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void EnumType::insert( const string& name, void *value ) const
+void EnumType::insert( const H5std_string& name, void *value ) const
 {
     insert( name.c_str(), value );
 }
@@ -146,7 +147,7 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string EnumType::nameOf( void *value, size_t size ) const
+H5std_string EnumType::nameOf( void *value, size_t size ) const
 {
    char* name_C = new char[size+1];  // temporary C-string for C API
 
@@ -159,7 +160,7 @@
       throw DataTypeIException("EnumType::nameOf", "H5Tenum_nameof failed");
    }
    // otherwise, create the string to hold the datatype name and return it
-   string name = string( name_C );
+   H5std_string name = H5std_string(name_C);
    delete []name_C;
    return( name );
 }
@@ -190,7 +191,7 @@
 ///		argument \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void EnumType::valueOf( const string& name, void *value ) const
+void EnumType::valueOf( const H5std_string& name, void *value ) const
 {
     valueOf( name.c_str(), value );
 }
@@ -223,7 +224,7 @@
 ///		argument \a name.
 // Programmer   Binh-Minh Ribler - May 16, 2002
 //--------------------------------------------------------------------------
-int EnumType::getMemberIndex(const string& name) const
+int EnumType::getMemberIndex(const H5std_string& name) const
 {
     return(EnumType::getMemberIndex(name.c_str()));
 }

Modified: packages/hdf5/branches/upstream/current/c++/src/H5EnumType.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5EnumType.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5EnumType.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5EnumType_H
@@ -38,26 +39,26 @@
 
 	// Returns the index of a member in this enumeration data type.
 	int getMemberIndex(const char* name) const;
-	int getMemberIndex(const string& name) const;
+	int getMemberIndex(const H5std_string& name) const;
 
 	// Returns the value of an enumeration datatype member
 	void getMemberValue( unsigned memb_no, void *value ) const;
 
 	// Inserts a new member to this enumeration type.
 	void insert( const char* name, void *value ) const;
-	void insert( const string& name, void *value ) const;
+	void insert( const H5std_string& name, void *value ) const;
 
 	// Returns the symbol name corresponding to a specified member
 	// of this enumeration datatype.
-	string nameOf( void *value, size_t size ) const;
+	H5std_string nameOf( void *value, size_t size ) const;
 
 	// Returns the value corresponding to a specified member of this
 	// enumeration datatype.
 	void valueOf( const char* name, void *value ) const;
-	void valueOf( const string& name, void *value ) const;
+	void valueOf( const H5std_string& name, void *value ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("EnumType"); }
+	virtual H5std_string fromClass () const { return("EnumType"); }
 
 	// Default constructor
 	EnumType();

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Exception.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Exception.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Exception.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,21 +9,20 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
+#include <string>
+
 #include "H5Include.h"
 #include "H5Exception.h"
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
-#ifndef H5_NO_STD
-    using namespace std;
-#endif  // H5_NO_STD
 #endif
 
-const string Exception::DEFAULT_MSG("No detailed information provided");
+const H5std_string Exception::DEFAULT_MSG("No detailed information provided");
 
 //--------------------------------------------------------------------------
 // Function:	Exception default constructor
@@ -39,7 +39,7 @@
 ///\param	message   - IN: Message on the failure
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-Exception::Exception(const string func_name, const string message) : detail_message(message), func_name(func_name) {}
+Exception::Exception(const H5std_string& func_name, const H5std_string& message) : detail_message(message), func_name(func_name) {}
 
 //--------------------------------------------------------------------------
 // Function:	Exception copy constructor
@@ -64,11 +64,11 @@
 ///		will be returned.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string Exception::getMajorString(H5E_major_t err_major) const
+H5std_string Exception::getMajorString(H5E_major_t err_major) const
 {
    // calls the C API routine to get the major string - Note: in the
    // failure case, the string "Invalid major error number" will be returned.
-   string major_str(H5Eget_major(err_major));
+   H5std_string major_str(H5Eget_major(err_major));
    return( major_str );
 }
 
@@ -83,11 +83,11 @@
 ///		will be returned.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string Exception::getMinorString(H5E_minor_t err_minor) const
+H5std_string Exception::getMinorString(H5E_minor_t err_minor) const
 {
    // calls the C API routine to get the minor string - Note: in the
    // failure case, the string "Invalid minor error number" will be returned.
-   string minor_str(H5Eget_minor(err_minor));
+   H5std_string minor_str(H5Eget_minor(err_minor));
    return( minor_str );
 }
 
@@ -218,10 +218,10 @@
 // Function:	Exception::getDetailMsg
 ///\brief	Returns the detailed message set at the time the exception
 ///		is thrown.
-///\return	Text message - \c std::string
+///\return	Text message - \c H5std_string
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string Exception::getDetailMsg() const
+H5std_string Exception::getDetailMsg() const
 {
    return(detail_message);
 }
@@ -241,10 +241,10 @@
 //--------------------------------------------------------------------------
 // Function:	Exception::getFuncName
 ///\brief	Returns the name of the function, where the exception is thrown.
-///\return	Text message - \c std::string
+///\return	Text message - \c H5std_string
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string Exception::getFuncName() const
+H5std_string Exception::getFuncName() const
 {
    return(func_name);
 }
@@ -296,7 +296,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-FileIException::FileIException(const string func_name, const string message) : Exception(func_name, message) {}
+FileIException::FileIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	FileIException destructor
 ///\brief	Noop destructor.
@@ -319,7 +319,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-GroupIException::GroupIException(const string func_name, const string message) : Exception(func_name, message) {}
+GroupIException::GroupIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	GroupIException destructor
 ///\brief	Noop destructor.
@@ -342,7 +342,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-DataSpaceIException::DataSpaceIException(const string func_name, const string message) : Exception(func_name, message) {}
+DataSpaceIException::DataSpaceIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	DataSpaceIException destructor
 ///\brief	Noop destructor.
@@ -365,7 +365,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-DataTypeIException::DataTypeIException(const string func_name, const string message) : Exception(func_name, message) {}
+DataTypeIException::DataTypeIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	DataTypeIException destructor
 ///\brief	Noop destructor.
@@ -388,7 +388,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-PropListIException::PropListIException(const string func_name, const string message) : Exception(func_name, message) {}
+PropListIException::PropListIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	PropListIException destructor
 ///\brief	Noop destructor.
@@ -411,7 +411,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-DataSetIException::DataSetIException(const string func_name, const string message) : Exception(func_name, message) {}
+DataSetIException::DataSetIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	DataSetIException destructor
 ///\brief	Noop destructor.
@@ -434,7 +434,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-AttributeIException::AttributeIException(const string func_name, const string message) : Exception(func_name, message) {}
+AttributeIException::AttributeIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	AttributeIException destructor
 ///\brief	Noop destructor.
@@ -457,7 +457,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-ReferenceException::ReferenceException(const string func_name, const string message) : Exception(func_name, message) {}
+ReferenceException::ReferenceException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	ReferenceException destructor
 ///\brief	Noop destructor.
@@ -480,7 +480,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-LibraryIException::LibraryIException(const string func_name, const string message) : Exception(func_name, message) {}
+LibraryIException::LibraryIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	LibraryIException destructor
 ///\brief	Noop destructor.
@@ -503,7 +503,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-IdComponentException::IdComponentException(const string func_name, const string message) : Exception(func_name, message) {}
+IdComponentException::IdComponentException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	IdComponentException destructor
 ///\brief	Noop destructor.

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Exception.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Exception.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Exception.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5Exception_H
@@ -20,29 +21,31 @@
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
-#ifndef H5_NO_STD
-    using namespace std;
-#endif  // H5_NO_STD
+#ifdef H5_NO_STD
+    #define H5std_string ::string
+#else
+    #define H5std_string std::string
 #endif
+#endif
 
 class H5_DLLCPP Exception {
    public:
 	// Creates an exception with a function name where the failure occurs
 	// and an optional detailed message
-	Exception(const string func_name, const string message = DEFAULT_MSG);
+	Exception(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 
 	// Returns a character string that describes the error specified by
 	// a major error number.
-	string getMajorString( H5E_major_t major_num ) const;
+	H5std_string getMajorString( H5E_major_t major_num ) const;
 
 	// Returns a character string that describes the error specified by
 	// a minor error number.
-	string getMinorString( H5E_minor_t minor_num ) const;
+	H5std_string getMinorString( H5E_minor_t minor_num ) const;
 
 	// Returns the detailed message set at the time the exception is thrown
-	string getDetailMsg() const;
+	H5std_string getDetailMsg() const;
 	const char* getCDetailMsg() const;	// C string of detailed message
-	string getFuncName() const;	// function name as a string object
+	H5std_string getFuncName() const;	// function name as a string object
 	const char* getCFuncName() const;	// function name as a char string
 
 	// Turns on the automatic error printing.
@@ -82,80 +85,80 @@
 #if defined(WIN32)
 #pragma warning(disable: 4251)
 #endif
-	string detail_message;
-	string func_name;
+	H5std_string detail_message;
+	H5std_string func_name;
 
    protected:
         // Default value for detail_message
-        static const string DEFAULT_MSG;
+        static const H5std_string DEFAULT_MSG;
 };
 
 class H5_DLLCPP FileIException : public Exception {
    public:
-	FileIException( const string func_name, const string message = DEFAULT_MSG);
+	FileIException( const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	FileIException();
 	virtual ~FileIException();
 };
 
 class H5_DLLCPP GroupIException : public Exception {
    public:
-	GroupIException( const string func_name, const string message = DEFAULT_MSG);
+	GroupIException( const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	GroupIException();
 	virtual ~GroupIException();
 };
 
 class H5_DLLCPP DataSpaceIException : public Exception {
    public:
-	DataSpaceIException(const string func_name, const string message = DEFAULT_MSG);
+	DataSpaceIException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	DataSpaceIException();
 	virtual ~DataSpaceIException();
 };
 
 class H5_DLLCPP DataTypeIException : public Exception {
    public:
-	DataTypeIException(const string func_name, const string message = DEFAULT_MSG);
+	DataTypeIException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	DataTypeIException();
 	virtual ~DataTypeIException();
 };
 
 class H5_DLLCPP PropListIException : public Exception {
    public:
-	PropListIException(const string func_name, const string message = DEFAULT_MSG);
+	PropListIException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	PropListIException();
 	virtual ~PropListIException();
 };
 
 class H5_DLLCPP DataSetIException : public Exception {
    public:
-	DataSetIException(const string func_name, const string message = DEFAULT_MSG);
+	DataSetIException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	DataSetIException();
 	virtual ~DataSetIException();
 };
 
 class H5_DLLCPP AttributeIException : public Exception {
    public:
-	AttributeIException(const string func_name, const string message = DEFAULT_MSG);
+	AttributeIException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	AttributeIException();
 	virtual ~AttributeIException();
 };
 
 class H5_DLLCPP ReferenceException : public Exception {
    public:
-	ReferenceException(const string func_name, const string message = DEFAULT_MSG);
+	ReferenceException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	ReferenceException();
 	virtual ~ReferenceException();
 };
 
 class H5_DLLCPP LibraryIException : public Exception {
    public:
-	LibraryIException(const string func_name, const string message = DEFAULT_MSG);
+	LibraryIException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	LibraryIException();
 	virtual ~LibraryIException();
 };
 
 class H5_DLLCPP IdComponentException : public Exception {
    public:
-	IdComponentException(const string func_name, const string message = DEFAULT_MSG);
+	IdComponentException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	IdComponentException();
 	virtual ~IdComponentException();
 };

Modified: packages/hdf5/branches/upstream/current/c++/src/H5FaccProp.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5FaccProp.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5FaccProp.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -31,7 +32,7 @@
 
 //--------------------------------------------------------------------------
 // Function:	Default Constructor
-///\brief	Default constructor: creates a file access property list
+///\brief	Creates a file access property list
 // Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 FileAccPropList::FileAccPropList() : PropList( H5P_FILE_ACCESS ) {}
@@ -39,7 +40,7 @@
 //--------------------------------------------------------------------------
 // Function:	FileAccPropList copy constructor
 ///\brief	Copy Constructor: makes a copy of the original
-///             FileAccPropList object.
+///		FileAccPropList object.
 // Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 FileAccPropList::FileAccPropList(const FileAccPropList& orig) : PropList(orig) {}
@@ -47,7 +48,7 @@
 //--------------------------------------------------------------------------
 // Function:	FileAccPropList overloaded constructor
 ///\brief	Creates a file access property list using the id of an
-///             existing one.
+///		existing one.
 // Programmer:  Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 FileAccPropList::FileAccPropList(const hid_t plist_id) : PropList(plist_id) {}
@@ -75,7 +76,7 @@
 ///		driver was set for the property list.  The driver ID is
 ///		only valid as long as the file driver remains registered.
 ///		Valid driver identifiers can be found at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetDriver
+/// <A HREF="../RM_H5P.html#Property-GetDriver">../RM_H5P.html#Property-GetDriver</A>
 ///\exception	H5::PropListIException
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
@@ -98,7 +99,7 @@
 ///\par Description
 ///		For a list of valid driver identifiers, please see the C
 ///		layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetDriver
+/// <A HREF="../RM_H5P.html#Property-GetDriver">../RM_H5P.html#Property-GetDriver</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setDriver(hid_t new_driver_id, const void *new_driver_info) const
@@ -156,7 +157,7 @@
 ///\par Description
 ///		For more details on the use of \c H5FD_CORE driver, please
 ///		refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplCore
+/// <A HREF="../RM_H5P.html#Property-SetFaplCore">../RM_H5P.html#Property-SetFaplCore</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setCore (size_t increment, hbool_t backing_store) const
@@ -230,8 +231,8 @@
 //--------------------------------------------------------------------------
 // Function:	FileAccPropList::getFamily
 ///\brief	This is an overloaded member function, provided for convenience.
-///             It differs from the above function only in what arguments it
-///             accepts and its return value.
+///		It differs from the above function only in what arguments it
+///		accepts and its return value.
 ///\param	memb_size  - OUT: Size in bytes of each file member
 ///\return	The file access property list for each file member
 ///\exception	H5::PropListIException
@@ -260,7 +261,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		Temporary - For information, please refer to:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplSplit
+/// <A HREF="../RM_H5P.html#Property-SetFaplSplit">../RM_H5P.html#Property-SetFaplSplit</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist, const char* meta_ext, const char* raw_ext ) const
@@ -277,8 +278,8 @@
 //--------------------------------------------------------------------------
 // Function:	FileAccPropList::setSplit
 ///\brief	This is an overloaded member function, provided for convenience.
-///             It differs from the above function only in what arguments it
-///             accepts.
+///		It differs from the above function only in what arguments it
+///		accepts.
 ///\param	meta_plist  - IN: File access plist for the metadata file
 ///\param	raw_plist   - IN: File access plist for the raw data file
 ///\param	meta_ext    - IN: Metadata filename extension as \c string
@@ -286,7 +287,7 @@
 ///\exception	H5::PropListIException
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-void FileAccPropList::setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist, const string& meta_ext, const string& raw_ext ) const
+void FileAccPropList::setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist, const H5std_string& meta_ext, const H5std_string& raw_ext ) const
 {
    setSplit( meta_plist, raw_plist, meta_ext.c_str(), raw_ext.c_str() );
 }
@@ -297,7 +298,7 @@
 ///\brief	Retrieves the streaming I/O driver settings
 ///\return	The streaming I/O file access property list structure
 ///		For detail on this structure, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream
+/// <A HREF="../RM_H5P.html#Property-SetFaplStream">../RM_H5P.html#Property-SetFaplStream</A>
 ///\exception	H5::PropListIException
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
@@ -320,7 +321,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For detail on \a fapl, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream
+/// <A HREF="../RM_H5P.html#Property-SetFaplStream">../RM_H5P.html#Property-SetFaplStream</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setStream(H5FD_stream_fapl_t &fapl) const
@@ -359,7 +360,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For detail on data sieving, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSieveBufSize
+/// <A HREF="../RM_H5P.html#Property-SetSieveBufSize">../RM_H5P.html#Property-SetFaplStream../RM_H5P.html#Property-SetFaplStream</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setSieveBufSize(size_t bufsize) const
@@ -379,7 +380,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For more detail, please see the C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetMetaBlockSize
+/// <A HREF="../RM_H5P.html#Property-SetMetaBlockSize">../RM_H5P.html#Property-SetMetaBlockSize</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setMetaBlockSize(hsize_t &block_size) const
@@ -419,7 +420,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For detail on \a flags, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream
+/// <A HREF="../RM_H5P.html#Property-SetFaplStream">../RM_H5P.html#Property-SetFaplStream</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setLog(const char *logfile, unsigned flags, size_t buf_size) const
@@ -441,7 +442,7 @@
 ///\param	buf_size - IN: Size of the logging buffer
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-void FileAccPropList::setLog(const string& logfile, unsigned flags, size_t buf_size) const
+void FileAccPropList::setLog(const H5std_string& logfile, unsigned flags, size_t buf_size) const
 {
    setLog(logfile.c_str(), flags, buf_size);
 }
@@ -476,7 +477,7 @@
 ///		The parameter \a alignment must have a positive value.
 ///
 ///		For detail on \a setting alignment, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetAlignment
+/// <A HREF="../RM_H5P.html#Property-SetAlignment">../RM_H5P.html#Property-SetAlignment</A>
 // Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileAccPropList::setAlignment( hsize_t threshold, hsize_t alignment ) const
@@ -513,7 +514,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		More details and valid values for \a dtype can be found at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetMultiType
+/// <A HREF="../RM_H5P.html#Property-SetMultiType">../RM_H5P.html#Property-SetMultiType</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setMultiType(H5FD_mem_t dtype) const
@@ -532,7 +533,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		More details and possible returned values can be found at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetMultiType
+/// <A HREF="../RM_H5P.html#Property-GetMultiType">../RM_H5P.html#Property-GetMultiType</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 H5FD_mem_t FileAccPropList::getMultiType() const
@@ -553,7 +554,7 @@
 ///\param	rdcc_nelmts - IN: Number of elements in the raw data chunk cache
 ///\param	rdcc_nbytes - IN: Total size of the raw data chunk cache, in bytes
 ///\param	rdcc_w0 - IN: Preemption policy
-///\exception   H5::PropListIException
+///\exception	H5::PropListIException
 ///\par Description
 ///		The argument \a rdcc_w0 should hold a value between 0 and 1
 ///		inclusive.  This value indicates how much chunks that have
@@ -561,6 +562,7 @@
 ///		means fully read chunks are treated no differently than other
 ///		chunks (the preemption is strictly LRU) while a value of one
 ///		means fully read chunks are always preempted before other chunks.
+// Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 #ifdef H5_WANT_H5_V1_4_COMPAT
 void FileAccPropList::setCache( int mdc_nelmts, int rdcc_nelmts, size_t rdcc_nbytes, double rdcc_w0 ) const
@@ -678,7 +680,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For detail on \a fapl, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream
+/// <A HREF="../RM_H5P.html#Property-SetFaplStream">../RM_H5P.html#Property-SetFaplStream</A>
 // Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileAccPropList::setGcReferences( unsigned gc_ref ) const

Modified: packages/hdf5/branches/upstream/current/c++/src/H5FaccProp.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5FaccProp.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5FaccProp.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5FileAccPropList_H
@@ -25,6 +26,9 @@
    public:
 	static const FileAccPropList DEFAULT;
 
+	// Creates a file access property list.
+	FileAccPropList();
+
 	// Modifies this property list to use the H5FD_STDIO driver
 	void setStdio() const;
 
@@ -61,7 +65,7 @@
 	void setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist,
 	     const char* meta_ext = ".meta", const char* raw_ext = ".raw" ) const;
 	void setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist,
-	     const string& meta_ext, const string& raw_ext ) const;
+	     const H5std_string& meta_ext, const H5std_string& raw_ext ) const;
 
 #ifdef H5_HAVE_STREAM // for Stream Virtual File Driver
 	// Modifies this file access property list to use the Stream driver.
@@ -86,7 +90,7 @@
 
 	// Modifies this file access property list to use the logging driver.
 	void setLog(const char *logfile, unsigned flags, size_t buf_size) const;
-	void setLog(const string& logfile, unsigned flags, size_t buf_size) const;
+	void setLog(const H5std_string& logfile, unsigned flags, size_t buf_size) const;
 
 	// Sets alignment properties of this file access property list
 	void setAlignment( hsize_t threshold = 1, hsize_t alignment = 1 ) const;
@@ -120,11 +124,8 @@
 	unsigned getGcReferences() const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("FileAccPropList"); }
+	virtual H5std_string fromClass () const { return("FileAccPropList"); }
 
-	// Creates a file access property list.
-	FileAccPropList();
-
 	// Copy constructor: creates a copy of a FileAccPropList object.
 	FileAccPropList( const FileAccPropList& original );
 

Modified: packages/hdf5/branches/upstream/current/c++/src/H5FcreatProp.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5FcreatProp.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5FcreatProp.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -125,7 +126,7 @@
 ///\par Description
 ///		For information on setting sizes, please refer to the
 ///		C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSizes
+/// <A HREF="../RM_H5P.html#Property-SetSizes">../RM_H5P.html#Property-SetSizes</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileCreatPropList::setSizes( size_t sizeof_addr, size_t sizeof_size ) const
@@ -166,7 +167,7 @@
 ///\exception   H5::PropListIException
 ///\par Description
 ///             For information, please see the C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK
+/// <A HREF="../RM_H5P.html#Property-SetSymK">../RM_H5P.html#Property-SetSymK</A>
 // Programmer   Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileCreatPropList::setSymk( int ik, int lk ) const
@@ -187,7 +188,7 @@
 ///\exception   H5::PropListIException
 ///\par Description
 ///             For information, please see
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK
+/// <A HREF="../RM_H5P.html#Property-SetSymK">../RM_H5P.html#Property-SetSymK</A>
 // Programmer   Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileCreatPropList::getSymk( int& ik, int& lk ) const
@@ -209,7 +210,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For information, please see the C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK
+/// <A HREF="../RM_H5P.html#Property-SetSymK">../RM_H5P.html#Property-SetSymK</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileCreatPropList::setSymk( unsigned ik, unsigned lk ) const
@@ -229,7 +230,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For information, please see
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK
+/// <A HREF="../RM_H5P.html#Property-SetSymK">../RM_H5P.html#Property-SetSymK</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileCreatPropList::getSymk( unsigned& ik, unsigned& lk ) const
@@ -251,7 +252,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For information, please see the C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetIstoreK
+/// <A HREF="../RM_H5P.html#Property-SetIstoreK">../RM_H5P.html#Property-SetIstoreK</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileCreatPropList::setIstorek( unsigned ik ) const
@@ -271,7 +272,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For information, please see
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetIstoreK
+/// <A HREF="../RM_H5P.html#Property-SetIstoreK">../RM_H5P.html#Property-SetIstoreK</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 unsigned FileCreatPropList::getIstorek() const

Modified: packages/hdf5/branches/upstream/current/c++/src/H5FcreatProp.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5FcreatProp.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5FcreatProp.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5FileCreatPropList_H
@@ -26,6 +27,9 @@
 	// Default file creation property list.
 	static const FileCreatPropList DEFAULT;
 
+	// Creates a file create property list.
+	FileCreatPropList();
+
 	// Retrieves version information for various parts of a file.
 	void getVersion( unsigned& super, unsigned& freelist, unsigned& stab, unsigned& shhdr ) const;
 
@@ -66,11 +70,8 @@
 	void setIstorek( unsigned ik ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("FileCreatPropList"); }
+	virtual H5std_string fromClass () const { return("FileCreatPropList"); }
 
-	// Creates a file create property list.
-	FileCreatPropList();
-
 	// Copy constructor: creates a copy of a FileCreatPropList object.
 	FileCreatPropList(const FileCreatPropList& orig);
 

Modified: packages/hdf5/branches/upstream/current/c++/src/H5File.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5File.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5File.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -38,6 +39,10 @@
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
@@ -45,7 +50,7 @@
 ///\brief	Default constructor: creates a stub H5File object.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5File::H5File() : IdComponent() {}
+H5File::H5File() : IdComponent(0) {}
 
 //--------------------------------------------------------------------------
 // Function:	H5File overloaded constructor
@@ -71,10 +76,10 @@
 ///		For info on file creation in the case of an already-open file,
 ///		please refer to the \b Special \b case section in the C layer
 ///		Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5F.html#File-Create
+/// <A HREF="../RM_H5F.html#File-Create">../RM_H5F.html#File-Create</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5File::H5File( const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : IdComponent()
+H5File::H5File( const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : IdComponent(0)
 {
    p_get_file(name, flags, create_plist, access_plist);
 }
@@ -83,7 +88,7 @@
 // Function:	H5File overloaded constructor
 ///\brief	This is another overloaded constructor.  It differs from the
 ///		above constructor only in the type of the \a name argument.
-///\param	name - IN: Name of the file - \c std::string
+///\param	name - IN: Name of the file - \c H5std_string
 ///\param	flags - IN: File access flags
 ///\param	create_plist - IN: File creation property list, used when
 ///		modifying default file meta-data.  Default to
@@ -92,7 +97,7 @@
 ///		FileCreatPropList::DEFAULT
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5File::H5File( const string& name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : IdComponent()
+H5File::H5File( const H5std_string& name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : IdComponent(0)
 {
    p_get_file(name.c_str(), flags, create_plist, access_plist);
 }
@@ -106,7 +111,7 @@
 {
     // These bits only set for creation, so if any of them are set,
     // create the file.
-    if( flags & (H5F_ACC_EXCL|H5F_ACC_TRUNC|H5F_ACC_DEBUG ))
+    if( flags & (H5F_ACC_CREAT|H5F_ACC_EXCL|H5F_ACC_TRUNC|H5F_ACC_DEBUG))
     {
 	hid_t create_plist_id = create_plist.getId();
 	hid_t access_plist_id = access_plist.getId();
@@ -138,6 +143,25 @@
 H5File::H5File( const H5File& original ) : IdComponent( original ) {}
 
 //--------------------------------------------------------------------------
+// Function:	H5File::flush
+///\brief	Flushes all buffers associated with a file to disk.
+///\param	scope - IN: Specifies the scope of the flushing action,
+///		which can be either of these values:
+///		\li \c H5F_SCOPE_GLOBAL - Flushes the entire virtual file
+///		\li \c H5F_SCOPE_LOCAL - Flushes only the specified file
+///\exception	H5::FileIException
+// Programmer	Binh-Minh Ribler - Dec. 2005
+//--------------------------------------------------------------------------
+void H5File::flush(H5F_scope_t scope) const
+{
+   herr_t ret_value = H5Fflush( id, scope );
+   if( ret_value < 0 )
+   {
+      throw FileIException("H5File::flush", "H5Fflush failed");
+   }
+}
+
+//--------------------------------------------------------------------------
 // Function:	H5File::isHdf5
 ///\brief	Determines whether a file in HDF5 format.
 ///\param	name - IN: Name of the file
@@ -145,7 +169,7 @@
 ///\exception	H5::FileIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-bool H5File::isHdf5(const char* name )
+bool H5File::isHdf5(const char* name)
 {
    // Calls C routine H5Fis_hdf5 to determine whether the file is in
    // HDF5 format.  It returns positive value, 0, or negative value
@@ -163,16 +187,59 @@
 //--------------------------------------------------------------------------
 // Function:	H5File::isHdf5
 ///\brief	This is an overloaded member function, provided for convenience.
-///		It takes an \c std::string for \a name.
-///\param	name - IN: Name of the file - \c std::string
+///		It takes an \c H5std_string for \a name.
+///\param	name - IN: Name of the file - \c H5std_string
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-bool H5File::isHdf5(const string& name )
+bool H5File::isHdf5(const H5std_string& name )
 {
    return( isHdf5( name.c_str()) );
 }
 
 //--------------------------------------------------------------------------
+// Function:	openFile
+///\brief	Opens an HDF5 file
+///\param	name         - IN: Name of the file
+///\param	flags        - IN: File access flags
+///\param	access_plist - IN: File access property list.  Default to
+///		FileCreatPropList::DEFAULT
+///\par Description
+///		Valid values of \a flags include:
+///		H5F_ACC_RDWR:   Open with read/write access. If the file is
+///				currently open for read-only access then it
+///				will be reopened. Absence of this flag
+///				implies read-only access.
+///
+///		H5F_ACC_RDONLY: Open with read only access. - default
+///
+// Programmer	Binh-Minh Ribler - Oct, 2005
+//--------------------------------------------------------------------------
+void H5File::openFile(const char* name, unsigned int flags, const FileAccPropList& access_plist)
+{
+    hid_t access_plist_id = access_plist.getId();
+    id = H5Fopen (name, flags, access_plist_id);
+    if (id < 0)  // throw an exception when open fails
+    {
+	throw FileIException("H5File::openFile", "H5Fopen failed");
+    }
+}
+
+//--------------------------------------------------------------------------
+// Function:	H5File::openFile
+///\brief	This is an overloaded member function, provided for convenience.
+///		It takes an \c H5std_string for \a name.
+///\param	name         - IN: Name of the file - \c H5std_string
+///\param	flags        - IN: File access flags
+///\param	access_plist - IN: File access property list.  Default to
+///		FileAccPropList::DEFAULT
+// Programmer	Binh-Minh Ribler - 2000
+//--------------------------------------------------------------------------
+void H5File::openFile(const H5std_string& name, unsigned int flags, const FileAccPropList& access_plist)
+{
+    openFile(name.c_str(), flags, access_plist);
+}
+
+//--------------------------------------------------------------------------
 // Function:	H5File::reOpen
 ///\brief	Reopens this file.
 ///
@@ -184,15 +251,15 @@
 // Note:        This wrapper doesn't seem right regarding the 'id' and should
 //              be investigated.  BMR - 2/20/2005
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 void H5File::reOpen()
 {
-   // If this object has a valid id, appropriately decrement reference
-   // counter and close the id.
     try {
-        decRefCount();
+        close();
     }
     catch (Exception close_error) {
         throw FileIException("H5File::reOpen", close_error.getDetailMsg());
@@ -422,10 +489,10 @@
 // Function:	H5File::getFileName
 ///\brief	Gets the name of this file.
 ///\return	File name
-///\exception	H5::IdComponentException
+///\exception	H5::FileIException
 // Programmer	Binh-Minh Ribler - Jul, 2004
 //--------------------------------------------------------------------------
-string H5File::getFileName() const
+H5std_string H5File::getFileName() const
 {
    try {
       return(p_get_file_name());
@@ -437,14 +504,9 @@
 
 //--------------------------------------------------------------------------
 // Function:	H5File::Reference
-///\brief	Creates a reference to an Hdf5 object or a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\param	dataspace - IN: Dataspace with selection
-///\param	ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
-///\return	A reference
-///\exception	H5::IdComponentException
-///\par Description
-///		Note that name must be an absolute path to the object in the file.
+///\brief	Important!!! - This functions does not work correctly, it 
+///		will be removed in the near future.  Please use 
+///		H5File::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* H5File::Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type) const
@@ -459,19 +521,9 @@
 
 //--------------------------------------------------------------------------
 // Function:	H5File::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it only creates
-///		a reference to an HDF5 object, not to a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\return	A reference
-///\exception	H5::IdComponentException
-///\par Description
-//		This function passes H5R_OBJECT and -1 to the protected
-//		function for it to pass to the C API H5Rcreate
-//		to create a reference to the named object.
-///\par
-///		Note that, for H5File, name must be an absolute path to the
-///		object in the file.
+///\brief	Important!!! - This functions does not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		H5File::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* H5File::Reference(const char* name) const
@@ -486,13 +538,12 @@
 
 //--------------------------------------------------------------------------
 // Function:	H5File::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it takes an
-///		\c std::string for the object's name.
-///\param	name - IN: Name of the object to be referenced - \c std::string
+///\brief	Important!!! - This functions does not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		H5File::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
-void* H5File::Reference(const string& name) const
+void* H5File::Reference(const H5std_string& name) const
 {
    return(Reference(name.c_str()));
 }
@@ -501,18 +552,25 @@
 // Function:	H5File::getObjType
 ///\brief	Retrieves the type of object that an object reference points to.
 ///\param	ref      - IN: Reference to query
-///\param	ref_type - IN: Type of reference to query
+///\param	ref_type - IN: Type of reference, valid values are:
+///		\li \c H5R_OBJECT - Reference is an object reference.
+///		\li \c H5R_DATASET_REGION - Reference is a dataset region reference.
 ///\return	Object type, which can be one of the following:
 ///		\li \c H5G_LINK    - Object is a symbolic link.
 ///		\li \c H5G_GROUP   - Object is a group.
 ///		\li \c H5G_DATASET - Object is a dataset.
 ///		\li \c H5G_TYPE    - Object is a named datatype
-///\exception	H5::IdComponentException
+///\exception	H5::FileIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 H5G_obj_t H5File::getObjType(void *ref, H5R_type_t ref_type) const
 {
-   return(p_get_obj_type(ref, ref_type));
+   try {
+      return(p_get_obj_type(ref, ref_type));
+   }
+   catch (IdComponentException E) {
+      throw FileIException("H5File::getObjType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -521,13 +579,18 @@
 ///\param	ref      - IN: Reference to get region of
 ///\param	ref_type - IN: Type of reference to get region of - default
 ///\return	DataSpace instance
-///\exception	H5::IdComponentException
+///\exception	H5::FileIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 DataSpace H5File::getRegion(void *ref, H5R_type_t ref_type) const
 {
-   DataSpace dataspace(p_get_region(ref, ref_type));
-   return(dataspace);
+   try {
+      DataSpace dataspace(p_get_region(ref, ref_type));
+      return(dataspace);
+   }
+   catch (IdComponentException E) {
+      throw FileIException("H5File::getRegion", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -573,13 +636,16 @@
 //--------------------------------------------------------------------------
 void H5File::close()
 {
-   herr_t ret_value = H5Fclose( id );
-   if( ret_value < 0 )
-   {
-      throw FileIException("H5File::close", "H5Fclose failed");
-   }
-   // reset the id because the file that it represents is now closed
-   id = 0;
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Fclose( id );
+	if( ret_value < 0 )
+	{
+	    throw FileIException("H5File::close", "H5Fclose failed");
+	}
+	// reset the id because the file that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -596,9 +662,9 @@
 //		implementation of H5File.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void H5File::throwException(const string func_name, const string msg) const
+void H5File::throwException(const H5std_string& func_name, const H5std_string& msg) const
 {
-   string full_name = func_name;
+   H5std_string full_name = func_name;
    full_name.insert(0, "H5File::");
    throw FileIException(full_name, msg);
 }
@@ -608,17 +674,18 @@
 ///\brief	Properly terminates access to this file.
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 H5File::~H5File()
 {
-   // The HDF5 file id will be closed properly
     try {
-        decRefCount();
+	close();
     }
     catch (Exception close_error) {
-        cerr << "H5File::~H5File - " << close_error.getDetailMsg() << endl;
+	cerr << "H5File::~H5File - " << close_error.getDetailMsg() << endl;
     }
 }
 

Modified: packages/hdf5/branches/upstream/current/c++/src/H5File.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5File.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5File.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5File_H
@@ -26,13 +27,22 @@
 	H5File( const char* name, unsigned int flags,
 	   const FileCreatPropList& create_plist = FileCreatPropList::DEFAULT,
 	   const FileAccPropList& access_plist = FileAccPropList::DEFAULT );
-	H5File( const string& name, unsigned int flags,
+	H5File( const H5std_string& name, unsigned int flags,
 	   const FileCreatPropList& create_plist = FileCreatPropList::DEFAULT,
 	   const FileAccPropList& access_plist = FileAccPropList::DEFAULT );
 
+	// Open the file
+	void openFile(const H5std_string& name, unsigned int flags,
+	    const FileAccPropList& access_plist = FileAccPropList::DEFAULT);
+	void openFile(const char* name, unsigned int flags,
+	    const FileAccPropList& access_plist = FileAccPropList::DEFAULT);
+
 	// Close this file.
 	virtual void close();
 
+	// Flushes all buffers associated with this file to disk
+	void flush(H5F_scope_t scope) const;
+
 	// Gets the access property list of this file.
 	FileAccPropList getAccessPlist() const;
 
@@ -40,10 +50,10 @@
 	FileCreatPropList getCreatePlist() const;
 
 	// Gets the name of this file.
-	string getFileName() const;
+	H5std_string getFileName() const;
 
-        // Retrieves the file size of an opened file.
-        hsize_t getFileSize() const;
+	// Retrieves the file size of an opened file.
+	hsize_t getFileSize() const;
 
 	// Returns the amount of free space in the file.
 	hssize_t getFreeSpace() const;
@@ -58,7 +68,7 @@
 	void getObjIDs(unsigned types, int max_objs, hid_t *oid_list) const;
 
 	// Retrieves the type of object that an object reference points to.
-	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type) const;
+	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type = H5R_OBJECT) const;
 
 	// Retrieves a dataspace with the region pointed to selected.
 	DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const;
@@ -69,25 +79,25 @@
 
 	// Determines if a file, specified by its name, is in HDF5 format
 	static bool isHdf5(const char* name );
-	static bool isHdf5(const string& name );
+	static bool isHdf5(const H5std_string& name );
 
 	// Reopens this file.
 	void reOpen();	// added for better name
 	void reopen();
 
-	// Creates a reference to a named Hdf5 object or to a dataset region
+	// Creates a reference to a named HDF5 object or to a dataset region
 	// in this object.
 	void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const;
 
 	// Creates a reference to a named Hdf5 object in this object.
-	void* Reference(const char* name) const;
-	void* Reference(const string& name) const;
+	void* Reference(const char* name) const; // will be obsolete
+	void* Reference(const H5std_string& name) const; // will be obsolete
 
 	// Returns this class name
-	virtual string fromClass () const { return ("H5File"); }
+	virtual H5std_string fromClass () const { return("H5File"); }
 
 	// Throw file exception.
-	virtual void throwException(const string func_name, const string msg) const;
+	virtual void throwException(const H5std_string& func_name, const H5std_string& msg) const;
 
 	// Gets the file id
 	virtual hid_t getLocId() const;

Modified: packages/hdf5/branches/upstream/current/c++/src/H5FloatType.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5FloatType.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5FloatType.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -180,7 +181,7 @@
 ///		\a norm_string.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5T_norm_t FloatType::getNorm( string& norm_string ) const
+H5T_norm_t FloatType::getNorm( H5std_string& norm_string ) const
 {
    H5T_norm_t norm = H5Tget_norm( id );  // C routine
    // Returns a valid normalization type if successful
@@ -233,7 +234,7 @@
 ///		\a pad_string.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5T_pad_t FloatType::getInpad( string& pad_string ) const
+H5T_pad_t FloatType::getInpad( H5std_string& pad_string ) const
 {
    H5T_pad_t pad_type = H5Tget_inpad( id );
    // Returns a valid padding type if successful

Modified: packages/hdf5/branches/upstream/current/c++/src/H5FloatType.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5FloatType.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5FloatType.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5FloatType_H
@@ -41,19 +42,19 @@
 	void setFields( size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize ) const;
 
 	// Retrieves the internal padding type for unused bits in floating-point datatypes.
-	H5T_pad_t getInpad( string& pad_string ) const;
+	H5T_pad_t getInpad( H5std_string& pad_string ) const;
 
 	// Fills unused internal floating point bits.
 	void setInpad( H5T_pad_t inpad ) const;
 
 	// Retrieves mantissa normalization of a floating-point datatype.
-	H5T_norm_t getNorm( string& norm_string ) const;
+	H5T_norm_t getNorm( H5std_string& norm_string ) const;
 
 	// Sets the mantissa normalization of a floating-point datatype.
 	void setNorm( H5T_norm_t norm ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return ("FloatType"); }
+	virtual H5std_string fromClass () const { return("FloatType"); }
 
 	// Default constructor
 	FloatType();

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Group.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Group.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Group.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -38,6 +39,10 @@
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
@@ -75,13 +80,25 @@
 Group::Group( const hid_t group_id ) : H5Object( group_id ) {}
 
 //--------------------------------------------------------------------------
+// Function:	Group overload constructor - dereference
+///\brief	Given a reference to some object, returns that group
+///\param	obj - IN: Location reference object is in
+///\param	ref - IN: Reference pointer
+///\par Description
+///		\c obj can be DataSet, Group, H5File, or named DataType, that 
+///		is a datatype that has been named by DataType::commit.
+// Programmer	Binh-Minh Ribler - Oct, 2006
+//--------------------------------------------------------------------------
+Group::Group(IdComponent& obj, void* ref) : H5Object()
+{
+   IdComponent::dereference(obj, ref);
+}
+
+//--------------------------------------------------------------------------
 // Function:	Group::Reference
-///\brief	Creates a reference to an HDF5 object or a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\param	dataspace - IN: Dataspace with selection
-///\param	ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
-///\return	A reference
-///\exception	H5::IdComponentException
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		Group::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* Group::Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type) const
@@ -96,16 +113,9 @@
 
 //--------------------------------------------------------------------------
 // Function:	Group::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it only creates
-///		a reference to an HDF5 object, not to a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\return	A reference
-///\exception	H5::IdComponentException
-///\par Description
-//		This function passes H5R_OBJECT and -1 to the protected
-//		function for it to pass to the C API H5Rcreate
-//		to create a reference to the named object.
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		Group::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* Group::Reference(const char* name) const
@@ -120,13 +130,12 @@
 
 //--------------------------------------------------------------------------
 // Function:	Group::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it takes an
-///		\c std::string for the object's name.
-///\param	name - IN: Name of the object to be referenced
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		Group::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
-void* Group::Reference(const string& name) const
+void* Group::Reference(const H5std_string& name) const
 {
    return(Reference(name.c_str()));
 }
@@ -134,19 +143,26 @@
 //--------------------------------------------------------------------------
 // Function:	Group::getObjType
 ///\brief	Retrieves the type of object that an object reference points to.
-///\param		ref      - IN: Reference to query
-///\param		ref_type - IN: Type of reference to query
-// Return	An object type, which can be one of the following:
-//			H5G_LINK Object is a symbolic link.
-//			H5G_GROUP Object is a group.
-//			H5G_DATASET   Object is a dataset.
-//			H5G_TYPE Object is a named datatype
-// Exception	H5::IdComponentException
+///\param	ref      - IN: Reference to query
+///\param	ref_type - IN: Type of reference to query, valid values are:
+///		\li \c H5R_OBJECT - Reference is an object reference.
+///		\li \c H5R_DATASET_REGION - Reference is a dataset region reference.
+///\return	An object type, which can be one of the following:
+///			H5G_LINK Object is a symbolic link.
+///			H5G_GROUP Object is a group.
+///			H5G_DATASET   Object is a dataset.
+///			H5G_TYPE Object is a named datatype
+///\exception	H5::GroupIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 H5G_obj_t Group::getObjType(void *ref, H5R_type_t ref_type) const
 {
-   return(p_get_obj_type(ref, ref_type));
+   try {
+      return(p_get_obj_type(ref, ref_type));
+   }
+   catch (IdComponentException E) {
+      throw GroupIException("Group::getObjType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -155,13 +171,18 @@
 ///\param	ref      - IN: Reference to get region of
 ///\param	ref_type - IN: Type of reference to get region of - default
 ///\return	DataSpace instance
-///\exception	H5::IdComponentException
+///\exception	H5::GroupIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 DataSpace Group::getRegion(void *ref, H5R_type_t ref_type) const
 {
-   DataSpace dataspace(p_get_region(ref, ref_type));
-   return(dataspace);
+   try {
+      DataSpace dataspace(p_get_region(ref, ref_type));
+      return(dataspace);
+   }
+   catch (IdComponentException E) {
+      throw GroupIException("Group::getRegion", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -173,13 +194,16 @@
 //--------------------------------------------------------------------------
 void Group::close()
 {
-   herr_t ret_value = H5Gclose( id );
-   if( ret_value < 0 )
-   {
-      throw GroupIException("Group::close", "H5Gclose failed");
-   }
-   // reset the id because the group that it represents is now closed
-   id = 0;
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Gclose( id );
+	if( ret_value < 0 )
+	{
+	    throw GroupIException("Group::close", "H5Gclose failed");
+	}
+	// reset the id because the group that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -196,9 +220,9 @@
 //		implementation of Group.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void Group::throwException(const string func_name, const string msg) const
+void Group::throwException(const H5std_string& func_name, const H5std_string& msg) const
 {
-   string full_name = func_name;
+   H5std_string full_name = func_name;
    full_name.insert(0, "Group::");
    throw GroupIException(full_name, msg);
 }
@@ -208,17 +232,18 @@
 ///\brief	Properly terminates access to this group.
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 Group::~Group()
 {
-   // The group id will be closed properly
     try {
-        decRefCount();
+	close();
     }
     catch (Exception close_error) {
-        cerr << "Group::~Group - " << close_error.getDetailMsg() << endl;
+	cerr << "Group::~Group - " << close_error.getDetailMsg() << endl;
     }
 }
 

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Group.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Group.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Group.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5Group_H
@@ -26,28 +27,31 @@
 	virtual void close();
 
 	// Retrieves the type of object that an object reference points to.
-	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type) const;
+	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type = H5R_OBJECT) const;
 
 	// Retrieves a dataspace with the region pointed to selected.
 	DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const;
 
 	// Creates a reference to a named Hdf5 object or to a dataset region
 	// in this object.
-	void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const;
+	void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const; // will be obsolete
 
 	// Creates a reference to a named Hdf5 object in this object.
-	void* Reference(const char* name) const;
-	void* Reference(const string& name) const;
+	void* Reference(const char* name) const; // will be obsolete
+	void* Reference(const H5std_string& name) const; // will be obsolete
 
 	// Returns this class name
-	virtual string fromClass () const { return ("Group"); }
+	virtual H5std_string fromClass () const { return("Group"); }
 
-        // Throw group exception.
-        virtual void throwException(const string func_name, const string msg) const;
+	// Throw group exception.
+	virtual void throwException(const H5std_string& func_name, const H5std_string& msg) const;
 
 	// for CommonFG to get the file id.
 	virtual hid_t getLocId() const;
 
+	// Creates a group by way of dereference.
+	Group(IdComponent& obj, void* ref);
+
 	// default constructor
 	Group();
 
@@ -57,8 +61,8 @@
 	// Destructor
 	virtual ~Group();
 
-        // Creates a copy of an existing group using its id.
-        Group( const hid_t group_id );
+	// Creates a copy of an existing group using its id.
+	Group( const hid_t group_id );
 
 };
 #ifndef H5_NO_NAMESPACE

Modified: packages/hdf5/branches/upstream/current/c++/src/H5IdComponent.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5IdComponent.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5IdComponent.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -18,6 +19,7 @@
 #include "H5Exception.h"
 #include "H5Library.h"
 #include "H5IdComponent.h"
+#include "H5DataSpace.h"
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
@@ -40,8 +42,8 @@
 //--------------------------------------------------------------------------
 IdComponent::IdComponent( const IdComponent& original )
 {
-   id = original.id;
-   incRefCount(); // increment number of references to this id
+    id = original.id;
+    incRefCount(); // increment number of references to this id
 }
 
 //--------------------------------------------------------------------------
@@ -49,11 +51,11 @@
 ///\brief	Increment reference counter for a given id.
 // Programmer	Binh-Minh Ribler - May 2005
 //--------------------------------------------------------------------------
-void IdComponent::incRefCount(hid_t obj_id) const
+void IdComponent::incRefCount(const hid_t obj_id) const
 {
     if (p_valid_id(obj_id))
 	if (H5Iinc_ref(obj_id) < 0)
-            throw IdComponentException(inMemFunc("incRefCount"), "incrementing object ref count failed");
+	    throw IdComponentException(inMemFunc("incRefCount"), "incrementing object ref count failed");
 }
 
 //--------------------------------------------------------------------------
@@ -74,10 +76,10 @@
 //		Added the check for ref counter to give a little more info
 //		on why H5Idec_ref fails in some cases - BMR 5/19/2005
 //--------------------------------------------------------------------------
-void IdComponent::decRefCount(hid_t obj_id) const
+void IdComponent::decRefCount(const hid_t obj_id) const
 {
     if (p_valid_id(obj_id))
-        if (H5Idec_ref(obj_id) < 0)
+	if (H5Idec_ref(obj_id) < 0)
 	    if (H5Iget_ref(obj_id) <= 0)
 		throw IdComponentException(inMemFunc("decRefCount"),
 					"object ref count is 0 or negative");
@@ -102,14 +104,14 @@
 ///\return	Reference count
 // Programmer	Binh-Minh Ribler - May 2005
 //--------------------------------------------------------------------------
-int IdComponent::getCounter(hid_t obj_id) const
+int IdComponent::getCounter(const hid_t obj_id) const
 {
     int counter = 0;
     if (p_valid_id(obj_id))
     {
 	counter = H5Iget_ref(obj_id);
 	if (counter < 0)
-            throw IdComponentException(inMemFunc("incRefCount"), "incrementing object ref count failed");
+	    throw IdComponentException(inMemFunc("incRefCount"), "getting object ref count failed - negative");
     }
     return (counter);
 }
@@ -126,6 +128,29 @@
 }
 
 //--------------------------------------------------------------------------
+// Function:	hdfObjectType
+///\brief	Given an id, returns the type of the object.
+///return	a valid HDF object type, which may be one of the following:
+///		\li \c H5I_FILE
+///		\li \c H5I_GROUP
+///		\li \c H5I_DATATYPE
+///		\li \c H5I_DATASPACE
+///		\li \c H5I_DATASET
+///		\li \c H5I_ATTR
+///		\li or \c H5I_BADID, if no valid type can be determined or the
+///				input object id is invalid.
+// Programmer   Binh-Minh Ribler - Jul, 2005
+//--------------------------------------------------------------------------
+H5I_type_t IdComponent::getHDFObjType(const hid_t obj_id)
+{
+    H5I_type_t id_type = H5Iget_type(obj_id);
+    if (id_type <= H5I_BADID || id_type >= H5I_NGROUPS)
+	return H5I_BADID; // invalid
+    else
+	return id_type; // valid type
+}
+
+//--------------------------------------------------------------------------
 // Function:	IdComponent::operator=
 ///\brief	Assignment operator.
 ///\param	rhs - IN: Reference to the existing object
@@ -133,25 +158,31 @@
 ///\exception	H5::IdComponentException when attempt to close the HDF5
 ///		object fails
 // Description
-// 		The underlaying reference counting in the C library ensures
-// 		that the current valid id of this object is properly closed.
-//		Copy the id from rhs to this object, then increment the
+//		First, close the current valid id of this object.  Then
+//		copy the id from rhs to this object, and increment the
 //		reference counter of the id to indicate that another object
-//		is referencing it.
+//		is referencing that id.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 IdComponent& IdComponent::operator=( const IdComponent& rhs )
 {
-   // handling references to this id
-   decRefCount();
+    if (this != &rhs)
+    {
+	// handling references to this id
+	try {
+	    close();
+	}
+	catch (Exception close_error) {
+	    throw FileIException(inMemFunc("operator="), close_error.getDetailMsg());
+	}
 
-   // copy the data members from the rhs object
-   id = rhs.id;
+	// copy the data members from the rhs object
+	id = rhs.id;
 
-   // increment the reference counter
-   incRefCount();
-
-   return( *this );
+	// increment the reference counter
+	incRefCount();
+    }
+    return *this;
 }
 
 //--------------------------------------------------------------------------
@@ -166,13 +197,21 @@
 // 		Then the object's id is reset to the new id.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void IdComponent::setId( hid_t new_id )
+void IdComponent::setId(const hid_t new_id)
 {
-   // handling references to this id
-   decRefCount();
+    // handling references to this old id
+    try {
+	close();
+    }
+    catch (Exception close_error) {
+	throw IdComponentException(inMemFunc("copy"), close_error.getDetailMsg());
+    }
 
    // reset object's id to the given id
    id = new_id;
+
+   // increment the reference counter of the new id
+   incRefCount();
 }
 
 //--------------------------------------------------------------------------
@@ -183,7 +222,7 @@
 //--------------------------------------------------------------------------
 hid_t IdComponent::getId () const
 {
-   return( id );
+   return(id);
 }
 
 //--------------------------------------------------------------------------
@@ -191,32 +230,8 @@
 ///\brief	Noop destructor.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-IdComponent::~IdComponent() {
+IdComponent::~IdComponent() {}
 
-/* uncomment this block and complete it when deciding to use dontAtExit
-   unless the atexit/global destructor problem is fixed, then
-   remove it- BMR 11/14/00
-
-   if( id == NOTATEXIT )
-   {
-      // Call H5Library::close to clean up - temporary solution to avoid the
-      // trouble of atexit/global destructors
-      try {
-         if( H5Library::need_cleanup == true )
-         {
-            H5Library::close();
-            H5Library::need_cleanup = false; // reset the boolean just in case
-         }
-      }
-      // catch failure caused by the H5Library operations
-      catch( LibraryIException error )
-      {
-         error.printError();
-      }
-   }
-*/
-}
-
 //
 // Implementation of protected functions for HDF5 Reference Interface
 // and miscelaneous helpers.
@@ -224,6 +239,26 @@
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 //--------------------------------------------------------------------------
+// Function:	IdComponent::inMemFunc
+///\brief	Makes and returns string "<class-name>::<func_name>"
+///\param	func_name - Name of the function where failure occurs
+// Description
+///		Concatenates the class name of this object with the
+///		passed-in function name to create a string that indicates
+///		where the failure occurs.  The class-name is provided by
+///		fromClass().  This string will be used by a base class when
+///		an exception is thrown.
+// Programmer	Binh-Minh Ribler - Oct 10, 2005
+//--------------------------------------------------------------------------
+H5std_string IdComponent::inMemFunc(const char* func_name) const
+{
+   H5std_string full_name = func_name;
+   full_name.insert(0, "::");
+   full_name.insert(0, fromClass());
+   return (full_name);
+}
+
+//--------------------------------------------------------------------------
 // Function:	IdComponent default constructor - private
 ///\brief	Default constructor.
 // Programmer	Binh-Minh Ribler - 2000
@@ -231,7 +266,7 @@
 IdComponent::IdComponent() : id(-1) {}
 
 //--------------------------------------------------------------------------
-// Function:	IdComponent::p_get_file_name
+// Function:	IdComponent::p_get_file_name (protected)
 // Purpose:	Gets the name of the file, in which this object belongs.
 // Exception:	H5::IdComponentException
 // Description:
@@ -240,7 +275,7 @@
 // 		H5File and H5Object subclasses.
 // Programmer	Binh-Minh Ribler - Jul, 2004
 //--------------------------------------------------------------------------
-string IdComponent::p_get_file_name() const
+H5std_string IdComponent::p_get_file_name() const
 {
    // Preliminary call to H5Fget_name to get the length of the file name
    ssize_t name_size = H5Fget_name(id, NULL, 0);
@@ -262,7 +297,7 @@
    }
 
    // Convert the C file name and return
-   string file_name(name_C);
+   H5std_string file_name(name_C);
    delete []name_C;
    return(file_name);
 }
@@ -274,22 +309,124 @@
 //		name - IN: Name of the object to be referenced
 //		dataspace - IN: Dataspace with selection
 //		ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
+// Exception	H5::IdComponentException
+// Programmer	Binh-Minh Ribler - May, 2004
+//--------------------------------------------------------------------------
+void IdComponent::p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const
+{
+   herr_t ret_value = H5Rcreate(ref, id, name, ref_type, space_id);
+   if (ret_value < 0)
+   {
+      throw IdComponentException("", "H5Rcreate failed");
+   }
+}
+
+//--------------------------------------------------------------------------
+// Function:    IdComponent::reference
+///\brief       Creates a reference to an HDF5 object or a dataset region.
+///\param       ref - IN: Reference pointer
+///\param       name - IN: Name of the object to be referenced
+///\param       dataspace - IN: Dataspace with selection
+///\param       ref_type - IN: Type of reference to query, valid values are:
+///             \li \c H5R_OBJECT \tReference is an object reference.
+///             \li \c H5R_DATASET_REGION \tReference is a dataset region
+///                     reference. - this is the default
+///\exception   H5::IdComponentException
+// Programmer   Binh-Minh Ribler - May, 2004
+//--------------------------------------------------------------------------
+void IdComponent::reference(void* ref, const char* name, const DataSpace& dataspace, H5R_type_t ref_type) const
+{
+   try {
+      p_reference(ref, name, dataspace.getId(), ref_type);
+   }
+   catch (IdComponentException E) {
+      throw IdComponentException("IdComponent::reference", E.getDetailMsg());
+   }
+}
+
+//--------------------------------------------------------------------------
+// Function:    IdComponent::reference
+///\brief       This is an overloaded function, provided for your convenience.
+///             It differs from the above function in that it only creates
+///             a reference to an HDF5 object, not to a dataset region.
+///\param       ref - IN: Reference pointer
+///\param       name - IN: Name of the object to be referenced - \c char pointer
+///\exception   H5::IdComponentException
+///\par Description
+//              This function passes H5R_OBJECT and -1 to the protected
+//              function for it to pass to the C API H5Rcreate
+//              to create a reference to the named object.
+// Programmer   Binh-Minh Ribler - May, 2004
+//--------------------------------------------------------------------------
+void IdComponent::reference(void* ref, const char* name) const
+{
+   try {
+      p_reference(ref, name, -1, H5R_OBJECT);
+   }
+   catch (IdComponentException E) {
+      throw IdComponentException("IdComponent::reference", E.getDetailMsg());
+   }
+}
+
+//--------------------------------------------------------------------------
+// Function:    IdComponent::reference
+///\brief       This is an overloaded function, provided for your convenience.
+///             It differs from the above function in that it takes an
+///             \c H5std_string for the object's name.
+///\param       ref - IN: Reference pointer
+///\param       name - IN: Name of the object to be referenced - \c H5std_string
+// Programmer   Binh-Minh Ribler - May, 2004
+//--------------------------------------------------------------------------
+void IdComponent::reference(void* ref, const H5std_string& name) const
+{
+   reference(ref, name.c_str());
+}
+
+//--------------------------------------------------------------------------
+// Function:	IdComponent::p_reference (protected)
+// Purpose	Creates a reference to an HDF5 object or a dataset region.
+// Parameters
+//		name - IN: Name of the object to be referenced
+//		dataspace - IN: Dataspace with selection
+//		ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
 // Return	A reference
 // Exception	H5::IdComponentException
+// Notes	This function is incorrect, and will be removed in the near
+//		future after notifying users of the new APIs ::reference's.
+//		BMR - Oct 8, 2006
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* IdComponent::p_reference(const char* name, hid_t space_id, H5R_type_t ref_type) const
 {
-   void *ref=NULL;
-   herr_t ret_value = H5Rcreate(ref, id, name, ref_type, space_id);
+   hobj_ref_t ref;
+   herr_t ret_value = H5Rcreate(&ref, id, name, ref_type, space_id);
    if (ret_value < 0)
    {
       throw IdComponentException("", "H5Rcreate failed");
    }
-   return(ref);
+   return (reinterpret_cast<void*>(ref));
 }
 
 //--------------------------------------------------------------------------
+// Function:	IdComponent::dereference
+// Purpose	Opens the HDF5 object referenced.
+// Parameters
+//		obj - IN: Dataset reference object is in or location of
+//                            object that the dataset is located within.
+//		ref - IN: Reference pointer
+// Exception	H5::IdComponentException
+// Programmer	Binh-Minh Ribler - Oct, 2006
+//--------------------------------------------------------------------------
+void IdComponent::dereference(IdComponent& obj, void* ref)
+{
+   id = H5Rdereference(obj.getId(), H5R_OBJECT, ref);
+   if (id < 0)
+   {
+      throw IdComponentException("", "H5Rdereference failed");
+   }
+}
+
+//--------------------------------------------------------------------------
 // Function:	IdComponent::p_get_obj_type (protected)
 // Purpose	Retrieves the type of object that an object reference points to.
 // Parameters
@@ -305,10 +442,19 @@
 //--------------------------------------------------------------------------
 H5G_obj_t IdComponent::p_get_obj_type(void *ref, H5R_type_t ref_type) const
 {
+#ifdef H5_WANT_H5_V1_4_COMPAT
+   H5G_obj_t obj_type = H5Rget_object_type(id, ref);
+#else
    H5G_obj_t obj_type = H5Rget_obj_type(id, ref_type, ref);
+#endif
+
    if (obj_type == H5G_UNKNOWN)
    {
-      throw IdComponentException("", "H5R_get_obj_type failed");
+#ifdef H5_WANT_H5_V1_4_COMPAT
+      throw IdComponentException("", "H5Rget_object_type failed");
+#else
+      throw IdComponentException("", "H5Rget_obj_type failed");
+#endif
    }
    return(obj_type);
 }
@@ -345,7 +491,7 @@
 // Return	true if id is valid, false, otherwise
 // Programmer	Binh-Minh Ribler - May, 2005
 //--------------------------------------------------------------------------
-bool IdComponent::p_valid_id(hid_t obj_id) const
+bool IdComponent::p_valid_id(const hid_t obj_id) const
 {
     H5I_type_t id_type = H5Iget_type(obj_id);
     if (id_type <= H5I_BADID || id_type >= H5I_NGROUPS)
@@ -354,26 +500,6 @@
 	return true;
 }
 
-//--------------------------------------------------------------------------
-// Function:	IdComponent::inMemFunc
-///\brief	Makes and returns string "<class-name>::<func_name>"
-///\param	func_name - Name of the function where failure occurs
-// Description
-///		Concatenates the class name of this object with the
-///		passed-in function name to create a string that indicates
-///		where the failure occurs.  The class-name is provided by
-///		fromClass().  This string will be used by a base class when
-///		an exception is thrown.
-// Programmer	Binh-Minh Ribler - Oct 10, 2005
-//--------------------------------------------------------------------------
-string IdComponent::inMemFunc(const char* func_name) const
-{
-   string full_name = func_name;
-   full_name.insert(0, "::");
-   full_name.insert(0, fromClass());
-   return (full_name);
-}
-
 #endif // DOXYGEN_SHOULD_SKIP_THIS
 
 #ifndef H5_NO_NAMESPACE

Modified: packages/hdf5/branches/upstream/current/c++/src/H5IdComponent.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5IdComponent.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5IdComponent.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,42 +10,50 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _IdComponent_H
 #define _IdComponent_H
 
-// IdComponent provides a mechanism to handle
-// reference counting for an identifier of any HDF5 object.
+// IdComponent represents an HDF5 object that has an identifier.
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
-#ifndef H5_NO_STD
-    using std::string;
-#endif  // H5_NO_STD
 #endif
 
+class DataSpace;
 class H5_DLLCPP IdComponent {
    public:
 	// Increment reference counter.
-	void incRefCount(hid_t obj_id) const;
+	void incRefCount(const hid_t obj_id) const;
 	void incRefCount() const;
 
 	// Decrement reference counter.
-	void decRefCount(hid_t obj_id) const;
+	void decRefCount(const hid_t obj_id) const;
 	void decRefCount() const;
 
 	// Get the reference counter to this identifier.
-	int getCounter(hid_t obj_id) const;
+	int getCounter(const hid_t obj_id) const;
 	int getCounter() const;
 
-	// Assignment operator
+	// Returns an HDF5 object type, given the object id.
+	static H5I_type_t getHDFObjType(const hid_t obj_id);
+
+	// Assignment operator.
 	IdComponent& operator=( const IdComponent& rhs );
 
+        void reference(void* ref, const char* name, const DataSpace& dataspace,
+                        H5R_type_t ref_type = H5R_DATASET_REGION) const;
+        void reference(void* ref, const char* name) const;
+        void reference(void* ref, const H5std_string& name) const;
+
+	// Open a referenced HDF5 object.
+	void dereference(IdComponent& obj, void* ref);
+
 	// Sets the identifier of this object to a new value.
-	void setId( hid_t new_id );
+	void setId(const hid_t new_id);
 
 	// Creates an object to hold an HDF5 identifier.
 	IdComponent( const hid_t h5_id );
@@ -60,15 +69,15 @@
 	// subclasses.
 	virtual void close() = 0;
 
-#endif // DOXYGEN_SHOULD_SKIP_THIS
-
 	// Makes and returns the string "<class-name>::<func_name>";
 	// <class-name> is returned by fromClass().
-	string inMemFunc(const char* func_name) const;
+	H5std_string inMemFunc(const char* func_name) const;
 
 	// Returns this class name.
-	virtual string fromClass() const {return ("IdComponent");}
+	virtual H5std_string fromClass() const { return("IdComponent");}
 
+#endif // DOXYGEN_SHOULD_SKIP_THIS
+
 	// Destructor
 	virtual ~IdComponent();
 
@@ -80,17 +89,14 @@
 	IdComponent();
 
 	// Gets the name of the file, in which an HDF5 object belongs.
-#ifndef H5_NO_STD
-	std::string p_get_file_name() const;
-#else
-	string p_get_file_name() const;
-#endif  // H5_NO_STD
+	H5std_string p_get_file_name() const;
 
 	// Gets the id of the H5 file in which the given object is located.
 	hid_t p_get_file_id();
 
 	// Creates a reference to an HDF5 object or a dataset region.
-	void* p_reference(const char* name, hid_t space_id, H5R_type_t ref_type) const;
+	void p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const;
+	void* p_reference(const char* name, hid_t space_id, H5R_type_t ref_type) const; // will be removed
 
 	// Retrieves the type of object that an object reference points to.
 	H5G_obj_t p_get_obj_type(void *ref, H5R_type_t ref_type) const;
@@ -99,7 +105,7 @@
 	hid_t p_get_region(void *ref, H5R_type_t ref_type) const;
 
 	// Verifies that the given id is valid.
-	bool p_valid_id(hid_t obj_id) const;
+	bool p_valid_id(const hid_t obj_id) const;
 
 #endif // DOXYGEN_SHOULD_SKIP_THIS
 

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Include.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Include.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Include.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,16 +10,10 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-// Added this line for CC to compile at this time.  Will remove it when
-// the problem of "Multiple declaration for RcsId" is fixed. BMR - 10/30/00
-
-// This problem is removed.  I could replace all #include "H5Include.h"
-// by #include <hdf5.h>, but decide not to. BMR - 3/22/01
-
 #include <hdf5.h>
 
 // Define bool type for platforms that don't support bool yet
@@ -33,5 +28,3 @@
 const bool  false = 0;
 const bool  true  = 1;
 #endif
-
-

Modified: packages/hdf5/branches/upstream/current/c++/src/H5IntType.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5IntType.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5IntType.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>

Modified: packages/hdf5/branches/upstream/current/c++/src/H5IntType.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5IntType.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5IntType.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5IntType_H
@@ -19,6 +20,7 @@
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
 #endif
+
 class H5_DLLCPP IntType : public AtomType {
    public:
 	// Creates a integer type using a predefined type
@@ -34,7 +36,7 @@
 	void setSign( H5T_sign_t sign ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return ("IntType"); }
+	virtual H5std_string fromClass () const { return("IntType"); }
 
 	// Default constructor
 	IntType();

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Library.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Library.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Library.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -105,7 +106,7 @@
 ///\par Description
 ///		For information about library version, please refer to
 ///		the C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5.html#Library-VersCheck
+/// <A HREF="../RM_H5.html#Library-VersCheck">../RM_H5.html#Library-VersCheck</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void H5Library::checkVersion(unsigned majnum, unsigned minnum, unsigned relnum)
@@ -160,7 +161,7 @@
 ///		Setting a value of -1 for a limit means no limit of that type.
 ///		For more information on free list limits, please refer to C
 ///		layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5.html#Library-SetFreeListLimits
+/// <A HREF="../RM_H5.html#Library-SetFreeListLimits">../RM_H5.html#Library-SetFreeListLimits</A>
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void H5Library::setFreeListLimits(int reg_global_lim, int reg_list_lim,

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Library.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Library.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Library.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5Library_H

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Object.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Object.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Object.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -36,7 +37,7 @@
 // problem.  May be moved to Iterator later.
 extern "C" herr_t userAttrOpWrpr( hid_t loc_id, const char* attr_name, void* op_data )
 {
-   string s_attr_name = string( attr_name );
+   H5std_string s_attr_name = H5std_string( attr_name );
 #ifdef NO_STATIC_CAST
    UserData4Aiterate* myData = (UserData4Aiterate *) op_data;
 #else
@@ -53,7 +54,7 @@
 //		set it to a valid HDF5 id.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5Object::H5Object() : IdComponent() {}
+H5Object::H5Object() : IdComponent(0) {}
 
 //--------------------------------------------------------------------------
 // Function:	H5Object overloaded constructor (protected)
@@ -119,10 +120,10 @@
 // Function:	H5Object::createAttribute
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes
-///		a reference to an \c std::string for \a name.
+///		a reference to an \c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-Attribute H5Object::createAttribute( const string& name, const DataType& data_type, const DataSpace& data_space, const PropList& create_plist ) const
+Attribute H5Object::createAttribute( const H5std_string& name, const DataType& data_type, const DataSpace& data_space, const PropList& create_plist ) const
 {
    return( createAttribute( name.c_str(), data_type, data_space, create_plist ));
 }
@@ -153,10 +154,10 @@
 // Function:	H5Object::openAttribute
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes
-///		a reference to an \c std::string for \a name.
+///		a reference to an \c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-Attribute H5Object::openAttribute( const string& name ) const
+Attribute H5Object::openAttribute( const H5std_string& name ) const
 {
    return( openAttribute( name.c_str()) );
 }
@@ -196,7 +197,7 @@
 ///\par Description
 ///		For information, please refer to the C layer Reference Manual
 ///		at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5A.html#Annot-Iterate
+/// <A HREF="../RM_H5A.html#Annot-Iterate">../RM_H5A.html#Annot-Iterate</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 int H5Object::iterateAttrs( attr_operator_t user_op, unsigned * idx, void *op_data )
@@ -260,10 +261,10 @@
 // Function:	H5Object::removeAttr
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes
-///		a reference to an \c std::string for \a name.
+///		a reference to an \c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void H5Object::removeAttr( const string& name ) const
+void H5Object::removeAttr( const H5std_string& name ) const
 {
    removeAttr( name.c_str() );
 }
@@ -289,10 +290,10 @@
 // Function:	H5Object::renameAttr
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes
-///		a reference to an \c std::string for the names.
+///		a reference to an \c H5std_string for the names.
 // Programmer	Binh-Minh Ribler - Mar, 2005
 //--------------------------------------------------------------------------
-void H5Object::renameAttr(const string& oldname, const string& newname) const
+void H5Object::renameAttr(const H5std_string& oldname, const H5std_string& newname) const
 {
    renameAttr (oldname.c_str(), newname.c_str());
 }
@@ -325,7 +326,7 @@
 ///\exception	H5::IdComponentException
 // Programmer	Binh-Minh Ribler - Jul, 2004
 //--------------------------------------------------------------------------
-string H5Object::getFileName() const
+H5std_string H5Object::getFileName() const
 {
    try {
       return(p_get_file_name());

Modified: packages/hdf5/branches/upstream/current/c++/src/H5Object.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5Object.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5Object.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5Object_H
@@ -32,7 +33,7 @@
 
 // Define the operator function pointer for H5Aiterate().
 typedef void (*attr_operator_t)( H5Object& loc/*in*/,
-				 const string attr_name/*in*/,
+				 const H5std_string attr_name/*in*/,
 				 void *operator_data/*in,out*/);
 
 class UserData4Aiterate { // user data for attribute iteration
@@ -51,11 +52,11 @@
 	// Creates an attribute for a group, dataset, or named datatype.
 	// PropList is currently not used, so always be default.
 	Attribute createAttribute( const char* name, const DataType& type, const DataSpace& space, const PropList& create_plist = PropList::DEFAULT ) const;
-	Attribute createAttribute( const string& name, const DataType& type, const DataSpace& space, const PropList& create_plist = PropList::DEFAULT ) const;
+	Attribute createAttribute( const H5std_string& name, const DataType& type, const DataSpace& space, const PropList& create_plist = PropList::DEFAULT ) const;
 
 	// Opens an attribute given its name.
 	Attribute openAttribute( const char* name ) const;
-	Attribute openAttribute( const string& name ) const;
+	Attribute openAttribute( const H5std_string& name ) const;
 
 	// Opens an attribute given its index.
 	Attribute openAttribute( const unsigned int idx ) const;
@@ -64,7 +65,7 @@
 	void flush( H5F_scope_t scope ) const;
 
 	// Gets the name of the file, in which this HDF5 object belongs.
-	string getFileName() const;
+	H5std_string getFileName() const;
 
 	// Determines the number of attributes attached to this object.
 	int getNumAttrs() const;
@@ -74,11 +75,11 @@
 
 	// Removes the named attribute from this object.
 	void removeAttr( const char* name ) const;
-	void removeAttr( const string& name ) const;
+	void removeAttr( const H5std_string& name ) const;
 
 	// Renames the attribute to a new name.
 	void renameAttr(const char* oldname, const char* newname) const;
-	void renameAttr(const string& oldname, const string& newname) const;
+	void renameAttr(const H5std_string& oldname, const H5std_string& newname) const;
 
 	// Copy constructor: makes copy of an H5Object object.
 	H5Object(const H5Object& original);

Modified: packages/hdf5/branches/upstream/current/c++/src/H5PredType.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5PredType.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5PredType.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -37,13 +38,13 @@
 ///		predefined datatype.
 ///\param	predtype_id - IN: Id of a predefined datatype
 // Description
-// 		This constructor creates a predefined datatype, so it sets
-// 		DataType::is_predtype to true.
+// 		This constructor creates a PredType object by copying
+//		the provided HDF5 predefined datatype.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 PredType::PredType( const hid_t predtype_id ) : AtomType( predtype_id )
 {
-   is_predtype = true;
+    id = H5Tcopy(predtype_id);
 }
 
 //--------------------------------------------------------------------------
@@ -64,150 +65,184 @@
 const PredType PredType::NotAtexit;	// only for atexit/global dest. problem
 
 // Definition of pre-defined types
-// Note: the parameter E_xxxx_yyyy is the enum value that represents
-// the corresponding HDF5 predefined type H5T_xxxx_yyyy.  This enum value
-// is stored in PredType::id since it is a PredType object id, in a way.
-// In addition, this storage makes things safely simpler.  When a PredType
-// object is used, the virtual PredType::getId will base on the enum
-// value to return the correct HDF5 predefined type id.
+const PredType PredType::C_S1( H5T_C_S1 );
+const PredType PredType::FORTRAN_S1( H5T_FORTRAN_S1 );
 
-const PredType PredType::C_S1( E_C_S1 );
-const PredType PredType::FORTRAN_S1( E_FORTRAN_S1 );
+const PredType PredType::STD_I8BE( H5T_STD_I8BE );
+const PredType PredType::STD_I8LE( H5T_STD_I8LE );
+const PredType PredType::STD_I16BE( H5T_STD_I16BE );
+const PredType PredType::STD_I16LE( H5T_STD_I16LE );
+const PredType PredType::STD_I32BE( H5T_STD_I32BE );
+const PredType PredType::STD_I32LE( H5T_STD_I32LE );
+const PredType PredType::STD_I64BE( H5T_STD_I64BE );
+const PredType PredType::STD_I64LE( H5T_STD_I64LE );
+const PredType PredType::STD_U8BE( H5T_STD_U8BE );
+const PredType PredType::STD_U8LE( H5T_STD_U8LE );
+const PredType PredType::STD_U16BE( H5T_STD_U16BE );
+const PredType PredType::STD_U16LE( H5T_STD_U16LE );
+const PredType PredType::STD_U32BE( H5T_STD_U32BE );
+const PredType PredType::STD_U32LE( H5T_STD_U32LE );
+const PredType PredType::STD_U64BE( H5T_STD_U64BE );
+const PredType PredType::STD_U64LE( H5T_STD_U64LE );
+const PredType PredType::STD_B8BE( H5T_STD_B8BE );
+const PredType PredType::STD_B8LE( H5T_STD_B8LE );
 
-const PredType PredType::STD_I8BE( E_STD_I8BE );
-const PredType PredType::STD_I8LE( E_STD_I8LE );
-const PredType PredType::STD_I16BE( E_STD_I16BE );
-const PredType PredType::STD_I16LE( E_STD_I16LE );
-const PredType PredType::STD_I32BE( E_STD_I32BE );
-const PredType PredType::STD_I32LE( E_STD_I32LE );
-const PredType PredType::STD_I64BE( E_STD_I64BE );
-const PredType PredType::STD_I64LE( E_STD_I64LE );
-const PredType PredType::STD_U8BE( E_STD_U8BE );
-const PredType PredType::STD_U8LE( E_STD_U8LE );
-const PredType PredType::STD_U16BE( E_STD_U16BE );
-const PredType PredType::STD_U16LE( E_STD_U16LE );
-const PredType PredType::STD_U32BE( E_STD_U32BE );
-const PredType PredType::STD_U32LE( E_STD_U32LE );
-const PredType PredType::STD_U64BE( E_STD_U64BE );
-const PredType PredType::STD_U64LE( E_STD_U64LE );
-const PredType PredType::STD_B8BE( E_STD_B8BE );
-const PredType PredType::STD_B8LE( E_STD_B8LE );
+const PredType PredType::STD_B16BE( H5T_STD_B16BE );
+const PredType PredType::STD_B16LE( H5T_STD_B16LE );
+const PredType PredType::STD_B32BE( H5T_STD_B32BE );
+const PredType PredType::STD_B32LE( H5T_STD_B32LE );
+const PredType PredType::STD_B64BE( H5T_STD_B64BE );
+const PredType PredType::STD_B64LE( H5T_STD_B64LE );
+const PredType PredType::STD_REF_OBJ( H5T_STD_REF_OBJ );
+const PredType PredType::STD_REF_DSETREG( H5T_STD_REF_DSETREG );
 
-const PredType PredType::STD_B16BE( E_STD_B16BE );
-const PredType PredType::STD_B16LE( E_STD_B16LE );
-const PredType PredType::STD_B32BE( E_STD_B32BE );
-const PredType PredType::STD_B32LE( E_STD_B32LE );
-const PredType PredType::STD_B64BE( E_STD_B64BE );
-const PredType PredType::STD_B64LE( E_STD_B64LE );
-const PredType PredType::STD_REF_OBJ( E_STD_REF_OBJ );
-const PredType PredType::STD_REF_DSETREG( E_STD_REF_DSETREG );
+const PredType PredType::IEEE_F32BE( H5T_IEEE_F32BE );
+const PredType PredType::IEEE_F32LE( H5T_IEEE_F32LE );
+const PredType PredType::IEEE_F64BE( H5T_IEEE_F64BE );
+const PredType PredType::IEEE_F64LE( H5T_IEEE_F64LE );
 
-const PredType PredType::IEEE_F32BE( E_IEEE_F32BE );
-const PredType PredType::IEEE_F32LE( E_IEEE_F32LE );
-const PredType PredType::IEEE_F64BE( E_IEEE_F64BE );
-const PredType PredType::IEEE_F64LE( E_IEEE_F64LE );
+const PredType PredType::UNIX_D32BE( H5T_UNIX_D32BE );
+const PredType PredType::UNIX_D32LE( H5T_UNIX_D32LE );
+const PredType PredType::UNIX_D64BE( H5T_UNIX_D64BE );
+const PredType PredType::UNIX_D64LE( H5T_UNIX_D64LE );
 
-const PredType PredType::UNIX_D32BE( E_UNIX_D32BE );
-const PredType PredType::UNIX_D32LE( E_UNIX_D32LE );
-const PredType PredType::UNIX_D64BE( E_UNIX_D64BE );
-const PredType PredType::UNIX_D64LE( E_UNIX_D64LE );
+const PredType PredType::INTEL_I8( H5T_INTEL_I8 );
+const PredType PredType::INTEL_I16( H5T_INTEL_I16 );
+const PredType PredType::INTEL_I32( H5T_INTEL_I32 );
+const PredType PredType::INTEL_I64( H5T_INTEL_I64 );
+const PredType PredType::INTEL_U8( H5T_INTEL_U8 );
+const PredType PredType::INTEL_U16( H5T_INTEL_U16 );
+const PredType PredType::INTEL_U32( H5T_INTEL_U32 );
+const PredType PredType::INTEL_U64( H5T_INTEL_U64 );
+const PredType PredType::INTEL_B8( H5T_INTEL_B8 );
+const PredType PredType::INTEL_B16( H5T_INTEL_B16 );
+const PredType PredType::INTEL_B32( H5T_INTEL_B32 );
+const PredType PredType::INTEL_B64( H5T_INTEL_B64 );
+const PredType PredType::INTEL_F32( H5T_INTEL_F32 );
+const PredType PredType::INTEL_F64( H5T_INTEL_F64 );
 
-const PredType PredType::INTEL_I8( E_INTEL_I8 );
-const PredType PredType::INTEL_I16( E_INTEL_I16 );
-const PredType PredType::INTEL_I32( E_INTEL_I32 );
-const PredType PredType::INTEL_I64( E_INTEL_I64 );
-const PredType PredType::INTEL_U8( E_INTEL_U8 );
-const PredType PredType::INTEL_U16( E_INTEL_U16 );
-const PredType PredType::INTEL_U32( E_INTEL_U32 );
-const PredType PredType::INTEL_U64( E_INTEL_U64 );
-const PredType PredType::INTEL_B8( E_INTEL_B8 );
-const PredType PredType::INTEL_B16( E_INTEL_B16 );
-const PredType PredType::INTEL_B32( E_INTEL_B32 );
-const PredType PredType::INTEL_B64( E_INTEL_B64 );
-const PredType PredType::INTEL_F32( E_INTEL_F32 );
-const PredType PredType::INTEL_F64( E_INTEL_F64 );
+const PredType PredType::ALPHA_I8( H5T_ALPHA_I8 );
+const PredType PredType::ALPHA_I16( H5T_ALPHA_I16 );
+const PredType PredType::ALPHA_I32( H5T_ALPHA_I32 );
+const PredType PredType::ALPHA_I64( H5T_ALPHA_I64 );
+const PredType PredType::ALPHA_U8( H5T_ALPHA_U8 );
+const PredType PredType::ALPHA_U16( H5T_ALPHA_U16 );
+const PredType PredType::ALPHA_U32( H5T_ALPHA_U32 );
+const PredType PredType::ALPHA_U64( H5T_ALPHA_U64 );
+const PredType PredType::ALPHA_B8( H5T_ALPHA_B8 );
+const PredType PredType::ALPHA_B16( H5T_ALPHA_B16 );
+const PredType PredType::ALPHA_B32( H5T_ALPHA_B32 );
+const PredType PredType::ALPHA_B64( H5T_ALPHA_B64 );
+const PredType PredType::ALPHA_F32( H5T_ALPHA_F32 );
+const PredType PredType::ALPHA_F64( H5T_ALPHA_F64 );
 
-const PredType PredType::ALPHA_I8( E_ALPHA_I8 );
-const PredType PredType::ALPHA_I16( E_ALPHA_I16 );
-const PredType PredType::ALPHA_I32( E_ALPHA_I32 );
-const PredType PredType::ALPHA_I64( E_ALPHA_I64 );
-const PredType PredType::ALPHA_U8( E_ALPHA_U8 );
-const PredType PredType::ALPHA_U16( E_ALPHA_U16 );
-const PredType PredType::ALPHA_U32( E_ALPHA_U32 );
-const PredType PredType::ALPHA_U64( E_ALPHA_U64 );
-const PredType PredType::ALPHA_B8( E_ALPHA_B8 );
-const PredType PredType::ALPHA_B16( E_ALPHA_B16 );
-const PredType PredType::ALPHA_B32( E_ALPHA_B32 );
-const PredType PredType::ALPHA_B64( E_ALPHA_B64 );
-const PredType PredType::ALPHA_F32( E_ALPHA_F32 );
-const PredType PredType::ALPHA_F64( E_ALPHA_F64 );
+const PredType PredType::MIPS_I8( H5T_MIPS_I8 );
+const PredType PredType::MIPS_I16( H5T_MIPS_I16 );
+const PredType PredType::MIPS_I32( H5T_MIPS_I32 );
+const PredType PredType::MIPS_I64( H5T_MIPS_I64 );
+const PredType PredType::MIPS_U8( H5T_MIPS_U8 );
+const PredType PredType::MIPS_U16( H5T_MIPS_U16 );
+const PredType PredType::MIPS_U32( H5T_MIPS_U32 );
+const PredType PredType::MIPS_U64( H5T_MIPS_U64 );
+const PredType PredType::MIPS_B8( H5T_MIPS_B8 );
+const PredType PredType::MIPS_B16( H5T_MIPS_B16 );
+const PredType PredType::MIPS_B32( H5T_MIPS_B32 );
+const PredType PredType::MIPS_B64( H5T_MIPS_B64 );
+const PredType PredType::MIPS_F32( H5T_MIPS_F32 );
+const PredType PredType::MIPS_F64( H5T_MIPS_F64 );
 
-const PredType PredType::MIPS_I8( E_MIPS_I8 );
-const PredType PredType::MIPS_I16( E_MIPS_I16 );
-const PredType PredType::MIPS_I32( E_MIPS_I32 );
-const PredType PredType::MIPS_I64( E_MIPS_I64 );
-const PredType PredType::MIPS_U8( E_MIPS_U8 );
-const PredType PredType::MIPS_U16( E_MIPS_U16 );
-const PredType PredType::MIPS_U32( E_MIPS_U32 );
-const PredType PredType::MIPS_U64( E_MIPS_U64 );
-const PredType PredType::MIPS_B8( E_MIPS_B8 );
-const PredType PredType::MIPS_B16( E_MIPS_B16 );
-const PredType PredType::MIPS_B32( E_MIPS_B32 );
-const PredType PredType::MIPS_B64( E_MIPS_B64 );
-const PredType PredType::MIPS_F32( E_MIPS_F32 );
-const PredType PredType::MIPS_F64( E_MIPS_F64 );
+const PredType PredType::NATIVE_CHAR( H5T_NATIVE_CHAR );
+const PredType PredType::NATIVE_INT( H5T_NATIVE_INT );
+const PredType PredType::NATIVE_FLOAT( H5T_NATIVE_FLOAT );
+const PredType PredType::NATIVE_SCHAR( H5T_NATIVE_SCHAR );
+const PredType PredType::NATIVE_UCHAR( H5T_NATIVE_UCHAR );
+const PredType PredType::NATIVE_SHORT( H5T_NATIVE_SHORT );
+const PredType PredType::NATIVE_USHORT( H5T_NATIVE_USHORT );
+const PredType PredType::NATIVE_UINT( H5T_NATIVE_UINT );
+const PredType PredType::NATIVE_LONG( H5T_NATIVE_LONG );
+const PredType PredType::NATIVE_ULONG( H5T_NATIVE_ULONG );
+const PredType PredType::NATIVE_LLONG( H5T_NATIVE_LLONG );
+const PredType PredType::NATIVE_ULLONG( H5T_NATIVE_ULLONG );
+const PredType PredType::NATIVE_DOUBLE( H5T_NATIVE_DOUBLE );
+#if H5_SIZEOF_LONG_DOUBLE !=0
+const PredType PredType::NATIVE_LDOUBLE( H5T_NATIVE_LDOUBLE );
+#endif
+const PredType PredType::NATIVE_B8( H5T_NATIVE_B8 );
+const PredType PredType::NATIVE_B16( H5T_NATIVE_B16 );
+const PredType PredType::NATIVE_B32( H5T_NATIVE_B32 );
+const PredType PredType::NATIVE_B64( H5T_NATIVE_B64 );
+const PredType PredType::NATIVE_OPAQUE( H5T_NATIVE_OPAQUE );
+const PredType PredType::NATIVE_HSIZE( H5T_NATIVE_HSIZE );
+const PredType PredType::NATIVE_HSSIZE( H5T_NATIVE_HSSIZE );
+const PredType PredType::NATIVE_HERR( H5T_NATIVE_HERR );
+const PredType PredType::NATIVE_HBOOL( H5T_NATIVE_HBOOL );
 
-const PredType PredType::NATIVE_CHAR( E_NATIVE_CHAR );
-const PredType PredType::NATIVE_INT( E_NATIVE_INT );
-const PredType PredType::NATIVE_FLOAT( E_NATIVE_FLOAT );
-const PredType PredType::NATIVE_SCHAR( E_NATIVE_SCHAR );
-const PredType PredType::NATIVE_UCHAR( E_NATIVE_UCHAR );
-const PredType PredType::NATIVE_SHORT( E_NATIVE_SHORT );
-const PredType PredType::NATIVE_USHORT( E_NATIVE_USHORT );
-const PredType PredType::NATIVE_UINT( E_NATIVE_UINT );
-const PredType PredType::NATIVE_LONG( E_NATIVE_LONG );
-const PredType PredType::NATIVE_ULONG( E_NATIVE_ULONG );
-const PredType PredType::NATIVE_LLONG( E_NATIVE_LLONG );
-const PredType PredType::NATIVE_ULLONG( E_NATIVE_ULLONG );
-const PredType PredType::NATIVE_DOUBLE( E_NATIVE_DOUBLE );
-const PredType PredType::NATIVE_LDOUBLE( E_NATIVE_LDOUBLE );
-const PredType PredType::NATIVE_B8( E_NATIVE_B8 );
-const PredType PredType::NATIVE_B16( E_NATIVE_B16 );
-const PredType PredType::NATIVE_B32( E_NATIVE_B32 );
-const PredType PredType::NATIVE_B64( E_NATIVE_B64 );
-const PredType PredType::NATIVE_OPAQUE( E_NATIVE_OPAQUE );
-const PredType PredType::NATIVE_HSIZE( E_NATIVE_HSIZE );
-const PredType PredType::NATIVE_HSSIZE( E_NATIVE_HSSIZE );
-const PredType PredType::NATIVE_HERR( E_NATIVE_HERR );
-const PredType PredType::NATIVE_HBOOL( E_NATIVE_HBOOL );
+const PredType PredType::NATIVE_INT8( H5T_NATIVE_INT8 );
+const PredType PredType::NATIVE_UINT8( H5T_NATIVE_UINT8 );
+const PredType PredType::NATIVE_INT16( H5T_NATIVE_INT16 );
+const PredType PredType::NATIVE_UINT16( H5T_NATIVE_UINT16 );
+const PredType PredType::NATIVE_INT32( H5T_NATIVE_INT32 );
+const PredType PredType::NATIVE_UINT32( H5T_NATIVE_UINT32 );
+const PredType PredType::NATIVE_INT64( H5T_NATIVE_INT64 );
+const PredType PredType::NATIVE_UINT64( H5T_NATIVE_UINT64 );
 
-const PredType PredType::NATIVE_INT8( E_NATIVE_INT8 );
-const PredType PredType::NATIVE_UINT8( E_NATIVE_UINT8 );
-const PredType PredType::NATIVE_INT_LEAST8( E_NATIVE_INT_LEAST8 );
-const PredType PredType::NATIVE_UINT_LEAST8( E_NATIVE_UINT_LEAST8 );
-const PredType PredType::NATIVE_INT_FAST8( E_NATIVE_INT_FAST8 );
-const PredType PredType::NATIVE_UINT_FAST8( E_NATIVE_UINT_FAST8 );
+// LEAST types
+#if H5_SIZEOF_INT_LEAST8_T != 0
+const PredType PredType::NATIVE_INT_LEAST8( H5T_NATIVE_INT_LEAST8 );
+#endif /* H5_SIZEOF_INT_LEAST8_T */
+#if H5_SIZEOF_UINT_LEAST8_T != 0
+const PredType PredType::NATIVE_UINT_LEAST8( H5T_NATIVE_UINT_LEAST8 );
+#endif /* H5_SIZEOF_UINT_LEAST8_T */
 
-const PredType PredType::NATIVE_INT16( E_NATIVE_INT16 );
-const PredType PredType::NATIVE_UINT16( E_NATIVE_UINT16 );
-const PredType PredType::NATIVE_INT_LEAST16( E_NATIVE_INT_LEAST16 );
-const PredType PredType::NATIVE_UINT_LEAST16( E_NATIVE_UINT_LEAST16 );
-const PredType PredType::NATIVE_INT_FAST16( E_NATIVE_INT_FAST16 );
-const PredType PredType::NATIVE_UINT_FAST16( E_NATIVE_UINT_FAST16 );
+#if H5_SIZEOF_INT_LEAST16_T != 0
+const PredType PredType::NATIVE_INT_LEAST16( H5T_NATIVE_INT_LEAST16 );
+#endif /* H5_SIZEOF_INT_LEAST16_T */
+#if H5_SIZEOF_UINT_LEAST16_T != 0
+const PredType PredType::NATIVE_UINT_LEAST16( H5T_NATIVE_UINT_LEAST16 );
+#endif /* H5_SIZEOF_UINT_LEAST16_T */
 
-const PredType PredType::NATIVE_INT32( E_NATIVE_INT32 );
-const PredType PredType::NATIVE_UINT32( E_NATIVE_UINT32 );
-const PredType PredType::NATIVE_INT_LEAST32( E_NATIVE_INT_LEAST32 );
-const PredType PredType::NATIVE_UINT_LEAST32( E_NATIVE_UINT_LEAST32 );
-const PredType PredType::NATIVE_INT_FAST32( E_NATIVE_INT_FAST32 );
-const PredType PredType::NATIVE_UINT_FAST32( E_NATIVE_UINT_FAST32 );
+#if H5_SIZEOF_INT_LEAST32_T != 0
+const PredType PredType::NATIVE_INT_LEAST32( H5T_NATIVE_INT_LEAST32 );
+#endif /* H5_SIZEOF_INT_LEAST32_T */
+#if H5_SIZEOF_UINT_LEAST32_T != 0
+const PredType PredType::NATIVE_UINT_LEAST32( H5T_NATIVE_UINT_LEAST32 );
+#endif /* H5_SIZEOF_UINT_LEAST32_T */
 
-const PredType PredType::NATIVE_INT64( E_NATIVE_INT64 );
-const PredType PredType::NATIVE_UINT64( E_NATIVE_UINT64 );
-const PredType PredType::NATIVE_INT_LEAST64( E_NATIVE_INT_LEAST64 );
-const PredType PredType::NATIVE_UINT_LEAST64( E_NATIVE_UINT_LEAST64 );
-const PredType PredType::NATIVE_INT_FAST64( E_NATIVE_INT_FAST64 );
-const PredType PredType::NATIVE_UINT_FAST64( E_NATIVE_UINT_FAST64 );
+#if H5_SIZEOF_INT_LEAST64_T != 0
+const PredType PredType::NATIVE_INT_LEAST64( H5T_NATIVE_INT_LEAST64 );
+#endif /* H5_SIZEOF_INT_LEAST64_T */
+#if H5_SIZEOF_UINT_LEAST64_T != 0
+const PredType PredType::NATIVE_UINT_LEAST64( H5T_NATIVE_UINT_LEAST64 );
+#endif /* H5_SIZEOF_UINT_LEAST64_T */
+
+// FAST types
+#if H5_SIZEOF_INT_FAST8_T != 0
+const PredType PredType::NATIVE_INT_FAST8( H5T_NATIVE_INT_FAST8 );
+#endif /* H5_SIZEOF_INT_FAST8_T */
+#if H5_SIZEOF_UINT_FAST8_T != 0
+const PredType PredType::NATIVE_UINT_FAST8( H5T_NATIVE_UINT_FAST8 );
+#endif /* H5_SIZEOF_UINT_FAST8_T */
+
+#if H5_SIZEOF_INT_FAST16_T != 0
+const PredType PredType::NATIVE_INT_FAST16( H5T_NATIVE_INT_FAST16 );
+#endif /* H5_SIZEOF_INT_FAST16_T */
+#if H5_SIZEOF_UINT_FAST16_T != 0
+const PredType PredType::NATIVE_UINT_FAST16( H5T_NATIVE_UINT_FAST16 );
+#endif /* H5_SIZEOF_UINT_FAST16_T */
+
+#if H5_SIZEOF_INT_FAST32_T != 0
+const PredType PredType::NATIVE_INT_FAST32( H5T_NATIVE_INT_FAST32 );
+#endif /* H5_SIZEOF_INT_FAST32_T */
+#if H5_SIZEOF_UINT_FAST32_T != 0
+const PredType PredType::NATIVE_UINT_FAST32( H5T_NATIVE_UINT_FAST32 );
+#endif /* H5_SIZEOF_UINT_FAST32_T */
+
+#if H5_SIZEOF_INT_FAST64_T != 0
+const PredType PredType::NATIVE_INT_FAST64( H5T_NATIVE_INT_FAST64 );
+#endif /* H5_SIZEOF_INT_FAST64_T */
+#if H5_SIZEOF_UINT_FAST64_T != 0
+const PredType PredType::NATIVE_UINT_FAST64( H5T_NATIVE_UINT_FAST64 );
+#endif /* H5_SIZEOF_UINT_FAST64_T */
 #endif // DOXYGEN_SHOULD_SKIP_THIS
 
 //--------------------------------------------------------------------------
@@ -223,296 +258,30 @@
 //--------------------------------------------------------------------------
 PredType& PredType::operator=( const PredType& rhs )
 {
-   copy(rhs);
-   return(*this);
+    if (this != &rhs)
+	copy(rhs);
+    return(*this);
 }
 
-//--------------------------------------------------------------------------
-// Function:	PredType::getId
-///\brief	Returns the HDF5 predefined type id.
-///\return	HDF5 predefined type id or INVALID
-// Programmer	Binh-Minh Ribler - 2000
-//--------------------------------------------------------------------------
-hid_t PredType::getId() const
-{
-    switch( id ) {
-	case E_C_S1:
-	    return( H5T_C_S1 );
-	case E_FORTRAN_S1:
-	    return( H5T_FORTRAN_S1 );
-
-	case E_STD_I8BE:
-	    return( H5T_STD_I8BE );
-	case E_STD_I8LE:
-	    return( H5T_STD_I8LE );
-	case E_STD_I16BE:
-	    return( H5T_STD_I16BE );
-	case E_STD_I16LE:
-	    return( H5T_STD_I16LE );
-	case E_STD_I32BE:
-	    return( H5T_STD_I32BE );
-	case E_STD_I32LE:
-	    return( H5T_STD_I32LE );
-	case E_STD_I64BE:
-	    return( H5T_STD_I64BE );
-	case E_STD_I64LE:
-	    return( H5T_STD_I64LE );
-	case E_STD_U8BE:
-	    return( H5T_STD_U8BE );
-	case E_STD_U8LE:
-	    return( H5T_STD_U8LE );
-	case E_STD_U16BE:
-	    return( H5T_STD_U16BE );
-	case E_STD_U16LE:
-	    return( H5T_STD_U16LE );
-	case E_STD_U32BE:
-	    return( H5T_STD_U32BE );
-	case E_STD_U32LE:
-	    return( H5T_STD_U32LE );
-	case E_STD_U64BE:
-	    return( H5T_STD_U64BE );
-	case E_STD_U64LE:
-	    return( H5T_STD_U64LE );
-	case E_STD_B8BE:
-	    return( H5T_STD_B8BE );
-	case E_STD_B8LE:
-	    return( H5T_STD_B8LE );
-
-	case E_STD_B16BE:
-	    return( H5T_STD_B16BE );
-	case E_STD_B16LE:
-	    return( H5T_STD_B16LE );
-	case E_STD_B32BE:
-	    return( H5T_STD_B32BE );
-	case E_STD_B32LE:
-	    return( H5T_STD_B32LE );
-	case E_STD_B64BE:
-	    return( H5T_STD_B64BE );
-	case E_STD_B64LE:
-	    return( H5T_STD_B64LE );
-	case E_STD_REF_OBJ:
-	    return( H5T_STD_REF_OBJ );
-	case E_STD_REF_DSETREG:
-	    return( H5T_STD_REF_DSETREG );
-
-	case E_IEEE_F32BE:
-	    return( H5T_IEEE_F32BE );
-	case E_IEEE_F32LE:
-	    return( H5T_IEEE_F32LE );
-	case E_IEEE_F64BE:
-	    return( H5T_IEEE_F64BE );
-	case E_IEEE_F64LE:
-	    return( H5T_IEEE_F64LE );
-
-	case E_UNIX_D32BE:
-	    return( H5T_UNIX_D32BE );
-	case E_UNIX_D32LE:
-	    return( H5T_UNIX_D32LE );
-	case E_UNIX_D64BE:
-	    return( H5T_UNIX_D64BE );
-	case E_UNIX_D64LE:
-	    return( H5T_UNIX_D64LE );
-
-	case E_INTEL_I8:
-	    return( H5T_INTEL_I8 );
-	case E_INTEL_I16:
-	    return( H5T_INTEL_I16 );
-	case E_INTEL_I32:
-	    return( H5T_INTEL_I32 );
-	case E_INTEL_I64:
-	    return( H5T_INTEL_I64 );
-	case E_INTEL_U8:
-	    return( H5T_INTEL_U8 );
-	case E_INTEL_U16:
-	    return( H5T_INTEL_U16 );
-	case E_INTEL_U32:
-	    return( H5T_INTEL_U32 );
-	case E_INTEL_U64:
-	    return( H5T_INTEL_U64 );
-	case E_INTEL_B8:
-	    return( H5T_INTEL_B8 );
-	case E_INTEL_B16:
-	    return( H5T_INTEL_B16 );
-	case E_INTEL_B32:
-	    return( H5T_INTEL_B32 );
-	case E_INTEL_B64:
-	    return( H5T_INTEL_B64 );
-	case E_INTEL_F32:
-	    return( H5T_INTEL_F32 );
-	case E_INTEL_F64:
-	    return( H5T_INTEL_F64 );
-
-	case E_ALPHA_I8:
-	    return( H5T_ALPHA_I8 );
-	case E_ALPHA_I16:
-	    return( H5T_ALPHA_I16 );
-	case E_ALPHA_I32:
-	    return( H5T_ALPHA_I32 );
-	case E_ALPHA_I64:
-	    return( H5T_ALPHA_I64 );
-	case E_ALPHA_U8:
-	    return( H5T_ALPHA_U8 );
-	case E_ALPHA_U16:
-	    return( H5T_ALPHA_U16 );
-	case E_ALPHA_U32:
-	    return( H5T_ALPHA_U32 );
-	case E_ALPHA_U64:
-	    return( H5T_ALPHA_U64 );
-	case E_ALPHA_B8:
-	    return( H5T_ALPHA_B8 );
-	case E_ALPHA_B16:
-	    return( H5T_ALPHA_B16 );
-	case E_ALPHA_B32:
-	    return( H5T_ALPHA_B32 );
-	case E_ALPHA_B64:
-	    return( H5T_ALPHA_B64 );
-	case E_ALPHA_F32:
-	    return( H5T_ALPHA_F32 );
-	case E_ALPHA_F64:
-	    return( H5T_ALPHA_F64 );
-
-	case E_MIPS_I8:
-	    return( H5T_MIPS_I8 );
-	case E_MIPS_I16:
-	    return( H5T_MIPS_I16 );
-	case E_MIPS_I32:
-	    return( H5T_MIPS_I32 );
-	case E_MIPS_I64:
-	    return( H5T_MIPS_I64 );
-	case E_MIPS_U8:
-	    return( H5T_MIPS_U8 );
-	case E_MIPS_U16:
-	    return( H5T_MIPS_U16 );
-	case E_MIPS_U32:
-	    return( H5T_MIPS_U32 );
-	case E_MIPS_U64:
-	    return( H5T_MIPS_U64 );
-	case E_MIPS_B8:
-	    return( H5T_MIPS_B8 );
-	case E_MIPS_B16:
-	    return( H5T_MIPS_B16 );
-	case E_MIPS_B32:
-	    return( H5T_MIPS_B32 );
-	case E_MIPS_B64:
-	    return( H5T_MIPS_B64 );
-	case E_MIPS_F32:
-	    return( H5T_MIPS_F32 );
-	case E_MIPS_F64:
-	    return( H5T_MIPS_F64 );
-
-	case E_NATIVE_CHAR:
-	    return( H5T_NATIVE_CHAR );
-	case E_NATIVE_INT:
-	    return( H5T_NATIVE_INT );
-	case E_NATIVE_FLOAT:
-	    return( H5T_NATIVE_FLOAT );
-	case E_NATIVE_SCHAR:
-	    return( H5T_NATIVE_SCHAR );
-	case E_NATIVE_UCHAR:
-	    return( H5T_NATIVE_UCHAR );
-	case E_NATIVE_SHORT:
-	    return( H5T_NATIVE_SHORT );
-	case E_NATIVE_USHORT:
-	    return( H5T_NATIVE_USHORT );
-	case E_NATIVE_UINT:
-	    return( H5T_NATIVE_UINT );
-	case E_NATIVE_LONG:
-	    return( H5T_NATIVE_LONG );
-	case E_NATIVE_ULONG:
-	    return( H5T_NATIVE_ULONG );
-	case E_NATIVE_LLONG:
-	    return( H5T_NATIVE_LLONG );
-	case E_NATIVE_ULLONG:
-	    return( H5T_NATIVE_ULLONG );
-	case E_NATIVE_DOUBLE:
-	    return( H5T_NATIVE_DOUBLE );
-	case E_NATIVE_LDOUBLE:
-	    return( H5T_NATIVE_LDOUBLE );
-	case E_NATIVE_B8:
-	    return( H5T_NATIVE_B8 );
-	case E_NATIVE_B16:
-	    return( H5T_NATIVE_B16 );
-	case E_NATIVE_B32:
-	    return( H5T_NATIVE_B32 );
-	case E_NATIVE_B64:
-	    return( H5T_NATIVE_B64 );
-	case E_NATIVE_OPAQUE:
-	    return( H5T_NATIVE_OPAQUE );
-	case E_NATIVE_HSIZE:
-	    return( H5T_NATIVE_HSIZE );
-	case E_NATIVE_HSSIZE:
-	    return( H5T_NATIVE_HSSIZE );
-	case E_NATIVE_HERR:
-	    return( H5T_NATIVE_HERR );
-	case E_NATIVE_HBOOL:
-	    return( H5T_NATIVE_HBOOL );
-
-	case E_NATIVE_INT8:
-	    return( H5T_NATIVE_INT8 );
-	case E_NATIVE_UINT8:
-	    return( H5T_NATIVE_UINT8 );
-	case E_NATIVE_INT_LEAST8:
-	    return( H5T_NATIVE_INT_LEAST8 );
-	case E_NATIVE_UINT_LEAST8:
-	    return( H5T_NATIVE_UINT_LEAST8 );
-	case E_NATIVE_INT_FAST8:
-	    return( H5T_NATIVE_INT_FAST8 );
-	case E_NATIVE_UINT_FAST8:
-	    return( H5T_NATIVE_UINT_FAST8 );
-
-	case E_NATIVE_INT16:
-	    return( H5T_NATIVE_INT16 );
-	case E_NATIVE_UINT16:
-	    return( H5T_NATIVE_UINT16 );
-	case E_NATIVE_INT_LEAST16:
-	    return( H5T_NATIVE_INT_LEAST16 );
-	case E_NATIVE_UINT_LEAST16:
-	    return( H5T_NATIVE_UINT_LEAST16 );
-	case E_NATIVE_INT_FAST16:
-	    return( H5T_NATIVE_INT_FAST16 );
-	case E_NATIVE_UINT_FAST16:
-	    return( H5T_NATIVE_UINT_FAST16 );
-
-	case E_NATIVE_INT32:
-	    return( H5T_NATIVE_INT32 );
-	case E_NATIVE_UINT32:
-	    return( H5T_NATIVE_UINT32 );
-	case E_NATIVE_INT_LEAST32:
-	    return( H5T_NATIVE_INT_LEAST32 );
-	case E_NATIVE_UINT_LEAST32:
-	    return( H5T_NATIVE_UINT_LEAST32 );
-	case E_NATIVE_INT_FAST32:
-	    return( H5T_NATIVE_INT_FAST32 );
-	case E_NATIVE_UINT_FAST32:
-	    return( H5T_NATIVE_UINT_FAST32 );
-
-	case E_NATIVE_INT64:
-	    return( H5T_NATIVE_INT64 );
-	case E_NATIVE_UINT64:
-	    return( H5T_NATIVE_UINT64 );
-	case E_NATIVE_INT_LEAST64:
-	    return( H5T_NATIVE_INT_LEAST64 );
-	case E_NATIVE_UINT_LEAST64:
-	    return( H5T_NATIVE_UINT_LEAST64 );
-	case E_NATIVE_INT_FAST64:
-	    return( H5T_NATIVE_INT_FAST64 );
-	case E_NATIVE_UINT_FAST64:
-	    return( H5T_NATIVE_UINT_FAST64 );
-
-	default:
-	    return( INVALID );
-    }   // end switch
-}   // end of getId()
-
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 // These dummy functions do not inherit from DataType - they'll
 // throw an DataTypeIException if invoked.
+void PredType::commit( H5File& loc, const char* name )
+{
+   throw DataTypeIException("PredType::commit", "Error: Attempted to commit a predefined datatype.  Invalid operation!" );
+}
+
+void PredType::commit( H5File& loc, const H5std_string& name )
+{
+   commit( loc, name.c_str());
+}
+
 void PredType::commit( H5Object& loc, const char* name )
 {
-   throw DataTypeIException("PredType::commit", "Attempting to commit a predefined datatype.  This operation is invalid" );
+   throw DataTypeIException("PredType::commit", "Error: Attempted to commit a predefined datatype.  Invalid operation!" );
 }
 
-void PredType::commit( H5Object& loc, const string& name )
+void PredType::commit( H5Object& loc, const H5std_string& name )
 {
    commit( loc, name.c_str());
 }

Modified: packages/hdf5/branches/upstream/current/c++/src/H5PredType.h
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5PredType.h	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5PredType.h	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // PredType holds the definition of all the HDF5 predefined datatypes.
@@ -28,7 +29,7 @@
 class H5_DLLCPP PredType : public AtomType {
    public:
 	// Returns this class name
-	virtual string fromClass () const { return ("PredType"); }
+	virtual H5std_string fromClass () const { return("PredType"); }
 
 	// Makes a copy of the predefined type and stores the new
 	// id in the left hand side object.
@@ -37,9 +38,6 @@
 	// Copy constructor - makes copy of the original object
 	PredType( const PredType& original );
 
-	// Returns the HDF5 predefined type id.
-	virtual hid_t getId() const;
-
 	// Noop destructor
 	virtual ~PredType();
 
@@ -155,36 +153,77 @@
 
 	static const PredType NATIVE_INT8;
 	static const PredType NATIVE_UINT8;
+	static const PredType NATIVE_INT16;
+	static const PredType NATIVE_UINT16;
+	static const PredType NATIVE_INT32;
+	static const PredType NATIVE_UINT32;
+	static const PredType NATIVE_INT64;
+	static const PredType NATIVE_UINT64;
+
+// LEAST types
+#if H5_SIZEOF_INT_LEAST8_T != 0
 	static const PredType NATIVE_INT_LEAST8;
+#endif /* H5_SIZEOF_INT_LEAST8_T */
+#if H5_SIZEOF_UINT_LEAST8_T != 0
 	static const PredType NATIVE_UINT_LEAST8;
-	static const PredType NATIVE_INT_FAST8;
-	static const PredType NATIVE_UINT_FAST8;
+#endif /* H5_SIZEOF_UINT_LEAST8_T */
 
-	static const PredType NATIVE_INT16;
-	static const PredType NATIVE_UINT16;
+#if H5_SIZEOF_INT_LEAST16_T != 0
 	static const PredType NATIVE_INT_LEAST16;
+#endif /* H5_SIZEOF_INT_LEAST16_T */
+#if H5_SIZEOF_UINT_LEAST16_T != 0
 	static const PredType NATIVE_UINT_LEAST16;
-	static const PredType NATIVE_INT_FAST16;
-	static const PredType NATIVE_UINT_FAST16;
+#endif /* H5_SIZEOF_UINT_LEAST16_T */
 
-	static const PredType NATIVE_INT32;
-	static const PredType NATIVE_UINT32;
+#if H5_SIZEOF_INT_LEAST32_T != 0
 	static const PredType NATIVE_INT_LEAST32;
+#endif /* H5_SIZEOF_INT_LEAST32_T */
+#if H5_SIZEOF_UINT_LEAST32_T != 0
 	static const PredType NATIVE_UINT_LEAST32;
-	static const PredType NATIVE_INT_FAST32;
-	static const PredType NATIVE_UINT_FAST32;
+#endif /* H5_SIZEOF_UINT_LEAST32_T */
 
-	static const PredType NATIVE_INT64;
-	static const PredType NATIVE_UINT64;
+#if H5_SIZEOF_INT_LEAST64_T != 0
 	static const PredType NATIVE_INT_LEAST64;
+#endif /* H5_SIZEOF_INT_LEAST64_T */
+#if H5_SIZEOF_UINT_LEAST64_T != 0
 	static const PredType NATIVE_UINT_LEAST64;
+#endif /* H5_SIZEOF_UINT_LEAST64_T */
+
+// FAST types
+#if H5_SIZEOF_INT_FAST8_T != 0
+	static const PredType NATIVE_INT_FAST8;
+#endif /* H5_SIZEOF_INT_FAST8_T */
+#if H5_SIZEOF_UINT_FAST8_T != 0
+	static const PredType NATIVE_UINT_FAST8;
+#endif /* H5_SIZEOF_UINT_FAST8_T */
+
+#if H5_SIZEOF_INT_FAST16_T != 0
+	static const PredType NATIVE_INT_FAST16;
+#endif /* H5_SIZEOF_INT_FAST16_T */
+#if H5_SIZEOF_UINT_FAST16_T != 0
+	static const PredType NATIVE_UINT_FAST16;
+#endif /* H5_SIZEOF_UINT_FAST16_T */
+
+#if H5_SIZEOF_INT_FAST32_T != 0
+	static const PredType NATIVE_INT_FAST32;
+#endif /* H5_SIZEOF_INT_FAST32_T */
+#if H5_SIZEOF_UINT_FAST32_T != 0
+	static const PredType NATIVE_UINT_FAST32;
+#endif /* H5_SIZEOF_UINT_FAST32_T */
+
+#if H5_SIZEOF_INT_FAST64_T != 0
 	static const PredType NATIVE_INT_FAST64;
+#endif /* H5_SIZEOF_INT_FAST64_T */
+#if H5_SIZEOF_UINT_FAST64_T != 0
 	static const PredType NATIVE_UINT_FAST64;
+#endif /* H5_SIZEOF_UINT_FAST64_T */
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 	// These dummy functions do not inherit from DataType - they'll
 	// throw a DataTypeIException if invoked.
-	void commit( H5Object& loc, const string& name );
+	void commit( H5File& loc, const H5std_string& name );
+	void commit( H5File& loc, const char* name );
+	void commit( H5Object& loc, const H5std_string& name );
 	void commit( H5Object& loc, const char* name );
 	bool committed();
 #endif // DOXYGEN_SHOULD_SKIP_THIS
@@ -194,54 +233,6 @@
 	// temporarily - it'll prevent the use of atexit to clean up
 	static const PredType NotAtexit;	// not working yet
 
-	// This enum type is used by this class only to handle the
-	// global PredType objects.  These values will ensure that the
-	// application receives an appropriate and uptodated id for an
-	// HDF5 predefined type; particularly usefull when the application
-	// closes and opens the library again.
-	enum predefined_types {
-
-	    INVALID = 0, E_C_S1 = 1, E_FORTRAN_S1,
-
-	    E_STD_I8BE, E_STD_I8LE, E_STD_I16BE, E_STD_I16LE, E_STD_I32BE,
-	    E_STD_I32LE, E_STD_I64BE, E_STD_I64LE, E_STD_U8BE, E_STD_U8LE,
-	    E_STD_U16BE, E_STD_U16LE, E_STD_U32BE, E_STD_U32LE, E_STD_U64BE,
-	    E_STD_U64LE, E_STD_B8BE, E_STD_B8LE, E_STD_B16BE, E_STD_B16LE,
-	    E_STD_B32BE, E_STD_B32LE, E_STD_B64BE, E_STD_B64LE, E_STD_REF_OBJ,
-	    E_STD_REF_DSETREG,
-
-	    E_IEEE_F32BE, E_IEEE_F32LE, E_IEEE_F64BE, E_IEEE_F64LE,
-
-	    E_UNIX_D32BE, E_UNIX_D32LE, E_UNIX_D64BE, E_UNIX_D64LE,
-
-	    E_INTEL_I8, E_INTEL_I16, E_INTEL_I32, E_INTEL_I64, E_INTEL_U8,
-	    E_INTEL_U16, E_INTEL_U32, E_INTEL_U64, E_INTEL_B8, E_INTEL_B16,
-	    E_INTEL_B32, E_INTEL_B64, E_INTEL_F32, E_INTEL_F64,
-
-	    E_ALPHA_I8, E_ALPHA_I16, E_ALPHA_I32, E_ALPHA_I64, E_ALPHA_U8,
-	    E_ALPHA_U16, E_ALPHA_U32, E_ALPHA_U64, E_ALPHA_B8, E_ALPHA_B16,
-	    E_ALPHA_B32, E_ALPHA_B64, E_ALPHA_F32, E_ALPHA_F64,
-
-	    E_MIPS_I8, E_MIPS_I16, E_MIPS_I32, E_MIPS_I64, E_MIPS_U8,
-	    E_MIPS_U16, E_MIPS_U32, E_MIPS_U64, E_MIPS_B8, E_MIPS_B16,
-	    E_MIPS_B32, E_MIPS_B64, E_MIPS_F32, E_MIPS_F64,
-
-	    E_NATIVE_CHAR, E_NATIVE_INT, E_NATIVE_FLOAT, E_NATIVE_SCHAR,
-	    E_NATIVE_UCHAR, E_NATIVE_SHORT, E_NATIVE_USHORT, E_NATIVE_UINT,
-	    E_NATIVE_LONG, E_NATIVE_ULONG, E_NATIVE_LLONG, E_NATIVE_ULLONG,
-	    E_NATIVE_DOUBLE, E_NATIVE_LDOUBLE, E_NATIVE_B8, E_NATIVE_B16,
-	    E_NATIVE_B32, E_NATIVE_B64, E_NATIVE_OPAQUE, E_NATIVE_HSIZE,
-	    E_NATIVE_HSSIZE, E_NATIVE_HERR, E_NATIVE_HBOOL, E_NATIVE_INT8,
-	    E_NATIVE_UINT8, E_NATIVE_INT_LEAST8, E_NATIVE_UINT_LEAST8,
-	    E_NATIVE_INT_FAST8, E_NATIVE_UINT_FAST8, E_NATIVE_INT16,
-	    E_NATIVE_UINT16, E_NATIVE_INT_LEAST16, E_NATIVE_UINT_LEAST16,
-	    E_NATIVE_INT_FAST16, E_NATIVE_UINT_FAST16, E_NATIVE_INT32,
-	    E_NATIVE_UINT32, E_NATIVE_INT_LEAST32, E_NATIVE_UINT_LEAST32,
-	    E_NATIVE_INT_FAST32, E_NATIVE_UINT_FAST32, E_NATIVE_INT64,
-	    E_NATIVE_UINT64, E_NATIVE_INT_LEAST64, E_NATIVE_UINT_LEAST64,
-	    E_NATIVE_INT_FAST64, E_NATIVE_UINT_FAST64
-	};
-
    protected:
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 	// Default constructor

Modified: packages/hdf5/branches/upstream/current/c++/src/H5PropList.cpp
===================================================================
--- packages/hdf5/branches/upstream/current/c++/src/H5PropList.cpp	2007-09-19 12:07:11 UTC (rev 1092)
+++ packages/hdf5/branches/upstream/current/c++/src/H5PropList.cpp	2007-09-19 15:24:24 UTC (rev 1093)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -26,6 +27,10 @@
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
@@ -65,18 +70,18 @@
 PropList::PropList( const hid_t plist_id ) : IdComponent(0)
 {
     if (H5I_GENPROP_CLS == H5Iget_type(plist_id)) {
-        // call C routine to create the new property
-        id = H5Pcreate(plist_id);
-        if( id < 0 )
-        {
-            throw PropListIException("PropList constructor", "H5Pcreate failed");
-        }
+	// call C routine to create the new property
+	id = H5Pcreate(plist_id);
+	if( id < 0 )
+	{
+	    throw PropListIException("PropList constructor", "H5Pcreate failed");
+	}
     }
     else {
-        if(plist_id==H5P_NO_CLASS)
-            id=H5P_DEFAULT;
-        else
-            id=plist_id;
+	if(plist_id==H5P_NO_CLASS)
+	    id=H5P_DEFAULT;
+	else
+	    id=plist_id;
     }
 }
 
@@ -87,25 +92,26 @@
 ///\exception	H5::PropListIException
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 void PropList::copy( const PropList& like_plist )
 {
-    // If this object has a valid id, appropriately decrement reference
-    // counter and close the id.
+    // If this object is representing an hdf5 object, close it before
+    // copying like_plist to it
     try {
-        decRefCount();
+	close();
     }
     catch (Exception close_error) {
-        throw PropListIException(inMemFunc("copy"), close_error.getDetailMsg());
+	throw PropListIException(inMemFunc("copy"), close_error.getDetailMsg());
     }
 
-   // call C routine to copy the property list
-   id = H5Pcopy( like_plist.getId() );
-
-   if( id < 0 )
-      throw PropListIException(inMemFunc("copy"), "H5Pcopy failed");
+    // call C routine to copy the property list
+    id = H5Pcopy( like_plist.getId() );
+    if( id < 0 )
+	throw PropListIException(inMemFunc("copy"), "H5Pcopy failed");
 }
 
 //--------------------------------------------------------------------------
@@ -121,8 +127,9 @@
 //--------------------------------------------------------------------------
 PropList& PropList::operator=( const PropList& rhs )
 {
-   copy(rhs);
-   return(*this);
+    if (this != &rhs)
+	copy(rhs);
+    return(*this);
 }
 
 //--------------------------------------------------------------------------
@@ -149,10 +156,10 @@
 /// 		It differs from the above function only in what arguments it
 ///		accepts.
 ///\param	dest - IN: Destination property list or class
-///\param	name - IN: Name of the property to copy - \c std::string
+///\param	name - IN: Name of the property to copy - \c H5std_string
 // Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
-void PropList::copyProp( PropList& dest, const string& name ) const
+void PropList::copyProp( PropList& dest, const H5std_string& name ) const
 {
    copyProp( dest, name.c_str());
 }
@@ -186,10 +193,10 @@
 ///		accepts. - Obsolete
 ///\param	dest - IN: Destination property list or class
 ///\param	src  - IN: Source property list or class
-///\param	name - IN: Name of the property to copy - \c std::string
+///\param	name - IN: Name of the property to copy - \c H5std_string
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void PropList::copyProp( PropList& dest, PropList& src, const string& name ) const
+void PropList::copyProp( PropList& dest, PropList& src, const H5std_string& name ) const
 {
    copyProp( dest, src, name.c_str());
 }
@@ -203,18 +210,16 @@
 //--------------------------------------------------------------------------
 void PropList::close()
 {
-   if( id != H5P_NO_CLASS ) // not a constant, should call H5Pclose
-   {
-      herr_t ret_value = H5Pclose( id );
-      if( ret_value < 0 )
-      {
-         throw PropListIException(inMemFunc("close"), "H5Pclose failed");
-      }
-      // reset the id because the property list that it represents is now closed
-      id = 0;
-   }
-   else
-      throw PropListIException(inMemFunc("close"), "Cannot close a constant");
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Pclose( id );
+	if( ret_value < 0 )
+	{
+	    throw PropListIException(inMemFunc("close"), "H5Pclose failed");
+	}
+	// reset the id because the property list that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -267,10 +272,10 @@
 ///\brief	This is an overloaded member function, provided for convenience.
 /// 		It differs from the above function only in what arguments it
 ///		accepts.
-///\param	name - IN: Name of property to check for - \c