summaryrefslogtreecommitdiffstats
path: root/fortran
diff options
context:
space:
mode:
authorJames Laird <jlaird@hdfgroup.org>2005-09-13 22:30:33 (GMT)
committerJames Laird <jlaird@hdfgroup.org>2005-09-13 22:30:33 (GMT)
commit33beeb7f55193bc76a7544f9fe3634718f36352d (patch)
tree477997f046cf9bc98025a8ecdd63ea01963d1081 /fortran
parent676e9e6f13caaeff5fb0e3809dda6d0e427bf0de (diff)
downloadhdf5-33beeb7f55193bc76a7544f9fe3634718f36352d.zip
hdf5-33beeb7f55193bc76a7544f9fe3634718f36352d.tar.gz
hdf5-33beeb7f55193bc76a7544f9fe3634718f36352d.tar.bz2
[svn-r11411] Purpose:
Bug fix Description: Building with --disable-static seems to have been broken on several platforms. Fixed this. Configure will now disable shared libraries automatically when using pgf90 or when building on Cygwin. Solution: To avoid errors when using shared libraries with pgf90 (which I had not realized were compiler-specific), I had manually set convenience libraries to use the -static linking flag. Apparently, this is not necessary, and caused these libraries to be created as empty archives when --disable-static was used. Also, some libraries were including other libraries, which was not necessary. I also fixed code in configure.in to correctly detect whether shared or static libraries are enabled, and moved code that disables shared libraries to before libtool is created (rather than editing libtool after the fact). Despite repeated warnings that only one shared library can be linked at a time, I have yet to have shared libraries break the linking of tests on any system. We'll see if the Daily Tests turn up anything. Platforms tested: mir (fortran, C++), sleipnir (C++), modi4 (fortran, C++, parallel), sol (fortran, C++), cygwin
Diffstat (limited to 'fortran')
-rw-r--r--fortran/src/Makefile.am3
-rw-r--r--fortran/src/Makefile.in3
-rw-r--r--fortran/test/Makefile.am7
-rw-r--r--fortran/test/Makefile.in70
-rw-r--r--fortran/testpar/Makefile.am3
-rw-r--r--fortran/testpar/Makefile.in3
6 files changed, 18 insertions, 71 deletions
diff --git a/fortran/src/Makefile.am b/fortran/src/Makefile.am
index 481eb89..9b83a9d 100644
--- a/fortran/src/Makefile.am
+++ b/fortran/src/Makefile.am
@@ -26,9 +26,6 @@ AM_FCFLAGS=-I$(top_srcdir)/src -I$(top_srcdir)/src/fortran
AM_FCLIBS=$(LIBHDF5)
-# Fortran libraries are linked statically to solve a build problem.
-AM_LDFLAGS=-static
-
# This is our main target, the fortran library
lib_LTLIBRARIES=libhdf5_fortran.la
diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in
index f91e7a8..ab6fb9a 100644
--- a/fortran/src/Makefile.in
+++ b/fortran/src/Makefile.in
@@ -350,9 +350,6 @@ INCLUDES = -I$(top_srcdir)/src
AM_FCFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/src/fortran
AM_FCLIBS = $(LIBHDF5)
-# Fortran libraries are linked statically to solve a build problem.
-AM_LDFLAGS = -static
-
# This is our main target, the fortran library
lib_LTLIBRARIES = libhdf5_fortran.la
@BUILD_PARALLEL_CONDITIONAL_FALSE@PARALLEL_COND_SRC = HDF5.f90
diff --git a/fortran/test/Makefile.am b/fortran/test/Makefile.am
index 4c9d910..079119e 100644
--- a/fortran/test/Makefile.am
+++ b/fortran/test/Makefile.am
@@ -23,11 +23,8 @@ include $(top_srcdir)/config/commence.am
AM_FCFLAGS=-I$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src
INCLUDES=-I$(top_srcdir)/src -I$(top_builddir)/fortran/src
-# Fortran libraries are linked statically to solve a build problem.
-AM_LDFLAGS=-static
-
# The Fortran test library
-lib_LTLIBRARIES=libh5test_fortran.la
+noinst_LTLIBRARIES=libh5test_fortran.la
# Our main targets, the tests themselves
TEST_PROG=fortranlib_test fflush1 fflush2
@@ -49,9 +46,7 @@ fortranlib_test_SOURCES = fortranlib_test.f90 \
fflush1_SOURCES=fflush1.f90
fflush2_SOURCES=fflush2.f90
-# The fortran test library depends on the main fortran library.
# The tests depend on both fortran libraries and both main libraries.
-LIBADD=$(LIBH5TEST) $(LIBHDF5) $(LIBH5F)
LDADD=libh5test_fortran.la $(LIBH5TEST) $(LIBH5F) $(LIBHDF5)
# Temporary files
diff --git a/fortran/test/Makefile.in b/fortran/test/Makefile.in
index e232ef3..ad8b493 100644
--- a/fortran/test/Makefile.in
+++ b/fortran/test/Makefile.in
@@ -66,15 +66,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/H5config.h
CONFIG_CLEAN_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(libdir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(lib_LTLIBRARIES)
+LTLIBRARIES = $(noinst_LTLIBRARIES)
libh5test_fortran_la_LIBADD =
am_libh5test_fortran_la_OBJECTS = fortranlib_test.lo tH5F.lo tH5D.lo \
tH5R.lo tH5S.lo tH5T.lo tH5VL.lo tH5Z.lo tH5Sselect.lo tH5P.lo \
@@ -352,11 +344,8 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.h5
AM_FCFLAGS = -I$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src
INCLUDES = -I$(top_srcdir)/src -I$(top_builddir)/fortran/src
-# Fortran libraries are linked statically to solve a build problem.
-AM_LDFLAGS = -static
-
# The Fortran test library
-lib_LTLIBRARIES = libh5test_fortran.la
+noinst_LTLIBRARIES = libh5test_fortran.la
# Our main targets, the tests themselves
TEST_PROG = fortranlib_test fflush1 fflush2
@@ -377,9 +366,7 @@ fortranlib_test_SOURCES = fortranlib_test.f90 \
fflush1_SOURCES = fflush1.f90
fflush2_SOURCES = fflush2.f90
-# The fortran test library depends on the main fortran library.
# The tests depend on both fortran libraries and both main libraries.
-LIBADD = $(LIBH5TEST) $(LIBHDF5) $(LIBH5F)
LDADD = libh5test_fortran.la $(LIBH5TEST) $(LIBH5F) $(LIBHDF5)
MOSTLYCLEANFILES = *.tmp
@@ -436,35 +423,17 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
- else :; fi; \
- done
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
libh5test_fortran.la: $(libh5test_fortran_la_OBJECTS) $(libh5test_fortran_la_DEPENDENCIES)
- $(FCLINK) -rpath $(libdir) $(libh5test_fortran_la_LDFLAGS) $(libh5test_fortran_la_OBJECTS) $(libh5test_fortran_la_LIBADD) $(LIBS)
+ $(FCLINK) $(libh5test_fortran_la_LDFLAGS) $(libh5test_fortran_la_OBJECTS) $(libh5test_fortran_la_LIBADD) $(LIBS)
clean-checkPROGRAMS:
@list='$(check_PROGRAMS)'; for p in $$list; do \
@@ -717,9 +686,6 @@ check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) all-local
installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -747,8 +713,8 @@ maintainer-clean-generic:
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-checkPROGRAMS clean-generic clean-libLTLIBRARIES \
- clean-libtool mostlyclean-am
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-noinstLTLIBRARIES mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
@@ -768,7 +734,7 @@ info-am:
install-data-am:
-install-exec-am: install-libLTLIBRARIES
+install-exec-am:
install-info: install-info-am
@@ -794,21 +760,19 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES
+uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am all-local check check-TESTS check-am \
- clean clean-checkPROGRAMS clean-generic clean-libLTLIBRARIES \
- clean-libtool ctags distclean distclean-compile \
+ clean clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-noinstLTLIBRARIES ctags distclean distclean-compile \
distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool mostlyclean-local pdf pdf-am ps ps-am tags \
- uninstall uninstall-am uninstall-info-am \
- uninstall-libLTLIBRARIES
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \
+ pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
# check-install is a synonym for installcheck.
diff --git a/fortran/testpar/Makefile.am b/fortran/testpar/Makefile.am
index af9461e..894c938 100644
--- a/fortran/testpar/Makefile.am
+++ b/fortran/testpar/Makefile.am
@@ -22,9 +22,6 @@ include $(top_srcdir)/config/commence.am
# Include files
AM_FCFLAGS=-I$(top_srcdir)/fortran/src -I$(top_srcdir)/fortran/test $(F9XMODFLAG)$(top_builddir)/fortran/src
-# Fortran libraries are linked statically to solve a build problem.
-AM_LDFLAGS=-static
-
# These are our main targets
TEST_PROG_PARA=parallel_test
check_PROGRAMS=$(TEST_PROG_PARA)
diff --git a/fortran/testpar/Makefile.in b/fortran/testpar/Makefile.in
index c62ebee..a071ffd 100644
--- a/fortran/testpar/Makefile.in
+++ b/fortran/testpar/Makefile.in
@@ -306,9 +306,6 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog parf[12].h5
# Include files
AM_FCFLAGS = -I$(top_srcdir)/fortran/src -I$(top_srcdir)/fortran/test $(F9XMODFLAG)$(top_builddir)/fortran/src
-# Fortran libraries are linked statically to solve a build problem.
-AM_LDFLAGS = -static
-
# These are our main targets
TEST_PROG_PARA = parallel_test