Commit Graph

135 Commits

Author SHA1 Message Date
Binh-Minh Ribler
e95f07dc6b [svn-r5032]
Purpose:
    Code cleanup
Description:
    DataType::convert: changed the 'nelmts' parameter from size_t to
	hsize_t according to hdf5 library change.
Platforms tested:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
2002-03-03 11:48:09 -05:00
Binh-Minh Ribler
22c5ce3c5f [svn-r5031]
Purpose:
    Minor bug fix
Description:
    Added #ifdef for windows about a #pragma
Platforms tested:
    IRIX64 (modi4)
2002-03-02 16:01:17 -05:00
Binh-Minh Ribler
0bb7111f43 [svn-r5030]
Purpose:
    Small bug fixing
Description:
    Replaced NULL by 0 for initializing or passing null "string".
    The problem showed up on platinum.
Platforms tested:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
    IA-32 Linux Cluster (platinum)
2002-03-01 16:10:29 -05:00
Binh-Minh Ribler
3f4184c6d3 [svn-r5029]
Purpose:
    Adding new member function
Description:
    Added PropList::copyProp according to the new api H5Pcopy_prop
    in the C library.  I'm still working on adding more tests so
    test for this will be added as well.
Platforms tested:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
    FreeBSD 4.4 (sleipnir)
2002-03-01 14:01:23 -05:00
Binh-Minh Ribler
bf543b4edb [svn-r5005] Purpose:
DLL accommodation

Description:
    In the inline constructor below:
        DSetCreatPropList() : PropList( H5P_DATASET_CREATE) {}
    H5P_DATASET_CREATE causes the famous "unresolved symbol" error
    when building the Release version of dsets_cpp with DLL.
    H5P_DATASET_CREATE uses H5P_CLS_DATASET_CREATE_g, which is
    imported from hdf5dll.  The inline constructor used in dsets.cpp
    causes the use of H5P_CLS_DATASET_CREATE_g, which is then
    considered undefined because dsets_cppdll is not using hdf5dll.
    This only occurs in the Release version because the Debug build
    disables inline.

Solution:
    Made the affected constructor not inlined, i.e., its implementation
    went in the cpp file.
    Note that this problem does not occur in 1.4 branch because
    H5P_DATASET_CREATE was defined differently, i.e., did not involve
    external storage.

Platforms tested:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
    Windows 2000
2002-02-24 23:34:54 -05:00
Bill Wendling
2413afaf17 [svn-r5002]
Purpose:
    Bug Fix
Description:
    C++ examples weren't being removed.
Solution:
    We were trying to remove something called "EXAMPLE_DOCS", but we
    needed to remove "EXAMPLE_PROGS" instead.
Platforms tested:
    Linux
2002-02-22 17:12:52 -05:00
Bill Wendling
d8266790ec [svn-r5001] Purpose:
Bug Fix
Description:
	The make uninstall-examples wasn't working if fortran or C++ was
	built.
Solution:
	Added uninstall-examples to the Makefile.
Platforms tested:
	Linux
2002-02-22 16:58:18 -05:00
Binh-Minh Ribler
855aa23823 [svn-r4977]
Purpose:
    Adding support for dll
Description:
    Added __DLLCPP__ to all public classes and templates.
    Added #include "H5Include.h" to H5RefCounter.cpp because of the
          use of DLLCPP in .h file and it needs the following chain:
                H5Include.h/hdf5.h/H5public.h/H5api_adpt.h
    Added #pragma warning(disable: 4251) to H5Exception.h to eliminate
        this warning on private data members of type 'string.'  This
        occurs because 'string' is not yet instantiated at compilation
        time; however, since the class is exported, the warning is
        harmless.
    Changed this member function's parameter to be passed as reference.
        from:
            void CompType::insertMember( const string name,...
        to:
            void CompType::insertMember( const string& name,...
Platforms tested:
    Linux 6.2 (eirene)
    Windows 2000
2002-02-15 19:49:46 -05:00
Bill Wendling
32f52d953c [svn-r4850]
Purpose:
	Fix
Description:
	Needed to use a different autoconf like I did at a previous time for
	generating the configure file.
2002-01-22 17:58:14 -05:00
Bill Wendling
a73450e29d [svn-r4849]
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.
2002-01-22 15:14:46 -05:00
Binh-Minh Ribler
702667c9f5 [svn-r4848]
Purpose:
    Improvement
Description:
    Using LIBS for c++ default library resulted in the library showed up
    in two many places.
Solution:
    Added new macro DEFAULT_LIBS to specify default library for the
    C++ API tests
Platforms tested:
    IRIX64 (modi4)
2002-01-21 22:49:13 -05:00
Binh-Minh Ribler
6088512f7c [svn-r4847]
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.
2002-01-21 22:45:47 -05:00
Binh-Minh Ribler
86fdcb0d1b [svn-r4846]
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, and this extra set, it occurs twice:

## These are our main targets. They should be listed in the order to be
## executed, generally most specific tests to least specific tests.
RUNTEST=$(LT_RUN)

    although I'm not sure if it even should be there, so I should leave
    it for Bill.

Platforms tested:
    IRIX64 (modi4)
    I'll check out again to make sure I haven't broken anything else.
2002-01-21 22:42:27 -05:00
Binh-Minh Ribler
6621873bd2 [svn-r4845]
Purpose:
    Added platform support
Description:
    Added new macro DEFAULT_LIBS to specify default library for the
    C++ API tests
Platforms tested:
    IRIX 6.5 (modi4)
2002-01-21 22:32:32 -05:00
Binh-Minh Ribler
4098e48f09 [svn-r4843]
Purpose:
    Adding new supported platform
Description:
    Added this config file for modi4.  Note that, when libtool v1.5
    is released and we start using it, the default library libCio can
    and should be removed from LIBS.  It is there now because previous
    versions of libtool do not fully support c++ yet and default
    libraries must be manually added to the link line.
Platforms tested:
    IRIX64 6.5 (modi4)
2002-01-20 23:59:12 -05:00
Binh-Minh Ribler
d7684581aa [svn-r4805]
Purpose:
    Bug fix
Description:
    In several if statements, '>' was used in place of '<='.  This
    caused exceptions thrown inappropriately.  Replaced '>' by '<='
    where applicable.
Platforms tested:
    SunOS 5.7 (arabica)
    Windows 98
2002-01-09 12:14:05 -05:00
Bill Wendling
5beabb3b75 [svn-r4745]
Purpose:
	Feature Rollback
Description:
	Shared C++ libraries aren't working on all platforms (read: Arabica).
	We need to switch to the old method until we can sort this out.
Solution:
	Re-add the "-static" flag to the library creation lines.
2001-12-19 17:02:16 -05:00
Bill Wendling
2bfadd8235 [svn-r4744]
Purpose:
	Bug Fix
Description:
	There were weird "throw()"s which were being placed into the
	configure script. Some C++ compilers were barfing on this syntax
	(which was akin to "extern int exit(int) throw ();" wonder why?).
Solution:
	Ran a different autoconf on the configure file which I'd downloaded
	from ftp.gnu.org. It doesn't have those "throw()"s anymore
Platforms tested:
	Linux
2001-12-19 16:57:24 -05:00
Bill Wendling
d82fa846a7 [svn-r4734]
Purpose:
	Bug Fix
Description:
	Shared libraries weren't being built for C++.
Solution:
	Removed the -static flag from the libtool compile line. This allows
	both shared and static libraries to be built instead of just static
	ones. After talking with Quincey and Binh-Minh, there shouldn't be
	any reason for C++ to be built static only.
Platforms tested:
	Linux
2001-12-18 15:19:45 -05:00
Binh-Minh Ribler
7b5b696bc4 [svn-r4713]
Purpose:
    Removing warnings
Description:
    H5IdComponent::operator= shouldn't be virtual because the subclass'
    operator= have different type for the rhs argument.  Removed virtual.
Platforms tested:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
2001-12-12 22:54:15 -05:00
Binh-Minh Ribler
fd48265a02 [svn-r4707]
Purpose:
    Bug fixing
Description:
    H5IdComponent::operator= shouldn't be virtual because the subclass'
    operator= have different type for the rhs argument.  Removed virtual
Platforms tested:
    SunOS 5.7 (arabica)
    IRIX64 (modi4) - only tested that the warnings went away, still working
                        on other configuration problems.
2001-12-12 14:29:14 -05:00
Bill Wendling
c597c46ae4 [svn-r4688]
Purpose:
	Bug Fix
Description & Solution:
	In the test for "namespace", we needed to include the "iostream"
	header file to remove errors for strict compilers who need iostream
	for namespaces. I moved the test for namespace to after the test for
	"old header filenames" to make sure that I'm #including the correct
	iostream ("iostream" or "iostream.h").
Platforms tested:
	Linux
2001-12-10 13:37:44 -05:00
Quincey Koziol
7a30de3a2b [svn-r4680] Purpose:
Code cleanup
Description:
    Property that H5P(g|s)et_hyper_cache uses is no longer in use inside the
    library.
Solution:
    Removed H5P(g|s)et_hyper_cache API functions, except when backward
    compatibility is turned on.  When backward compatibility is turned on,
    the property is defined by the library, but unused internally.
Platforms tested:
    FreeBSD 4.4 (sleipnir)
2001-12-06 14:05:12 -05:00
Quincey Koziol
6ecbcc1717 [svn-r4676] Purpose:
Backward Compatibility Fix
Description:
    One of H5P[gs]et_buffer's parameters changed between v1.4 and the
    development branch.
Solution:
    Added v1.4 compat stuff around H5P[gs]et_buffer implementation and testing
    to allow v1.4.x users to continue to use their source code without
    modification.

    These changes are for everything except the FORTRAN wrappers - I spoke with
    Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-12-05 15:26:39 -05:00
Quincey Koziol
4886a6c447 [svn-r4670] Purpose:
Backward Compatibility Fix
Description:
    One of H5P[gs]et_sym_k's parameters changed between v1.4 and the development
    branch.
Solution:
    Added v1.4 compat stuff around H5P[gs]et_sym_k implementation and testing
    to allow v1.4.x users to continue to use their source code without
    modification.

    These changes are for everything except the FORTRAN wrappers - I spoke with
    Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-12-05 11:42:40 -05:00
Quincey Koziol
a9c747deba [svn-r4669] Purpose:
Backward Compatibility Fix
Description:
    One of H5P[gs]et_cache's parameters changed between v1.4 and the development
    branch.
Solution:
    Added v1.4 compat stuff around H5P[gs]et_cache implementation and testing
    to allow v1.4.x users to continue to use their source code without
    modification.

    These changes are for everything except the FORTRAN wrappers - I spoke with
    Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-12-05 11:12:32 -05:00
Binh-Minh Ribler
2167e3c495 [svn-r4668]
Purpose:
    Eliminated warnings
Description:
    On IRIX and Windows 98, if a function, that returns a value, throws
    an exception in "else" statement, the compiler still complains that
    the function doesn't return a value.
Solution:
    Replaced:
	if (something valid)
	    return a value
	else
	    throw an exception

    with:
	if (something invalid)
	    throw an exception
	return a value
Platforms tested:
    Windows 98
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
    IRIX64 (modi4) - only tested that the warnings went away, still working
			on other configuration problems.
2001-12-05 11:03:14 -05:00
Elena Pourmal
76e9fe7298 [svn-r4658]
Purpose:
    Maintenance
Description:
    Added configuration file for SP3 to support C++
Platforms tested:
    NERSC SP3
2001-11-28 15:55:43 -05:00
Binh-Minh Ribler
5077ac0c90 [svn-r4605]
Purpose:
    Bug fix

Description:
    Add the overloaded member function Attribute::getName to return
    the attribute name's length as in C API.  This functionality was
    missing.  Note that the current getName that returns "string"
    is not removed, for different way of using getName.

Platforms tested:
    SunOS 5.7 (arabica)
    Windows 98
2001-11-14 17:14:05 -05:00
Binh-Minh Ribler
c84ad4179d [svn-r4604]
Purpose:
    Fixing found bug
Description:
    A data file cannot be removed because the corresponding H5File object
    is still in existence, which means the data file is still opened.
Solution:
    Moved h5_cleanup to outside of the try block so that the H5File object
    will go out of scope and be destroyed before h5_cleanup attempts to
    remove the corresponding data file.
Platforms tested:
    SunOS 5.7 (arabica)
    Windows 98
2001-11-13 17:15:47 -05:00
Binh-Minh Ribler
55de078e47 [svn-r4594]
Purpose:
    Minor code cleanup
Description:
    Removed unused variables, that were complained by Windows.
Platforms tested:
    SunOS 5.7 (arabica)
    Windows 98
2001-11-07 22:40:00 -05:00
Raymond Lu
ec59e5f52a [svn-r4583]
Purpose:
    Switch from old property list to new generic property list.
Description:
    Changed C++ according to the new generic property list.
Platforms tested:
    FreeBSD, SunOS 5.7.
2001-11-02 14:45:25 -05:00
Binh-Minh Ribler
1398cc0eef [svn-r4580]
Purpose:
    Bug fixing
Description:
    + added operator= to PredType
    + removed 'using namespace std' from H5RefCounter.cpp because it's not
        used and leaving it there requires #include some standard header file
    + added 'using namespace std' in H5Exception.cpp

Platforms tested:
    SunOS 5.7 (arabica)
    Windows 98
2001-10-31 11:01:35 -05:00
Raymond Lu
33189bd39b [svn-r4573]
Purpose:
    Switch mount property list to the new generic property list.
Platforms tested:
    IRIX64 6.5, SunOS 5.7, FreeBSD.
2001-10-25 14:52:10 -05:00
Raymond Lu
b6da4ea427 [svn-r4569]
Purpose:
    Generic Property List Change
Description:
    Changed file access list to the new generic list.
Platforms tested:
    IRIX64, SunOS5.7, FreeBSD
2001-10-24 13:02:27 -05:00
Quincey Koziol
0cec5adf06 [svn-r4553] Purpose:
Bug fix.
Description:
    Fix int/unsigned problem in C++ wrapper API
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-10-17 09:57:53 -05:00
Raymond Lu
05eb7b7a84 [svn-r4542]
Purpose:
    Changed to the new generic property list.
Description:
    Took out H5P_FILE_CREATE from constructor definition.
2001-10-15 14:35:20 -05:00
Raymond Lu
7666ce56d3 [svn-r4516]
Purpose:
    Changed to the new generic property list
Platforms tested:
    Arabica and Hawkwind
2001-10-03 12:55:22 -05:00
Quincey Koziol
7a96b1a0d2 [svn-r4482] Purpose:
Kludge
Description:
    Since we're only about halfway through converting the internal use of
    property lists from the "old way" to the generic property lists, we turned
    off snapshots to avoid exposing lots of API changes to users, until the
    APIs settled down.

    Getting the snapshots rolling again seems to have become a priority, so
    some changes are going to have to be made now that were going to be
    postponed until we were completely finished with the conversion.  This
    requires that the old API functions be able to deal with both the old
    and new property lists smoothly.

Solution:
    Kludge together the property list code so that they can transparently handle
    dealing with both the old and new property lists

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-26 15:29:35 -05:00
Bill Wendling
7059a12450 [svn-r4467]
Purpose:
    Small Bug Fix
Description:
    Made 'install-all' its own Makefile rule.
Platforms tested:
    Linux
2001-09-21 18:52:37 -05:00
Bill Wendling
5e834c4cbc [svn-r4466]
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
2001-09-21 18:50:15 -05:00
Binh-Minh Ribler
a59795b546 [svn-r4366] Purpose:
Code cleanup

Description:
    Changed prototype for the buffer in Attribute::write from "void *"
    to "const void *"

Platforms tested:
    FreeBSD 4.4 (hawkwind)
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
2001-08-16 08:06:37 -05:00
Quincey Koziol
e87fc517b8 [svn-r4355] Purpose:
Code cleanup (sorta)

Description:
    When the first versions of the HDF5 library were designed, I remembered
    vividly the difficulties of porting code from a 32-bit platform to a 16-bit
    platform and asked that people use intn & uintn instead of int & unsigned
    int, respectively.  However, in hindsight, this was overkill and
    unnecessary since we weren't going to be porting the HDF5 library to
    16-bit architectures.

    Currently, the extra uintn & intn typedefs are causing problems for users
    who'd like to include both the HDF5 and HDF4 header files in one source
    module (like Kent's h4toh5 library).

Solution:
    Changed the uintn & intn's to unsigned and int's respectively.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-14 17:09:56 -05:00
Quincey Koziol
95862451f7 [svn-r4324] Purpose:
New Features!
Description:
    Start migrating the internal use of property lists in the library from the
    older implementation to the new generic property lists.

    Currently, only the dataset transfer property lists are migrated to the
    new architecture, all the rest of the property list types are still using
    the older architecture.

    Also, the backward compatibility features are not implemented yet, so
    applications which use dataset transfer properties may need to make the
    following changes:
        H5Pcreate(H5P_DATASET_XFER) -> H5Pcreate_list(H5P_DATASET_XFER_NEW)
            and
        H5Pclose(<a dataset transfer property list>) -> H5Pclose_list(id)

    This still may have some bugs in it, especially with Fortran, but I should
    be wrapping up those later today.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-10 15:47:05 -05:00
Bill Wendling
73e6cacf08 [svn-r4298]
Purpose:
    Regenerated Dependencies Files
2001-08-01 17:18:50 -05:00
Bill Wendling
773719d3be [svn-r4293]
Purpose:
    Bug Fix
Description:
    Needed to add the PERL=@PERL@ line to the commence.in file.
Platforms tested:
    LInx
2001-08-01 16:12:08 -05:00
Bill Wendling
b5d11111b0 [svn-r4292]
Purpose:
    Bug Fix
Description:
    The way we were generating Dependencies and .depend files was broken.
    If the $srcdir or other macros began with a ".", then it would match
    anything and cause problems since it would then overwrite the
    beginning of the header file's path.
Solution:
    Wrote a Perl script which can handle this type of weirdness better.
    It's only used when the environment is a GNU one with a GCC
    compiler...
Platforms tested:
    Linux
2001-08-01 16:00:25 -05:00
Quincey Koziol
990fadfbe5 [svn-r4181] Purpose:
Bug Fix, Code Cleanup, Code Optimization, etc.
Description:
    Fold in the hyperslab speedups, clean up compile warnings and change a
    few things from using 'unsigned' or 'hsize_t' to use 'size_t' instead.
Platforms tested:
    FreeBSD 4.3 (hawkwind), Solaris 2.7 (arabica), Irix64 6.5 (modi4)
2001-07-10 16:19:18 -05:00
Bill Wendling
6f5d2e89ab [svn-r4136]
Purpose:
    Bug Fix
Description:
    We long ago changed the compiler flags to pick out dependencies to
    -MM instead of -M so that only #include "filename.h" type headers
    will be put into the .depend file.
Solution:
    Changed this flag.
Platforms tested:
    Linux
2001-07-06 14:27:37 -05:00
Bill Wendling
c9abea2e53 [svn-r3930] Purpose:
Fix
Description:
    Removed the redundant executables here. We just use the ones in the
    top-level of the tree.
Platforms tested:
    Linux
2001-05-15 13:00:20 -05:00