Commit Graph

4247 Commits

Author SHA1 Message Date
Robb Matzke
e941becbea [svn-r1186] Snapshot 1999-04-16 04:20: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
Robb Matzke
77d7a3328b [svn-r1183] Snapshot 1999-04-15 04:20:13 -05:00
Dan Wells
fe83d5e288 [svn-r1182] Changed name of PABLO Mask to simplify automatic definitions. 1999-04-14 16:48:05 -05:00
Robb Matzke
9526d48dba [svn-r1178] Snapshot 1999-04-09 04:21:02 -05:00
Robb Matzke
6f849488bc [svn-r1173] Snapshot 1999-04-03 04:20:30 -05:00
Robb Matzke
5e31902765 [svn-r1171] Changes since 19990330
----------------------

./src/H5A.c
./src/H5D.c
	The `bkg' buffers are zeroed before calling the type
	conversion function. This fixes a problem where reading a file
	compound data structure into memory results in garbage between
	the members.

./src/H5I.c
	Fixed H5I_clear_group() so it removes entries even when a free
	callback is not registered. This fixes fixes an `infinite loop
	closing library' warning message.

./src/H5.c
	Added ellipses to the end of the infinite loop message.
1999-04-02 08:59:10 -05:00
Robb Matzke
ddb367a335 [svn-r1170] Snapshot 1999-03-31 04:20:35 -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
7f5466dc35 [svn-r1167] Snapshot 1999-03-30 04:22:27 -05:00
Quincey Koziol
c278fb73f7 [svn-r1166] Fixed logic bug which was making all attributes read as zeros 1999-03-29 17:09:44 -05:00
Robb Matzke
6c43ecc0bd [svn-r1165] Snapshot 1999-03-25 04:22:12 -05:00
Patrick Lu
ed27d0459b [svn-r1164]
added a #define SIGBUS SIGILL is SIGBUS not defined
1999-03-24 15:01:16 -05:00
Robb Matzke
c5c14c8bdf [svn-r1162] Snapshot 1999-03-24 04:22:13 -05:00
Quincey Koziol
7fac298167 [svn-r1161] Modified H5Aread to fill the user's buffer with zero's (the fill value for
uninitialized attributes) if they read the attribute before any data is
written to it or it's stored on disk.
1999-03-23 16:48:57 -05:00
Robb Matzke
6cfb1f9320 [svn-r1160] Snapshot 1999-03-23 04:23:22 -05:00
Quincey Koziol
aec7b7dc70 [svn-r1159] Changed cast of the reference selection type into a decode, this should fix
the reference test problems on big-endian machines.
1999-03-22 20:50:59 -05:00
Patrick Lu
39880ddfdf [svn-r1158]
put a free in the H5F_close to free up the memory I used for the path
1999-03-22 13:22:03 -05:00
Patrick Lu
8f0f2e4405 [svn-r1157]
in the H5F_low_access() and the H5F_sec2_open() functions I put code in here so
we can figure out the path of the file and store it in the search_t struct
1999-03-22 12:53:24 -05:00
Patrick Lu
035c00dcef [svn-r1156]
made a change to compare files function.
for NT we look at the path names of the 2 objects.
1999-03-22 12:51:16 -05:00
Patrick Lu
019daa1b2e [svn-r1155]
added a new member to the H5F_search_t struct to store the path name
we needed this to be able to tell if a file is already open since NT does not
use the inode.
1999-03-22 12:48:18 -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
8473025b45 [svn-r1153] Snapshot 1999-03-20 04:23:29 -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
19e5077f7f [svn-r1150] Snapshot 1999-03-19 04:22:12 -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
4ec2ca72ba [svn-r1148] Snapshot 1999-03-18 04:22:20 -05:00
Quincey Koziol
d8d31596b4 [svn-r1146] Added support for object references to named datatypes. 1999-03-17 20:30:03 -05:00
Quincey Koziol
b0138a0cb0 [svn-r1144] Added support for object references to groups. 1999-03-17 19:07:50 -05:00
Robb Matzke
e433e6c4a9 [svn-r1143] Snapshot 1999-03-16 04:22:16 -05:00
Robb Matzke
68669abdcb [svn-r1141] Snapshot 1999-03-14 04:22:54 -05:00
Quincey Koziol
7795177df7 [svn-r1139] Added code for H5Rget_object_type 1999-03-12 15:05:43 -05:00
Robb Matzke
b8ef51ee7a [svn-r1138] Changes since 19990304
----------------------

./config/*-aix4.*	[REMOVED]
./config/*-aix4.x	[NEW]
./config/solaris2.5	[REMOVED]
./config/solaris2.x	[NEW]
./configure.in
./configure		[REGENERATED]
./MANIFEST
	Changed the names of the IBM-SP2 config files by replacing the
	minor version numbers with an `x'.  The solaris config warns
	about old versions of gcc.

	The RUNSERIAL value is set to the empty string by default. The
	config/* file (or user) can override it by setting it to some
	other value.

	The `--enable-parallel' with no flags turns on the
	HAVE_PARALLEL constant in the source code but doesn't add any
	MPI or MPI-IO libraries to the link line.

	If we are compiling for parallel then configure checks that we
	can actually link a very simple program. This has the benefit
	of detecting config errors before we waste time compiling the
	entire library.

	Configure recognizes `mpcc_r' as a parallel compiler.

./src/H5A.c
./src/H5Apublic.c
	Fixed some compiler warnings.  Changed the return type of
	H5Aget_name() from hssize_t to ssize_t because the name can
	never be larger then memory.
1999-03-12 13:35:04 -05:00
Robb Matzke
d6cc19e3f2 [svn-r1137] Snapshot 1999-03-12 04:22:26 -05:00
Quincey Koziol
fbef4e61ed [svn-r1135] Expanded API for reading lists blocks/points to allow for just a portion of
the block/point-list to be read at a time.
1999-03-11 16:03:30 -05:00
Robb Matzke
af50eb6cbd [svn-r1134] Snapshot 1999-03-11 04:22:03 -05:00
Quincey Koziol
ae782bd7ac [svn-r1132] Dataset region references are now finished and working correctly. Also, there
are five new API functions for querying selections:
    H5Sget_select_hyper_nblocks     - retrieves the number of hyperslab blocks
                                        in current hyperslab selection for a
                                        dataspace
    H5Sget_select_elem_npoints      - retrieves the number of element points
                                        in current element selection for a
                                        dataspace
    H5Sget_select_hyper_blocklist   - retrieves a list of the hyperslab blocks
                                        in current hyperslab selection for a
                                        dataspace
    H5Sget_select_elem_pointlist    - retrieves a list of the element points
                                        in current element selection for a
                                        dataspace
    H5Sget_select_bounds            - retrieves a n-dimensional bounding box
                                        containing current selection.
1999-03-10 18:50:03 -05:00
Robb Matzke
354a6dcc01 [svn-r1131] Snapshot 1999-03-10 04:22:27 -05:00
Albert Cheng
3a111372b1 [svn-r1130] Make HDsnprintf to be compiled only if snprintf is not available
in the local system.
Tested in O2K.
1999-03-09 18:15:37 -05:00
Albert Cheng
2c3234ef72 [svn-r1128] Changes for T3E port.
H5Flow.c:
    Document previous changes (same changes committed by Robb first.)

H5Fprivate.h:
    Change DECODE macros to do sign extension.
    (Sign extension can be skipped if machines use the exact sizes.)

H5Sall.c:
    Fixed a typo in return value.

H5private.h:
    Fixed a typo and also changed the strategy of the int16_t and
    uint16_t typedef.  Now will use short as long as it is at least
    2 bytes big.
1999-03-09 18:06:07 -05:00
Dan Wells
06ee0d9c4d [svn-r1126] Undoing previous change. src library won't compile. 1999-03-09 16:35:53 -05:00
Dan Wells
a0a9b1bd17 [svn-r1125] The lines
PABLO_SAVE (ID_ ## func_name);                                             \
   H5TRACE_DECL;
had to be switched because the asci red machine wouldn't compile the source
when -DHAVE_PABLO was used.
1999-03-09 16:20:23 -05:00
Dan Wells
112f7b4e86 [svn-r1124] Changed the names of the pablo masks 1999-03-09 16:02:49 -05:00
Robb Matzke
84adb085e3 [svn-r1120] Snapshot 1999-03-09 04:22:59 -05:00
Paul Harten
169754fb4c [svn-r1119] Purpose:
Bug fix

Problem:
    On Solaris2.5, once the library has been compilied with any type of
    optimization, a bus error comes up in the "dtypes" test.

Solution:
    The problem appears to be in the compilers' version of memcpy() that
    is used when optimized.  Instead of substituting HDmemmove(), on
    Solaris, the problem is also taken care of by preparing the second
    argument to HDmemcpy().  The datatype pointer is copied to a separate
    char pointer which is then used as the second argument to HDmemcpy().
    For some reason, it isn't enough to simply cast the datatype pointer.

Platform tested:
    Solaris2.5
1999-03-08 14:02:43 -05:00
Robb Matzke
596c1905e8 [svn-r1118] Snapshot 1999-03-05 04:22:09 -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
25421a64fd [svn-r1116] Snapshot 1999-03-04 04:22:29 -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
Paul Harten
2925631a49 [svn-r1114] Purpose:
Bug fix

Problem:
    On Solaris2.5, once the library has been compilied with any type of
    optimization, a bus error comes up in the "dtypes" test.

Solution:
    The problem appears to be in the compilers' version of memcpy() that
    is used when optimized.  Apparently, the same optimization problem
    is not associated with the similar function memmove().  So, as a
    solution to this problem, memmove() is substituted in for memcpy().

Platform tested:
    Solaris2.5
1999-03-03 18:00:22 -05:00