Various tweaks for autotools thread-safety and Pthreads support.
- Moved the check for pthread_attr_setscope() into the thread-safe
checks section. Documented its necessity and added a cross-compiling
option and helpful comment.
- Moved the high-level library checks up to the same place where
Fortran and C++ are checked. This will make it easier to handle
threadsafe/high-level combinations later.
- Also changed the default of --enable-pthread to 'check', which is
the same as the old 'yes' behavior where we just check the standard
locations. 'yes' and 'no' are still accepted, though 'no' will
currently produce an error since the autotools only support Pthreads.
Fixes: HDFFV-9087
Tested on: h5committest
jam (w/ threadsafe)
Solaris and OS X.
Added public API functions that expose the C library's memory allocator
for use in filter functions that need to allocate or resize buffers.
Intended for use with filter plugins, particularly on Windows, where C
runtime (CRT) issues can cause problems.
Fixes: HDFFV-9100
Tested on: h5committest + OS X (quail) + Solaris (emu)
Purpose:
Fix HDFFV-9124 - Remove old libtool post-processing
Description:
This revision removes some post-processing of the generated libtool
script, which was added back in 2003 (see svn revisions 6285 and 6293)
to address a deficiency in which the script failed to set the '$wl'
variable for icc and pgcc compilers. Libtool has since fixed the issue,
and the post-processing we've been running has essentially been a no-op
for years, so it's safe for us to remove the post-processing snippet.
Tested:
Jam using pgcc and icc compilers.
H5Rdereference should check for default (HADDR_UNDEF) value and not continue processing and return so that ret value can be checked and handled properly
Tested: jam (gnu)
Since off_t is exposed by the C API, the large file definitions MUST
be exposed so that client code matches the library.
These definitions have been switched back to AM_CPPFLAGS, which is
exported to h5cc, etc. The POSIX and GNU definitions changes from
r26347 have been left as using H5_CPPFLAGS, which is not sent to
h5cc as we don't want to inflict our needs on external users.
Fixes: HDFFV-9152
Tested on: h5committest
columns that are output by svn stat.
Previously, the script assumed that they would all be blank for newly-
added files. This is not always true when merging.
Part of: HDFFV-8895
Tested on: jam (bin/chkmanifest only)
which is where the rest of the #defines reside.
The key difference is that AM_CPPFLAGS is exported to h5cc. These #defines
are not necessary to consume the HDF5 API and it's bad form to inflict
our build configuration on users. In particular, the GNU/POSIX defines
could easily conflict with a user's.
Fixes: HDFFV-9152
Tested on: h5committest
- Adds 'F' suffixes for most float constants.
- A few constants MUST be of type double. These now receive the long
double L suffix and are then cast to double. I do this via a new
H5_DOUBLE() macro which was added to H5private.h.
Fixes: HDFFV-9148
Tested on: h5committest
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
for use in filter functions that need to allocate or resize buffers.
Intended for use with filter plugins, particularly on Windows, where
C runtime (CRT) issues can cause problems.
Fixes: HDFFV-9100
tested on: jam (minor, localized change)
calls that use a FUNC_ENTER macro that does not include parentheses.
This does not affect any source code at this time.
Part of: HDFFV-9141
Tested on: jam (bin/trace behavior only)
Updates the bin/chkmanifest script so that it parses the output
of svn commands instead of hacking at the .svn/entries file. This
will make the script more future-proof and allows it to work with
current Subversion repositories.
Tested on: jam (bin/chkmanifest only)
Revise dataspace encode/decode routines to make them work better with
future virtual dataset feature.
Tested on:
Mac OSX/64 10.10.2 (amazon) w/serial
(h5committest forthcoming)
Add H5Sis_regular_hyperslab() and H5Sget_regular_hyperslab() API routines,
along with tests.
Tested on:
Mac OSX/64 10.10.2 (amazon) w/serial
(h5committest forthcoming)
Cleans up time functions in the autotools input files. Removed deprecated
gettimeofday() time zone code and configure processing. Also removed
some unused time function configure checks and defines.
Fixes: HDFFV-9083 and HDFFV-9085
Tested on: 32-bit linux, serial and parallel (jam)
OS X (kite)
Solaris (emu)
- Updated configure.ac so that the direct VFD can now be built
without specifying _GNU_SOURCE, etc. on the command line.
- The direct VFD is now disabled by default. It was previously
enabled, but the configuration script couldn't configure it
properly, making it a moot point.
Fixes: HDFFV-9057, HDFFV-7567, HDFFV-9088, HDFFV-7566
Tested on: h5committest
jam w/ direct VFD (*very* slow!)
NOTE: platypus cmake fails, but this is not a new error.
Removes the --with-default-vfd option from configure. This was basically
useless and only allowed selecting the stdio VFD. Since this is a demo
VFD and not really a production VFD, we decided to retire this option.
Fixes: HDFFV-9081
Tested on: h5committest
NOTE: platypus cmake fails, but this is not a new error.