diff options
Diffstat (limited to 'lib/make/known-architectures')
-rw-r--r-- | lib/make/known-architectures/aix | 8 | ||||
-rw-r--r-- | lib/make/known-architectures/linux | 37 |
2 files changed, 41 insertions, 4 deletions
diff --git a/lib/make/known-architectures/aix b/lib/make/known-architectures/aix index 515d6270..ed4f7a09 100644 --- a/lib/make/known-architectures/aix +++ b/lib/make/known-architectures/aix @@ -92,6 +92,7 @@ else : ${C_DEPEND_OUT=' > /dev/null ; mv $(basename $(basename $@)).u $@'} : ${CFLAGS="-q$AIX_BITS -qlanglvl=stdc99"} : ${C_OPTIMISE_FLAGS="-O3 -qarch=auto -qtune=auto -qcache=auto -qhot"} + : ${C_OPENMP_FLAGS='-qsmp=omp'} CC_VERSION=`$CC -qversion 2>&1 | head -n1` ;; *) @@ -108,6 +109,7 @@ else : ${CXX_DEPEND_OUT=' > /dev/null ; mv $(basename $(basename $@)).u $@'} : ${CXXFLAGS="-q$AIX_BITS"} : ${CXX_OPTIMISE_FLAGS="-O3 -qarch=auto -qtune=auto -qcache=auto -qhot"} + : ${CXX_OPENMP_FLAGS='-qsmp=omp'} CXX_VERSION=`$CXX -qversion 2>&1 |head -n1` ;; *) @@ -115,9 +117,10 @@ else esac case "$F90" in - xlf|xlf_r|xlf90|xlf90_r) + xlf|xlf_r|xlf90|xlf90_r|xlf95|xlf95_r) : ${F90FLAGS="-q$AIX_BITS"} : ${F90_OPTIMISE_FLAGS="-O3 -qarch=auto -qtune=auto -qcache=auto -qhot"} + : ${F90_OPENMP_FLAGS='-qsmp=omp'} ;; *) : ${F90_OPTIMISE_FLAGS="-O3"} @@ -125,9 +128,10 @@ else esac case "$F77" in - xlf|xlf_r|xlf77|xlf77_r|xlf90|xlf90_r) + xlf|xlf_r|xlf77|xlf77_r|xlf90|xlf90_r|xlf95|xlf95_r) : ${FF77LAGS="-q$AIX_BITS"} : ${F77_OPTIMISE_FLAGS="-O3 -qarch=auto -qtune=auto -qcache=auto -qhot"} + : ${F77_OPENMP_FLAGS='-qsmp=omp'} ;; *) : ${F77_OPTIMISE_FLAGS="-O3"} diff --git a/lib/make/known-architectures/linux b/lib/make/known-architectures/linux index 0a94bf31..ac371291 100644 --- a/lib/make/known-architectures/linux +++ b/lib/make/known-architectures/linux @@ -145,8 +145,19 @@ else : ${LIBS='gfortran'} : ${LIBDIRS="$gnu95_libdir"} fi - F77_VERSION="`$F77 -dumpversion 2>&1 | grep -i version | head -n1`" - F90_VERSION="`$F90 -dumpversion 2>&1 | grep -i version | head -n1`" + F77_VERSION="`$F77 -dumpversion 2>&1 | head -n1`" + F90_VERSION="`$F90 -dumpversion 2>&1 | head -n1`" + # only gfortran versions 4.1 and higher support OpenMP + major_version=`echo $F77_VERSION | cut -f5 -d' ' | cut -f1 -d'.'` + minor_version=`echo $F77_VERSION | cut -f5 -d' ' | cut -f2 -d'.'` + if test ! \( $major_version -lt 4 -o \( $major_version = 4 -a $minor_version -lt 1 \) \) ; then + : ${F77_OPENMP_FLAGS='-fopenmp'} + fi + major_version=`echo $F90_VERSION | cut -f5 -d' ' | cut -f1 -d'.'` + minor_version=`echo $F90_VERSION | cut -f5 -d' ' | cut -f2 -d'.'` + if test ! \( $major_version -lt 4 -o \( $major_version = 4 -a $minor_version -lt 1 \) \) ; then + : ${F90_OPENMP_FLAGS='-fopenmp'} + fi ;; pacific) if test "$LINUX_G77_USES_LIBG2C" = 'yes' ; then @@ -264,6 +275,9 @@ else : ${F90FLAGS='-align -w95'} fi + : ${F77_OPENMP_FLAGS='-openmp'} + : ${F90_OPENMP_FLAGS='-openmp'} + intel_dir="$(dirname $(dirname $(which $F90)))" case "$host_cpu" in @@ -314,6 +328,8 @@ else PathScale) : ${F77FLAGS='-fno-second-underscore'} : ${F90FLAGS='-fno-second-underscore'} + : ${F77_OPENMP_FLAGS='-openmp'} + : ${F90_OPENMP_FLAGS='-openmp'} : ${F77_OPTIMISE_FLAGS='-Ofast'} : ${F90_OPTIMISE_FLAGS='-Ofast'} if test "$OPTIMISE" != 'no'; then @@ -346,6 +362,12 @@ else : ${CFLAGS='-pipe -std=gnu99'} : ${C_OPTIMISE_FLAGS='-O3'} CC_VERSION="`$CC -v 2>&1 | grep -i version | head -n1`" + major_version=`echo $CC_VERSION | cut -f3 -d' ' | cut -f1 -d'.'` + minor_version=`echo $CC_VERSION | cut -f3 -d' ' | cut -f2 -d'.'` + # only GCC versions 4.1 and higher support OpenMP + if test ! \( $major_version -lt 4 -o \( $major_version = 4 -a $minor_version -lt 1 \) \) ; then + : ${C_OPENMP_FLAGS='-fopenmp'} + fi ;; # Intel [ei]cc) @@ -369,6 +391,7 @@ else fi : ${C_WARN_FLAGS="$c_warn_flags"} CC_VERSION="`$CC -V 2>&1 | grep -i version | head -n1`" + : ${C_OPENMP_FLAGS='-openmp'} ;; sgicc) : ${C_OPTIMISE_FLAGS='-O3'} @@ -384,6 +407,7 @@ else : ${CFLAGS='-std=gnu99'} : ${C_OPTIMISE_FLAGS='-Ofast'} CC_VERSION="`$CC -v 2>&1 | grep -i version | head -n1`" + : ${C_OPENMP_FLAGS='-openmp'} ;; esac @@ -393,6 +417,12 @@ else : ${CXXFLAGS='-pipe'} : ${CXX_OPTIMISE_FLAGS='-O3'} CXX_VERSION="`$CXX -v 2>&1 | grep -i version | head -n1`" + major_version=`echo $CXX_VERSION | cut -f3 -d' ' | cut -f1 -d'.'` + minor_version=`echo $CXX_VERSION | cut -f3 -d' ' | cut -f2 -d'.'` + # only GCC versions 4.1 and higher support OpenMP + if test ! \( $major_version -lt 4 -o \( $major_version = 4 -a $minor_version -lt 1 \) \) ; then + : ${CXX_OPENMP_FLAGS='-fopenmp'} + fi ;; # Intel [ei]cc | [ei]cpc) @@ -423,6 +453,7 @@ else : ${CXX_WARN_FLAGS="$cxx_warn_flags"} : ${CXX_DEPEND='$(CXX) -M $(CPPFLAGS)'} CXX_VERSION="`$CXX -V 2>&1 | grep -i version | head -n1`" + : ${CXX_OPENMP_FLAGS='-openmp'} ;; sgiCC) : ${CXX_OPTIMISE_FLAGS='-O3'} @@ -437,10 +468,12 @@ else : ${LDFLAGS='-Wl,--allow-multiple-definition'} fi CXX_VERSION="`$CXX -V 2>&1 | grep pgCC | head -n1`" + : ${CXX_OPENMP_FLAGS='-mp'} ;; pathCC) : ${CXX_OPTIMISE_FLAGS='-Ofast'} CXX_VERSION="`$CXX -v 2>&1 | grep -i version | head -n1`" + : ${CXX_OPENMP_FLAGS='-openmp'} ;; esac |