Tweak make_vers script so that it indents preprocessor commands inside
#ifdefs, is more forgiving and informative about the input file's prefix, and
is better parameterized with the global variables at the beginning of the
script. When major versions are branched from the trunk, the $max_idx value
should be the only value that needs to be changed in the version of the script
on the trunk.
Changes to H5version.h file are just indention.
Tested on:
Mac OS X/32 10.6.8 (amazon)
(too minor to require h5committest)
Test scripts sometimes need to filter some system-specific messages from the
actual output so that it can match the correct expected output. These filtering
functions, ususally called "STDOUT_FILTER()" and "STDERR_FILTER()" were being
repeated in individual test scripts. This becomes a maintenance problem and
is error prone.
Solution:
Extract the two filter functions code to bin/output_filter.sh and then each
test script sources it in. This allows reuse of coding and is much easier to
maintain and to add new filtering.
Tested:
LLNL Zeus (linux64 cluster) and Dawndev (Blue-Gene cluster), both for serial
mode only.
--This line, and those below, will be ignored--
M tools/misc/testh5mkgrp.sh
M tools/h5dump/testh5dump.sh.in
M tools/h5diff/testh5diff.sh
M tools/h5copy/testh5copy.sh
M tools/h5ls/testh5ls.sh.in
M MANIFEST
A bin/output_filter.sh
Teach the tracing script & routines about the 'unsigned long' and
'unsigned long long' types, so that the H5Pset_fapl_log() API routine gets
tracing information correct.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode
FreeBSD/64 8.2 (freedom) w/gcc4.6, w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (koala) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, w/threadsafe, in production mode
Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
Mac OS X/32 10.6.6 (amazon) in debug mode
Mac OS X/32 10.6.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Mac OS X/32 10.6.6 (amazon) w/parallel, in debug mode
The content of bin/config_para_ibm_sp.sh has been added to
release_docs/INSTALL_parallel long ago. Just got around to remove it.
Tested: no need since nothing refer to config_para_ibm_sp.sh except MANIFEST.
Ran bin/chkmanifest.
Description:
In an AIX 6.1 system, configure --enable-shared could not build a shared
HDF5 library. The problem was because the version of config.guess was too
old to recongnize AIX 6.X and also configure.in had a local fix which did
not recognize AIX 6.X.
Solution:
1. Mike McGreevy updated bin/config.guess to handle AIX 6.X.
2 Albert fixed configure.in to recognize AIX 6.X.
Note that though HDF5 can build shared lib for AIX 6.X systems
but it still could not install the proper library as in AIX 5.X
systems. Also, bin/config.sub should be updated too.
Tested: BP which is the AIX 6.1 system that exposed this problem.
Cleaned up the code a bit by:
1. It used to that -xxx options must be at the beginning such that
"buildhdf5 --disable-shared -config" was an error. Now -xxx options
can appear anywhere in the command options.
2. Eliminate the need of variables $CONFIG_CXX, $CONFIG_FORTRAN,
$CONFIG_PARALLEL by appending their values to $CONFIG_OP directly.
3. Also append $WITH_SZLIB to $CONFIG_OP when it is defined, not later.
4. Call CONFIG directly instead of setting up $CONFIGURE.
5. Removed the last TIMESTAMP since "trap 0" will call QUIT which calls
TIMESTAMP already. This eliminated the extra timestamp when it finishes
normal.
tested:
Tested by hand since h5committest does not really test this command.
Autotool Upgrade / Libtool Bug Fix
Description:
Updated autotools referenced in bin/reconfigure as follows:
Autoconf 2.64 --> Autoconf 2.65
Automake 1.11 --> Automake 1.11.1
Libtool 2.2.6a --> Libtool 2.2.6b-mcg
The referenced libtool version is a custom version of 2.2.6b. It
has been tweaked to fix a bug in libtool that occurs
when using PGI 10.0 compilers. A check incorrectly categorizes
the C++ compiler as version 1.0 instead of 10.0, and the link
line is subsequently set up incorrectly and fails to compile.
A patch has been made available and will be included in the next
release of libtool, but in the meantime I've applied the patch to a custom
installation as indicated above. This bin/reconfigure now references
the custom installation, and the resulting configure script will correctly
categorize the PGI 10.0 C++ compiler.
Ran bin/reconfigure to regenerate configure and makefiles.
Tested:
jam and amani with PGI 10.0 compilers.
h5committest
Bring changes from file free space branch back to the trunk. *yay!*
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.8 (amazon) in debug mode
Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Header Installation Fix
Description:
Updated the bin/install-sh script with the copy from the new Automake 1.11
distribution. This addresses the problem with Solaris only copying the
first header file on the one-line command to the install directory.
Tested:
Linew, Jam, Liberty, Smirom:
- build, test, install, installcheck.
Updating autotools
Description:
Installed new autotools and used them to reconfigure HDF5.
- Automake upgraded to 1.11
- Autoconf upgraded to 2.64
- bin/reconfigure script edited to use new versions (on jam), and
run to generate new configure script and Makefile.in's.
- configure.in script edited to add "_cv_" to all AC_CACHE_VAL strings
(in order to comply with new autoconf standard).
Tested:
Tested on machines jam, smirom, liberty, linew.
Tested w/ features c++, fortran, parallel.
Tested w/ compilers gcc, pgcc, icc.
Further testing via Daily Tests should catch any other outliers. Upon
passing DT's, I'll propogate the new tools into 1.8, hdf4, et cetera.
Bring r16846 from revise_chunks branch back to trunk:
Fix broken (for how long?) H5_ASSIGN_OVERFLOW macro to actually detect
overflows during assignments, along with several errors it [now] detected.
Cleaned up a fix minor warnings and/or pieces of code also.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committest not needed - multi-platform test performed on branch)
- Updated bin/reconfigure to use latest version of automake (1.10.2).
Re-generated Makefile.in's by running bin/reconfigure.
- Added libtool version numbers to c++, fortran, hl, hl c++, and hl fortran
libraries.
Tested:
jam, liberty, smirom
Bring r16305 back from revise_chunks branch:
Add detection of C99 "designated initializers" to configure script and
use new H5_HAVE_C99_DESIGNATED_INITIALIZER macro to conditionally compile
default layout variables in src/H5Pdcpl.c
Also, minor code cleanups, etc.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(Other platforms tested on branch)
The Tail command in jam (a newer linux) does not accept the +2l option.
It ended up wiping most of the release_doc/RELEASE.txt file contents.
Replaced the "tail +2l" by "sed -e 1d".
Tested:
Tested in Jam to verify it functions properly again.
was not updated automatically and therefore
was always outdated. Modified h5vers script to update
the version for the VMS configuration file as we do for
the similar windows file.
Platforms tested:
kagiso with bin/h5vers
th user's definition of H5_USE_16_API. The H5_USE_16_API_DEFAULT is defined through
configure with the flag --with-default-api-version=v16.
Tested with h5committest.
Description:
- Remove need to set LD_LIBRARY_PATH when using shared szip library.
- Libtool 2.2.6a is now used to generate libraries.
- 'make check install' dependency bug is fixed, and should no longer
break the build.
- removed hard coding of shell in config/commence.am, as this causes
problems on Solaris with the new version of libtool.
- RELEASE.txt with appropriate changes.
Tested:
- kagiso, smirom, linew (merged from 1.8, pretty quick tests)
> 1.
Description: Added a new field 'app_count' to H5I_id_info_t struct, to track
the reference count on an id due to the application. the old 'count' field
tracks the total. Generally any id visible to the application gets placed
in app_count. Added app_ref boolean parameter to H5I_inc_ref, H5I_dec_ref,
H5I_register, H5I_clear_type, and a few other functions, to specify whether
the operation(s) being performed on the id(s) are due to the application
(TRUE) or not (FALSE). Test added for this case.
Tested: kagiso, smirom, linew (h5committest)
Description:
-- Remove a couple lines of debugging output
-- Make sure H5_PACKAGE_NAME outputs 'HDF5' rather than 'hdf5'
-- Take into account version strings with a postfix. This isn't currently used in HDF5 1.9 branch, but is in HDF5 1.8.
Tested:
kagiso
Description:
This commit is a major update to the Windows-maintained H5pubconf.h file. This file is statically-distributed because Windows cannot generate it dynamically as other platforms do. Previously, our Windows version contained a minimal subset of the macro definitions required. To update, I've gone through each macro (based on kagiso's output), and tested for the correct value on Windows. This allows us to better target code based on feature flags. It should also be easier to update in the future as changes are made to the configure script.
This commit also contains one small bug fix in h5ls.c. Some Windows-specific code was missing a local variable definition. The bug went unnoticed because Windows didn't define the feature flag correctly.
I've also made changes to the h5vers script. Whenever the version string is incremented (automatically by h5test after a snapshot), the strings in H5pubconf.h will also be updated.
Tested:
VS2005 on WinXP (32- and 64-bit)
VS.NET on WinXP 32-bit
h5vers tested under Cygwin
Description: Test gcov script on kagiso
Solution: The bin/gcov_script was not working on kagiso (it was written to
be used on heping, but since we don't have heping anymore, we
need it on kagiso). There was a problem in that the generated
.gcda files were being created in the /src/.libs directory when
the script was expecting them to be in the /src directory. Also,
-lgcov was added to LDFLAGS.
The script performs configuration of HDF5 and runs the tests, and
generates code coverage statistics for the source code files,
which it places in the gcov_logs directory.
The individual *.gcov files show the number of times each
individual line of the associated source file is executed, and
displays branches tken information as well. The file gcov.log
shows a summary of each source file's coverage statistics in one
easily accessible file.
Tested: kagiso
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)