diff options
author | James Laird <jlaird@hdfgroup.org> | 2005-09-15 21:30:06 (GMT) |
---|---|---|
committer | James Laird <jlaird@hdfgroup.org> | 2005-09-15 21:30:06 (GMT) |
commit | cc8f7d98bf0a373e397faecd14e3480cf5c0777d (patch) | |
tree | 293f1fe8128713c4e30c5ac068a0a3d7077e8521 /hl/fortran | |
parent | 7c3f0740877f30683d9492b97fee97a780d9dd7f (diff) | |
download | hdf5-cc8f7d98bf0a373e397faecd14e3480cf5c0777d.zip hdf5-cc8f7d98bf0a373e397faecd14e3480cf5c0777d.tar.gz hdf5-cc8f7d98bf0a373e397faecd14e3480cf5c0777d.tar.bz2 |
[svn-r11418] Purpose:
Bug fix/feature
Description:
Disabled shared libraries for a number of Fortran compilers that don't
support them.
This allows other compilers to support shared Fortran libraries.
Solution:
Added a conditional, SHARED_FORTRAN_CONDITIONAL, which is true if
Fortran supports shared libraries. It is set in configure.in.
Platforms tested:
mir, sleipnir, colonelk, heping
Diffstat (limited to 'hl/fortran')
-rw-r--r-- | hl/fortran/Makefile.in | 2 | ||||
-rw-r--r-- | hl/fortran/src/Makefile.am | 8 | ||||
-rw-r--r-- | hl/fortran/src/Makefile.in | 7 | ||||
-rw-r--r-- | hl/fortran/test/Makefile.am | 8 | ||||
-rw-r--r-- | hl/fortran/test/Makefile.in | 7 |
5 files changed, 32 insertions, 0 deletions
diff --git a/hl/fortran/Makefile.in b/hl/fortran/Makefile.in index 33a7aa2..4c8a289 100644 --- a/hl/fortran/Makefile.in +++ b/hl/fortran/Makefile.in @@ -132,6 +132,8 @@ FCFLAGS = @FCFLAGS@ FCLIBS = @FCLIBS@ FFLAGS = @FFLAGS@ FILTERS = @FILTERS@ +FORTRAN_SHARED_CONDITIONAL_FALSE = @FORTRAN_SHARED_CONDITIONAL_FALSE@ +FORTRAN_SHARED_CONDITIONAL_TRUE = @FORTRAN_SHARED_CONDITIONAL_TRUE@ FSEARCH_DIRS = @FSEARCH_DIRS@ H5_VERSION = @H5_VERSION@ HADDR_T = @HADDR_T@ diff --git a/hl/fortran/src/Makefile.am b/hl/fortran/src/Makefile.am index 2222f90..8c77c9b 100644 --- a/hl/fortran/src/Makefile.am +++ b/hl/fortran/src/Makefile.am @@ -18,6 +18,14 @@ AM_FCFLAGS=-I$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/sr # Our main target, the high-level fortran library lib_LTLIBRARIES=libhdf5hl_fortran.la +# 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, +# pass the -static flag to the library linker. +if FORTRAN_SHARED_CONDITIONAL +else + AM_LDFLAGS=-static +endif + # Source files for the library #if BUILD_PARALLEL_CONDITIONAL # PARALLEL_COND_SRC=HDFDmpiof.c HDF5mpio.f90 diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in index 09209f8..206428c 100644 --- a/hl/fortran/src/Makefile.in +++ b/hl/fortran/src/Makefile.in @@ -153,6 +153,8 @@ FCFLAGS = @FCFLAGS@ FCLIBS = @FCLIBS@ FFLAGS = @FFLAGS@ FILTERS = @FILTERS@ +FORTRAN_SHARED_CONDITIONAL_FALSE = @FORTRAN_SHARED_CONDITIONAL_FALSE@ +FORTRAN_SHARED_CONDITIONAL_TRUE = @FORTRAN_SHARED_CONDITIONAL_TRUE@ FSEARCH_DIRS = @FSEARCH_DIRS@ H5_VERSION = @H5_VERSION@ HADDR_T = @HADDR_T@ @@ -309,6 +311,11 @@ AM_FCFLAGS = -I$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/ # Our main target, the high-level fortran library lib_LTLIBRARIES = libhdf5hl_fortran.la +# 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, +# pass the -static flag to the library linker. +@FORTRAN_SHARED_CONDITIONAL_FALSE@AM_LDFLAGS = -static + # Source files for the library #if BUILD_PARALLEL_CONDITIONAL # PARALLEL_COND_SRC=HDFDmpiof.c HDF5mpio.f90 diff --git a/hl/fortran/test/Makefile.am b/hl/fortran/test/Makefile.am index 865e91e..a04041b 100644 --- a/hl/fortran/test/Makefile.am +++ b/hl/fortran/test/Makefile.am @@ -14,6 +14,14 @@ include $(top_srcdir)/config/commence.am AM_CPPFLAGS=-I$(top_srcdir)/src -I$(top_builddir)/src -I$(top_srcdir)/hl/src AM_FCFLAGS=-I$(top_builddir)/fortran/src -I$(top_builddir)/hl/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/hl/fortran/src +# Some Fortran compilers can't build shared libraries, so sometimes we +# need to make sure the Fortran programs link against the static version +# of the HDF5 library. We do this by passing the -static flag to the linker. +if FORTRAN_SHARED_CONDITIONAL +else + AM_LDFLAGS=-static +endif + # Our main target, the test programs TEST_PROG=tstlite tstimage tsttable check_PROGRAMS=$(TEST_PROG) diff --git a/hl/fortran/test/Makefile.in b/hl/fortran/test/Makefile.in index 93ec1ea..e820541 100644 --- a/hl/fortran/test/Makefile.in +++ b/hl/fortran/test/Makefile.in @@ -152,6 +152,8 @@ FCFLAGS = @FCFLAGS@ FCLIBS = @FCLIBS@ FFLAGS = @FFLAGS@ FILTERS = @FILTERS@ +FORTRAN_SHARED_CONDITIONAL_FALSE = @FORTRAN_SHARED_CONDITIONAL_FALSE@ +FORTRAN_SHARED_CONDITIONAL_TRUE = @FORTRAN_SHARED_CONDITIONAL_TRUE@ FSEARCH_DIRS = @FSEARCH_DIRS@ H5_VERSION = @H5_VERSION@ HADDR_T = @HADDR_T@ @@ -306,6 +308,11 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog dsetf[1-4].h5 f1img.h5 \ AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_builddir)/src -I$(top_srcdir)/hl/src AM_FCFLAGS = -I$(top_builddir)/fortran/src -I$(top_builddir)/hl/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/hl/fortran/src +# Some Fortran compilers can't build shared libraries, so sometimes we +# need to make sure the Fortran programs link against the static version +# of the HDF5 library. We do this by passing the -static flag to the linker. +@FORTRAN_SHARED_CONDITIONAL_FALSE@AM_LDFLAGS = -static + # Our main target, the test programs TEST_PROG = tstlite tstimage tsttable LDADD = $(LIBH5F_HL) $(LIBH5F) $(LIBH5_HL) $(LIBHDF5) |