From 10c13288b423cda2735f662b4677dbe9653610be Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Fri, 18 Apr 2014 16:52:44 -0500 Subject: [svn-r25068] Fix for HDFFV-8276, the --disable-sharedlib-rpath configure optino doesn't remove rpaths from th e library files, was checked into trunk in September 2013, but not into the 1.8 branch. part of the code was merged to v1.8 in the interim for fortran, but not for hl or c++. The rest is mer ged in this revision. The --disable-sharedlib-rpath option seems to have no effect on non-Linux platforms. Tested with h5committest on jam, koala, ostrich and platypus. Tested with --disble-sharedlib-rpath option on jam, platypus, emu and quail. Absence of rpaths verified on jam and platypus. --- c++/src/Makefile.am | 5 ++++- c++/src/Makefile.in | 8 +++++--- configure | 2 +- hl/c++/src/Makefile.am | 5 ++++- hl/c++/src/Makefile.in | 8 +++++--- hl/fortran/src/Makefile.am | 5 ++++- hl/fortran/src/Makefile.in | 8 +++++--- hl/src/Makefile.am | 5 ++++- hl/src/Makefile.in | 8 +++++--- 9 files changed, 37 insertions(+), 17 deletions(-) diff --git a/c++/src/Makefile.am b/c++/src/Makefile.am index 7c1f497..9ff2e66 100644 --- a/c++/src/Makefile.am +++ b/c++/src/Makefile.am @@ -47,8 +47,11 @@ libhdf5_cpp_la_SOURCES=H5Exception.cpp H5IdComponent.cpp H5Library.cpp \ H5StrType.cpp H5ArrayType.cpp H5VarLenType.cpp H5CompType.cpp \ H5DataSet.cpp H5CommonFG.cpp H5Group.cpp H5File.cpp -# HDF5 C++ library depends on HDF5 Library. +# HDF5 C++ library depends on HDF5 Library. However, only add the dependency +# if --enable-sharedlib-rpath is yes. +if LT_ADD_LIBHDF5_DEPENDENCY libhdf5_cpp_la_LIBADD=$(LIBHDF5) +endif # Public headers include_HEADERS=H5Cpp.h H5AbstractDs.h H5AtomType.h H5Attribute.h H5Classes.h \ diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in index 37f49e0..c4e07c5 100644 --- a/c++/src/Makefile.in +++ b/c++/src/Makefile.in @@ -146,7 +146,8 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ "$(DESTDIR)$(includedir)" LTLIBRARIES = $(lib_LTLIBRARIES) -libhdf5_cpp_la_DEPENDENCIES = $(LIBHDF5) +@LT_ADD_LIBHDF5_DEPENDENCY_TRUE@libhdf5_cpp_la_DEPENDENCIES = \ +@LT_ADD_LIBHDF5_DEPENDENCY_TRUE@ $(LIBHDF5) am_libhdf5_cpp_la_OBJECTS = H5Exception.lo H5IdComponent.lo \ H5Library.lo H5Attribute.lo H5Location.lo H5Object.lo \ H5PropList.lo H5FaccProp.lo H5FcreatProp.lo H5DcreatProp.lo \ @@ -703,8 +704,9 @@ libhdf5_cpp_la_SOURCES = H5Exception.cpp H5IdComponent.cpp H5Library.cpp H5DataSet.cpp H5CommonFG.cpp H5Group.cpp H5File.cpp -# HDF5 C++ library depends on HDF5 Library. -libhdf5_cpp_la_LIBADD = $(LIBHDF5) +# HDF5 C++ library depends on HDF5 Library. However, only add the dependency +# if --enable-sharedlib-rpath is yes. +@LT_ADD_LIBHDF5_DEPENDENCY_TRUE@libhdf5_cpp_la_LIBADD = $(LIBHDF5) # Public headers include_HEADERS = H5Cpp.h H5AbstractDs.h H5AtomType.h H5Attribute.h H5Classes.h \ diff --git a/configure b/configure index 1467c02..6c2b632 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac Id: configure.ac 25035 2014-04-13 22:51:07Z hdftest . +# From configure.ac Id: configure.ac 25036 2014-04-14 12:20:06Z epourmal . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for HDF5 1.8.14-snap0. # diff --git a/hl/c++/src/Makefile.am b/hl/c++/src/Makefile.am index 6f5b045..03289c0 100644 --- a/hl/c++/src/Makefile.am +++ b/hl/c++/src/Makefile.am @@ -40,8 +40,11 @@ endif # At the moment, only the H5PT Packet Table has a C++ API. libhdf5_hl_cpp_la_SOURCES=H5PacketTable.cpp -# HDF5 HL C++ library depends on HDF5 HL Library and HDF5 C++ Library. +# HDF5 HL C++ library depends on HDF5 Library. However, only add the dependency +# if --enable-sharedlib-rpath is yes. +if LT_ADD_LIBHDF5_DEPENDENCY libhdf5_hl_cpp_la_LIBADD=$(LIBH5_HL) $(LIBH5CPP) +endif # Public headers include_HEADERS=H5PacketTable.h diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in index 343edea..8f5c27f 100644 --- a/hl/c++/src/Makefile.in +++ b/hl/c++/src/Makefile.in @@ -144,7 +144,8 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" LTLIBRARIES = $(lib_LTLIBRARIES) -libhdf5_hl_cpp_la_DEPENDENCIES = $(LIBH5_HL) $(LIBH5CPP) +@LT_ADD_LIBHDF5_DEPENDENCY_TRUE@libhdf5_hl_cpp_la_DEPENDENCIES = \ +@LT_ADD_LIBHDF5_DEPENDENCY_TRUE@ $(LIBH5_HL) $(LIBH5CPP) am_libhdf5_hl_cpp_la_OBJECTS = H5PacketTable.lo libhdf5_hl_cpp_la_OBJECTS = $(am_libhdf5_hl_cpp_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) @@ -688,8 +689,9 @@ libhdf5_hl_cpp_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISIO # At the moment, only the H5PT Packet Table has a C++ API. libhdf5_hl_cpp_la_SOURCES = H5PacketTable.cpp -# HDF5 HL C++ library depends on HDF5 HL Library and HDF5 C++ Library. -libhdf5_hl_cpp_la_LIBADD = $(LIBH5_HL) $(LIBH5CPP) +# HDF5 HL C++ library depends on HDF5 Library. However, only add the dependency +# if --enable-sharedlib-rpath is yes. +@LT_ADD_LIBHDF5_DEPENDENCY_TRUE@libhdf5_hl_cpp_la_LIBADD = $(LIBH5_HL) $(LIBH5CPP) # Public headers include_HEADERS = H5PacketTable.h diff --git a/hl/fortran/src/Makefile.am b/hl/fortran/src/Makefile.am index 82e0cfd..5195371 100644 --- a/hl/fortran/src/Makefile.am +++ b/hl/fortran/src/Makefile.am @@ -49,8 +49,11 @@ endif libhdf5hl_fortran_la_SOURCES=H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \ H5DSff.f90 H5LTff.f90 H5IMff.f90 H5TBff.f90 -# HDF5 HL Fortran library depends on HDF5 HL Library and HDF5 Fortran Library. +# HDF5 HL Fortran library depends on HDF5 Library. However, only add the dependency +# if --enable-sharedlib-rpath is yes. +if LT_ADD_LIBHDF5_DEPENDENCY libhdf5hl_fortran_la_LIBADD=$(LIBH5_HL) $(LIBH5F) +endif # Fortran module files can have different extensions and different names # (e.g., different capitalizations) on different platforms. Write rules diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in index 5dab193..3a9f04a 100644 --- a/hl/fortran/src/Makefile.in +++ b/hl/fortran/src/Makefile.in @@ -144,7 +144,8 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(libdir)" LTLIBRARIES = $(lib_LTLIBRARIES) -libhdf5hl_fortran_la_DEPENDENCIES = $(LIBH5_HL) $(LIBH5F) +@LT_ADD_LIBHDF5_DEPENDENCY_TRUE@libhdf5hl_fortran_la_DEPENDENCIES = \ +@LT_ADD_LIBHDF5_DEPENDENCY_TRUE@ $(LIBH5_HL) $(LIBH5F) am_libhdf5hl_fortran_la_OBJECTS = H5DSfc.lo H5LTfc.lo H5IMfc.lo \ H5IMcc.lo H5TBfc.lo H5DSff.lo H5LTff.lo H5IMff.lo H5TBff.lo libhdf5hl_fortran_la_OBJECTS = $(am_libhdf5hl_fortran_la_OBJECTS) @@ -709,8 +710,9 @@ libhdf5hl_fortran_la_SOURCES = H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \ H5DSff.f90 H5LTff.f90 H5IMff.f90 H5TBff.f90 -# HDF5 HL Fortran library depends on HDF5 HL Library and HDF5 Fortran Library. -libhdf5hl_fortran_la_LIBADD = $(LIBH5_HL) $(LIBH5F) +# HDF5 HL Fortran library depends on HDF5 Library. However, only add the dependency +# if --enable-sharedlib-rpath is yes. +@LT_ADD_LIBHDF5_DEPENDENCY_TRUE@libhdf5hl_fortran_la_LIBADD = $(LIBH5_HL) $(LIBH5F) # Automake needs to be taught how to build lib, progs, and tests targets. # These will be filled in automatically for the most part (e.g., diff --git a/hl/src/Makefile.am b/hl/src/Makefile.am index 1e781a9..34245ee 100644 --- a/hl/src/Makefile.am +++ b/hl/src/Makefile.am @@ -33,8 +33,11 @@ libhdf5_hl_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$( # 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 -# HDF5 HL library depends on HDF5 Library. +# HDF5 HL library depends on HDF5 Library. However, only add the dependency +# if --enable-sharedlib-rpath is yes. +if LT_ADD_LIBHDF5_DEPENDENCY libhdf5_hl_la_LIBADD=$(LIBHDF5) +endif # Public header files (to be installed) include_HEADERS=hdf5_hl.h H5DOpublic.h H5IMpublic.h H5LTpublic.h H5TBpublic.h H5DSpublic.h H5PTpublic.h diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in index 2549b11..430467d 100644 --- a/hl/src/Makefile.in +++ b/hl/src/Makefile.in @@ -141,7 +141,8 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" LTLIBRARIES = $(lib_LTLIBRARIES) -libhdf5_hl_la_DEPENDENCIES = $(LIBHDF5) +@LT_ADD_LIBHDF5_DEPENDENCY_TRUE@libhdf5_hl_la_DEPENDENCIES = \ +@LT_ADD_LIBHDF5_DEPENDENCY_TRUE@ $(LIBHDF5) am_libhdf5_hl_la_OBJECTS = H5DO.lo H5DS.lo H5IM.lo H5LT.lo \ H5LTanalyze.lo H5LTparse.lo H5PT.lo H5TB.lo libhdf5_hl_la_OBJECTS = $(am_libhdf5_hl_la_OBJECTS) @@ -683,8 +684,9 @@ libhdf5_hl_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$ # 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 -# HDF5 HL library depends on HDF5 Library. -libhdf5_hl_la_LIBADD = $(LIBHDF5) +# HDF5 HL library depends on HDF5 Library. However, only add the dependency +# if --enable-sharedlib-rpath is yes. +@LT_ADD_LIBHDF5_DEPENDENCY_TRUE@libhdf5_hl_la_LIBADD = $(LIBHDF5) # Public header files (to be installed) include_HEADERS = hdf5_hl.h H5DOpublic.h H5IMpublic.h H5LTpublic.h H5TBpublic.h H5DSpublic.h H5PTpublic.h -- cgit v0.12