Commit Graph

105 Commits

Author SHA1 Message Date
Robb Matzke
cc2184b6ef [svn-r1240] Changes since 19990427
----------------------

./tools/h5ls.c
	Added a `--address' (`-a') switch which causes h5ls to display
	file addresses for raw data. For contiguous datasets it's just
	a nice simple number, but for chunked datasets it's a list of
	logical dataset coordinates, file addresses, filter masks, and
	storage sizes.

	Changed `--dump' switch to `--data'.

./src/H5D.c
./src/H5F.c
./src/H5Fprivate.h
	Enhanced the indexed-storage B-tree iterator so it can dump
	raw data addresses (and other info) to the standard error
	stream.

	Added H5Ddebug() so h5ls has a way to dump addresses for
	datasets. I'm not sure what else this API function should do,
	so I think we should discuss it before we document it. So far,
	h5ls is the only thing that uses it, and we can easily change
	that.

./src/H5Tconv.c
./test/dtypes.c
	Finally had a chance to verify Paul's H5T_conv_s_s (general
	string to string conversions) bug fixes and incorporate them
	into H5T_conv_f_f (general floating-point to floating-point
	conversions) and H5T_conv_i_i (general integer to integer
	conversons). Thanks Paul.

./src/H5D.c
./src/H5S.c
./src/H5Sprivate.h
	Added performance timers around data space read and write
	callbacks. They were already there for the gather/scatter
	callbacks.

	The timings for read/write callbacks are displayed along with
	gather/scatter when data space debugging is turned on.

./bin/iostats
	Updated to print totals. Added a `--fast' option that doesn't
	do any output except the totals and is much faster.

./bin/trace
	Changed __unused__ to UNUSED to match source code.

./config/gnu-flags
	Updated error message for pgcc. I've sent bug reports to the
	pgcc people but the new version still has the same bug.

./configure.in
./config/conclude.in
./config/depend.in
	Fixed dependencies for non-GNU makes when run in a directory
	other than the hdf5 source tree.

	Updated GNU `make dep' rules to copy the distributed
	dependencies for non-GNU makes into the source tree when run
	in some other directory.
1999-04-30 10:54:52 -05:00
Albert Cheng
07ff900c26 [svn-r1226] Purpose:
Bug fix
Description:
    dumper repeated output after the 1st 4 rows.
    The bug was because the dumper was reading just a small slice a time
    from the file dataset but did not adjust the offset in the file-space.
    So, it just kept reading the same first slice.
Solution:
    Stole the offset-adjustion code from the routine that h5ls uses.
Platform Tested:
    O2K.
1999-04-27 19:06:29 -05:00
Robb Matzke
2dc738a321 [svn-r1224] Changes since 19990426
----------------------

./tools/h5tools.c
./tools/h5tools.h
	Finally fixed a long-standing bug that caused core dumps if
	a compound datum rendered to more than some number of
	characters (we kept bumping up the limit at the risk of
	violating stack size limits on some machines). The fix works
	only on systems that have the vsnprintf() function (otherwise
	a 4kB limit is imposed, which if violated probably dumps
	core). If vsnprintf() is present then the library dynamically
	allocates space for the output string.

	Also made it possible to control how compound data is rendered
	across multiple lines of output by allowing the caller to
	specify where optional line-breaks get inserted. The output
	functions split up the value at one or more optional
	line-breaks to prevent it from wrapping around the screen.

	If a datum doesn't fit on the current line but would fit on
	the next line then it is printed on the next line regardless
	of whether optional line-breaks would have prevent wrapping
	around the screen. This makes it easier to find the beginnings
	of compound data values.  This feature is disabled by default
	but can be enabled by the application.

	If a datum doesn't fit on the current line and the previous
	datum also occupied more than one line then we move to the
	next line before printing. This makes it easier to find the
	beginnings of compound data values but prevents the output
	from looking fragmented if there are only a few long values
	among mostly short values.  This feature is disabled by
	default but can be enabled by the application.

	The application can control the printf() formats used for all
	the native data types. The defaults are what the library used
	to use: %g, %ld, %lu, %d, and %u

./tools/h5ls.c
	Compound datatype values can now be split across multiple
	lines of output instead of just wrapping. Also, when lots of
	compound values are too long they all start at the beginning
	of a line. This only required about 10 lines of changes in the
	setup for tools library calls (I didn't modify the h5dump
	program because it uses its own version of the tools library
	that forked off long ago).

	Added code for Win32 which is unable to cast `unsigned long
	long' to `double'. If the dataset size exceeds (2^63)-1 then
	the percent utilization is not displayed (this is easily
	possible with chunked datasets). This is untested yet.

./configure.in
./src/H5config.h.in
./src/H5.c
./src/H5private.h
	Check for vsnprintf() and provide a simple, stupid definition
	if it isn't available. The stupid definition just calls
	vsprintf() and ignores the second argument. This can result in
	buffer overflows in h5ls and h5dump since vsprintf() is an
	unsafe function (and anyone can create an hdf5 file that runs
	an arbitrary command from h5ls and h5dump in that case)!

./config/conclude.in
	Remove more *.o files for `make clean'

./src/H5A.c
./src/H5D.c
./src/H5F.c
./src/H5I.c
./src/H5Iprivate.h
./src/H5P.c
./src/H5R.c
./src/H5RA.c
./src/H5S.c
./src/H5T.c
./src/H5TB.c
	Cleaned up a memory leak during H5_term_library() by allowing
	H5I_clear_group() to skip items that couldn't be freed. This
	allows the item to remain in the group until we can free it
	later.

./src/H5F.c
	The H5F_close_all() function fails if a file cannot be closed.
1999-04-27 09:47:54 -05:00
Robb Matzke
d6823ceb08 [svn-r1217] Changes since 19990426
----------------------

./config/commence.in
./examples/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Fixed some dependency problems in Makefiles. If the library
	version is updated then everything gets recompiled.

./src/H5G.c
./src/H5R.c
	Failure return value for object type functions is now
	H5G_UNKNOWN as documented.

./src/H5Shyper.c
./src/H5Spoint.c
	Fixed an unused argument warning.

./tools/h5debug.c
	Fixed a call to H5F_block_read() since the 4th argument is
	different now.

./tools/h5ls.c
	Added a space between the object name and class to make the
	output readable when the object name is longer than 24
	characters.

C
1999-04-26 09:43:53 -05:00
Quincey Koziol
87f0d37a76 [svn-r1212] Added "./" before h5toh4 in script. 1999-04-23 16:57:19 -05:00
Robb Matzke
d534a4dd0d [svn-r1204] Changes since 19990415
----------------------

./config/depend.in
	Fixed automatic dependencies. We were storing dependencies for
	*.o files instead of *.lo files after shared libraries were
	added.

./config/gnu-flags
./config/linux-gnulibc1
	Moved `-march=pentiumpro -mcpu=pentiumpro -malign-double' from
	the linux file to this file and caused it to depend on the CPU
	name.  This fixes one of Elena's bugs.

./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fmpio.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gnode.c
./src/H5P.c
./src/H5RA.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Spoint.c
./src/H5Sprivate.h
./src/H5Tpublic.h
./test/istore.c
	Added an H5Dget_storage_size() function that reports the
	amount of storage allocated for raw data in a dataset.

	Changed H5D_xfer_* to H5F_xfer_* because these properties are
	more general than datasets. This also allows some of the
	lower-level I/O functions to get this information easier.

./src/H5S.c
./src/H5Sall.c
	Added two new functions H5S_all_read() and H5S_all_write()
	which are optimizations that copy data directly between file
	and memory without having to go through the scatter gather
	step.  This knocks quite a bit of time off the I/O and
	reading/writing entire datasets is a fairly common operation.

./tools/h5ls.c
	Reports the logical size of data, the allocated size of data,
	and the percent utilization.

./MANIFEST
	Removed old pablo files, added new files. Snapshots should now
	start to work again.

./src/H5D.c
./src/H5Fmpio.c
	Removed two warnings signed vs. unsigned comparisons and check
	for overflow.
1999-04-23 07:31:21 -05:00
Robb Matzke
43c356f93d [svn-r1184] Changes since 19990402
----------------------

./config/commence.in
./config/conclude.in
./test/Makefile.in
./tools/Makefile.in
	Fixed so private libraries are not installed publicly.

	The installation directories `bin', `include', and `lib' are
	created mode 755.

./src/H5.c
./src/H5A.c
./src/H5F.c
./src/H5Fcore.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Ocomp.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Ofill.c
./src/H5Olayout.c
./src/H5Omtime.c
./src/H5Oname.c
./src/H5Osdspace.c
./src/H5Oshared.c
./src/H5Ostab.c
./src/H5R.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Snone.c
./src/H5Spoint.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Vprivate.h
./src/H5Z.c
./src/H5detect.c
./src/H5private.h
./test/chunk.c
./test/dsets.c
./test/dtypes.c
./test/h5test.c
./test/overhead.c
./test/ragged.c
./test/tattr.c
./tools/h5dump.c
./tools/h5findshd.c
./tools/h5ls.c
	Changed `__unused__' to `UNUSED' to fix a conflict with GNU
	header files.

./src/H5Tpkg.h
./test/h5test.h
	Removed __unused__ from forward function declarations.

./src/H5P.c
	Removed a comment about restrictions for the type conversion
	temporary buffers. Thanks to Quincey, the comment no longer
	applied.

./src/H5T.c
	Relaxed the H5Tpack() a little so it would pack compound data
	structures that had non-transient atomic members.

./tools/h5ls.c
	Added a `-g' (or `--group') flag that causes information to be
	printed about the specified group instead of the group's
	contents. (sort of like Unix's `ls -d'). The `-g' can be used
	in combination with `-r' to print information about the group
	and its contents.
1999-04-15 14:57:50 -05:00
Paul Harten
e5376cafb4 [svn-r1172] Purpose:
New feature

Problem:
    The h5toh4 converter tester - testh5toh4, is set up to place output
    files in same directory as input files.  A difficulty comes up when
    the input files come off a write-protected media, such-as CDROM.

Solution:
    Rather than using "cd" to change directory and referencing files by
    short filename only, "input directory" and "output directory" are
    defined explicitly, and files are always referenced with pathnames
    included.  For cases when the converter generates the output filename,
    a copy of the input file is first placed in the "output directory".
    The copied input file is used by h5toh4 and then removed.

    On Solaris2.5, the following sequence of commands seemed to work fine:
    $ gunzip < hdf5-1.1.72.tar.gz | tar xf -
    $ chmod -R ugo-w hdf5-1.1.72
    $ mkdir build
    $ cd build
    $ ../hdf5-1.1.72/configure --enable-production --disable-debug \
    $   --with-hdf4=...  --with-zlib=...
    $ make check

    This change should allow the tester to be used when the hdf5 source
    is on a read only media like a CDROM.

Platform tested:
    Solaris2.5
1999-04-02 16:38:30 -05:00
Robb Matzke
f003dead4d [svn-r1169] ./configure.in
./configure		[REGENERATED]
./src/H5D.c
./src/H5O.c
	Removed H5AC, H5B, and H5T from the default list of packages
	to debug (because they're pretty expensive debugging), and
	added H5O. Also fixed a bug for undefined variable in H5D when
	H5S debugging is turned on but H5T debugging is turned off.

./config/conclude.in
	Fixed installation of header files for building in a directory
	other than the source directory. This fixes a bug where
	H5config.h wasn't being installed.

./src/H5.c
./src/H5A.c
./src/H5D.c
./src/H5F.c
./src/H5G.c
./src/H5I.c
./src/H5Iprivate.h
./src/H5P.c
./src/H5R.c
./src/H5RA.c
./src/H5S.c
./src/H5T.c
./src/H5TB.c
./src/H5Tprivate.h
./src/H5Z.c
./src/H5detect.c
./src/H5private.h
	Changed the way the library shuts down again. Now it handles
	cycles between packages and isn't so sensitive to dependencies
	between packages. A package might shut down only to be
	restarted to process a request from some other package being
	shut down.  Loops are detected after 100 iteractions and the
	shutdown is aborted with a message on standard error.  This
	also makes it a lot easier to debug.

./src/H5A.c
	Fixed H5A_write() and H5A_read() so they pass a non-null
	background buffer to the conversion functions. This is
	necessary when an attribute has a compound data type.

./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsec2.c
	Reindented new Win32 stuff.

./src/H5Odtype.c
	Fixed a bug when enumeration types are used in a compound data
	type. The byte pointer wasn't incremented after the type
	information was written.

./tools/h5ls.c
	Compound data types display their total size because it's not
	always obvious from looking at the members.

	Scalar attributes show their space as `scalar' instead of
	`{}'.

	The index value is not printed for attributes that have only a
	few values. Instead the word `Data:' is printed on the first
	line of attribute data.

	Named types display their data type only if verbose output was
	requested.
1999-03-30 06:38:34 -05:00
Robb Matzke
13c9a30beb [svn-r1154] Changes since 19990322
----------------------

./configure.in
./configure		[REGENERATED]
./config/commence.in
	A few tweaks to the makefile rules for rebuilding makefiles.

./src/H5detect.c
	Fixed a really stupid mistake: resetting the signal handler
	after a longjmp(). This should fix Bob's SIGBUS on Solaris.
1999-03-22 11:21:49 -05:00
Robb Matzke
b93c9e2cf9 [svn-r1151] Changes since 19990318
----------------------

./Makefile.in
./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
./config/commence.in
./config/conclude.in
./config/dec-osf4.x
./config/depend.in
./config/freebsd
./config/linux-gnu
./config/linux-gnulibc1
./config/linux-gnulibc2
./config/solaris2.x
./examples/Makefile.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
./tools/testh5dump.sh
	Changes that allow hdf5 to be configured and compiled in a
	directory other than the source directory. This is especially
	useful if you want to concurrently compile with different
	compilers and/or compile flags, or if the hdf5 source is on
	read-only media like a CDROM.  The changes were surprisingly
	easy ;-) Here's what you can do now...

		  $ mkdir /tmp/build1  # or something
		  $ cd /tmp/build1
		  $ /cdrom/hdf5/configure # where ever the source is
		  $ make

	Paul, you'll have to change the testh5toh4 script similar to
	the way I changed testh5dump.sh.  I started working on it but
	then gave up because of a number of problems: (1) I had to
	comment out all the tests that let h5toh4 choose the output
	file name because it always tried to put the output file in
	the same directory as the input file, (2) if path names are
	used during the h4 dump then they interfere with the
	diff. The test works fine when run in the source directory,
	but try this instead:

	    $ gunzip <hdf5-1.1.67.tar.gz |tar xf -
	    $ chmod -R ugo-w hdf5-1.1.67
	    $ mkdir build
	    $ cd build
	    $ ../hdf5-1.1.67/configure
	    $ make check

	Dan, I didn't modify the pablo/Makefile.in because I have no
	way to test it. I think all you need to do is add a couple
	lines before the @COMMENCE@ line and add a couple search
	directories for header files. Anyway, it seems like almost an
	exact duplicate of the src/Makefile.in, so it shouldn't be a
	problem...

./Makefile.in
	Removes a few more temporary files during make clean and
	distclean.

./configure.in
	I fixed the creation of the time-stamp files so that the
	initial make doesn't have to regenerated all the makefiles
	(only GNU make users will see any change).

./src/H5R.c
	Changed a return type from `intn' to `int' for an API
	function.

./src/H5detect.c
	Added the volatile qualifier to a couple more variables.

./tools/h5tools.c
	Fixed a compiler warning about an unused local.

./tools/h5toh4.c
	Initialized `optind' to 1 because it's zero on my system. It
	should always be one on a unix system.

./tools/testh5toh4
	Redirected "broken pipe" messages to /dev/null so outut is
	formatted correctly.
1999-03-19 15:09:50 -05:00
Robb Matzke
826dbc8146 [svn-r1149] ./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
./src/H5private.h
	Temporarily commented out the code that tries to link a simple
	MPI-IO application because I'm not sure how to pass $LDFLAGS
	and $LIBS to the compiler.

	Removed the `--enable-parallel=ibm' switch because the library
	we link with is either -lmpcc or -lmpcc_r but not both. The
	only way to tell is to see what compiler was specified (mpcc
	or mpcc_r) but if that compiler is specified then we don't
	need any libraries (the compiler script supplies them). That
	leaves just two choices: the user must use a compiler script:

	    CC=mpcc ./configure

	or the user must state which library is desired:

	    LDFLAGS='-lmpcc' ./configure --enable-parallel

	Checks for <setjmp.h>, longjmp(), and signal(). We don't check
	for setjmp() because it could be a macro (in fact, Posix
	requires it to be a macro) and if longjmp() is present then
	setjmp() is probably present too ;-)

./src/H5detect.c
	The alignment detection loop uses SIGBUS and setjmp/longjmp
	instead of fork/wait in order to get around bugs with forking
	in conjunction with mpich.  This hasn't been tested on the
	SP-2 yet but it does work on the DEC Alpha.

./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Changed the order that libraries are linked so -lhdf5 is
	always before $LDFLAGS.
1999-03-18 08:42:52 -05:00
Robb Matzke
96320e69c0 [svn-r1117] Changes since 19990303
----------------------

./configure.in
./configure		[REGENERATED]
	The path for a command is calculated explicitly the hard way
	because `type -path' isn't portable.

./config/freebsd
./config/linux-gnu
./config/linux-gnulibc2
	Changed the way files reference each other.

./config/gnu-flags	[NEW]
./config/dec-flags	[NEW]
	These files figure out what flags to pass to certain compilers
	so we can reuse code in more than one config/* file.  They
	also have better warning messages when old compilers are used.

./config/linux-gnulibc1
./config/dec-osf4.x
	These files use the new *-flags files.


./src/H5D.c
./src/H5Onull.c
./src/H5Tconv.c
./tools/h5ls.c
	Fixed a compiler warning.

./src/H5detect.c
	Added a better comment to the top of the generated file.
1999-03-04 15:22:42 -05:00
Robb Matzke
ea3624e133 [svn-r1115] Changes since 19990302
----------------------

./INSTALL
./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
	Improvements for parallel library.  If you have a properly
	working mpicc you should be able to just say:

	    $ CC=mpicc ./configure

	and you will see

	    checking for mpirun... /usr/local/mpi/bin/mpirun
	    checking for parallel support files... skipped
	    checking how to run on one processor...
		     /usr/local/mpi/bin/mpirun -np 1
	    checking how to run in parallel...
		     /usr/local/mpi/bin/mpirun -np $$NPROCS

	To quote from the INSTALL file....

	*** Parallel vs. serial library
	The HDF5 library can be configured to use MPI and MPI-IO for
	parallelizm on a distributed multi-processor system. The easy
	way to do this is to have a properly installed parallel
	compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that
	executable as the value of the CC environment variable:
	[NOTE: mpcc is not tested yet]

	    $ CC=mpcc ./configure
	    $ CC=/usr/local/mpi/bin/mpicc ./configure

	If no such wrapper script is available then you must specify
	your normal C compiler along with the distribution of
	MPI/MPI-IO which is to be used (values other than `mpich' will
	be added at a later date):

	    $ ./configure --enable-parallel=mpich

	If the MPI/MPI-IO include files and/or libraries cannot be
	found by the compiler then their directories must be given as
	arguments to CPPFLAGS and/or LDFLAGS:

	    $ CPPFLAGS=-I/usr/local/mpi/include \
	      LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
	      ./configure --enable-parallel=mpich

	If a parallel library is being built then configure attempts
	to determine how to run a parallel application on one
	processor and on many processors.  If the compiler is mpicc
	and the user hasn't specified values for RUNSERIAL and
	RUNPARALLEL then configure chooses `mpirun' from the same
	directory as `mpicc':

	    RUNSERIAL:    /usr/local/mpi/bin/mpirun -np 1
	    RUNPARALLEL:  /usr/local/mpi/bin/mpirun -np $${NPROCS:=2}

	The `$${NPROCS:=2}' will be substituted with the value of the
	NPROCS environment variable at the time `make check' is run
	(or the value 2).

./testpar/Makefile.in
	Saying `make check' (or `make test') will run the tests on two
	processors by default.  If you define NPROCS then that many
	processors are used instead:

	    $ NPROCS=4 make check

./configure.in
	Fixed (hopefully) bugs with detecting whether __attribute__
	and __FUNCTION__ are special keywords for the compiler.

./Makefile.in
	Saying `make install' from the top level directory shows
	instructions for using shared libraries.

./config/commence.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Moved the @top_srcdir@ into the makefiles because it was
	expanded too early and had the wrong value.

./INSTALL
	Added a warning that if the wrong version of hdf4 tools are
	installed then `make check' will fail in the tools directory.
1999-03-03 18:17:48 -05:00
Robb Matzke
116491f0d6 [svn-r1112] Changes since 19990301
----------------------

./INSTALL
	Reorganized and added some additional examples.

./MANIFEST
./aclocal.m4			[NEW]
./configure.in
./configure			[REGENERATED]
./src/H5config.h.in		[REGENERATED]
./bin/ltconfig			[NEW]
./bin/ltmain.sh			[NEW]
	Added tests to determine how to compile shared libraries and
	how to link programs with them before the libraries are
	installed.  Also how to install and uninstall shared
	libraries. The configure step also prints the names of the
	config files it's trying to load for easier debugging.

./bin/config.guess
./bin/config.sub
	Replaced with a newer version from GNU.  The changes we made
	to that file to report `irix6.x' and `FreeBSD' without version
	numbers have been incorporated into configure.in instead.  In
	the future, do not change these two files (see the top of
	configure.in instead). By the way, this update was required to
	get shared libraries working.

./config/linux			[REMOVED]
./config/linux-gnulibc1		[NEW]
./config/linux-gnu		[NEW]
./config/alpha-dec		[REMOVED]
./config/alpha-dec-osf4.0	[REMOVED]
./config/dec-osf4.x		[NEW]
./config/irix5.3		[REMOVED]
./config/irix5.x		[NEW]
./config/irix64			[REMOVED]
./config/freebsd
	Moved config files around to agree with output from the new
	config.guess.  The linux file was split into gnu (RedHat),
	gnulibc1, and gnulibc2 versions. The alpha-dec file was
	removed (I think it was unused) and the alpha-dec-osf4.0 was
	changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and
	the irix64 file was renamed to irix6.x. The freebsd file was
	changed to point to linux-gnulibc1. These changes were tested
	on:

		Linux 2.0
		Linux 2.1
		FreeBSD 3.2
		Irix 5.3
		Irix64 6.2
		Irix64 6.4
		HP/UX 10.20
		OSF1 4.0

./config/alphaev56-dec-osf4.x
./config/irix64
	Added warnings similar to linux/freebsd about using compilers
	with known bugs.

./config/commence.in
./config/conclude.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Added definitions for shared libraries. This has been tested
	on the following systems:

		Linux 2.0
		Linux 2.1
		FreeBSD 3.2
		Irix 5.3
		Irix64 6.2
		Irix64 6.4
		HP/UX 10.20		static only
		OSF1 4.0

	If you want to disable use of shared libraries (you probably
	do for development purposes since it takes a lot longer to
	compile and because you have to run dynamically linked
	programs in a special way if the library hasn't been
	installed) then add `--disable-shared' to the configure
	command line.  This is all documented in the INSTALL file.

./bin/release
	Temprarily commented out the MANIFEST checking when running
	under svf since svf is about to be replaced by a newer
	version.  This change only affects error checking during the
	release process.

./Makefile.dist
./Makefile.in
	Added `make check' which does the same thing as `make _test'
	since the former is endorsed by the GNU coding style and
	people are used to it.  The old `make _test' still works too
	(and so does `make test' if you use GNU make).
1999-03-02 12:15:35 -05:00
Robb Matzke
17535fbc17 [svn-r1101] Changes since 19990219
----------------------

./config/irix64
	The old (-32) compiler is now supported by setting envrionment
	CC='cc -32'. The -64 compiler is the default or you can set
	CC='cc -64'.

./src/H5A.c
./src/H5D.c
./src/H5F.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5G.c
./src/H5I.c
./src/H5Ocomp.c
./src/H5P.c
./src/H5R.c
./src/H5RA.c
./src/H5T.c
./src/H5Tbit.c
./src/H5Tconv.c
./src/H5Z.c
./src/H5detect.c
./test/big.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/enum.c
./test/mtime.c
./test/ohdr.c
./tools/h5ls.c
	Fixed lots of warnings on Irix64. Mailed a few remaining
	warnings in H5S to Quincey and a few in the dumper to
	Ruey-Hsia.
1999-02-25 10:40:27 -05:00
Paul Harten
04fd81482d [svn-r1074] Purpose:
Bug Fixes

Problem:
    Warnings given during compilation on some machines.

Solution:
    Take care of various Compiler Warnings such as:
        1) uninitialized variables;
        2) unreachable statements.

Platforms tested:
    Solaris2.5, Linux, Irix6.5
1999-02-17 13:43:20 -05:00
Robb Matzke
c22bac0d20 [svn-r1065] Changes since 19990121
----------------------

./configure.in
./acconfig.h
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
./src/H5public.h
./src/H5Omtime.c
	Check for <stddef.h>

	Checks for `__tm_gmtoff' in `struct tm' because old versions
	of GNU libc are different than recent versions. This fixes the
	failing mtime test.

./bin/config.guess
./config/freebsd2.2.7	[REMOVED]
./config/freebsd	[ADDED]
	Changed the name so it works with all versions of FreeBSD.

./src/H5.c
	Moved H5F after H5T and H5G in H5_term_library() to satisfy
	dependencies.

./src/H5G.c
	Fixed a bug that caused H5Gcreate() to fail if the group name
	had trailing slashes.

./src/H5Gpublic.h
	Changed `group_name' to `name' in a prototype.

./src/Makefile.in
	Dynamic library on Linux, but needs for work to be generally
	useful.

./src/H5HG.c
./src/H5HGprivate.h
	Fixed alignment problems when using old GCC compilers (like
	the one shipped with RedHad Linux).

./tools/h5ls.c
	Fixed a bug where the contents of the root group could be
	listed twice if there was a link back to the root
	group. Similarly for groups that are mentioned on the command
	line.

	Fixed a bug where unknown types were printed with a random
	type class number.

./src/H5T.c
./src/H5Tconv.c
./src/H5Tprivate.h
	Fixed O(log N) conversion bugs.
1999-02-15 12:38:04 -05:00
Paul Harten
a2f63c9424 [svn-r1059] Purpose:
Bug fix

Problem:
    Did a H5get_type() on a dataset of committed type without doing
    the associated H5Tclose().  This caused an abort to occur during the
    atexit() phase of the h5toh4 converter.

Solution:
    Execute the associated H5Tclose().

Platform tested:
    Solaris2.5
1999-02-05 10:49:44 -05:00
Paul Harten
f7ffb9e511 [svn-r1055] Purpose:
Bug fix

Problem:
    The hdp dumper output files used in the h5toh4 converter test
    program have the result of the latest changes to the HDF4 library,
    but the converter was to maintain compatability with HDF4.1r2.

Solution:
    Regenerate the HDF4.1r2 version of the hdp dumper ouput files to
    be used for the h5toh4 converter test program.

Platform tested:
    Solaris2.5
1999-02-02 16:09:35 -05:00
Paul Harten
ff7883566f [svn-r1046] Purpose:
New feature

Solution:
    Modified h5dumptst.c to generate more single dimension
    datasets of H5T_STRING type held in file tstr2.h5.

Platform tested:
    Solaris2.5
1999-02-01 18:14:38 -05:00
Paul Harten
224b6224fb [svn-r1045] Purpose:
New feature

Solution:
    Add string conversion testers

Platform tested:
    Solaris2.5
1999-02-01 18:09:01 -05:00
Paul Harten
8606182f1e [svn-r1044] Purpose:
New feature

Solution:
    Changes to support conversion of 1-dimensional HDF5 datasets of
    H5T_STRING type into HDF4 Vdatas.  Also, support conversion of
    HDF5 attribute of string type into HDF4 attribute of INT8 type.
    Dimensional information is lost.

Platform tested:
    Solaris2.5
1999-02-01 18:02:23 -05:00
Ruey-Hsia Li
f8d25b3fcb [svn-r1041] Added the string test file. 1999-02-01 03:56:57 -05:00
Ruey-Hsia Li
0e204c7c06 [svn-r1040] Added the expected output for string test. 1999-02-01 03:54:21 -05:00
Ruey-Hsia Li
9bb068f3f3 [svn-r1039] Added string tests and temporarily disabled test_compound_dt2() test.
Reflected the format changes to the expected output.
1999-02-01 03:53:27 -05:00
Ruey-Hsia Li
aa267768c1 [svn-r1038] Did some work on the output format for compound data and string.
Also added test script for string.
1999-02-01 03:46:29 -05:00
Robb Matzke
a2b8da49db [svn-r1032] Changes since 19990118
----------------------

./tools/h5tools.c
	Strings are not converted to null-padding before being
	printed; they are printed with whatever byte values appear in
	the file.

./tools/h5ls.c
	Now able to display attribute data type and data.

	Added a `-f' or `--full' switch which causes the full name of
	each object to be displayed instead of just the base name.

	Added a `-r' or `--recursive' switch that recursively prints
	the contents of groups, avoiding cycles.

	More bulletproofing for non-printable characters in things
	like object names, attribute names, and comment strings. We
	don't want listing a file to send termal escape sequences
	because it's sometimes possible to execute commands that way.

	Since h5ls doesn't usually use quotes around object names we
	must sometimes escape space characters.

	External files are listed in a table to make the output less
	confusing.

./tools/h5tools.c
./tools/h5tools.h
	Changed h5dump() to h5dump_dset() and added h5dump_mem(). Also
	make h5dump_fixtype() public.

./test/dtypes.c
	Wrote some data to an attribute to test h5ls attribute
	printing.

./src/H5ACprivate.h
./src/H5Apublic.h
./src/H5Dprivate.h
./src/H5Dpublic.h
./src/H5Epublic.h
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gprivate.h
./src/H5HLprivate.h
./src/H5Oprivate.h
./src/H5Ppublic.h
./src/H5RApublic.h
./src/H5Rpublic.h
./src/H5Spublic.h
./src/H5Tpkg.h
./src/H5Tpublic.h
./src/H5Vprivate.h
./src/H5Zpublic.h
./src/H5private.h
./src/H5public.h
	Reindented function prototypes after `HDF5API' was added. Also
	rewrapped long lines.

./src/H5Flow.c
	Added an `#ifdef WIN32' around an unused variable.

./src/H5api_adpt.h
	Removed extra carriage returns inserted by "broken" operating
	system.

./src/H5Dprivate.h
./src/H5Oprivate.h
./src/H5Vprivate.h
./src/H5private.h
	Removed extraneous inclusion of H5api_adpt.h since it's
	included in H5public.h which is included by everything.

./src/Makefile.in
	Added H5api_adpt.h to the list of public header files to fix
	broken `make install'.
1999-01-21 13:33:39 -05:00
Robb Matzke
ff79c02fc4 [svn-r1026] Changes since 19990118
----------------------

./tools/h5tools.c
	Strings are not converted to null-padding before being
	printed; they are printed with whatever byte values appear in
	the file.
1999-01-20 09:58:12 -05:00
Paul Harten
2362b4e0f0 [svn-r1021] Purpose:
Bug fix

Problem:
    Segmentation fault when attempting to free NULL or uninitialized pointers.
    Problem noticed on Linux and HPUX10.20 platforms.

Solution:
    Initialialize the pointer to NULL.  Execute the "free" statement
    upon the condition that the pointer is not equal to NULL (i.e. after the
    allocation has taken place.)

Platform tested:
    Linux, HPUX10.20, Solaris2.5
1999-01-12 10:48:18 -05:00
Robb Matzke
db48cdc44e [svn-r1012] Changes since 19981217
----------------------

./tools/h5ls.c
        Displays enumeration type information.

./tools/h5tools.c
        Displays enumerated data using symbol names.
1999-01-07 06:42:27 -05:00
Quincey Koziol
847043cf52 [svn-r1006] Updated output against the current version of the HDF4 dumper in CVS. 1999-01-06 16:27:48 -05:00
Paul Harten
2aefbf7603 [svn-r1004] Purpose:
Conform closer to other test print-out.

Solution:
    Added "All h5dump tests passed." statement to output
    of testh5dump.sh when appropriate.  Similarly, added
    "All h5toh4 tests passed." statement to output of
    testh5toh4 when appropriate.

    Also, added the testing of converting H5 files with
    loop pathways into H4 files with recursive references.

Platforms tested:
    Solaris2.5, Digital Unix 4.0
1999-01-05 14:40:32 -05:00
Quincey Koziol
b381963715 [svn-r1003] Fixed a couple of typos 1999-01-04 19:09:05 -05:00
Paul Harten
01eb265261 [svn-r1000] Purpose:
Conform closer to other test print-out.

Problem:
    Multiple "PASSED" statements for single test results when test involves
    conversion of multiple files.  Should be single "PASSED" statement for
    test results.

Solution:
    "*FAILED*" statement given if conversion fails for any file.  Differences
    given between expected results and actual results for each file that fails.
    "PASSED" statement given when conversion is successful for all files.

Platform tested:
    Solaris2.5
1998-12-30 16:15:03 -05:00
Paul Harten
4eab315de2 [svn-r989] Purpose:
Bug fix

Solution:
    Have warning messages go to stderr instead of stdout.

Platform tested:
    Solaris2.5
1998-12-22 13:37:47 -05:00
Paul Harten
a88aa59718 [svn-r988] Purpose:
New feature, Documentation

Solution:
    Changed h5toh4 testing output to more closely resemble other HDF5
    testing output.
    Also added documentation to describe the puposes of the
    conversion test files.

Platform tested:
    Solaris2.5
1998-12-22 13:36:19 -05:00
Ruey-Hsia Li
ee9cac2af9 [svn-r983] Added tests in testh5dump.sh.
Features of this version of dumper

  *  loop detection

  *  data type
     **  atomic type
         -> H5T_INTEGER (H5T_STD_XXXXX)
         -> H5T_FLOAT (H5T_IEEE_XXXXX)
         -> H5T_STRING (H5T_C_S1, H5T_FORTRAN_S1)
     **  committed/transient/unamed compound type

  *  data space
     **  scalar space
     **  simple space

  *  dataset
     dumper can display dataset's
     **  attribute
     **  type
     **  space
     **  data

  *  group
     dumper can display group attributes and group members which include
     **  named/unamed data type
     **  group
     **  dataset
     **  softlink

  *  attribute
     dumper can display attribute's
     **  type
     **  space
     **  data

  *  hard link

  *  soft link

  *  format of data
     ** fit on 80 columns
     ** end of line after each row
        (more work will be done on data.)
1998-12-21 17:45:01 -05:00
Ruey-Hsia Li
38309fb3f6 [svn-r982] Added test for loop detection.
Updated expected output for dumper automatic tests.
Removed redundant tests.
1998-12-21 17:34:42 -05:00
Paul Harten
caeb6c614f [svn-r978] Purpose: Bug fixes
Problems:
    There were three separate bugs in the h5toh4 converter worked on.
    They were:

    1) When a loop was detected, the H4 file was missing references
    to paths which were available in the H5 file.

    2) When an H4 SDS or Vdata was created from a H5 dataset, the H4
    object was referenced in the root group, instead of the correct
    Vgroup.

    3) The FIRST path taken to an object for the h5toh4 conversion
    could not involve a SOFTLINK.

Solutions:
    The bug fixes were:

    1) All of the associated references to available paths which
    occur in the H5 file, now appear in the H4 file.

    2) After an H4 SDS or Vdata is created from a H5 dataset, the H4
    object is tag/ref'ed in the appropriate Vgroup.

    3) The FIRST path taken to an H5 object for the H5toh4 conversion
    may involve a HARDLINK, a SOFTLINK, or neither.  The same is
    true of any additional paths to the same object.

Platform tested:
    Solaris2.5
1998-12-20 23:05:28 -05:00
Paul Harten
7d9d6add9d [svn-r977] Purpose:
New feature

Solution:
    Added some new new tests to show that paths involving HARDLINKS
    and paths involving SOFTLINKS convert existing objects from H5 to
    H4 the same way that paths involving no links does.

Platform tested:
    Solaris2.5
1998-12-20 22:50:15 -05:00
Ruey-Hsia Li
bf0208d474 [svn-r975] Put back Paul's updates. 1998-12-18 10:02:13 -05:00
Ruey-Hsia Li
c91120b4b8 [svn-r973] Added tests for scalar data space, string data type, loop detection and
compound data type.
1998-12-17 16:53:07 -05:00
Robb Matzke
09aaf83332 [svn-r971] Changes since 19981214
----------------------

./INSTALL
	Added warning that enabling debugging code can adversely
	affect performance even when the debugging isn't turned on at
	run-time. Performance testing shows that under certain
	circumstances (like data type conversions of compound types)
	the H5_timer functions, although only a few lines each,
	contribute a fairly large percent to the execution time.

./src/H5T.c
./src/H5Tpkg.h
./src/H5Tpublic.h
	Improved the H5Tunregister() function to make unregistering
	more flexible.  It takes the same arguments as H5Tregister()
	but also accepts wild cards.  All conversion functions that
	match the H5Tunregister() search criteria are removed from the
	global type conversion table.

	The H5Tregister_hard() and H5Tregister_soft() were combined
	into a single function called H5Tregister() which is the
	counterpart to H5Tunregister(). A new `persistence' argument
	was added to differentiate between the two types of conversion
	functions.

	The application is allowed to register a hard conversion
	function for the no-op conversion path although the library
	isn't obligated to call it (it usually does). This is mostly
	for completeness, but the application might use it to help
	determine if the raw data pipeline was able to use the
	optimized path for the case when no type conversion is
	necessary. The library doesn't allow this path to be
	unregistered although the application can redefine it as often
	as it likes.

	Fixed the type conversion tables in preparation for MT-safety
	and to fix previosly-known design bugs wrt. unregistering
	conversion functions or changing the C function associated
	with a conversion path. The MT-safety stuff is documented in a
	separate white paper.

	Increased the conversion function debugging name from 9
	characters to 31 characters so the output can be more
	descriptive.

	Moved conversion path statistics from the H5T_cdata_t member
	into the conversion path itself.  This makes H5T_cdata_t
	contain only application-visible data structures.

./src/H5A.c
./src/H5D.c
./src/H5Ofill.c
./src/H5P.c
./src/H5T.c
	Improved the way type conversion functions are called so the
	caller doesn't have to check for data type debugging and
	increment type conversion timers and statistics.

	Changed check for no-op conversion since it is now
	application-definable and there may even be more than one
	definition at a time in a multi-threaded application (one
	thread might be using the no-op conversion path when some
	other thread changes its definition -- the first thread still
	sees the original defintion until it's done with the
	operation).

./doc/html/Datatypes.html
	Updated the user guide to reflect the changes to data type
	conversion registration functions.

./bin/trace
./src/H5.c
	Added tracing support for the new H5T_pers_t data type.

./test/dtypes.c
	Added printf to display alignment value if non-aligned data
	types are being tested.

./test/h5test.c
	Modified the H5Tunregister() calls to use the new
	arguments. All 94 of those calls can be replaced by a single
	call to the new H5Tunregister() function.

./src/H5.c
	Added HAVE_GETTIMEOFDAY around an auto variable and
	initialized the elapsed time to zero when gettimeofday() is
	not available.

./src/H5F.c
./src/H5Fprivate.h
./src/H5P.c
	Added an H5*_init() functions which do the same thing as
	H5*_init_interface() but can be called from other packages and
	don't do anything if the interface is already initialized.
	This fixes a couple memory leaks in applications that
	repeatedly close and open the library with H5close().

./src/H5Tconv.c
	Optimized some data alignment code in the hardware conversion
	functions.

	Hardware conversions accumulate statistics about source and
	destination data alignment and print that information when the
	conversion function is unregistered (usually when the
	application exits) if data type debugging is compiled into the
	library and enabled at run-time.

	The conversion caching was cleaned up for the compound data
	type conversion function. It now caches conversion paths in a
	manner that will be MT-safe and is much simpler than the old
	method. Also cleaned up some array index maps.

./src/H5detect.c
	Fixd mispelling of alingemnt.

./src/H5private.h
	Changed `TRUE' to `1' in assignment to interface_initialize_g
	in FUNC_ENTER macro definition.

./tools/testh5dump.sh
	Completely rewritten to make it shorter, better documented,
	and conforming to most of the other test outputs.

	The comparison of the actual output with the expected output
	is insensitive to differences in white space.  The test now
	passes for the first time on Linux where the output width
	wasn't as expected but the output was otherwise correct.

./tools/testfiles/tall-1.ddl
./tools/testfiles/tall-2.ddl
./tools/testfiles/tall-3.ddl
./tools/testfiles/tattr-1.ddl
./tools/testfiles/tattr-2.ddl
./tools/testfiles/tattr-3.ddl
./tools/testfiles/tattr-4.ddl
./tools/testfiles/tcomp-1.ddl
./tools/testfiles/tcomp-2.ddl
./tools/testfiles/tcomp-3.ddl
./tools/testfiles/tcomp-4.ddl
./tools/testfiles/tdset-1.ddl
./tools/testfiles/tdset-2.ddl
./tools/testfiles/tdset-3.ddl
./tools/testfiles/tdset-4.ddl
./tools/testfiles/tgroup-1.ddl
./tools/testfiles/tgroup-2.ddl
./tools/testfiles/tgroup-3.ddl
./tools/testfiles/tlink-1.ddl
./tools/testfiles/tlink-2.ddl
./tools/testfiles/tlink-3.ddl
./tools/testfiles/tlink-4.ddl
./tools/testfiles/tlink-5.ddl
./tools/testfiles/tslink-1.ddl
./tools/testfiles/tslink-2.ddl
	Changed `../h5dump' to just `h5dump'.

./config/alpha-dec-osf4.0
	Added more warning and optimization switches to the native
	compiler.
1998-12-17 14:35:20 -05:00
Paul Harten
bdc304d612 [svn-r958] Purpose:
New feature

Solution:
    Testing of Extendable Dataset support in h5toh4 converter when
    extendable dimension is first dimension.

Platform tested:
    Solaris2.5
1998-12-01 16:56:14 -05:00
Paul Harten
7738afbd8a [svn-r953] Purpose:
Getting rid of Warning messages.

Problem:
    When compiling with DEBUG_H5TOH4 turned off,
    macro expansion of DEBUG_PRINT gives many warning
    messages.

Solution:
    Set macro expansion of DEBUG_PRINT to:

    #ifdef DEBUG_H5TOH4
    #define DEBUG_PRINT(s1,s2,s3,n1) ( fprintf(stderr,s1,s2,s3,n1) )
    #else
    #define DEBUG_PRINT(s1,s2,s3,n1) ( fprintf(stderr," ") )
    #endif

Platform tested:
    Solaris2.5
1998-11-25 12:39:53 -05:00
Robb Matzke
ffcbc32d66 [svn-r952] Changes since 19981125
----------------------

./doc/html/Datatypes.html
./src/H5.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
./src/H5detect.c
./test/chunk.c
./test/dtypes.c
./test/h5test.c
./test/mtime.c
./test/tattr.c
./test/th5s.c
./tools/h5dump.c
./tools/h5dumputil.c
./tools/h5import.c
./tools/h5ls.c
./tools/h5toh4.c
./tools/h5tools.c
	Renamed the old H5T_NATIVE_CHAR type to H5T_NATIVE_SCHAR to
	denote that it is always signed.

	Added a new H5T_NATIVE_CHAR type which has the same range,
	representation, and behavior as either H5T_NATIVE_SCHAR or
	H5T_NATIVE_UCHAR depending on the compiler and its
	command-line switches for the application source file which
	references H5T_NATIVE_CHAR. If source files are compiled with
	different switches then each source file will resolve
	H5T_NATIVE_CHAR appropriately so it matches the C type `char'
	in that source file.

	NOTE: THERE ARE OTHER DOCUMENTATION FILES THAT I DIDN'T CHANGE
	BECAUSE I CAN'T MODIFY THE SOURCE.

./test/extend.c
	Swapped two lines to prevent diagnostic messages from messing
	up the formatted output.
1998-11-25 12:21:21 -05:00
Paul Harten
c43b9183cc [svn-r942] PURPOSE:
New Feature

SOLUTION:

     h5toh4 is an H5 utility which converts HDF5 files into
     HDF4 files.  It converts only those H5 objects which have
     have mappings into H4 objects.

     Some H5 objects that may be converted into H4 objects are:

     1) H5 group objects may be converted into H4 Vgroup objects.

     2) H5 dataset objects of integer or floating point datatype
        may be converted into H4 SDS objects.

     3) H5 dataset objects of compound datatype and  rank 1  may
        be converted into H4 Vdata objects.  Field members of the
        compound datatype are constrained to be single dimensional.


Platforms tested:
    Solaris2.5, HP10.20
1998-11-21 15:14:09 -05:00
Paul Harten
8ef8c8b290 [svn-r941] Purpose:
New feature

Solution:
    This file contains routines to find all shared objects and
    committed types and store them in tables.  These routines
    are made available in the library hdf5/tools/libh5tools.a


Platform tested:
    Solaris2.5, HP10.20
1998-11-21 15:07:24 -05:00
Paul Harten
4445745e51 [svn-r940] Purpose:
New Feature

Solution:
    These files are the expected results of the HDF4 hdp dumper,
    which has been executed in the following order:

    hdp dumpvg file.hdf > file.dmp
    hdp dumpvd file.hdf >> file.dmp
    hdp dumpsds file.hdf >> file.dmp

Platform tested:
    Solaris2.5, HP10.20
1998-11-21 15:04:53 -05:00