📄 configure
字号:
esac
CXX_OPTIMIZE_FLAGS="-Ofast"
CXX_DEBUG_FLAGS="-g -DBZ_DEBUG"
LDFLAGS="-64"
;;
SGI32*) # SGI C++ http://www.sgi.com
echo "Configuring for SGI C++ (32 bit abi)"
bz_compiler=sgiCC
cxxwith=`echo $withval | sed -e 's/ /@/'`
case "$cxxwith" in
*:*@*) # Full initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)@.*/\1/p'`
CXXFLAGS=`echo "$cxxwith" | sed -n -e 's/.*:.*@\(.*\)/\1/p'`
;;
*:*) # Simple initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)/\1/p'`
CXXFLAGS="-n32 -DBZ_DISABLE_XOPEN_SOURCE -LANG:std -LANG:restrict -lCio"
;;
*) # Default values
CXX="CC"
CXXFLAGS="-n32 -DBZ_DISABLE_XOPEN_SOURCE -LANG:std -LANG:restrict -lCio"
;;
esac
CXX_OPTIMIZE_FLAGS="-Ofast"
CXX_DEBUG_FLAGS="-g -DBZ_DEBUG"
LDFLAGS="-n32"
;;
FCC*)
echo "Configuring for Fujitsu C++"
bz_compiler=FCC
cxxwith=`echo $withval | sed -e 's/ /@/'`
case "$cxxwith" in
*:*@*) # Full initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)@.*/\1/p'`
CXXFLAGS=`echo "$cxxwith" | sed -n -e 's/.*:.*@\(.*\)/\1/p'`
;;
*:*) # Simple initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)/\1/p'`
CXXFLAGS=""
;;
*) # Default values
CXX="FCC"
CXXFLAGS=""
;;
esac
CXX_OPTIMIZE_FLAGS="-K fast"
CXX_DEBUG_FLAGS="-g -DBZ_DEBUG"
;;
DECcxx*) # DEC C++ http://www.digital.com/
echo "Configuring for DEC cxx"
bz_compiler=cxx
cxxwith=`echo $withval | sed -e 's/ /@/'`
case "$cxxwith" in
*:*@*) # Full initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)@.*/\1/p'`
CXXFLAGS=`echo "$cxxwith" | sed -n -e 's/.*:.*@\(.*\)/\1/p'`
;;
*:*) # Simple initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)/\1/p'`
CXXFLAGS=""
;;
*) # Default values
CXX="cxx"
CXXFLAGS=""
;;
esac
CXX_OPTIMIZE_FLAGS="-O4 -tune host"
CXX_DEBUG_FLAGS="-g -msg_display_tag -DBZ_DEBUG"
CXXFLAGS="-DBZ_DISABLE_XOPEN_SOURCE"
;;
cray*) # Cray C++
echo "Configuring for Cray C++."
bz_compiler=cray
cxxwith=`echo $withval | sed -e 's/ /@/'`
case "$cxxwith" in
*:*@*) # Full initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)@.*/\1/p'`
CXXFLAGS=`echo "$cxxwith" | sed -n -e 's/.*:.*@\(.*\)/\1/p'`
;;
*:*) # Simple initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)/\1/p'`
CXXFLAGS="-h instantiate=used"
;;
*) # Default values
CXX="CC"
CXXFLAGS="-h instantiate=used"
;;
esac
CXX_OPTIMIZE_FLAGS="-O3 -hpipeline3 -hunroll -haggress -hscalar2"
CXX_DEBUG_FLAGS="-g -DBZ_DEBUG"
;;
egcs*) # EGCS http://egcs.cygnus.com/
echo "Configuring for EGCS (wahoo!)"
bz_compiler=egcs
cxxwith=`echo $withval | sed -e 's/ /@/'`
case "$cxxwith" in
*:*@*) # Full initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)@.*/\1/p'`
CXXFLAGS=`echo "$cxxwith" | sed -n -e 's/.*:.*@\(.*\)/\1/p'`
;;
*:*) # Simple initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)/\1/p'`
CXXFLAGS="-ftemplate-depth-30"
;;
*) # Default values
CXX="g++"
CXXFLAGS="-ftemplate-depth-30"
;;
esac
CXX_OPTIMIZE_FLAGS="-O2 -funroll-loops -fstrict-aliasing -fno-gcse"
CXX_DEBUG_FLAGS="-g -DBZ_DEBUG"
F77=g77
F77_OPTIMIZE_FLAGS="-O2 -funroll-loops"
FORTLIBS=-lg2c
CXXFFLAGS="-DBZ_FORTRAN_SYMBOLS_WITH_DOUBLE_TRAILING_UNDERSCORES"
;;
# gcc by Mumit Khan <khan@xraylith.wisc.edu>
gcc*) # GCC http://gcc.gnu.org/
echo "Configuring for GCC (wahoo!)"
bz_compiler=gcc
cxxwith=`echo $withval | sed -e 's/ /@/'`
case "$cxxwith" in
*:*@*) # Full initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)@.*/\1/p'`
CXXFLAGS=`echo "$cxxwith" | sed -n -e 's/.*:.*@\(.*\)/\1/p'`
;;
*:*) # Simple initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)/\1/p'`
CXXFLAGS="-ftemplate-depth-30"
;;
*) # Default values
CXX="g++"
CXXFLAGS="-ftemplate-depth-30"
;;
esac
CXX_OPTIMIZE_FLAGS="-O2 -funroll-loops -fstrict-aliasing -fno-gcse"
CXX_DEBUG_FLAGS="-g -DBZ_DEBUG"
F77=g77
F77_OPTIMIZE_FLAGS="-O2 -funroll-loops"
FORTLIBS=-lg2c
CXXFFLAGS="-DBZ_FORTRAN_SYMBOLS_WITH_DOUBLE_TRAILING_UNDERSCORES"
;;
aCC*)
echo "Configuring for aCC (HP-UX)"
bz_compiler=aCC
cxxwith=`echo $withval | sed -e 's/ /@/'`
case "$cxxwith" in
*:*@*) # Full initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)@.*/\1/p'`
CXXFLAGS=`echo "$cxxwith" | sed -n -e 's/.*:.*@\(.*\)/\1/p'`
;;
*:*) # Simple initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)/\1/p'`
CXXFLAGS=""
;;
*) # Default values
CXX="aCC"
CXXFLAGS=""
;;
esac
CXX_OPTIMIZE_FLAGS="-O"
CXX_DEBUG_FLAGS="-g -DBZ_DEBUG"
F77=f77
F77_OPTIMIZE_FLAGS="-O"
;;
pgCC*) # Portland group http://www.pgroup.com/
echo "Configuring for Portland Group C++"
echo "You do know this isn't supported yet, right?"
bz_compiler=pgCC
cxxwith=`echo $withval | sed -e 's/ /@/'`
case "$cxxwith" in
*:*@*) # Full initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)@.*/\1/p'`
CXXFLAGS=`echo "$cxxwith" | sed -n -e 's/.*:.*@\(.*\)/\1/p'`
;;
*:*) # Simple initialization syntax
CXX=`echo "$cxxwith" | sed -n -e 's/.*:\(.*\)/\1/p'`
CXXFLAGS=""
;;
*) # Default values
CXX="pgCC"
CXXFLAGS=""
;;
esac
CXX_OPTIMIZE_FLAGS="-O4 -Mnoframe -Mnodepchk -Minline=levels:25"
CXX_DEBUG_FLAGS="-g -O0 -DBZ_DEBUG"
;;
*)
echo "configure: warning: --with-cxx: invalid option $withval" 1>&2
;;
esac
know_compiler=1
fi
echo CXX = $CXX
if test $know_compiler -eq 0; then
cat << 'EOH'
This script only recognizes a small set of compilers and platforms so far.
You will have to rerun this script with one of these options:
--with-cxx=KCC KAI C++ (http://www.kai.com/)
--with-cxx=egcs EGCS (http://egcs.cygnus.com/)
--with-cxx=cray Cray C++ 3.0 or better (http://www.cray.com/)
--with-cxx=DECcxx DEC cxx 6.10 or better (http://www.dec.com/)
--with-cxx=SGI64 SGI C++ 7.3 or better (http://www.sgi.com/)
--with-cxx=SGI32 ... with 32-bit ABI
The Intel C++ compiler is also able to compile blitz, but this
script doesn't handle it yet. Ask if you need it.
EOH
exit 1
fi
# Set platform-specific fortran compilers and optimization settings
case "$target" in
*aix*)
echo "AIX: assuming f77 and xlf90"
F77=f77
F77_OPTIMIZE_FLAGS="-O3 -qhot"
F90=xlf90
F90_OPTIMIZE_FLAGS="-O3 -qhot"
FORTLIBS=-lxlf90
;;
*irix*)
echo "IRIX: assuming f77 and f90"
F77=f77
F77_OPTIMIZE_FLAGS="-Ofast -64"
F90=f90
F90_OPTIMIZE_FLAGS="-Ofast -64"
CXXFFLAGS="-DBZ_FORTRAN_SYMBOLS_WITH_TRAILING_UNDERSCORES"
case "$CXX" in
KCC)
# When using KAI C++ under IRIX, enable some backend optimizations
CXX_OPTIMIZE_FLAGS="+K3 -O3 --COMPO_fe --output_restrict --backend -LANG:restrict=on -64 -mips4"
CXX_DEBUG_FLAGS="-g +K0 -DBZ_DEBUG -64 -mips4"
;;
esac
;;
*solaris*)
echo "Solaris: assuming f77 and f90"
F77=f77
F77_OPTIMIZE_FLAGS="-O3"
F90=f90
F90_OPTIMIZE_FLAGS="-O3"
;;
*osf*)
echo "OSF: assuming f77 and f90"
F77=f77
F77_OPTIMIZE_FLAGS="-O4 -tune host"
F90=f90
F90_OPTIMIZE_FLAGS="-O4 -tune host"
CXXFFLAGS="-DBZ_FORTRAN_SYMBOLS_WITH_TRAILING_UNDERSCORES"
;;
alpha-cray-unicos)
echo "Cray T3D/E: Setting special optimization flags"
F77=fort77
F77_OPTIMIZE_FLAGS="-O aggress -O 3 -O unroll2 -O pipeline3"
F90=f90
F90_OPTIMIZE_FLAGS="-O 3 -O aggress -O unroll2 -O pipeline3"
CXXFFLAGS="-DBZ_FORTRAN_SYMBOLS_CAPS"
case "$CXX" in
KCC)
# When using KAI C++ on the T3E, need to enable a bunch of
# backend optimizations
CXX_OPTIMIZE_FLAGS="+K3 -O3 --backend -hpipeline3 --backend -hunroll \
--backend -haggress --backend -hscalar2"
;;
esac
;;
*)
echo << EOF
Blitz++ has not been tuned for this platform. You may have trouble
building fortran benchmarks, and performance may be unexciting.
EOF
;;
esac
# Check if the script was called with --enable-optimize or
# --enable-debug, and if so modify the compilation flags.
bz_optimize=false
# Check whether --enable-optimize or --disable-optimize was given.
if test "${enable_optimize+set}" = set; then
enableval="$enable_optimize"
if test "$enableval" = yes; then
echo "Optimization flags enabled"
CXXFLAGS="$CXXFLAGS $CXX_OPTIMIZE_FLAGS"
fi
fi
bz_debug=false
# Check whether --enable-debug or --disable-debug was given.
if test "${enable_debug+set}" = set; then
enableval="$enable_debug"
if test "$enableval" = yes; then
echo "Debugging flags enabled"
CXXFLAGS="$CXXFLAGS $CXX_DEBUG_FLAGS"
fi
fi
echo ""
if test $host != $build; then
ac_tool_prefix=${host_alias}-
else
ac_tool_prefix=
fi
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1072: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$AR"; then
ac_cv_prog_AR="$AR" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_AR="${ac_tool_prefix}ar"
break
fi
done
IFS="$ac_save_ifs"
test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
fi
fi
AR="$ac_cv_prog_AR"
if test -n "$AR"; then
echo "$ac_t""$AR" 1>&6
else
echo "$ac_t""no" 1>&6
fi
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1104: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
break
fi
done
IFS="$ac_save_ifs"
test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB="ranlib"
fi
fi
RANLIB="$ac_cv_prog_RANLIB"
if test -n "$RANLIB"; then
echo "$ac_t""$RANLIB" 1>&6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -