--disable-symbols is specified and to ensure that production
mode (where symbol stripping is usually a part of the FLAGS)
doesn't conflict with --enable-symbols. This will allow better
(though still limited) debugging of production/optimized code.
The PGI, XLC, Intel, and Solaris files were not modified and
do not generate the symbol removal flag at this time. They'll
be updated in future check-ins. In the meantime, production
mode on those platforms still usually strips symbols.
This check-in also updates the Cygwin-specific files to use
the new autotools FLAGS and option scheme when uncommon
(non-gnu, etc.) Fortran compilers are used.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
autotools serial (prod/debug w/ and w/o symbols)
symbol presence/absence checked with objdump
symbols, asserts, profiling, and optimization.
Also much refactoring, improved help, and --enable-<foo> options will
now emit errors on nonsense (e.g.: --enable-foo="asdfasdf").
The libhdf5.settings.in file was also reformatted.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
serial and parallel autotools w/ various options
Buffers that will be written to disk will now always be cleared since
not doing this has huge security implications.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0, x86_64) gcc 5.2.1
serial autotools
parallel autotools (MPICH 3.1.4)
serial CMake
Add --enable-memory-alloc-sanity-check option to configure, to track and
sanity check memory allocations within the library. This is orthogonal to the
--enable-using-memchecker option and can be used with/without it.
Tested on:
MacOSX/64 10.11.2 (amazon) w/serial & parallel
(h5committest forthcoming)
Fixes OS X compilation problems and brings some Linux symbols in
line with the Autotools when building with CMake.
Tested on: 64-bit OS X 10.11.1 El Capitan (Darwin 15.0.0)
Xcode 7.1 Apple LLVM 7.0.0 (clang-700.1.76)
Fix tests accordingly and fix misuse of hbool_t in various places
Fix initialization of H5Pgcpl/ocpl structs in property decoding routines
Tested on:
Linux/32 (jam)
Linux/64 (platypus)
Linux/PPC64 (ostrich)
MacOSX/64 10.11
NOTES:
- Developers will have to run autogen.sh before building with the autotools.
- autogen.sh takes the -p option to mimic the old bin/reconfigure behavior.
- The generated error, overflow and version headers have been left in place.
- The generated H5LT parser code has also been left in place.
- There are no changes for CMake users at this time.
Tested on: h5committest
Added -qflag=w:w to config/ibm-flags. This will suppress informational
messages on AIX, suppressing thousands of "__attribute__ is non-portable"
messages in the AIX nightly test output.
Tested on: Nothing. I have no access to an AIX machine.
Removed library checks for nsl and socket from the autotools configure on
Solaris.
The nsl and socket libraries are no longer used by the library. Fixes
HDFFV-9118.
Tested on: jam w/ autotools and CMake
emu w/ autotools
Solaris.
The nsl and socket libraries are no longer used by the library. Fixes
HDFFV-9118.
Tested on: h5committest (CMake fortran fails due to an unrelated error)
jam w/ CMake
Updates to older special config files in configure.ac:
- solaris2.x renamed to solaris. There are recent changes to this file
but the "2.x" is misleading since the changes are applied to all
versions.
- Removed support for OSF 4.x/5.x (Digital and Tru64 Unix). We no
longer have the config files for these.
Tested on: h5committest
- solaris2.x renamed to solaris. There are recent changes to this file
but the "2.x" is misleading since the changes are applied to all
versions.
- Removed support for OSF 4.x/5.x (Digital and Tru64 Unix). We no
longer have the config files for these.
Tested on: jam (autogen.sh only)
emu (Solaris 11)
Description:
XL compilers in ostrich (PowerPC64 linux) fail in test/dt_arith
because of the removal of the LLONG_TO_LDOUBLE_CORRECT (removed in
r26625) and LDOUBLE_TO_LLONG_ACCURATE (removed in r26623).
Solution:
Reverse revisions
r26623: bring back LDOUBLE_TO_LLONG_ACCURATE configure macro
r26625: bring back LLONG_TO_LDOUBLE_CORRECT configure macro
r26627: bring back WANT_DATA_ACCURACY configure macro which is
used together with the above two macros. This also brings
back the enable-dconv-accuracy configure option.
Tested:
h5committested.
Also tested in ostrich using the XL compilers.
Clean up obsolete and unsupported versions of GCC, and update for GCC 5.1
release.
Tested on:
Mac OSX/64 10.10.3 (amazon) w/C++, FORTRAN, serial, production & parallel
(gcc 5.1 not available on other systems)
Bring r26651 from autotools_rework branch to trunk:
Remove the VSNPRINTF_WORKS macro, it's working around bugs in old SGI
& HP compilers.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26550 from autotools_rework branch to trunk:
Remove orphaned macro definitions (not attached to anything in the library)
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26549 from autotools_rework branch to trunk:
Remove the BAD_LOG2_CODE_GENERATED macro/define, it's working around bugs
in old SGI compilers.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26545 from autotools_rework branch to trunk:
Remove the WANT_DATA_ACCURACY macro/define/configure option, since it's no
longer attached to any library behavior.
Tested on:
Linux/32 2.6.8 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26543 from autotools_rework branch to trunk:
Remove the LLONG_TO_LDOUBLE_CORRECT macro/define, it's working around
bugs in very old SGI/FreeBSD/Windows compilers.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26513 from autotools_rework branch to trunk:
Remove the LDOUBLE_TO_LLONG_ACCURATE macro/define, it's working around
bugs in older SGI, HP/UX, MacOSX and Windows .NET 2003 compilers.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26511 from autotools_rework branch to trunk:
Remove the FP_TO_INTEGER_OVERFLOW_WORKS macro/define, which is for working
around bugs in the Cray X1 compiler and is no longer supported.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)