diff options
author | James Laird <jlaird@hdfgroup.org> | 2005-09-13 22:30:33 (GMT) |
---|---|---|
committer | James Laird <jlaird@hdfgroup.org> | 2005-09-13 22:30:33 (GMT) |
commit | 33beeb7f55193bc76a7544f9fe3634718f36352d (patch) | |
tree | 477997f046cf9bc98025a8ecdd63ea01963d1081 /fortran | |
parent | 676e9e6f13caaeff5fb0e3809dda6d0e427bf0de (diff) | |
download | hdf5-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.am | 3 | ||||
-rw-r--r-- | fortran/src/Makefile.in | 3 | ||||
-rw-r--r-- | fortran/test/Makefile.am | 7 | ||||
-rw-r--r-- | fortran/test/Makefile.in | 70 | ||||
-rw-r--r-- | fortran/testpar/Makefile.am | 3 | ||||
-rw-r--r-- | fortran/testpar/Makefile.in | 3 |
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 |