From f5234cd194837790662e0b634fd6236137177674 Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Wed, 9 Mar 2016 13:55:31 -0500 Subject: [svn-r29379] Add individual LT_VERS_* variables for wrapper libraries: c++, fortran, java, hl, hl/c++, hl/fortran to so that the shared object version numbers can be incremented independently. Disabled auto-increment of shared object version numbers by h5vers. Files modified: config/lt_vers.am java/src/jni/Makefile.am hl/src/Makefile.am hl/c++/src/Makefile.am hl/fortran/src/Makefile.am c++/src/Makefile.am bin/h5vers fortran/src/Makefile.am --- bin/h5vers | 18 +++++++++++------- c++/src/Makefile.am | 2 +- config/lt_vers.am | 33 +++++++++++++++++++++++++++++---- fortran/src/Makefile.am | 2 +- hl/c++/src/Makefile.am | 2 +- hl/fortran/src/Makefile.am | 2 +- hl/src/Makefile.am | 2 +- java/src/jni/Makefile.am | 2 +- 8 files changed, 46 insertions(+), 17 deletions(-) diff --git a/bin/h5vers b/bin/h5vers index 7e61dc8..e9df387 100755 --- a/bin/h5vers +++ b/bin/h5vers @@ -277,13 +277,17 @@ if ($LT_VERS && $version_increased) { local($_) = $contentsy; - my ($lt_revision) = /^LT_VERS_REVISION\s*=\s*(\d+)/m; - my $new_lt_revision = $lt_revision+1; - ($contentsy) =~ s/^(LT_VERS_REVISION\s*=\s*)\d+/$1$new_lt_revision/m; - - open FILE, ">$LT_VERS" or die "$LT_VERS: $!\n"; - print FILE $contentsy; - close FILE; +# As of the HDF5 v1.8.16 release, h5vers should not increment +# the LT_VERS numbers, so the next 6 lines are commented out. +# A future version may copy the numbers to H5public.h, so this +# section is retained for future reference. +# my ($lt_revision) = /^LT_VERS_REVISION\s*=\s*(\d+)/m; +# my $new_lt_revision = $lt_revision+1; +# ($contentsy) =~ s/^(LT_VERS_REVISION\s*=\s*)\d+/$1$new_lt_revision/m; + +# open FILE, ">$LT_VERS" or die "$LT_VERS: $!\n"; +# print FILE $contentsy; +# close FILE; } # Update the README.txt file diff --git a/c++/src/Makefile.am b/c++/src/Makefile.am index 84af348..6cd4768 100644 --- a/c++/src/Makefile.am +++ b/c++/src/Makefile.am @@ -28,7 +28,7 @@ AM_CPPFLAGS+=-I$(top_srcdir)/src lib_LTLIBRARIES=libhdf5_cpp.la # Add libtool numbers to the HDF5 C++ library (from config/lt_vers.am) -libhdf5_cpp_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS) +libhdf5_cpp_la_LDFLAGS= -version-info $(LT_CXX_VERS_INTERFACE):$(LT_CXX_VERS_REVISION):$(LT_CXX_VERS_AGE) $(AM_LDFLAGS) bin_SCRIPTS=h5c++ diff --git a/config/lt_vers.am b/config/lt_vers.am index a3b7634..24d24d2 100644 --- a/config/lt_vers.am +++ b/config/lt_vers.am @@ -19,8 +19,8 @@ # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 224 LT_VERS_AGE = 0 +LT_VERS_REVISION = 224 ## If the API changes *at all*, increment LT_VERS_INTERFACE and ## reset LT_VERS_REVISION to 0. @@ -40,9 +40,34 @@ LT_VERS_AGE = 0 ## Note that this versioning system doesn't attempt to handle ## the effects of the H5_V1_x_COMPAT flag. ## -## Since the revision number is automatically incremented by -## bin/h5vers, don't move LT_VERS_REVISION from the fourth line -## without also editing the script! +## Version numbers for wrapper shared library files. +LT_CXX_VERS_INTERFACE = 6 +LT_CXX_VERS_REVISION = 224 +LT_CXX_VERS_AGE = 0 + +LT_F_VERS_INTERFACE = 6 +LT_F_VERS_REVISION = 224 +LT_F_VERS_AGE = 0 + +LT_HL_VERS_INTERFACE = 6 +LT_HL_VERS_REVISION = 224 +LT_HL_VERS_AGE = 0 + +LT_HL_CXX_VERS_INTERFACE = 6 +LT_HL_CXX_VERS_REVISION = 224 +LT_HL_CXX_VERS_AGE = 0 + +LT_HL_F_VERS_INTERFACE = 6 +LT_HL_F_VERS_REVISION = 224 +LT_HL_F_VERS_AGE = 0 + +LT_JAVA_VERS_INTERFACE = 6 +LT_JAVA_VERS_REVISION = 224 +LT_JAVA_VERS_AGE = 0 + +LT_TOOLS_VERS_INTERFACE = 6 +LT_TOOLS_VERS_REVISION = 224 +LT_TOOLS_VERS_AGE = 0 # Copyright by The HDF Group. diff --git a/fortran/src/Makefile.am b/fortran/src/Makefile.am index f4d192b..a271666 100644 --- a/fortran/src/Makefile.am +++ b/fortran/src/Makefile.am @@ -32,7 +32,7 @@ AM_FCLIBS=$(LIBHDF5) lib_LTLIBRARIES=libhdf5_fortran.la # Add libtool numbers to the HDF5 Fortran library (from config/lt_vers.am) -libhdf5_fortran_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS) +libhdf5_fortran_la_LDFLAGS= -version-info $(LT_F_VERS_INTERFACE):$(LT_F_VERS_REVISION):$(LT_F_VERS_AGE) $(AM_LDFLAGS) # Some Fortran compilers can't build shared libraries, so sometimes we # want to build a shared C library and a static Fortran library. If so, diff --git a/hl/c++/src/Makefile.am b/hl/c++/src/Makefile.am index b268948..c78f5fa 100644 --- a/hl/c++/src/Makefile.am +++ b/hl/c++/src/Makefile.am @@ -28,7 +28,7 @@ AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/hl/src lib_LTLIBRARIES=libhdf5_hl_cpp.la # Add libtool numbers to the HDF5 HL C++ library (from config/lt_vers.am) -libhdf5_hl_cpp_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS) +libhdf5_hl_cpp_la_LDFLAGS= -version-info $(LT_HL_CXX_VERS_INTERFACE):$(LT_HL_CXX_VERS_REVISION):$(LT_HL_CXX_VERS_AGE) $(AM_LDFLAGS) # Source files for the library # At the moment, only the H5PT Packet Table has a C++ API. diff --git a/hl/fortran/src/Makefile.am b/hl/fortran/src/Makefile.am index d190ed1..571ca45 100644 --- a/hl/fortran/src/Makefile.am +++ b/hl/fortran/src/Makefile.am @@ -30,7 +30,7 @@ AM_FCFLAGS+=-I$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/s lib_LTLIBRARIES=libhdf5hl_fortran.la # Add libtool numbers to the HDF5 HL Fortran library (from config/lt_vers.am) -libhdf5hl_fortran_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS) +libhdf5hl_fortran_la_LDFLAGS= -version-info $(LT_HL_F_VERS_INTERFACE):$(LT_HL_F_VERS_REVISION):$(LT_HL_F_VERS_AGE) $(AM_LDFLAGS) # Some Fortran compilers can't build shared libraries, so sometimes we # want to build a shared C library and a static Fortran library. If so, diff --git a/hl/src/Makefile.am b/hl/src/Makefile.am index 1e781a9..e772233 100644 --- a/hl/src/Makefile.am +++ b/hl/src/Makefile.am @@ -28,7 +28,7 @@ AM_CPPFLAGS+=-I$(top_srcdir)/src lib_LTLIBRARIES=libhdf5_hl.la # Add libtool numbers to the HDF5 hl library (from config/lt_vers.am) -libhdf5_hl_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS) +libhdf5_hl_la_LDFLAGS= -version-info $(LT_HL_VERS_INTERFACE):$(LT_HL_VERS_REVISION):$(LT_HL_VERS_AGE) $(AM_LDFLAGS) # List sources to include in the HDF5 HL Library. libhdf5_hl_la_SOURCES=H5DO.c H5DS.c H5IM.c H5LT.c H5LTanalyze.c H5LTparse.c H5PT.c H5TB.c diff --git a/java/src/jni/Makefile.am b/java/src/jni/Makefile.am index 764fcdb..4667407 100644 --- a/java/src/jni/Makefile.am +++ b/java/src/jni/Makefile.am @@ -31,7 +31,7 @@ AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/java/src/jni $(JNIFLAGS) lib_LTLIBRARIES=libhdf5_java.la # Add libtool numbers to the HDF5 Java (JNI) library (from config/lt_vers.am) -libhdf5_java_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS) +libhdf5_java_la_LDFLAGS= -version-info $(LT_JAVA_VERS_INTERFACE):$(LT_JAVA_VERS_REVISION):$(LT_JAVA_VERS_AGE) $(AM_LDFLAGS) # Source files for the library libhdf5_java_la_SOURCES=exceptionImp.c h5Constants.c nativeData.c h5util.c h5Imp.c \ -- cgit v0.12