New feature
Description:
Add basic code for new B-tree implementation. They don't do much yet,
aren't hooked up to anything yet and the format may change, but I'd like to
start getting them into the daily tests.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/parallel
Too minor to require h5committest
Bug fix
Description:
Found the permanant fix to automake/CVS dependency problem
Solution:
Added AM_MAINTAINER_MODE macro to configure.in.
Now automake will never try to regenerate Makefiles, Makefiles.in,
configure, H5config.h, etc. when they are out of date, nor will it
print any warnings.
Developers should be very very careful to use reconfigure script,
and can add --enable-maintainer-mode flag to configure on heping
to regenerate these files correctly.
Platforms tested:
heping sleipnir copper
Bug fix
Description:
Configuration files' timestamps were incorrect.
Solution:
Update Makefiles.in. Also added correct paths to autotools on heping,
so heping build should be able to re-generate configuration files even
if they are still broken.
Platforms tested:
sleipnir
Bug fix
Description:
Dependencies between configure files (aclocal, configure.in, configure,
Makefiles.am and .in) are still causing Makefiles to try to run autotools
during build.
Solution:
Committed all Makefiles.in to update their timestamps.
As a temporary measure, forcibly prevented automake from running
autotools during build by redefining the variables it uses.
Platforms tested:
sleipnir (No changes to Makefile content)
Bug fix
Description:
Different compilers use different flags to include Fortran module files
Solution:
Changed boilerplate to use configure variable rather than hardcoded -M flag.
Platforms tested:
sleipnir, sol, copper
Configuration feature
Description:
HDF5 now uses automake to generate Makefiles
Solution:
Makefile.in files are now generated from Makefile.am files.
To reconfigure (after chaning a Makefile.am or configure.in):
/bin/sh bin/reconfigure.sh
Platforms tested:
Many
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)
Description:
Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation. So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.
I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
FreeBSD 4.10 (sleipnir) w/threadsafe
FreeBSD 4.10 (sleipnir) w/backward compatibility
Solaris 2.7 (arabica) w/"purify options"
Solaris 2.8 (sol) w/FORTRAN & C++
AIX 5.x (copper) w/parallel & FORTRAN
IRIX64 6.5 (modi4) w/FORTRAN
Linux 2.4 (heping) w/FORTRAN & C++
Misc. update:
Description:
Xuan reported that "uint" used in this example caused error when
built with MS Visual Studio compiler.
Solution:
Changed to "int."
Platforms tested:
Very minor, so I only tested on eirene. I'll let Xuan know
to check on Windows.
Misc. update:
Description:
Removed macro H5_FILES from Makefile.in so that output files from the
example programs will not be installed.
Platforms tested:
Linux 2.4 (eirene)
SunOS 5.7 (arabica)
Description:
These data files are generated by the example programs and shouldn't
need to be in the CVS. Removed them.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Fix example
Description:
On Solaris 64 (Sol), the output has garbage for a dataset when
fill value is not set.
Solution:
Added setting fill value to the dataset first.
Platforms:
Only effected C++ API
Linux 2.4 (eirene)
SunOS sol 5.8 (sol)
Update
Description:
Revamped the configuration system. The configurations for the Fortran
and C++ libraries are no longer separate from the "main"
configuration system. This involved removing the "configure*" and
"aclocal.m4" files from the fortran/ and c++/ subdirectories. Also
merging settings in the config/ subdirectories into the main config/
subdirectory.
Fortran header files had to be modified a little for Linux. It was
checking if it was a Linux machine by some #defines, however with the
-std=c99 switch, these defines weren't there. I added a check for
some other ones which should be there whether the -std=c99 switch is
used or not.
Platforms tested:
Verbena (Fortran & C++)
Sol (Fortran & C++)
Copper (Fortran & C++)
Modi4 (Parallel, Fortran, & C++)
Misc. update:
Bug fix
Description:
Elena and I suspected that the order of *.cpp files in TEST_SRC
might have caused the failure of a C++ examples in the daily test.
Solution:
Reordered the files from:
compound.cpp h5group.cpp create.cpp readdata.cpp chunks.cpp \
extend_ds.cpp writedata.cpp
to:
create.cpp readdata.cpp writedata.cpp compound.cpp extend_ds.cpp \
chunks.cpp h5group.cpp
Platforms tested:
Tested on verbena and the examples still worked (without -tlocal.)
I'll be testing on other platforms later tonight, I'm trying to
catch the daily test!
Misc. update:
Bug fix
Description:
Missing returning error for failures occur in C++ examples.
Solution:
Added "return -1;" when an exception is caught.
Also, turned off automatic error printing so that the C++ API
will catch and handle the failures.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
IRIX 6.5.11 (modi4)
Purpose:
Bug Fix
Description:
There was another GNU-make-ism in the C++ examples Makefile.in
that I didn't clean up.
Solution:
Changed the "$<" to the name of the file to compile.
Platforms tested:
Copper (Small fix...problem was on Copper).
Misc. update:
Utility Addition
Description:
Added h5c++ script file to compile HDF5 C++ applications.
Modified so that these are compiled only during a make check-install
action and then only with the h5c++ script.
Platforms tested:
Verbena (Fortran & C++)
Arabica (Fortran & C++)
Modi4 (Fortran & Parallel)
Misc. update:
Code Cleanup
Description:
Warning messages were being produced by the "make" program because
the "docdir" was being specified twice as a target in the generated
Makefiles. This is because the "EXAMPLESDIR" was also defined as
"docdir".
Solution:
Made "EXAMPLESDIR" unique for C, Fortran, and C++ in the commence.in
file and removed EXAMPLESDIR from the Makefile.ins
Platforms tested:
Dangermouse (only affects make system, not code).
Misc. update:
Bug Fix
Description:
"using namespace std" isn't supported on HP-UX. We ahve the H5_NO_STD
flag begin set, but it wasn't being used.
Solution:
Added the check to the #ifdef line to see if H5_NO_STD is defined
before trying to use it in the program.
Platforms tested:
Kelgia
Purpose:
Fix fix
Description:
Moved Binh-Minh's fix of the lack of support for C++ in libtool by
adding the DEFAULT_LIBS macro into the configure.in and
config/commence.in files.
Solution:
Put it into the configure.in and commence.in files. Reran autoconf.
Purpose:
Added platform support
Description:
The current libtool doesn't fully support C++ yet, so until it
does, the default libraries have to be manually specify.
Some minor cleanups needed.
Solution:
Added DEFAULT_LIBS=@DEFAULT_LIBS@ to use new macro for default library.
Added $(DEFAULT_LIBS) to link lines.
Removed inappropriate comments.
Platforms tested:
IRIX64 (modi4)
I'll check out again to make sure I haven't broken anything else.
Purpose:
Feature Add
Description:
Added "install-example" and "install-all" to the Makefile system.
The behaviour of the "make install*" options:
make install - Installs binaries, libraries, include
files, and example programs.
make install-examples - Installs only the example programs.
The directories are:
${prefix}/doc/hdf5/examples/{c,c++,fortran}
make install-all - Install the binaries, libraries, include
files, example programs, and
documentation. The whole kit-n'-caboodle.
make uninstall-examples - Get rid of those example files (but not
the ${prefix}/doc/hdf5/examples/...
directories)
There's a new bin/ program which helps create directories which are
deeply nested called "mkdirs". It's a simple shell script.
Platforms tested:
Linux
Update
Description:
We now have a "real" testing thingy for the C++ code. We don't need
to run things in the examples directory.
Solution:
Commented out the "TEST_SCRIPT" line.
Platforms tested:
Linux
Bug Fix
Description:
Wasn't building the test programs if user simply did a build with
``make check'' instead of ``make all && make check''.
Solution:
Put the test programs in the TEST_PROGS macro so that they'd be
built.
Platforms tested:
Linux
Fix
Description:
When not building in the same directory, we needed to tell the
checker wherre to look for files.
Solution:
Put $(srcdir) before things which needed it.
Platforms tested:
Linux
Add
Description:
Adding a small amount of testing to the C++ library until "real"
testing can be created. (We use the examples).
Platforms tested:
Linux
Fix
Description:
Windows couldn't handle the .C extension. The filenames had to be
changed to *.cpp instead.
Solution:
Changed in the Makefiles to accomodate said change.
Platforms tested:
Eyeballed.
Improvement
Description:
Made the Makefiles better.
Solution:
Added standard macros concerning where things are place. Like
libraries and so forth.
Platforms tested:
Linux
YABF
Description:
Needed to add the source directory for the built HDF5 library.
Solution:
Added -I../../src to the compile flags.
Platforms tested:
Linux
Bug fix
Description:
When building in a different directory, we weren't picking up the
header files correctly. The -I flag wasn't pointing to the
correct place.
Solution:
Changed the -I flag to point to the C++ source directory.
Platforms tested:
Linux
Bug fix
Description:
distclean was removing .C files.
Solution:
It was trying to remove the .f90 extension, of which there wasn't
one.
Platforms tested:
Linux
Bug fix
Description:
libtool complained that the library name didn't have a ``lib''
prefix. Also, the $(top_srcdir) macro points to the top of the
c++/ directory, which was messing up the -I$(top_srcdir)/src
stuff. It needed to be changed to the correct value.
Solution:
Made it so
Platforms tested:
Linux
Purpose:
C++ API for 1.3.x branch
Description:
The *.C files are the sample code that perform some common
operations to an HDF5 file and its components.
The *.h5 files are the HDF5 files that are generated/used
by the sample programs.
Platforms tested:
Solaris (arabica) and Linux