mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-01-30 15:32:37 +08:00
Merge pull request #532 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit '57ab1e7d6945c45107ebdd945bb89951ec90b8f1': add linking flag to cmake, does not fix the issue, still disabled shared with fortran add documention comments for shared Fortran Fix on OSX Fix for shared fortran libraries on mac (HDFFV-2772). Fix for shared fortran libraries on mac (HDFFV-2772). Fix for shared fortran libraries on mac (HDFFV-2772).
This commit is contained in:
commit
9fc2b3ef8e
@ -851,6 +851,11 @@ if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/for
|
||||
option (SKIP_HDF5_FORTRAN_SHARED "Do not build the fortran shared libraries" OFF)
|
||||
if (HDF5_BUILD_FORTRAN)
|
||||
if (BUILD_SHARED_LIBS AND APPLE)
|
||||
# Tell cmake 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).
|
||||
# *** NOTE: Fix does not work with Cmake. ***
|
||||
# set (HDF5_LINKER_FLAGS "-Wl,-commons,use_dylibs")
|
||||
if (NOT ALLOW_UNSUPPORTED)
|
||||
message (STATUS " **** Shared FORTRAN libraries are unsupported **** ")
|
||||
set (SKIP_HDF5_FORTRAN_SHARED ON)
|
||||
|
19
configure.ac
19
configure.ac
@ -918,14 +918,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)
|
||||
@ -3484,6 +3483,14 @@ chmod 755 tools/src/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
|
||||
|
@ -50,11 +50,11 @@ PROGRAM fortranlibtest
|
||||
IF(total_error .EQ. 0) THEN
|
||||
|
||||
WRITE(*, '(" FORTRANLIB_TEST is linked with HDF5 Library version ")', advance="NO")
|
||||
WRITE(*, '(I1)', advance="NO") majnum
|
||||
WRITE(*, '(I0)', advance="NO") majnum
|
||||
WRITE(*, '(".")', advance="NO")
|
||||
WRITE(*, '(I1)', advance="NO") minnum
|
||||
WRITE(*, '(I0)', advance="NO") minnum
|
||||
WRITE(*, '(" release ")', advance="NO")
|
||||
WRITE(*, '(I3)') relnum
|
||||
WRITE(*, '(I0)') relnum
|
||||
ELSE
|
||||
total_error = total_error + 1
|
||||
ENDIF
|
||||
|
@ -46,11 +46,11 @@ PROGRAM fortranlibtest
|
||||
CALL h5get_libversion_f(majnum, minnum, relnum, total_error)
|
||||
IF(total_error .EQ. 0) THEN
|
||||
WRITE(*, '(" FORTRANLIB_TEST is linked with HDF5 Library version ")', advance="NO")
|
||||
WRITE(*, '(I1)', advance="NO") majnum
|
||||
WRITE(*, '(I0)', advance="NO") majnum
|
||||
WRITE(*, '(".")', advance="NO")
|
||||
WRITE(*, '(I1)', advance="NO") minnum
|
||||
WRITE(*, '(I0)', advance="NO") minnum
|
||||
WRITE(*, '(" release ")', advance="NO")
|
||||
WRITE(*, '(I3)') relnum
|
||||
WRITE(*, '(I0)') relnum
|
||||
ELSE
|
||||
total_error = total_error + 1
|
||||
ENDIF
|
||||
|
@ -47,11 +47,11 @@ PROGRAM fortranlibtest_F03
|
||||
CALL h5get_libversion_f(majnum, minnum, relnum, total_error)
|
||||
IF(total_error .EQ. 0) THEN
|
||||
WRITE(*, '(" FORTRANLIB_TEST is linked with HDF5 Library version ")', advance="NO")
|
||||
WRITE(*, '(I1)', advance="NO") majnum
|
||||
WRITE(*, '(I0)', advance="NO") majnum
|
||||
WRITE(*, '(".")', advance="NO")
|
||||
WRITE(*, '(I1)', advance="NO") minnum
|
||||
WRITE(*, '(I0)', advance="NO") minnum
|
||||
WRITE(*, '(" release ")', advance="NO")
|
||||
WRITE(*, '(I3)') relnum
|
||||
WRITE(*, '(I0)') relnum
|
||||
ELSE
|
||||
total_error = total_error + 1
|
||||
ENDIF
|
||||
|
Loading…
Reference in New Issue
Block a user