Commit Graph

20587 Commits

Author SHA1 Message Date
Kimmy Mu
97c0b13af6 Merge pull request #2234 in HDFFV/hdf5 from ~KMU/hdf5:bugfix/intel_warnings to develop
* commit '30ac64d83aff5e022d51a17fd6c1d72903ae4f02':
  add new type support
2020-01-08 14:04:28 -06:00
Allen Byrne
6b6afd7a94 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_12)
* commit '7116d82f6b685261b5b4e64fada1a0a031cd7341':
  Remove mismerged code
  Cherry pick of 0225e6d596
  Cleanups from PR reviews
  Remove unnecessary H5CX call
  Refactor H5Dvlen_get_buf_size to use optional dataset operation, with generic fallback for VOL connectors that don't implement operation
  Refactor all the 'H5VL_*_optional' callbacks to move the type of operation out of the va_list, so it's at least possible for another connector to know what the operation is and decide whether to implement it or not.
  Update h5debug to retrieve file pointer through VOL framework
2020-01-07 16:33:43 -06:00
Quincey Koziol
7116d82f6b Merge pull request #2229 in HDFFV/hdf5 from vol_changes_to_1_12 to hdf5_1_12
* commit 'fcdcc4beb18cfb6098ec2f0e0d45db38ee59178f':
  Remove mismerged code
  Cherry pick of 0225e6d596
  Cleanups from PR reviews
  Remove unnecessary H5CX call
  Refactor H5Dvlen_get_buf_size to use optional dataset operation, with generic fallback for VOL connectors that don't implement operation
  Refactor all the 'H5VL_*_optional' callbacks to move the type of operation out of the va_list, so it's at least possible for another connector to know what the operation is and decide whether to implement it or not.
  Update h5debug to retrieve file pointer through VOL framework
2020-01-07 10:17:24 -06:00
Quincey Koziol
fcdcc4beb1 Remove mismerged code 2020-01-07 10:16:20 -06:00
Quincey Koziol
9a155a538b Cherry pick of 0225e6d596 2020-01-04 10:05:22 -06:00
Quincey Koziol
617e2166b2 Cleanups from PR reviews 2020-01-04 10:03:11 -06:00
Quincey Koziol
dd3931266a Remove unnecessary H5CX call 2020-01-04 10:02:55 -06:00
Quincey Koziol
fa599f4508 Refactor H5Dvlen_get_buf_size to use optional dataset operation, with generic fallback for VOL connectors that don't implement operation 2020-01-04 10:02:39 -06:00
Quincey Koziol
7d87aea63f Refactor all the 'H5VL_*_optional' callbacks to move the type of operation out
of the va_list, so it's at least possible for another connector to know what
the operation is and decide whether to implement it or not.

Added a new VOL sub-class called "introspect" where callbacks that report
information about the connector or container can be placed.  Added an
'opt_query' callback to this sub-class, for a connector to report back
to the library whether a particular optional callback operation is supported.
Also added a 'get_conn_cls' introspection callback, to retrieve the H5VL_class_t
of a connector (either the "current" connector, H5VL_GET_CONN_LVL_CURR, or
the terminal connector, H5VL_GET_CONN_LVL_TERM).

Moved the "post open" operation from a file 'specific' operation to a file
'optional' operation, now that it's possible to detect (with the 'opt_query'
introspection callback) whether a VOL connector implements an optional
operation, without just returning an error.

Added new internal VOL helper routines: H5VL_object_is_native, to determine
if an object is in (or is a) native file, and H5VL_file_is_same, to determine
if two objects are in (or are) the same terminal VOL connector's container.
(And moved the special handling for FILE_IS_EQUAL operation out of internal VOL
callback routine into H5VL_file_is_same)

Made new dataset 'get' operation for H5Dvlen_get_buf_size, aligning it better
with other 'get' operations in API.

Fixed several issues with pass-through connectors, which are now passing the
'make check-passthrough-vol' tests again.

A bunch of warning and style cleanups as well.
2020-01-04 10:02:08 -06:00
Quincey Koziol
b68c6977e6 Update h5debug to retrieve file pointer through VOL framework 2020-01-04 09:59:24 -06:00
Allen Byrne
a11b49fca2 Add MPI libs for standalone perf 2019-12-22 12:16:00 -06:00
Allen Byrne
56765f8110 Fix autotools test scripts 2019-12-22 11:55:54 -06:00
Allen Byrne
fa7036c087 Add ref files to test script 2019-12-21 17:37:42 -06:00
Allen Byrne
8f939992e7 h5diff test script fixes 2019-12-21 14:45:33 -06:00
Allen Byrne
5973278caa Add new h5diff files 2019-12-21 07:52:19 -06:00
Allen Byrne
8a9a6cdd92 Correct compile statement order 2019-12-20 14:57:06 -06:00
Allen Byrne
16aa64aa72 Fix compile statement order 2019-12-20 14:19:05 -06:00
Allen Byrne
37529db25c HDFFV-10976,-10980 h5dump, h5ls, h5diff use new ref APIs 2019-12-20 13:40:08 -06:00
Allen Byrne
a08a3eaeba Merge pull request #2168 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_12 to hdf5_1_12
* commit '4e652fe75f600ed66d2870fc101cf8883c017cbb':
  Standalone doesn't use h5test implementation.
2019-12-20 09:49:19 -06:00
Allen Byrne
4e652fe75f Standalone doesn't use h5test implementation. 2019-12-20 09:28:24 -06:00
David Young
3d89b55d61 Merge pull request #2160 in HDFFV/hdf5 from ~DYOUNG/netbsd:hdf5_1_12 to hdf5_1_12
* commit '471df15556025fd211351ad54183fa196b2fd341':
  In portable shell scripts (using #!/bin/sh) we have to use single square brackets, [ ], instead of the bash-ism double square brackets, [[ ]].
  Make this script work on hosts where PERL is not installed at /usr/bin/perl.
  Use HD prefix.
  Fix HDFFV-10937: use a more reliable (and probably faster) scheme for visiting all elements of a matrix in an arbitrary order.
  Apparently, + has no special meaning, and neither does \+, in so-called "obsolete" / POSIX "basic" regular expressions.  Also, not every version of `sed` out there supports the `-E` option.  So delete the -E flag and use the regex `[^/][^/]*` instead of `[^/]+`.
  Make these scripts relocatable again: derive a relative path for the original installation prefix from the examples prefix.  Use that relative path to locate the current installation prefix, always.  Fall back to an absolute installation prefix if the relative path cannot be derived.
  Get the path to prefix right: needs a ../ to back out of subdirectory c/.
  Make this script relocatable again: derive a relative path for the original installation prefix from the examples prefix.  Use that relative path to locate the current installation prefix, always.  Fall back to an absolute installation prefix if the relative path cannot be derived.
  Let us override the examples directory using --with-examplesdir=DIR. This is handy for NetBSD where HDF5 examples are installed by convention in $prefix/share/examples/hdf5/ rather than in ${prefix}/share/hdf5_examples/, which is the HDF5 default.
  Follow longstanding execv convention for compatibility with NetBSD.
  Under the examples directories, always find the installed HDF5 executables and scripts using @prefix@ instead of a relative path, because the number of ../ in the relative path will be different on NetBSD than on other systems.
  Make the HDF5 configure script grok NetBSD.
  For portability, insulate the HDF5 library from some system macros.
  Not every system has perl installed in /usr/bin/, so change the shebang (#!) line to `/usr/bin/env perl` to locate perl on the PATH.
  For portability, use the POSIX sh(1) string-comparison operator `=` instead of `==`.
2019-12-19 17:27:12 -06:00
David Young
471df15556 In portable shell scripts (using #!/bin/sh) we have to use single square
brackets, [ ], instead of the bash-ism double square brackets, [[ ]].
2019-12-19 17:26:34 -06:00
David Young
d841be3ef3 Make this script work on hosts where PERL is not installed at
/usr/bin/perl.
2019-12-19 17:26:34 -06:00
David Young
0f988be683 Use HD prefix. 2019-12-19 15:03:41 -06:00
David Young
687feb489c Fix HDFFV-10937: use a more reliable (and probably faster) scheme for
visiting all elements of a matrix in an arbitrary order.
2019-12-19 15:03:41 -06:00
David Young
f2be0c5b54 Apparently, + has no special meaning, and neither does \+, in so-called
"obsolete" / POSIX "basic" regular expressions.  Also, not every version of
`sed` out there supports the `-E` option.  So delete the -E flag and use
the regex `[^/][^/]*` instead of `[^/]+`.

Add config/netbsd to the MANIFEST.
2019-12-19 15:03:41 -06:00
David Young
13553fa261 Make these scripts relocatable again: derive a relative path for the
original installation prefix from the examples prefix.  Use that
relative path to locate the current installation prefix, always.  Fall
back to an absolute installation prefix if the relative path cannot be
derived.
2019-12-19 15:03:41 -06:00
David Young
4b68a80359 Get the path to prefix right: needs a ../ to back out of subdirectory
c/.
2019-12-19 15:03:41 -06:00
David Young
4ff67b044e Make this script relocatable again: derive a relative path for the
original installation prefix from the examples prefix.  Use that
relative path to locate the current installation prefix, always.  Fall
back to an absolute installation prefix if the relative path cannot be
derived.
2019-12-19 15:03:41 -06:00
David Young
be8c2117b6 Let us override the examples directory using --with-examplesdir=DIR.
This is handy for NetBSD where HDF5 examples are installed
by convention in $prefix/share/examples/hdf5/ rather than in
${prefix}/share/hdf5_examples/, which is the HDF5 default.

Place hdf5_examples/ under ${datarootdir} which on most systems will be
${prefix}/share/, anyway.
2019-12-19 15:03:41 -06:00
David Young
126963be0e Follow longstanding execv convention for compatibility with NetBSD. 2019-12-19 15:03:40 -06:00
David Young
0f49602641 Under the examples directories, always find the installed HDF5
executables and scripts using @prefix@ instead of a relative
path, because the number of ../ in the relative path will be
different on NetBSD than on other systems.

Examples on NetBSD are installed at ${prefix}/share/examples/hdf5/
instead of at ${prefix}/share/hdf5_examples/, by convention.  It may be
the same on other BSDs, I'm not sure.
2019-12-19 15:03:40 -06:00
David Young
229182c7ea Make the HDF5 configure script grok NetBSD. 2019-12-19 15:03:40 -06:00
David Young
a38f42c1f0 For portability, insulate the HDF5 library from some system macros. 2019-12-19 15:03:40 -06:00
David Young
9e13aab191 Not every system has perl installed in /usr/bin/, so change the shebang
(#!) line to `/usr/bin/env perl` to locate perl on the PATH.

Everything after the first pathname in the shebang line is treated as
a single argument to the command interpreter (/usr/bin/env "perl -w"),
and there is not ordinarily any such program as "perl -w".  So if the
old shebang line used an option such as `-w`, add a `use warnings;`
statement to the script---note that the semantics change slightly.
`bin/destdep` uses a trick to pass `-p` to `/usr/bin/env perl`.  It
couldn't hurt to use the same trick to pass `-w`.

With these changes, `sh autogen.sh` runs on NetBSD.  It ought to still
work on every other system HDF5 supports, too.
2019-12-19 15:03:40 -06:00
David Young
946086e12f For portability, use the POSIX sh(1) string-comparison operator =
instead of `==`.
2019-12-19 15:03:40 -06:00
Allen Byrne
d87609a188 Merge pull request #2154 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_12 to hdf5_1_12
* commit 'dd6b6ce61ca1a6af8e872ad09ef5da6ca437e9bc':
  Adjust cache.c only variables.
  Fix include to correct memory calls - big-endian issue.
2019-12-19 10:24:42 -06:00
Allen Byrne
dd6b6ce61c Adjust cache.c only variables. 2019-12-18 14:30:14 -06:00
Allen Byrne
c71198997b Fix include to correct memory calls - big-endian issue. 2019-12-18 14:07:51 -06:00
Allen Byrne
76a406091d Merge pull request #2147 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_12 to hdf5_1_12
* commit '1b4957c585e255850b711edb08903d99204c7a61':
  Minor Whitespace
  Remove duplicate instance
2019-12-17 11:06:54 -06:00
Allen Byrne
1b4957c585 Minor Whitespace 2019-12-17 09:08:16 -06:00
Allen Byrne
ed23b6baad Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_12)
* commit '1097ac60c2b95a2b958a3150b537c75f512cacca':
  Merge t_2Gio test into hdf5_1_12.  This will eventually be refactored out after merging the test functionality into the testphdf5 test.
  Merge t_2Gio test into hdf5_1_12.  This will eventually be refactored out after merging the test functionality into the testphdf5 test.
  Minor tweaks noticed while going over VOL documentation.
  Yanked -Wc++-compat from the flags used to build the C library in both the Autotools and CMake.
  Fixed missing blob callbacks in test VOL connectors.
  Trivial parameter renaming in VOL API calls.
2019-12-17 08:54:04 -06:00
Dana Robinson
1097ac60c2 Merge pull request #2145 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_12 to hdf5_1_12
* commit 'd1c07a5a6f1653ed9abd37b319e210853be9b68d':
  Minor tweaks noticed while going over VOL documentation.
  Yanked -Wc++-compat from the flags used to build the C library in both the Autotools and CMake.
  Fixed missing blob callbacks in test VOL connectors.
  Trivial parameter renaming in VOL API calls.
2019-12-16 21:17:51 -06:00
Richard Warren
654d439d58 Merge pull request #2144 in HDFFV/hdf5 from Merging-t_2Gio-into_hdf5_1_12 to hdf5_1_12
* commit '663d6e0118d6077b8206b69521a3909a5444c8bf':
  Merge t_2Gio test into hdf5_1_12.  This will eventually be refactored out after merging the test functionality into the testphdf5 test.
  Merge t_2Gio test into hdf5_1_12.  This will eventually be refactored out after merging the test functionality into the testphdf5 test.
2019-12-16 19:02:55 -06:00
Richard Warren
663d6e0118 Merge t_2Gio test into hdf5_1_12. This will eventually be refactored out after merging the test functionality into the testphdf5 test. 2019-12-16 17:00:08 -05:00
Richard Warren
4eeeda3b86 Merge t_2Gio test into hdf5_1_12. This will eventually be refactored out after merging the test functionality into the testphdf5 test. 2019-12-16 16:59:26 -05:00
Dana Robinson
d1c07a5a6f Minor tweaks noticed while going over VOL documentation. 2019-12-16 08:14:02 -08:00
Dana Robinson
957940befb Yanked -Wc++-compat from the flags used to build the C library in both
the Autotools and CMake.
2019-12-16 08:13:47 -08:00
Dana Robinson
19f32485cf Fixed missing blob callbacks in test VOL connectors. 2019-12-16 08:13:31 -08:00
Dana Robinson
ca6294a0e9 Trivial parameter renaming in VOL API calls. 2019-12-16 08:13:14 -08:00