summaryrefslogtreecommitdiffstats
path: root/fortran/config/dec-flags
diff options
context:
space:
mode:
Diffstat (limited to 'fortran/config/dec-flags')
-rw-r--r--fortran/config/dec-flags92
1 files changed, 92 insertions, 0 deletions
diff --git a/fortran/config/dec-flags b/fortran/config/dec-flags
new file mode 100644
index 0000000..c9a34b3
--- /dev/null
+++ b/fortran/config/dec-flags
@@ -0,0 +1,92 @@
+# -*- shell-script -*-
+#
+# This file should be sourced into configure if the compiler is a DEC
+# compiler. It is careful not to do anything if the compiler is not
+# DEC; otherwise `cc_flags_set' is set to `yes'
+#
+
+# Get the compiler version unless it's already known.
+#
+# cc_vendor: The compiler vendor: DEC
+# cc_version: Version number, like: V5.2-038
+#
+if test X = "X$cc_flags_set"; then
+ cc_vendor=DEC
+ cc_version="`$CC $CFLAGS -V 2>&1 |head -1 |\
+ sed 's/.*DEC C \(V[0-9][-\.0-9]*\).*/\1/'`"
+ if test X != "$gcc_version"; then
+ echo "compiler '$CC' is $cc_vendor-$cc_version"
+ else
+ cc_vendor=
+ fi
+fi
+
+# Warn about old compilers that don't work right.
+case "$cc_vendor-$cc_version" in
+ DEC-V5.2-038)
+ cat <<EOF
+ **
+ ** This compiler may generate incorrect code when optimizations are
+ ** enabled. Please upgrade to a newer version (we're not sure which
+ ** version actually works) before reporting bugs to the HDF5 team.
+ **
+EOF
+ sleep 5
+ ;;
+esac
+
+# Compiler flags
+case "$cc_vendor-$cc_version" in
+ DEC-V5.*)
+ # Production
+ PROD_CFLAGS="-g0 -verbose -warnprotos -std -O4 $ARCH -ansi_args -fp_reorder -readonly_strings -inline speed"
+ PROD_CPPFLAGS="-D_INTRINSICS -D_INLINE_INTRINSICS"
+
+ # Debug
+ DEBUG_CFLAGS="-g -std -verbose -warnprotos"
+ DEBUG_CPPFLAGS=
+
+ # Profile
+ PROFILE_CFLAGS="-pg -std -verbose -warnprotos"
+ PROFILE_CPPFLAGS=
+
+ # Flags are set
+ cc_flags_set=yes
+ ;;
+esac
+
+# If no flags were set then clear the compiler vendor and version info.
+if test X = "X$cc_flags_set"; then
+ cc_vendor=
+ cc_version=
+fi
+
+# The default Fortran 90 compiler
+
+#
+# HDF5 integers
+#
+# R_LARGE is the number of digits for the bigest integer supported.
+# R_INTEGER is the number of digits in INTEGER
+#
+# (for the Digital UNIX architechture)
+#
+R_LARGE=18
+R_INTEGER=9
+HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
+HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
+HID_T='SELECTED_INT_KIND(R_INTEGER)'
+SIZE_T='SELECTED_INT_KIND(R_LARGE)'
+OBJECT_NAMELEN_DEFAULT_F=-1
+
+if test "X-" = "X-$F9X"; then
+ F9X=f90
+fi
+
+if test "X-" = "X-$f9x_flags_set"; then
+ FFLAGS="-Olimit 2048 -std1"
+ DEBUG_FFLAGS="-Olimit 2048 -std1"
+ PROD_FFLAGS="-Olimit 2048 -std1"
+ PROFILE_FFLAGS="-Olimit 2048 -std1"
+ f9x_flags_set=yes
+fi