Commit Graph

227 Commits

Author SHA1 Message Date
Scott Wegner
7a92820e35 [svn-r15183] Purpose: _WIN32 macro cleanup
Description:
As part of our Windows cleanup, we try to remove windows-specific tweaks in the source code.  There are many instances where Windows code is introduces via ifdef's.  We re-evaluate whether they are still required, and found that many of them are not.  Others we change to "feature"-specific code, rather than Windows-specific.

Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagisopp, smirom, linew)
2008-06-09 13:41:29 -05:00
Scott Wegner
532e23b808 [svn-r15150] Purpose: Separate Windows function macro definitions to win32defs.h
Description:
In library code, we try not to use system calls directly, but instead use the HD{function} macro instead.  This way, we can map special versions of the call on particular systems.  Previously, it was all done in H5private.h.  However, in an effort to clean up platform-specific definitions, we move all of the Windows macros into a separate file, win32defs.h.  This way, we can use the non-Posix versions that Visual Studio sends warnings about.

Some macros are set specifically in the platform-specific header files.  Then, any macros left unset will be set by the "default" implementation in H5private.h.

This checkin also cleans up various source files to use the HD* macros when possible.

Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagiso, linew, smirom)
2008-06-05 13:52:19 -05:00
Quincey Koziol
771bae8888 [svn-r15131] Description:
Finish omnibus chunked dataset I/O refactoring, to separate general
actions on chunked datasets from actions that are specific to using the v1
B-tree index.

	Cleaned up a few bugs and added some additional tests also.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.5.2 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-06-03 14:44:12 -05:00
Albert Cheng
ca94c839d5 [svn-r15036] Bug fix.
Description:
The fortran Makefile.am used HDF_FORTRAN to indicate it is part of the
Fortran API source so that conclude.am will give fortran api prefix in the
test output.  The symbox HDF_FORTRAN is also used in configure for a different
purpose (indicated --enable-fortran). They conflicted.
Similar problem for the symbol HDF_CXX.

Solution:
Changed all the involved Makefile.am to use "FORTRAN_API" instead. It is
a more appropriate name.  Same for CXX_API.

Along the way, discovered that the Makefile.am of hl/fortran/test and
hl/cxx/test did not have those symbols at all.  Added them in.

Platform tested:
Kagiso only. It is a trivia change.
2008-05-19 00:06:51 -05:00
Mike McGreevy
389cc309c5 [svn-r15007] Purpose: configure cleanup
Description: cleaning up configure related to removal of --disable-hsizet
             flag, which we no longer support.

Tested: kagiso
2008-05-15 11:42:03 -05:00
Albert Cheng
7b7f10a444 [svn-r15003] Purpose:
Improvement.

Description:
src/libhdf5.settings was the initial configure summary and is installed.
Then configure is changed to dump a summary of the configure settings to
the output and also append it to src/libhdf5.settings.  That created
two different output formats and duplicated information.  This is the
initial attempt to clean up this confusion and unify the output format.

It is decided to use the src/libhdf5.settings template as the unified means.
This requires more macros symbols be defined. The following symbols are
all related to generating the src/libhdf5.settings file.

AC_SUBST(EXTERNAL_FILTERS)
AC_SUBST(MPE) MPE=no
AC_SUBST(STATIC_EXEC) STATIC_EXEC=no
AC_SUBST(HDF_FORTRAN) HDF_FORTRAN=no
AC_SUBST(FC) HDF_FORTRAN=no
AC_SUBST(HDF_CXX) HDF_CXX=no
AC_SUBST(CXX) HDF_CXX=no
AC_SUBST(HDF5_HL) HDF5_HL=yes
AC_SUBST(GPFS) GPFS=no
AC_SUBST(LINUX_LFS) LINUX_LFS=no
AC_SUBST(INSTRUMENT) INSTRUMENT=no
AC_SUBST(CODESTACK) CODESTACK=no
AC_SUBST(HAVE_DMALLOC) HAVE_DMALLOC=no
AC_SUBST(DIRECT_VFD) DIRECT_VFD=no
AC_SUBST(THREADSAFE) THREADSAFE=no
AC_SUBST(STATIC_SHARED)
AC_SUBST(enable_shared)
AC_SUBST(enable_static)
AC_SUBST(UNAME_INFO) UNAME_INFO=`uname -a`

The src/libhdf5.settings.in has CONDITIONAL's added to it too.  The
untrue conditions turned into a "#" and these lines are cleaned by the 
post processing script.

Platform tested:
h5committest on kagiso, smirom and linew.
2008-05-15 00:12:00 -05:00
Mike McGreevy
5bd2405c11 [svn-r14933] Purpose: Updating HDF5 to use automake 1.10.1 and libtool 2.2.2
Description: Applying update to autotools that was applied to 1.8 a couple
             of weeks ago to the trunk.

             Updated bin/reconfigure script to reflect the new versions of 
             libtool and automake in the /home1/packages/ directory.

             Rearranged configure.in script. When using libtool 2.2.2, the
             libtool script doesn't generate until later in the configuration
             process, so I had to move a test that parsed through the libtool
             script to a point after where it was actually being generated.

             Ran libtoolize on the project, and ran bin/reconfigure to
             regenerate configure and Makefile.in's throughout.

Tested:      kagiso, smirom, linew (h5committest)
2008-05-05 13:35:55 -05:00
Quincey Koziol
7fc10c0ea7 [svn-r14413] Description:
Change H5P[gs]et_format_bounds() => H5P[gs]et_libver_bounds() and also
enumerated values H5F_FORMAT_{EARLIEST, LATEST} => H5F_LIBVER_{EARLIEST, LATEST}

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-01-14 18:49:12 -05:00
Quincey Koziol
d6e767c21d [svn-r14402] Description:
Add work-around to allow reading files that were produced with a buggy
earlier version of the library, which could create objects with the wrong
object header message count.  There is now a configure flag
"--enable-strict-format-checks" which triggers a failure on reading a file
with this sort of corruption (when enabled) and allows the object to be read
(when disabled).  The default value for the "strict-format-checks" flag is
yes when the "debug" flag is enabled and no when the "debug" flag is disabled.

	Note that if strict format checks are disabled (allowing objects with
this particular kind of corruption to be read) and the file is opened with
write access, the library will re-write the object header for the corrupt
object with the correct # of object header messages.

	This closes bugzilla bug #1010.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-01-13 00:37:00 -05:00
Quincey Koziol
35694d44ae [svn-r14362] Description:
Switched from "H5P[gs]et_latest_format" to "H5P[gs]et_format_bounds".

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-01-03 08:55:39 -05:00
Quincey Koziol
d9e5ca72f3 [svn-r14199] Description:
Add H5Dcreate to API versioned routines, replacing internal usage with
H5Dcreate2

	Fix thread-safe error stack initialization for API versioned error
stack printing routines.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-11 11:24:11 -05:00
Quincey Koziol
cdd4606430 [svn-r14097] Description:
First real use of API versioning code, H5E routines switched to use
new API versioning scheme.

Tested on:
	Mac OS X/32 10.4.10 (amazon)
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	Solaris/32 5.10 (linew)
2007-08-21 16:08:27 -05:00
Vailin Choi
d65d8084ff [svn-r14023] Purpose:
reorganization.

Description:
move the h5stat tool into its own directory.

Platform tested:
kagiso.
2007-07-27 12:36:36 -05:00
Quincey Koziol
4be636f4f0 [svn-r13984] Description:
Various code cleanups and refactor recent changes for h5stat to fit
into the existing library data structures better.

Tested on:
	Mac OS X/32 10.4.10 (amazon)
	FreeBSD/32 6.2 (duty)
	Linux/32 2.6 (chicago)
	Linux/64 2.6 (chicago2)
2007-07-17 14:35:09 -05:00
Vailin Choi
035152a585 [svn-r13980] Cast num_objs, num_attrs and dims to "size_t" due to the -Mbounds problem
of the pgi-32 bit on indexing.
2007-07-14 15:37:49 -05:00
Vailin Choi
7ff9aa3538 [svn-r13979] purpose:
New feature.

Description:
Added routines to report on the amount of storage for:
1) 1.6 btree and heap storage info for groups
2) 1.8 btree, fractal heap storage info for groups, attributes and SOHM table
3) btree storage for chunked datasets
4) 1.8 superblock extension size.

Platform tested:
h5committested.
2007-07-13 16:17:44 -05:00
Vailin Choi
d44b27ddcc [svn-r13978] purpose:
New feature.

Description:
Added routines to report on the amount of storage for:
1) 1.6 btree and heap storage info for groups
2) 1.8 btree, fractal heap storage info for groups, attributes and SOHM table
3) btree storage for chunked datasets
4) 1.8 superblock extension size.

Platform tested:
h5committested.
2007-07-13 16:12:25 -05:00
Quincey Koziol
b566d21649 [svn-r13972] Description:
Add --with-default-api-version configure flag.

Tested on:
	Mac OS X/32 10.4.10 (amazon)
	FreeBSD/32 6.2 (duty)
	Linux/32 2.6 (kagiso)
2007-07-12 21:42:17 -05:00
Quincey Koziol
b4e029c70b [svn-r13971] Description:
Add --enable-deprecated-symbols configure option, to allow users to
remove deprecated public API symbols at configure time.

	Add bin/make_vers script to bin/reconfigure actions.

	Run bin/reconfigure to regenerate autotool components.

Tested on:
	Mac OS X/32 10.4.10 (amazon)
	FreeBSD/32 6.2 (duty)
	Linux/32 2.6 (kagiso)
2007-07-12 17:01:35 -05:00
Mike McGreevy
1d7e8f9dee [svn-r13928] Purpose: 1) Moving H5_CXX_HAVE_OFFSETOF macro to src/H5pubconf.h file.
2) Removing configuration of c++/src/H5cxx_pubconf.h file.

Reasoning: the additional pubconf file caused compilation complications, this is cleaner.

Tested:  kagiso, smirom
2007-06-29 15:52:56 -05:00
Quincey Koziol
cad9846d77 [svn-r13926] Description:
Add small interface to "wrap" a static buffer (usually on the stack), but
still allow for buffers larger than the static buffer to be allocated.  This
can eliminate _many_ short-lived buffer allocations in situations where the
buffer is a predictable size (or at least a "very likely" size).

    Also, some minor code cleanups, particularly in the SOHM caching code.

Tested on:
    Mac OS X/32 10.4.10 (amazon)
2007-06-28 22:12:45 -05:00
Mike McGreevy
58467956ba [svn-r13925] Purpose: intermediate checkin for offsetof fix for PGI compiler.
Description: added new configuration to generate a pubconf file
             in the c++/src directory, H5cxx_pubconf.h. When C++
             compiler recognizes 'offsetof', the macro 
             H5_CXX_HAVE_OFFSETOF is defined in the new
             pubconf file.

tested: kagiso, smirom
2007-06-28 15:36:08 -05:00
Quincey Koziol
d114cda9a0 [svn-r13914] Description:
Clean up files generated during testing.

Tested on:
    Linux/32 2.6 (chicago)
2007-06-26 11:08:38 -05:00
Mike McGreevy
9d5336acb2 [svn-r13846] Purpose: To remove changes from version #13839 (regarding DEFAULT_VFD).
Description: Changes made during this checkin need to be greatly
             modified, so I'm removing them now rather than leaving them
             in and fixing them later.
2007-06-08 08:12:13 -05:00
Mike McGreevy
58c565aee7 [svn-r13839] Purpose: creation of a DEFAULT_VFD macro in the test/Makefile.
Description:   a new configure flag has been created that will now set a macro
               in the test/Makefile. The flag is with-default-vfd=. When set to
               a virtual file driver (e.g. "--with-default-vfd=sec2"), the macro
               DEFAULT_VFD will hold this value.

Tested:        kagiso, smirom, linew
2007-06-07 16:42:40 -05:00
Raymond Lu
1280f90f81 [svn-r13829] Some systems (only SGI Altix ProPack 4 discovered so far) doesn't return correct
file size from MPI_File_get_size.  Bypass this problem by replacing it with
stat.  Add an option --disable-mpi-size in configure to indicate this function
doesn't work properly.  Add a test in testpar/t_mpi.c, too.  If it returns wrong
file size, print out a warning.

Tested on kagiso (parallel) because already tested the same change to v1.6 on 
several platforms (kagiso, cobalt, copper, and sol).
2007-06-02 13:19:36 -05:00
Quincey Koziol
b73e0ae8e7 [svn-r13815] Description:
Regenerate configuration files after latest checkin
2007-05-29 15:06:49 -05:00
Scott Wegner
87a41d4286 [svn-r13766] In Visual Studio 2005 for 64-bit, _WIN32 is defined, but not WIN32, so I've standardized all #ifdef's to use _WIN32. This should not affect any other platform.
Tested:
Visual Studio (32- and 64-bit) on Win XP
2007-05-18 10:14:43 -05:00
MuQun Yang
ae533db86d [svn-r13760] This will only affect windows platform,
change _int64 to __int64 within windows macro.
Windows can tolerant _int64 but mingw cannot. So we need to use __int64 to make HDF work on Mingw.

Compiled at linux and Mingw.
2007-05-16 14:25:59 -05:00
Quincey Koziol
670d598ff7 [svn-r13745] Description:
Take further advantage of the readers/writer locking in the metadata cache
and push the locking of the local heap up to the routines which call B-tree
routines, which should drastically lower the number of metadata cache protect/
unprotect calls.

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-05-10 15:35:35 -05:00
Quincey Koziol
d6bb18abbc [svn-r13648] Description:
Rename new error handling API routines from H5E<foo>_stack() to
H5E<foo>2().

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    FreeBSD/32 6.2 (duty)
    FreeBSD/64 6.2 (liberty)
2007-04-11 20:59:45 -05:00
Albert Cheng
de71a7fe74 [svn-r13647] Purpose:
bug fix.

Description:
If a non-existing or empty source file is used with -c option, the
script ended up doing nothing and exit 0--a false success.  Changed
code so that it would do compile and end in error.

Tested:
Kagiso.
2007-04-11 18:17:58 -05:00
Quincey Koziol
9d2070890b [svn-r13636] Description:
Change H5[D|G|T]<foo>_expand() "temporary" API routines to
H5[D|G|T]<foo>2() "versioned" routines.  Also added
H5[D|G|T](create|commit)_anon() routines to continue to allow "anonymous"
objects to be created in a file.

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    FreeBSD/32 6.2 (duty)
    FreeBSD/64 6.2 (liberty)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-04-11 11:22:16 -05:00
Mike McGreevy
a3d8f174dc [svn-r13616] This check-in updates the bin/reconfigure file to point to the most recent versions of the autotools.
Updated autotool versions are: autoconf 2.61, automake 1.10.0, and libtool 1.5.22.

Tested on kagiso.
2007-04-09 13:44:42 -05:00
Quincey Koziol
11c42cd994 [svn-r13422] Description:
Move split between "fixed" and "variable length" portions of superblock
to be immediately after the superblock version number.

	Minor cleanups in h5debug's handling of superblock signature.

Tested on:
	Mac OS X/32 10.4.8 (amazon)
	FreeBSD/32 6.2 (duty)
2007-02-27 15:23:29 -05:00
James Laird
b94776f418 [svn-r13418] Cleaned up some old paths in config/commence.am and removed some comments in the
template file config/Makefile.am.blank.

This is just a cleanup checkin.  Tested on kagiso.
2007-02-27 12:26:25 -05:00
James Laird
0d86163705 [svn-r13379] Added 'make help' target. This actually runs a script, bin/makehelp (formatting
the output in the makefile was pretty hard).

Tested that make still works on kagiso; no code changes at all.
2007-02-23 14:14:11 -05:00
Albert Cheng
1b98fd4dbe [svn-r13365] Bug fix.
Description: Multiple copies of Copyright appeared in Makefile.in.  This was
due to automake copying the copyright right in the included files such as
config/commence.am.

Solution: Automake treats double hashes as comments and does not copy them
to Makefile.in.  Changed all the copyright notices in config/*.am to use
double hashes for the Copyright right notice.

Tested: kagiso via bin/reconfigure.
2007-02-21 10:43:35 -05:00
James Laird
c64266b78e [svn-r13359] Fixed a bug where the -shlib flag for h5cc would end up on the Dependency line
in the Makefile.

Makefile change only.  Tested on kagiso, to be used to test on cobalt.
2007-02-20 18:39:44 -05:00
Albert Cheng
5e1bee4f60 [svn-r13311] Updated copyright notice.
Test:
Just visual inspection as these are all comments changes.
2007-02-14 17:25:02 -05:00
Quincey Koziol
847f01442b [svn-r13299] Description:
Put paths to testfile input & output directories in one place, making it
easier to modify them if we choose to re-arrange our testfile locations in
the future (this should probably be carried over to other test scripts).

    Make h5copy exit more cleanly if no command line parameters are given.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-02-14 09:44:42 -05:00
Quincey Koziol
bb392083b2 [svn-r13297] Description:
Add small 'h5mkgrp' tool to create groups in an HDF5 file from the command
line, allowing the group structure for a file to be created in a script.  This
tool closely follows the 'mkdir' command line tool in UNIX/Linux.

    Allow tool library applications to pass a FAPL to the h5tool_fopen() call,
giving some additional flexibility to tools which are adding objects to an
existing HDF5 file (like h5copy & h5mkgrp).

    Fix missing files in MANIFEST from previous checkin(s).

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-02-14 08:54:11 -05:00
Albert Cheng
a7cac4a194 [svn-r13264] Updated Makefile.am with new THG copyright notice.
Ran reconfigure to generate the Makefile.in files.
2007-02-07 17:28:58 -05:00
Albert Cheng
84fa11d2c7 [svn-r13261] Updated copyright notices.
Tested: visual inspection as they are all just comments.
2007-02-07 14:56:21 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
Quincey Koziol
d47a060445 [svn-r13250] Description:
Add support for inserting attributes into creation order index.

	Also, update support for dense link & attribute storage in h5debug.

Tested on:
	FreeBSD/32 6.2 (duty)
	Mac OS X/32 10.4.8 (amazon)
2007-02-06 21:18:17 -05:00
James Laird
59eccdaf69 [svn-r13181] Added a configure check to prevent a failure on Cygwin.
It seems that while Cygwin supports the time command, it has trouble with
the syntax
srcdir="../../hdf5/test" time ./testhdf5
and complains.
The solution is to test the above case in configure and not to use the time
command if it fails; Cygwin is fine with
srcdir="../../hdf5/test"  ./testhdf5

Tested on Cygwin and kagiso.  This feature shouldn't be a major compatibility
problem since every platform but Cygwin is already fine with the current
syntax.
2007-01-23 12:29:45 -05:00
James Laird
632773727c [svn-r13159] Added h5debug support for shared message structures.
Tests run on juniper, kagiso, smirom.  h5debug run manually on sample files on
Windows, juniper, and kagiso.
2007-01-19 13:51:03 -05:00
Elena Pourmal
0ede5b8c9c [svn-r12939] Description:
Removed all but one warnings for h5stat on Linux (heping)
2006-11-17 15:49:33 -05:00
James Laird
6b5a918b1e [svn-r12929] Hopefully this really is a fix for the tg-login errors.
The version of libtool used by HDF5 isn't directly affected by the reconfigure
script; instead, libtoolize --force must be used by hand.  Libtool was the
source of the problem, so rolling its version back to 1.5.14 should solve the
issue (at least temporarily).

Reconfigure should still work on both heping and kagiso.

Tested on heping, kagiso, and tg-login3.
2006-11-16 15:44:35 -05:00