summaryrefslogtreecommitdiffstats
path: root/bin/make_vers
diff options
context:
space:
mode:
authorLarry Knox <lrknox@hdfgroup.org>2020-01-22 14:34:30 (GMT)
committerLarry Knox <lrknox@hdfgroup.org>2020-01-22 21:57:39 (GMT)
commitfe0eca39c9a82a4b24887f4d81f5903ac357a83d (patch)
treec3790f0506ea7b512ee79a5adb108ff47711b204 /bin/make_vers
parent8eb45094683843798b86ad8c3da298ebbde02fde (diff)
downloadhdf5-fe0eca39c9a82a4b24887f4d81f5903ac357a83d.zip
hdf5-fe0eca39c9a82a4b24887f4d81f5903ac357a83d.tar.gz
hdf5-fe0eca39c9a82a4b24887f4d81f5903ac357a83d.tar.bz2
Merge pull request #2289 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'a92cfed71e0da0ff61af2550640e38bf6d415fee': Remove irrelevant sentence from comment. Remove duplicate lines noted on forum by Eric Bavier Add v111 version for H5O functions to enable version1 default for HDF5 1.8-1.10 and version 3 default for HDF5 1.12. Version 2 functions are available (deprecated) but will not be the default for any version.
Diffstat (limited to 'bin/make_vers')
-rwxr-xr-xbin/make_vers18
1 files changed, 16 insertions, 2 deletions
diff --git a/bin/make_vers b/bin/make_vers
index d2dca4e..e4cdae6 100755
--- a/bin/make_vers
+++ b/bin/make_vers
@@ -9,7 +9,7 @@ use warnings;
# need to be decremented. - QAK)
# Max. library "index" (0 = v1.0, 1 = 1.2, 2 = 1.4, 3 = 1.6, 4 = 1.8, 5 = 1.10, 6 = 1.12, etc)
-$max_idx = 6;
+$max_idx = 7;
# Min. supported previous library version "index" (0 = v1.0, 1 = 1.2, etc)
$min_sup_idx = 3;
@@ -354,7 +354,18 @@ sub parse_line ($) {
my $vers_idx; # Index of version in array
# Do some validation on the input
- if(!( $_ =~ /v1[02468]/ || $_ =~ /v11[02468]/ )) {
+ # Note: v111 is allowed because H5O functions were prematurely versioned
+ # in HDF5 1.10. Because users were affected by this, the versioning
+ # was rescinded but the H5O version 2 functions were kept to be
+ # called directly. Now that the version macros are added in 1.12,
+ # along with a 3rd version of the H5O functions, the H5O function
+ # version for default api=v110 should be version 1 to work correctly
+ # with 1.10 applications that were using unversioned H5O functions,
+ # and the H5O function version should be version 3 for default api=v112
+ # (the default api version for 1.12). Allowing a v111 entry and
+ # incrementing its index 13 lines below allows a version 2 that is
+ # never accessed via the H5O function macros.
+ if(!( $_ =~ /v1[02468]/ || $_ =~ /v11[02468]/ || $_ =~ /v111/ )) {
die "bad version information: $name";
}
if(exists($sym_versions{$_})) {
@@ -367,6 +378,9 @@ sub parse_line ($) {
#print "parse_line: _=$_\n";
# Get the index of the version
($vers_idx) = ($_ =~ /v1(\d+)/);
+ if($vers_idx == 11) {
+ $vers_idx++;
+ }
$vers_idx /= 2;
#print "parse_line: vers_idx='$vers_idx'\n";
push(@vers_nums, $vers_idx);