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 /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 'fortran')
-rw-r--r-- | fortran/Makefile.in | 2 | ||||
-rw-r--r-- | fortran/examples/Makefile.in | 2 | ||||
-rw-r--r-- | fortran/src/Makefile.am | 8 | ||||
-rw-r--r-- | fortran/src/Makefile.in | 7 | ||||
-rw-r--r-- | fortran/test/Makefile.am | 8 | ||||
-rw-r--r-- | fortran/test/Makefile.in | 7 | ||||
-rw-r--r-- | fortran/testpar/Makefile.in | 2 |
7 files changed, 36 insertions, 0 deletions
diff --git a/fortran/Makefile.in b/fortran/Makefile.in index ab70f03..2a816b4 100644 --- a/fortran/Makefile.in +++ b/fortran/Makefile.in @@ -140,6 +140,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/fortran/examples/Makefile.in b/fortran/examples/Makefile.in index 82199b9..61eb63d 100644 --- a/fortran/examples/Makefile.in +++ b/fortran/examples/Makefile.in @@ -128,6 +128,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/fortran/src/Makefile.am b/fortran/src/Makefile.am index 9b83a9d..266186f 100644 --- a/fortran/src/Makefile.am +++ b/fortran/src/Makefile.am @@ -29,6 +29,14 @@ AM_FCLIBS=$(LIBHDF5) # This is our main target, the fortran library lib_LTLIBRARIES=libhdf5_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 + # Include HDF5.f90 if parallel is disabled, HDF5mpiof* if parallel is enabled if BUILD_PARALLEL_CONDITIONAL PARALLEL_COND_SRC = H5FDmpiof.c HDF5mpio.f90 H5FDmpioff.f90 diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index ab6fb9a..e9d5390 100644 --- a/fortran/src/Makefile.in +++ b/fortran/src/Makefile.in @@ -195,6 +195,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@ @@ -352,6 +354,11 @@ AM_FCLIBS = $(LIBHDF5) # This is our main target, the fortran library lib_LTLIBRARIES = libhdf5_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 @BUILD_PARALLEL_CONDITIONAL_FALSE@PARALLEL_COND_SRC = HDF5.f90 # Include HDF5.f90 if parallel is disabled, HDF5mpiof* if parallel is enabled diff --git a/fortran/test/Makefile.am b/fortran/test/Makefile.am index 079119e..5301b90 100644 --- a/fortran/test/Makefile.am +++ b/fortran/test/Makefile.am @@ -26,6 +26,14 @@ INCLUDES=-I$(top_srcdir)/src -I$(top_builddir)/fortran/src # The Fortran test library noinst_LTLIBRARIES=libh5test_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 + # Our main targets, the tests themselves TEST_PROG=fortranlib_test fflush1 fflush2 check_PROGRAMS=$(TEST_PROG) diff --git a/fortran/test/Makefile.in b/fortran/test/Makefile.in index ad8b493..7ac0e8c 100644 --- a/fortran/test/Makefile.in +++ b/fortran/test/Makefile.in @@ -189,6 +189,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@ @@ -347,6 +349,11 @@ INCLUDES = -I$(top_srcdir)/src -I$(top_builddir)/fortran/src # The Fortran test library noinst_LTLIBRARIES = libh5test_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 + # Our main targets, the tests themselves TEST_PROG = fortranlib_test fflush1 fflush2 libh5test_fortran_la_SOURCES = fortranlib_test.f90 tH5F.f90 tH5D.f90 \ diff --git a/fortran/testpar/Makefile.in b/fortran/testpar/Makefile.in index a071ffd..6724b8c 100644 --- a/fortran/testpar/Makefile.in +++ b/fortran/testpar/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@ |