Add option --with-flavor=<flavor-name> to configure

so that '_<flavor-name>' is appended to each built library, .e.g.
libhdf5_<flavor-name>.so.
This we can avoid library name collisions when installing both serial
and $mpi flavors of the libraries:
* serial is built with no flavor name
* $mpi parallel versions use --with-flavor=$mpi
===================================================================

Gbp-Pq: Name flavor-configure-option.patch
This commit is contained in:
Gilles Filippini 2022-05-14 03:32:24 +08:00 committed by openKylinBot
parent 2d9bb7c263
commit cb30d8f36c
19 changed files with 171 additions and 52 deletions

View File

@ -73,4 +73,16 @@ mostlyclean-local:
# Mark this directory as part of the C++ API
CXX_API=yes
# Flavor-dev links
if FLAVOR
install-exec-hook:
mkdir -p $(DESTDIR)$(libdir)/hdf5/@FLAVOR_NAME@
cd $(DESTDIR)$(libdir) && \
for lib in libhdf5_cpp.*; do \
link=$$(echo $$lib | sed 's/@FLAVOR@//') && \
$(LN_S) ../../$$lib hdf5/@FLAVOR_NAME@/$$link || \
exit 1; \
done
endif
include $(top_srcdir)/config/conclude.am

View File

@ -25,6 +25,7 @@
prefix="@prefix@"
exec_prefix="@exec_prefix@"
libdir="@libdir@"
libdevdir="@libdir@/hdf5/@FLAVOR_NAME@"
includedir="@includedir@"
HL="@HL@"
@ -159,7 +160,7 @@ usage() {
# libhdf5.settings file reside in the lib directory.
showconfigure()
{
cat ${libdir}/libhdf5.settings
cat ${libdir}/libhdf5@FLAVOR@.settings
status=$?
}
@ -317,7 +318,7 @@ if test "x$do_link" = "xyes"; then
else
libraries=" $libraries -lhdf5_cpp -lhdf5 "
fi
link_args="$link_args -L${libdir}"
link_args="$link_args -L${libdevdir}"
case "$kind" in
gcc|linux*)
@ -336,7 +337,7 @@ if test "x$do_link" = "xyes"; then
esac
if test -n "$flag"; then
shared_link="${flag}${libdir}"
shared_link="${flag}${libdevdir}"
fi
if test "x$USE_SHARED_LIB" != "xyes"; then
@ -346,16 +347,16 @@ if test "x$do_link" = "xyes"; then
for lib in $libraries; do
case "$lib" in
-lhdf5)
new_libraries="$new_libraries ${libdir}/libhdf5.a"
new_libraries="$new_libraries ${libdevdir}/libhdf5.a"
;;
-lhdf5_hl)
new_libraries="$new_libraries ${libdir}/libhdf5_hl.a"
new_libraries="$new_libraries ${libdevdir}/libhdf5_hl.a"
;;
-lhdf5_cpp)
new_libraries="$new_libraries ${libdir}/libhdf5_cpp.a"
new_libraries="$new_libraries ${libdevdir}/libhdf5_cpp.a"
;;
-lhdf5_hl_cpp)
new_libraries="$new_libraries ${libdir}/libhdf5_hl_cpp.a"
new_libraries="$new_libraries ${libdevdir}/libhdf5_hl_cpp.a"
;;
*)
new_libraries="$new_libraries $lib"
@ -385,7 +386,7 @@ if test "x$do_link" = "xyes"; then
# from the hdf5 build. The order of the flags is intended to give precedence
# to the user's flags.
$SHOW $CXXLINKER $H5BLD_CPPFLAGS $CPPFLAGS $H5BLD_CXXFLAGS $CXXFLAGS $LDFLAGS $clibpath $link_objs $LIBS $link_args $shared_link
$SHOW $CXXLINKER -I$includedir $H5BLD_CPPFLAGS $CPPFLAGS $H5BLD_CXXFLAGS $CXXFLAGS $LDFLAGS $clibpath $link_objs $LIBS $link_args $shared_link
status=$?
fi

View File

@ -30,15 +30,15 @@ CP=cp
RUNEXEC=$(RUNSERIAL)
# Libraries to link to while building
LIBHDF5=$(top_builddir)/src/libhdf5.la
LIBHDF5=$(top_builddir)/src/libhdf5@FLAVOR@.la
LIBH5TEST=$(top_builddir)/test/libh5test.la
LIBH5F=$(top_builddir)/fortran/src/libhdf5_fortran.la
LIBH5F=$(top_builddir)/fortran/src/libhdf5@FLAVOR@_fortran.la
LIBH5FTEST=$(top_builddir)/fortran/test/libh5test_fortran.la
LIBH5CPP=$(top_builddir)/c++/src/libhdf5_cpp.la
LIBH5JNI=$(top_builddir)/java/src/jni/libhdf5_java.la
LIBH5TOOLS=$(top_builddir)/tools/lib/libh5tools.la
LIBH5_HL=$(top_builddir)/hl/src/libhdf5_hl.la
LIBH5F_HL=$(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la
LIBH5_HL=$(top_builddir)/hl/src/libhdf5@FLAVOR@_hl.la
LIBH5F_HL=$(top_builddir)/hl/fortran/src/libhdf5@FLAVOR@hl_fortran.la
LIBH5CPP_HL=$(top_builddir)/hl/c++/src/libhdf5_hl_cpp.la
# Install directories that automake doesn't know about
@ -102,3 +102,4 @@ CHECK_CLEANFILES=*.chkexe *.chklog *.clog *.clog2
help:
@$(top_srcdir)/bin/makehelp
abs2rel = $(shell perl -e 'use File::Spec; print File::Spec->abs2rel($(1), $(2)) . "\n";')

View File

@ -3424,6 +3424,26 @@ fi
##
AM_CONDITIONAL([HAVE_SHARED_CONDITIONAL], [test "X$enable_shared" = "Xyes"])
## ----------------------------------------------------------------------
## Option to use a flavor name
##
AC_ARG_WITH([flavor],
[AS_HELP_STRING([--with-flavor=<flavor_name>],
[append specified flavor name to the hdf5 libraries"'" names])],
[],
[with_flavor=""])
if test -n "$with_flavor"; then
FLAVOR_NAME="$with_flavor"
FLAVOR="_$FLAVOR_NAME"
AM_CONDITIONAL([FLAVOR], [true])
else
FLAVOR_NAME="(none)"
FLAVOR=
AM_CONDITIONAL([FLAVOR], [false])
fi
AC_SUBST([FLAVOR_NAME])
AC_SUBST([FLAVOR])
AC_CONFIG_FILES([src/libhdf5.settings
Makefile
src/Makefile

View File

@ -27,10 +27,10 @@ AM_FCFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/fortran/src
AM_FCLIBS=$(LIBHDF5)
# This is our main target, the fortran library
lib_LTLIBRARIES=libhdf5_fortran.la
lib_LTLIBRARIES=libhdf5@FLAVOR@_fortran.la
# Add libtool numbers to the HDF5 Fortran library (from config/lt_vers.am)
libhdf5_fortran_la_LDFLAGS= -version-info $(LT_F_VERS_INTERFACE):$(LT_F_VERS_REVISION):$(LT_F_VERS_AGE) $(AM_LDFLAGS)
libhdf5@FLAVOR@_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,
@ -41,7 +41,7 @@ else
endif
# Source files for the library.
libhdf5_fortran_la_SOURCES=H5f90global.F90 \
libhdf5@FLAVOR@_fortran_la_SOURCES=H5f90global.f90 \
H5fortran_types.F90 H5_ff.F90 H5Aff.F90 H5Dff.F90 H5Eff.F90 \
H5Fff.F90 H5Gff.F90 H5Iff.F90 H5Lff.F90 H5Off.F90 H5Pff.F90 H5Rff.F90 H5Sff.F90 \
H5Tff.F90 H5Zff.F90 H5_gen.F90 H5fortkit.F90 \
@ -49,7 +49,7 @@ libhdf5_fortran_la_SOURCES=H5f90global.F90 \
H5If.c H5Lf.c H5Of.c H5Pf.c H5Rf.c H5Sf.c H5Tf.c H5Zf.c HDF5.F90
# HDF5 Fortran library depends on HDF5 Library.
libhdf5_fortran_la_LIBADD=$(LIBHDF5)
libhdf5@FLAVOR@_fortran_la_LIBADD=$(LIBHDF5)
# h5fc is generated during configure.
# Remove it only when distclean.
@ -93,7 +93,11 @@ install-exec-local:
# Custom rule for installing h5fc, since it will be named h5pfc if hdf5
# is configured for parallel mode
if BUILD_PARALLEL_CONDITIONAL
if FLAVOR
H5FC_NAME = h5pfc.@FLAVOR_NAME@
else
H5FC_NAME = h5pfc
endif
else
H5FC_NAME = h5fc
endif
@ -164,4 +168,16 @@ HDF5.lo: $(srcdir)/HDF5.F90 H5f90global.lo H5_ff.lo H5Aff.lo \
H5Off.lo H5Pff.lo H5Rff.lo \
H5Sff.lo H5Tff.lo H5Zff.lo H5_gen.lo
# Flavor-dev links
if FLAVOR
install-exec-hook:
mkdir -p $(DESTDIR)$(libdir)/hdf5/@FLAVOR_NAME@
cd $(DESTDIR)$(libdir) && \
for lib in libhdf5@FLAVOR@_fortran.*; do \
link=$$(echo $$lib | sed 's/@FLAVOR@//') && \
$(LN_S) ../../$$lib hdf5/@FLAVOR_NAME@/$$link || \
exit 1; \
done
endif
include $(top_srcdir)/config/conclude_fc.am

View File

@ -25,6 +25,7 @@
prefix="@prefix@"
exec_prefix="@exec_prefix@"
libdir="@libdir@"
libdevdir="@libdir@/hdf5/@FLAVOR_NAME@"
includedir="@includedir@"
HL="@HL@"
@ -154,7 +155,7 @@ usage() {
# libhdf5.settings file reside in the lib directory.
showconfigure()
{
cat ${libdir}/libhdf5.settings
cat ${libdir}/libhdf5@FLAVOR@.settings
status=$?
}
@ -304,7 +305,7 @@ if test "x$do_link" = "xyes"; then
else
libraries=" $libraries -lhdf5_fortran -lhdf5 "
fi
link_args="$link_args -L${libdir}"
link_args="$link_args -L${libdevdir}"
case "$host_os" in
linux*) flag="@fortran_linux_linker_option@-rpath -Wl," ;;
@ -316,7 +317,7 @@ if test "x$do_link" = "xyes"; then
esac
if test -n "$flag"; then
shared_link="${flag}${libdir}"
shared_link="${flag}${libdevdir}"
fi
if test "x$USE_SHARED_LIB" != "xyes"; then
@ -326,16 +327,16 @@ if test "x$do_link" = "xyes"; then
for lib in $libraries; do
case "$lib" in
-lhdf5)
new_libraries="$new_libraries ${libdir}/libhdf5.a"
new_libraries="$new_libraries ${libdevdir}/libhdf5.a"
;;
-lhdf5_hl)
new_libraries="$new_libraries ${libdir}/libhdf5_hl.a"
new_libraries="$new_libraries ${libdevdir}/libhdf5_hl.a"
;;
-lhdf5_fortran)
new_libraries="$new_libraries ${libdir}/libhdf5_fortran.a"
new_libraries="$new_libraries ${libdevdir}/libhdf5_fortran.a"
;;
-lhdf5hl_fortran)
new_libraries="$new_libraries ${libdir}/libhdf5hl_fortran.a"
new_libraries="$new_libraries ${libdevdir}/libhdf5hl_fortran.a"
;;
*)
new_libraries="$new_libraries $lib"

View File

@ -38,4 +38,16 @@ libhdf5_hl_cpp_la_LIBADD=$(LIBH5_HL) $(LIBH5CPP)
# Public headers
include_HEADERS=H5PacketTable.h
# Flavor-dev links
if FLAVOR
install-exec-hook:
mkdir -p $(DESTDIR)$(libdir)/hdf5/@FLAVOR_NAME@
cd $(DESTDIR)$(libdir) && \
for lib in libhdf5_hl_cpp.*; do \
link=$$(echo $$lib | sed 's/@FLAVOR@//') && \
$(LN_S) ../../$$lib hdf5/@FLAVOR_NAME@/$$link || \
exit 1; \
done
endif
include $(top_srcdir)/config/conclude.am

View File

@ -25,10 +25,10 @@ AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/hl/src -I$(top_builddir)/hl/src
AM_FCFLAGS+=-I$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src
# Our main target, the high-level fortran library
lib_LTLIBRARIES=libhdf5hl_fortran.la
lib_LTLIBRARIES=libhdf5@FLAVOR@hl_fortran.la
# Add libtool numbers to the HDF5 HL Fortran library (from config/lt_vers.am)
libhdf5hl_fortran_la_LDFLAGS= -version-info $(LT_HL_F_VERS_INTERFACE):$(LT_HL_F_VERS_REVISION):$(LT_HL_F_VERS_AGE) $(AM_LDFLAGS)
libhdf5@FLAVOR@hl_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,
@ -44,11 +44,11 @@ endif
#endif
# List sources to include in the HDF5 HL Fortran library.
libhdf5hl_fortran_la_SOURCES=H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
libhdf5@FLAVOR@hl_fortran_la_SOURCES=H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
H5DSff.F90 H5LTff.F90 H5TBff.F90 H5IMff.F90 H5LTff_gen.F90 H5TBff_gen.F90
# HDF5 HL Fortran library depends on HDF5 Library.
libhdf5hl_fortran_la_LIBADD=$(LIBH5_HL) $(LIBH5F)
libhdf5@FLAVOR@hl_fortran_la_LIBADD=$(LIBH5_HL) $(LIBH5F)
# Fortran module files can have different extensions and different names
# (e.g., different capitalizations) on different platforms. Write rules
@ -98,4 +98,17 @@ H5IMff.lo: $(srcdir)/H5IMff.F90
H5TBff.lo: $(srcdir)/H5TBff.F90
H5LTff_gen.lo: H5LTff.lo H5LTff_gen.F90
H5TBff_gen.lo: H5TBff.lo H5LTff_gen.F90 H5TBff_gen.F90
# Flavor-dev links
if FLAVOR
install-exec-hook:
mkdir -p $(DESTDIR)$(libdir)/hdf5/@FLAVOR_NAME@
cd $(DESTDIR)$(libdir) && \
for lib in libhdf5@FLAVOR@hl_fortran.*; do \
link=$$(echo $$lib | sed 's/@FLAVOR@//') && \
$(LN_S) ../../$$lib hdf5/@FLAVOR_NAME@/$$link || \
exit 1; \
done
endif
include $(top_srcdir)/config/conclude_fc.am

View File

@ -23,18 +23,30 @@ include $(top_srcdir)/config/lt_vers.am
AM_CPPFLAGS+=-I$(top_srcdir)/src
# This library is our main target.
lib_LTLIBRARIES=libhdf5_hl.la
lib_LTLIBRARIES=libhdf5@FLAVOR@_hl.la
# Add libtool numbers to the HDF5 hl library (from config/lt_vers.am)
libhdf5_hl_la_LDFLAGS= -version-info $(LT_HL_VERS_INTERFACE):$(LT_HL_VERS_REVISION):$(LT_HL_VERS_AGE) $(AM_LDFLAGS)
libhdf5@FLAVOR@_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 H5LD.c
libhdf5@FLAVOR@_hl_la_SOURCES=H5DO.c H5DS.c H5IM.c H5LT.c H5LTanalyze.c H5LTparse.c H5PT.c H5TB.c H5LD.c
# HDF5 HL library depends on HDF5 Library.
libhdf5_hl_la_LIBADD=$(LIBHDF5)
libhdf5@FLAVOR@_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 H5LDpublic.h
# Flavor-dev links
if FLAVOR
install-exec-hook:
mkdir -p $(DESTDIR)$(libdir)/hdf5/@FLAVOR_NAME@
cd $(DESTDIR)$(libdir) && \
for lib in libhdf5@FLAVOR@_hl.*; do \
link=$$(echo $$lib | sed 's/@FLAVOR@//') && \
$(LN_S) ../../$$lib hdf5/@FLAVOR_NAME@/$$link || \
exit 1; \
done
endif
include $(top_srcdir)/config/conclude.am

View File

@ -52,7 +52,7 @@ test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
# Comment '#' without space can be used.
# --------------------------------------------------------------------
LIST_LIBRARY_FILES="
$top_builddir/src/.libs/libhdf5.*
$top_builddir/src/.libs/libhdf5@FLAVOR@.*
$top_builddir/java/src/jni/.libs/libhdf5_java.*
$top_builddir/java/src/$JARFILE
"

View File

@ -49,7 +49,7 @@ test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
# Comment '#' without space can be used.
# --------------------------------------------------------------------
LIST_LIBRARY_FILES="
$top_builddir/src/.libs/libhdf5.*
$top_builddir/src/.libs/libhdf5@FLAVOR@.*
$top_builddir/java/src/jni/.libs/libhdf5_java.*
$top_builddir/java/src/$JARFILE
"

View File

@ -51,7 +51,7 @@ test -d $BLDITERDIR || mkdir -p $BLDITERDIR
# Comment '#' without space can be used.
# --------------------------------------------------------------------
LIST_LIBRARY_FILES="
$top_builddir/src/.libs/libhdf5.*
$top_builddir/src/.libs/libhdf5@FLAVOR@.*
$top_builddir/java/src/jni/.libs/libhdf5_java.*
$top_builddir/java/src/$JARFILE
"

View File

@ -49,7 +49,7 @@ test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
# Comment '#' without space can be used.
# --------------------------------------------------------------------
LIST_LIBRARY_FILES="
$top_builddir/src/.libs/libhdf5.*
$top_builddir/src/.libs/libhdf5@FLAVOR@.*
$top_builddir/java/src/jni/.libs/libhdf5_java.*
$top_builddir/java/src/$JARFILE
"

View File

@ -56,7 +56,7 @@ test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
# Comment '#' without space can be used.
# --------------------------------------------------------------------
LIST_LIBRARY_FILES="
$top_builddir/src/.libs/libhdf5.*
$top_builddir/src/.libs/libhdf5@FLAVOR@.*
$top_builddir/java/src/jni/.libs/libhdf5_java.*
"
LIST_JAR_TESTFILES="

View File

@ -27,10 +27,10 @@ include $(top_srcdir)/config/lt_vers.am
noinst_PROGRAMS = H5detect H5make_libsettings
# Our main target, the HDF5 library
lib_LTLIBRARIES=libhdf5.la
lib_LTLIBRARIES=libhdf5@FLAVOR@.la
# Add libtool numbers to the HDF5 library (from config/lt_vers.am)
libhdf5_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
libhdf5@FLAVOR@_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
# H5Tinit.c and H5lib_settings.c are generated files and should be cleaned.
MOSTLYCLEANFILES=H5Tinit.c H5lib_settings.c
@ -38,7 +38,7 @@ MOSTLYCLEANFILES=H5Tinit.c H5lib_settings.c
DISTCLEANFILES=H5pubconf.h
# library sources
libhdf5_la_SOURCES= H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \
libhdf5@FLAVOR@_la_SOURCES= H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \
H5A.c H5Abtree2.c H5Adense.c H5Adeprec.c H5Aint.c H5Atest.c \
H5AC.c H5ACdbg.c H5AClog.c H5ACproxy_entry.c \
H5B.c H5Bcache.c H5Bdbg.c \
@ -119,12 +119,12 @@ libhdf5_la_SOURCES= H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \
# Only compile parallel sources if necessary
if BUILD_PARALLEL_CONDITIONAL
libhdf5_la_SOURCES += H5ACmpio.c H5Cmpio.c H5Dmpio.c H5Fmpi.c H5FDmpi.c H5FDmpio.c H5Smpio.c
libhdf5@FLAVOR@_la_SOURCES += H5ACmpio.c H5Cmpio.c H5Dmpio.c H5Fmpi.c H5FDmpi.c H5FDmpio.c H5Smpio.c
endif
# Only compile the direct VFD if necessary
if DIRECT_VFD_CONDITIONAL
libhdf5_la_SOURCES += H5FDdirect.c
libhdf5@FLAVOR@_la_SOURCES += H5FDdirect.c
endif
# Public headers
@ -143,7 +143,11 @@ include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h H5vers
# install libhdf5.settings in lib directory
settingsdir=$(libdir)
settings_DATA=libhdf5.settings
if FLAVOR
libhdf5@FLAVOR@.settings: libhdf5.settings
ln -s $< $@
endif
settings_DATA=libhdf5@FLAVOR@.settings
# Number format detection
# The LD_LIBRARY_PATH setting is a kludge.
@ -185,6 +189,7 @@ $(top_srcdir)/src/H5version.h: $(top_srcdir)/src/H5vers.txt
$(top_srcdir)/src/H5overflow.h: $(top_srcdir)/src/H5overflow.txt
perl $(top_srcdir)/bin/make_overflow $?
# Add TRACE macros to library source files. This is done via the trace script
# in the hdf5/bin directory. If the file contains HDF5 API macros, a "clean"
# version of the source file is saved with a tilde (~) after its name and
@ -192,7 +197,7 @@ $(top_srcdir)/src/H5overflow.h: $(top_srcdir)/src/H5overflow.txt
# without HDF5 macros.
.PHONY: trace
trace: $(libhdf5_la_SOURCES)
trace: $(libhdf5@FLAVOR@_la_SOURCES)
@for dep in $? dummy; do \
if test $$dep != "dummy" -a -n "$(PERL)"; then \
case "$$dep" in \
@ -203,4 +208,24 @@ trace: $(libhdf5_la_SOURCES)
fi; \
done
# Flavor-dev links
if FLAVOR
install-exec-hook: relincludedir := $(call abs2rel,"$(includedir)","$(libdir)")
install-exec-hook:
mkdir -p $(DESTDIR)$(libdir)/hdf5/@FLAVOR_NAME@
cd $(DESTDIR)$(libdir) && \
for lib in libhdf5@FLAVOR@.*; do \
link=$$(echo $$lib | sed 's/@FLAVOR@//') && \
$(LN_S) ../../$$lib hdf5/@FLAVOR_NAME@/$$link || \
exit 1; \
done
$(LN_S) . $(DESTDIR)$(libdir)/hdf5/@FLAVOR_NAME@/lib
$(LN_S) ../../$(relincludedir) $(DESTDIR)$(libdir)/hdf5/@FLAVOR_NAME@/include
install-data-hook:
mkdir -p $(DESTDIR)$(libdir)/hdf5/@FLAVOR_NAME@
cd $(DESTDIR)$(libdir) && \
$(LN_S) ../../libhdf5@FLAVOR@.settings hdf5/@FLAVOR_NAME@/libhdf5.settings
endif
include $(top_srcdir)/config/conclude.am

View File

@ -10,6 +10,7 @@ General Information:
Uname information: @UNAME_INFO@
Byte sex: @BYTESEX@
Installation point: @prefix@
Flavor name: @FLAVOR_NAME@
Compiling Options:
------------------

View File

@ -77,7 +77,7 @@ fi
# built too.
if [ -n $Shared_Lib ]; then
h5libdir=../src/.libs
shlib=$(grep dlname ../src/libhdf5.la | sed -e "s/dlname='//" -e "s/'//")
shlib=$(grep dlname ../src/libhdf5@FLAVOR@.la | sed -e "s/dlname='//" -e "s/'//")
else
h5libdir=../src
fi
@ -96,9 +96,9 @@ fi
# Though rare, libhdf5.a may not have been built.
if [ x-$Static_Lib = x-yes ]; then
CHECK_LIBINFO ${h5libdir}/libhdf5.a
CHECK_LIBINFO ${h5libdir}/libhdf5@FLAVOR@.a
else
SKIP ${h5libdir}/libhdf5.a
SKIP ${h5libdir}/libhdf5@FLAVOR@.a
fi
# Check if executables has the lib information only if shared lib is not

View File

@ -43,7 +43,11 @@ LDADD=$(LIBH5TOOLS) $(LIBHDF5)
# h5cc needs custom install and uninstall rules, since it may be
# named h5pcc if hdf5 is being built in parallel mode.
if BUILD_PARALLEL_CONDITIONAL
if FLAVOR
H5CC_NAME=h5pcc.@FLAVOR_NAME@
else
H5CC_NAME=h5pcc
endif
else
H5CC_NAME=h5cc
endif

View File

@ -27,6 +27,7 @@
prefix="@prefix@"
exec_prefix="@exec_prefix@"
libdir="@libdir@"
libdevdir="@libdir@/hdf5/@FLAVOR_NAME@"
includedir="@includedir@"
HL="@HL@"
@ -170,7 +171,7 @@ usage() {
# libhdf5.settings file reside in the lib directory.
showconfigure()
{
cat ${libdir}/libhdf5.settings
cat ${libdir}/libhdf5@FLAVOR@.settings
status=$?
}
@ -331,7 +332,7 @@ if test "x$do_link" = "xyes"; then
else
libraries=" $libraries -lhdf5 "
fi
link_args="$link_args -L${libdir}"
link_args="$link_args -L${libdevdir}"
case "$kind" in
gcc|linux*)
@ -350,7 +351,7 @@ if test "x$do_link" = "xyes"; then
esac
if test -n "$flag"; then
shared_link="${flag}${libdir}"
shared_link="${flag}${libdevdir}"
fi
if test "x$USE_SHARED_LIB" != "xyes"; then
@ -360,10 +361,10 @@ if test "x$do_link" = "xyes"; then
for lib in $libraries; do
case "$lib" in
-lhdf5)
new_libraries="$new_libraries ${libdir}/libhdf5.a"
new_libraries="$new_libraries ${libdevdir}/libhdf5.a"
;;
-lhdf5_hl)
new_libraries="$new_libraries ${libdir}/libhdf5_hl.a"
new_libraries="$new_libraries ${libdevdir}/libhdf5_hl.a"
;;
*)
new_libraries="$new_libraries $lib"
@ -392,7 +393,7 @@ if test "x$do_link" = "xyes"; then
# paths and libraries from AM_LDFLAGS, LDFLAGS, AM_LIBS or LIBS carried in
# from the hdf5 build. The order of the flags is intended to give precedence
# to the user's flags.
$SHOW $CLINKER $H5BLD_CPPFLAGS $CPPFLAGS $H5BLD_CFLAGS $CFLAGS $LDFLAGS $clibpath $link_objs $LIBS $link_args $shared_link
$SHOW $CLINKER -I$includedir $H5BLD_CPPFLAGS $CPPFLAGS $H5BLD_CFLAGS $CFLAGS $LDFLAGS $clibpath $link_objs $LIBS $link_args $shared_link
status=$?
fi