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.
Purpose:
Support portability
Description:
I forgot that source file extension .C will not work on Windows.
Solution:
Changed all source file from *.C to *.cpp for portability.
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Description:
The prototype of two C API functions, H5Tget_offset and
H5Sget_simple_extent_npoints was changed to fix bug #446,
resulting in the need for updating the two corresponding
C++ API functions.
Solution:
- Changed the return type of AtomType::getOffset from size_t
to int, and the error return value from 0 to -1.
- Changed the return type of DataSpace::getSimpleExtentNpoints
from hsize_t to hssize_t, and the error value from 0 to -1.
Platforms tested:
arabica (sparc-sun-solaris 2.7)
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
Reversal of Patch
Description:
I thought that the solaris boxen could handle the -Wc,<flag> flag
(or, rather, that libtool would do the correct thing with their
compilers). However, this isn't the case, apparently.
Solution:
Removed the ``-Wc,-LANG:std'' flag and put it in the CPPFLAGS
macro instead. This should cause it to be passed to the compiler
only...one hopes...
Bug-ish fix
Description:
Spurious warnings would show up if libtool was trying to pass the
-LANG:std flag to the compile line.
Also, if the library is compiled with -all-static, then it would
complain about not finding dlopen and friends.
Solution:
Used the libtool -Wc,<flag> option to pass the -LANG:std flag to
the compile line.
Used ``-dlopen self'' when compiling.
Platforms tested:
Linux
Bug
Description:
Compiler needed both the -instances=global and the -LANG:std flag
to function.
libtools spits out a warning about not being able to find the
ANG:std library directory, but that's okay...it passes it to the
linker anyway.
Platforms tested:
Solaris (Arabica)
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
Buglet fix...
Description:
When configuring, configure would complain about there not being
a confdefs.h file.
Solution:
Added a src/H5config.h file which configure can generate. This
can be used for configure stuff later, but is empty now.
Platforms tested:
Linux
Bug fix
Description:
It would be nice if I'd done this correctly the first time.
Solution:
Doh! NEeded to use the ``using'' keyword...
Platforms tested:
Linux
Bug fix
Description:
Namespace wasn't being detected properly.
Solution:
Changed it to do it properly (not putting the main() function in
the namespace);
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
Bug fix
Description:
Configure wasn't picking up the LT_STATIC_EXEC stuff from the
top-level configure.
Solution:
Added LT_STATIC_EXEC logic
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
C++ API for 1.3.x branch
Description:
The *.C and *.h files named different than those in 1.2.x.
They are in the form: 'H5' + classname, or just classname if
the classname is already prefixed with 'H5' to avoid ambiguity
in documentation context. This version has several hidden bugs
fixed and an improvement on the reference counting approach.
The classes and their inheritance structure are listed below:
---------------------------------------
H5Library
Exception
RefCounter
IdComponent
H5File
DataSpace
H5Object
Group
AbstractDs
DataSet
Attribute
DataType
PredType
EnumType
CompType
AtomType
StrType
IntType
FloatType
PropList
FileCreatPropList
FileAccPropList
DSetCreatPropList
DSetMemXferPropList
---------------------------------------
IdComponent uses RefCounter to keep track of opened objects
so proper termination of HDF5 objects can be maintained.
Each class has a .h file containing the class declaration and
a .C file containing its definition. In addition to the classes
files, the following files do not have class information:
- H5Cpp.h: header file to be included in user's application
- H5Idtemplates.h: contains a template function used by several classes
- H5Classes.h: contains forward class declarations
- H5CommonFG.*: contains common code used by classes H5File and Group
- H5Include.h: contains the hdf5.h header file and the #undef RCSID
to work around the problem: multiple defined RcsId
- H5Alltypes.h: simply serves as a container to hold the header
files of all datatypes to simplify the header file inclusion
Platforms:
Solaris (arabica) and Linux