summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorM. Scot Breitenfeld <brtnfld@hdfgroup.org>2017-05-23 15:21:18 (GMT)
committerM. Scot Breitenfeld <brtnfld@hdfgroup.org>2017-05-23 15:21:18 (GMT)
commit133168d8fcd5210c66d65ba3c1b349f72fd39f0f (patch)
treedf242162f00fbd05d5e2fc3a2a3c2d6974ade2ff /configure.ac
parent7639406b9c909496167b117aa2dc25266cc12aed (diff)
downloadhdf5-133168d8fcd5210c66d65ba3c1b349f72fd39f0f.zip
hdf5-133168d8fcd5210c66d65ba3c1b349f72fd39f0f.tar.gz
hdf5-133168d8fcd5210c66d65ba3c1b349f72fd39f0f.tar.bz2
Fixed for building shared fortran libraries on OS X, HDFFV-2772
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac19
1 files changed, 13 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac
index 7f34ad6c..a5b69c8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -644,14 +644,13 @@ H5_FORTRAN_SHARED="no"
if test "X${HDF_FORTRAN}" = "Xyes" && test "X${enable_shared}" != "Xno"; then
AC_MSG_CHECKING([if shared Fortran libraries are supported])
H5_FORTRAN_SHARED="yes"
-
- ## Disable fortran shared libraries on Mac. (MAM - 03/30/11)
-
+ ## tell libtool to do the right thing with COMMON symbols, this fixes
+ ## corrupt values with COMMON and EQUIVALENCE when building shared
+ ## Fortran libraries on OSX with gnu and Intel compilers (HDFFV-2772).
case "`uname`" in
Darwin*)
- H5_FORTRAN_SHARED="no"
- CHECK_WARN="Shared Fortran libraries not currently supported on Mac."
- ;;
+ H5_LDFLAGS="$H5_LDFLAGS -Wl,-commons,use_dylibs"
+ ;;
esac
## Report results of check(s)
@@ -3003,6 +3002,14 @@ chmod 755 tools/misc/h5cc
if test "X$HDF_FORTRAN" = "Xyes"; then
chmod 755 fortran/src/h5fc
+ ## libtool does not pass the correct argument linker (wl=) for the Intel Fortran compiler
+ ## on OS X, which is needed when building shared libraries on OS X. This script
+ ## replaces the 3rd occurrence, which is for Fortran, of wl="" with wl="-Wl," (HDFFV-2772)
+ case "`uname`" in
+ Darwin*)
+ cat libtool | awk '/wl=\"/{c++;if(c==3){sub("wl=\"\"","wl=\"-Wl,\"");c=0}}1' > libtool.tmp && mv -f libtool.tmp libtool && chmod 755 libtool
+ ;;
+ esac
fi
if test "X$HDF_CXX" = "Xyes"; then