branch.
Removed the configure option that allows selective disabling of individual
internal filters (fletcher32, shuffle, etc.).
This feature mucked up the code with a lot of #ifdefs, saved very little space,
and was not scalable to a general scheme for library size reduction. We've
decided to remove the feature while we investigate a more general scheme for
decreasing the library size.
Part of: HDFFV-9086
Tested on: h5committest
- Remove Infering parallel compilers (C and Fortran) from configure.ac
- Remove restriction to build shared with parallel
- Cleanup parallel sections in configure.ac
- remove large file support checks
- MPE fixes.
tested with h5committest.
ib files. The fix also removed dependencies on libhdf5, etc. when the --disable-sharedlib-rpath co
nfigure option was invoked.
Added instead configure variable hardcode_into_lib=no. This removes rpath from lib files on Linux
and solaris machines.
Tested with h5committest on jam, koala, ostrich and platypus (cmake), and with configure option --disable-sharedlib-rpath on emu, platypus and quail.
Remove all traces of MPI-POSIX VFD and GPFS detection/code.
Remove remaining traces of stream VFD.
Remove testpar/t_posix_compliant test (it's not actually verifying anything).
Clean up H5D__mpio_opt_possible() further.
Moved environment variable that disables MPI collective operations into
MPI-IO VFD (instead of it being in src/H5S.c).
A few other small code cleanups.
Tested on:
Mac OSX/64 10.9.2 (amazon) w/parallel & serial
behind by "make distclean" (see below); modified appropriate Makefile.am files and ran
bin/reconfigure to create Makefile.in to fix the problem.
Here is the list of the files "make disclean" doesn't remove:
tools/h5dump/testfiles
tools/h5repack/testfiles/h5diff_attr1.h5
tools/h5repack/testfiles/tfamily00000.h5
tools/h5repack/testfiles/tfamily00010.h5
tools/h5repack/testfiles/tfamily00002.h5
tools/h5repack/testfiles/tfamily00004.h5
tools/h5repack/testfiles/tfamily00006.h5
tools/h5repack/testfiles/tfamily00008.h5
tools/h5repack/testfiles/tfamily00001.h5
tools/h5repack/testfiles/tfamily00003.h5
tools/h5repack/testfiles/tfamily00005.h5
tools/h5repack/testfiles/tfamily00007.h5
tools/h5repack/testfiles/tfamily00009.h5
tools/h5jam/testfiles/h5jam-ub-nohdf5.txt.err-sav
tools/h5jam/testfiles/h5jam-help.txt.err-sav
tools/h5jam/testfiles/h5unjam-help.txt.err-sav
tools/h5jam/testfiles/h5jam-ub-nohdf5.txt.out-sav
tools/h5jam/testfiles/h5jam-help.txt.out-sav
tools/h5jam/testfiles/h5unjam-help.txt.out-sav
hl/fortran/test/dsetf5.h5
c++/test/tattr_multi.h5
c++/test/tattr_scalar.h5
c++/test/tfattrs.h5
c++/test/tattr_basic.h5
c++/test/tattr_compound.h5
c++/test/tattr_dtype.h5
Tested on jam and emu in place and using srcdir with the svn stat command.
This fix doesn't address two problems:
tool/h5dump/testfiles directory is not removed by "make distclean" and it should be
tools/misc/testfiles directory is removed by "make distclean" and it shouldn't be
Ran bin/reconfigure to update the Makefile.in in directories not part of the fortran directory check=in. Updates Makefile.in due to changes made in configure.in for the Fortran 2003 additions.
Tested on all platforms run under daily tests.
General shared library improvements for CYGWIN / AIX
Description:
Shared libraries are disabled on both CYGWIN and AIX due
to inability to build them correctly. Part of the problem
in both of these situations is the lack of the libtool
flag -no-undefined, which tells libtool that all needed
symbols are defined at link time (a requirement on these
systems) and that it's okay to build shared libraries.
Another problem are lack of dependencies between wrapper
libraries and core C HDF5 library.
This patch addresses both of these by fixing configure to
add in -no-undefined flag for libtool during linking and
adds automake dependencies in the Makefile.am files.
After testing, both CYGWIN and AIX now generate shared
libraries, but there are still some test failures in each.
(cache_api, dt_arith, and testerror.sh on CYGWIN, and
fortran tests on AIX).
Even though the shared libraries are not quite perfect,
this is a general improvement to what we had before, so
I'm applying the patch anyways. Note that default behavior
of shared libraries on these systems being disabled has
NOT been changed and requires the use of the
--enable-unsupported to attempt to build them.
We will need to address the test failures in each
architecture prior to formally supporting shared
libraries on each.
Tested:
h5committested & CYGWIN tested (on bangan)
(AIX tested by Albert on bp-login2)
Add "silent make" mode configure option.
Description:
Automake 1.11 has a new option available that allows for a
silent make mode. This functionality needs to be explicitly
enabled in configure.in via the use of the automake macro
AM_SILENT_RULES, which is what this commit is adding.
This introduces a new configure option:
--{en|dis}able-silent-rules
This option is on by default, and simplies compile and link
line outputs when building the library. Disabling this option
will print full "verbose" output (i.e., full compile and
linking lines for each target).
Tested:
This was tested on jam & h5committested
- Revise shared Fortran library disabling scenarios in configure
- Improve configure output summary
Description:
Shared Fortran libraries are not supported on Mac, but were being
disabled by configure in a way that also forced the C libraries
to be static-only. This has been fixed, so now only shared Fortran
is disabled while shared C can remain.
This prompted two additional changes:
1. While working on the check that addresses whether or not
shared Fortran libraries are allowed, removed old and no
longer needed check(s) that disable shared Fortran
libraries with HP, Intel 8, PGI, and Absoft compilers.
(Essentially, Mac is the only situation in which Fortran
shared are disabled by configure.)
2. Having two different states of libraries (i.e. shared C
library with static-only Fortran library) was not apparent
in the configure summary, which labeled all libraries as
either shared and/or static. I've added lines to both the
C++ and Fortran output sections to list shared/static-ness
of these libraries specifically.
Additionally, I've made sure that the new --enable-unsupported
configure option correctly overrides configure if it tries to
disable a shared library.
Tested:
jam, fred, & h5committest
* Fixed error in passing an array of characters with different length
field names for h5tbmake_table.
* Fixed error in h5tget_field_info_f with packing the C strings
into a fortran array of strings.
* Added optional arguement to h5tbget_field_info_f called maxlen
which returns the maximum string character length in a field name
element.
* Uncommented out test for h5tbget_field_info_f in the test program
and added additional checks for the output.
Tested: jam (intel and gnu compilers)