summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/cce-fflags73
-rw-r--r--config/cce-flags79
-rw-r--r--config/linux-gnulibc124
3 files changed, 172 insertions, 4 deletions
diff --git a/config/cce-fflags b/config/cce-fflags
new file mode 100644
index 0000000..896e711
--- /dev/null
+++ b/config/cce-fflags
@@ -0,0 +1,73 @@
+# -*- shell-script -*-
+#
+# Copyright by The HDF Group.
+# 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 should be sourced into configure if the compiler is the
+# Cray Compiling Environment (CCE) compiler or a derivative. It is careful not to do anything
+# if the compiler is not Cray; otherwise `cc_flags_set' is set to `yes'
+#
+
+# Get the compiler version in a way that works for cce
+# unless a compiler version is already known
+#
+# cc_vendor: The compiler name: Cray
+# cc_version: Version number: 8.3.0
+#
+if test X = "X$f9x_flags_set"; then
+ f9x_version="`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 |grep 'Cray'`"
+ if test X != "X$f9x_version"; then
+ f9x_vendor=cce
+ f9x_version=`echo $f9x_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'`
+ echo "compiler '$FC' is Cray $f9x_vendor-$f9x_version"
+ fc_version_info=$f9x_version
+ fi
+fi
+
+# Common Cray flags for various situations
+if test "X-cce" = "X-$f9x_vendor"; then
+ # Insert section about version specific problems from compiler flags here,
+ # if necessary.
+
+ arch=
+ # Architecture-specific flags
+ # Nothing currently. (Uncomment code below and modify to add any)
+ #case "$host_os-$host_cpu" in
+ # *-i686)
+ # arch="-march=i686"
+ # ;;
+ #esac
+
+ # General
+ H5_FCFLAGS="${H5_FCFLAGS} -hnocaf"
+
+ # Production
+ # -Wl,-s to remove all symbols for smaller file
+ PROD_FCFLAGS="-O3 -Wl,-s"
+
+ # Debug
+ DEBUG_FCFLAGS="-g -O0"
+
+ # Profile
+ # Use this for profiling with gprof
+ PROFILE_FCFLAGS="-g -p"
+
+ # Flags are set
+ f9x_flags_set=yes
+fi
+
+# Clear f9x info if no flags set
+if test "X-$f9x_flags_set" = "X-"; then
+ f9x_vendor=
+ f9x_version=
+fi
diff --git a/config/cce-flags b/config/cce-flags
new file mode 100644
index 0000000..a34fcbe
--- /dev/null
+++ b/config/cce-flags
@@ -0,0 +1,79 @@
+# -*- shell-script -*-
+#
+# Copyright by The HDF Group.
+# 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 should be sourced into configure if the compiler is the
+# Cray Compiling Environment (CCE) compiler or a derivative. It is careful not to do anything
+# if the compiler is not Cray; otherwise `cc_flags_set' is set to `yes'
+#
+
+# Get the compiler version in a way that works for cce
+# unless a compiler version is already known
+#
+# cc_vendor: The compiler name: Cray
+# cc_version: Version number: 8.3.0
+#
+if test X = "X$cc_flags_set"; then
+ cc_version="`$CC $CFLAGS $H5_CFLAGS -V 2>&1 |grep 'Cray'`"
+ if test X != "X$cc_version"; then
+ cc_vendor=cce
+ cc_version=`echo $cc_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'`
+ echo "compiler '$CC' is Cray $cc_vendor-$cc_version"
+ cc_version_info=$cc_version
+ cxx_version_info=$cc_version
+ fi
+fi
+
+# Common Cray flags for various situations
+if test "X-cce" = "X-$cc_vendor"; then
+ # Insert section about version specific problems from compiler flags here,
+ # if necessary.
+
+ arch=
+ # Architecture-specific flags
+ # Nothing currently. (Uncomment code below and modify to add any)
+ #case "$host_os-$host_cpu" in
+ # *-i686)
+ # arch="-march=i686"
+ # ;;
+ #esac
+
+ # General
+ # Default to C99 standard.
+ H5_CFLAGS="${H5_CFLAGS:--hc99 $arch}"
+
+ # Production
+ # -Wl,-s to remove all symbols for smaller file
+ PROD_CFLAGS="-O3 -Wl,-s"
+ PROD_CPPFLAGS=
+
+ # Debug
+ DEBUG_CFLAGS="-g -O0"
+ DEBUG_CPPFLAGS=
+
+ # Profile
+ # Use this for profiling with gprof
+ PROFILE_CFLAGS="-g -p"
+ PROFILE_CPPFLAGS=
+
+ # Flags are set
+ cc_flags_set=yes
+
+fi
+
+# Clear cc info if no flags set
+if test "X-$cc_flags_set" = "X-"; then
+ cc_vendor=
+ cc_version=
+fi
diff --git a/config/linux-gnulibc1 b/config/linux-gnulibc1
index c18c02d..465bfed 100644
--- a/config/linux-gnulibc1
+++ b/config/linux-gnulibc1
@@ -38,6 +38,9 @@ fi
# Figure out PGI C compiler flags
. $srcdir/config/pgi-flags
+# Figure out CCE C compiler flags
+. $srcdir/config/cce-flags
+
# Figure out Intel C compiler flags
. $srcdir/config/intel-flags
@@ -89,10 +92,13 @@ else
esac
fi
-# Figure out PGI F90 compiler flags
+# Figure out PGI FC compiler flags
. $srcdir/config/pgi-fflags
-# Figure out Intel F90 compiler flags
+# Figure out CCE FC compiler flags
+. $srcdir/config/cce-fflags
+
+# Figure out Intel FC compiler flags
. $srcdir/config/intel-fflags
case $FC_BASENAME in
@@ -125,6 +131,10 @@ if test -z "$CXX"; then
fi
# compiler version strings
+
+# check if the compiler_version_info is already set
+if test -z "$cc_version_info"; then
+
case $CC in
# whatever matches *pgcc* will also match *gcc*, so this one must come first
*pgcc*)
@@ -153,7 +163,11 @@ case $CC in
;;
esac
+fi
+
# get fortran version info
+# check if the compiler_version_info is already set
+if test -z "$fc_version_info"; then
case $FC in
*gfortran*)
fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS --version 2>&1 |\
@@ -199,9 +213,11 @@ case $FC in
echo "No match to get fc_version_info for $FC"
;;
esac
-
+fi
# get c++ version info
+# check if the compiler_version_info is already set
+if test -z "$cxx_version_info"; then
case $CXX in
*g++*)
cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS --version 2>&1 |\
@@ -226,4 +242,4 @@ case $CXX in
echo "No match to get cxx_version_info for $CXX"
;;
esac
-
+fi