mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
e006157deb
- Revise shared Fortran library disabling scenarios in configure - Improve configure output summary Description: Shared Fortran libraries are not supported on Mac, but were being disabled by configure in a way that also forced the C libraries to be static-only. This has been fixed, so now only shared Fortran is disabled while shared C can remain. This prompted two additional changes: 1. While working on the check that addresses whether or not shared Fortran libraries are allowed, removed old and no longer needed check(s) that disable shared Fortran libraries with HP, Intel 8, PGI, and Absoft compilers. (Essentially, Mac is the only situation in which Fortran shared are disabled by configure.) 2. Having two different states of libraries (i.e. shared C library with static-only Fortran library) was not apparent in the configure summary, which labeled all libraries as either shared and/or static. I've added lines to both the C++ and Fortran output sections to list shared/static-ness of these libraries specifically. Additionally, I've made sure that the new --enable-unsupported configure option correctly overrides configure if it tries to disable a shared library. Tested: jam, fred, & h5committest
101 lines
2.8 KiB
Bash
101 lines
2.8 KiB
Bash
# -*- shell-script -*-
|
|
#
|
|
# Copyright by The HDF Group.
|
|
# Copyright by the Board of Trustees of the University of Illinois.
|
|
# All rights reserved.
|
|
#
|
|
# This file is part of HDF5. The full HDF5 copyright notice, including
|
|
# terms governing use, modification, and redistribution, is contained in
|
|
# the files COPYING and Copyright.html. COPYING can be found at the root
|
|
# of the source code distribution tree; Copyright.html can be found at the
|
|
# root level of an installed copy of the electronic HDF5 document set and
|
|
# is linked from the top-level documents page. It can also be found at
|
|
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
|
|
# access to either file, you may request a copy from help@hdfgroup.org.
|
|
|
|
|
|
# This file is part of the HDF5 build script. It is processed shortly
|
|
# after configure starts and defines, among other things, flags for
|
|
# the various compile modes.
|
|
#
|
|
# See BlankForm in this directory for details.
|
|
|
|
# The default compiler is `gcc'
|
|
if test "X-" = "X-$CC"; then
|
|
CC=gcc
|
|
CC_BASENAME=gcc
|
|
fi
|
|
|
|
# Figure out compiler flags
|
|
. $srcdir/config/gnu-flags
|
|
|
|
. $srcdir/config/intel-flags
|
|
if test "X-" = "X-$FC"; then
|
|
case $CC_BASENAME in
|
|
gcc*)
|
|
FC=gfortran
|
|
FC_BASENAME=gfortran
|
|
;;
|
|
icc*)
|
|
FC=ifort
|
|
FC_BASENAME=ifort
|
|
;;
|
|
esac
|
|
fi
|
|
# Figure out compiler flags
|
|
. $srcdir/config/gnu-fflags
|
|
|
|
. $srcdir/config/intel-fflags
|
|
|
|
# compiler version strings
|
|
case $CC in
|
|
*gcc*)
|
|
cc_version_info=`$CC $CFLAGS $H5_CFLAGS --version 2>&1 | grep -v 'PathScale' |\
|
|
grep 'GCC' | sed 's/.*\((GCC) [-a-z0-9\. ]*.*\)/\1/'`
|
|
;;
|
|
|
|
*icc*)
|
|
cc_version_info=`$CC $CCFLAGS $H5_CCFLAGS -V 2>&1 | grep 'Version' |\
|
|
sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'`
|
|
;;
|
|
|
|
*)
|
|
echo "No match to get cc_version_info for $CC"
|
|
;;
|
|
esac
|
|
|
|
case $FC in
|
|
*gfortran*)
|
|
fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS --version 2>&1 |\
|
|
grep 'GCC' | sed 's/\(.*(GCC) [-a-z0-9\. ]*\).*/\1/'`
|
|
;;
|
|
|
|
*ifc*|*ifort*)
|
|
fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 | grep 'Version' |\
|
|
sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'`
|
|
;;
|
|
|
|
*)
|
|
echo "No match to get fc_version_info for $FC"
|
|
;;
|
|
|
|
esac
|
|
|
|
# get c++ version info
|
|
case $CXX in
|
|
*g++*)
|
|
cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS --version 2>&1 |\
|
|
grep 'GCC' | sed 's/.*\((GCC) [-a-z0-9\. ]*.*\)/\1/'`
|
|
;;
|
|
|
|
*icpc*)
|
|
cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 | grep 'Version' |\
|
|
sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'`
|
|
;;
|
|
|
|
*)
|
|
echo "No match to get cxx_version_info for $CXX"
|
|
;;
|
|
esac
|
|
|