summaryrefslogtreecommitdiffstats
path: root/config/linux
diff options
context:
space:
mode:
Diffstat (limited to 'config/linux')
-rw-r--r--config/linux122
1 files changed, 63 insertions, 59 deletions
diff --git a/config/linux b/config/linux
index 9e3bc5c..032bfb0 100644
--- a/config/linux
+++ b/config/linux
@@ -3,69 +3,73 @@
# 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=cc
+ CC_BASENAME=cc
+fi
-#----------------------------------------------------------------------------
-# Compiler flags. The CPPFLAGS values should not include package debug
-# flags like `-DH5G_DEBUG' since these are added with the
-# `--enable-debug' switch of configure.
-CC=${CC:-gcc}
-case `$CC -v 2>&1 |tail -1 |sed 's/gcc version //'` in
- 2.7.*)
- echo " +------------------------------------------------+"
- echo " | You have an old version of gcc. Please upgrade |"
- echo " | to 2.8.1 or better. Continuing anyway, but |"
- echo " | code generation may be wrong on some platforms.|"
- echo " +------------------------------------------------+"
- sleep 5
- CCVENDOR=gcc
- ;;
- 2.8.*)
- CFLAGS="$CFLAGS -Wsign-compare"
- CCVENDOR=gcc
- ;;
- egcs-*)
- CFLAGS="$CFLAGS -Wsign-compare"
- CCVENDOR=egcs
- ;;
- pgcc-*)
- CFLAGS="$CFLAGS -Wsign-compare"
- CCVENDOR=pgcc
- ;;
-esac
-
-# What must *always* be present for things to compile correctly?
-CFLAGS="$CFLAGS -ansi"
+ARCH="-mcpu=pentiumpro -march=pentiumpro -malign-double"
+NOFP="-fomit-frame-pointer"
-# What compiler flags should be used for code development?
-DEBUG_CFLAGS="-g -fverbose-asm"
-DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+# Compiler flags. We use `-v' to get the version number because it almost
+# always works on Linux systems.
+case `$CC -v 2>&1 |grep 'gcc version' |sed 's/.*gcc version //'` in
+ 2.7.*)
+ echo " +------------------------------------------------+"
+ echo " | You have an old version of gcc. Please upgrade |"
+ echo " | to 2.8.1 or better. Continuing anyway, but |"
+ echo " | code generation may be wrong on some platforms.|"
+ echo " +------------------------------------------------+"
+ sleep 5
+ CFLAGS="$CFLAGS -ansi"
+ PROD_CFLAGS="$ARCH -O3 $NOFP -finline-functions -fschedule-insns2"
+ PROD_CPPFLAGS=
+ DEBUG_CFLAGS="-g -fverbose-asm"
+ DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+ PROFILE_CFLAGS=-pg
+ PROFILE_CPPFLAGS=
+ ;;
-# What compiler flags should be used for building a production
-# library?
-if [ "gcc" = "$CCVENDOR" ]; then
- PROD_CFLAGS="-mcpu=pentiumpro -march=pentiumpro -O3 -finline-functions -malign-double -fomit-frame-pointer -fschedule-insns2"
- PROD_CPPFLAGS=
-elif [ "egcs" = "$CCVENDOR" ]; then
- PROD_CFLAGS="-mcpu=pentiumpro -march=pentiumpro -O6 -malign-double"
- PROD_CPPFLAGS=
-elif [ "pgcc" = "$CCVENDOR" ]; then
- PROD_CFLAGS="-mcpu=pentiumpro -march=pentiumpro -O6 -malign-double"
- PROD_CPPFLAGS=
-else
- PROD_CFLAGS=
- PROD_CPPFLAGS=
-fi
+ 2.8.*)
+ CFLAGS="$CFLAGS -Wsign-compare"
+ PROD_CFLAGS="$ARCH -O3 $NOFP -finline-functions -fschedule-insns2"
+ PROD_CPPFLAGS=
+ DEBUG_CFLAGS="-g -fverbose-asm"
+ DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+ PROFILE_CFLAGS=-pg
+ PROFILE_CPPFLAGS=
+ ;;
-# What compiler flags enable code profiling?
-PROFILE_CFLAGS=-pg
-PROFILE_CPPFLAGS=
+ egcs-*)
+ CFLAGS="$CFLAGS -Wsign-compare"
+ PROD_CFLAGS="$ARCH -O6 $NOFP"
+ PROD_CPPFLAGS=
+ DEBUG_CFLAGS="-g -fverbose-asm"
+ DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+ PROFILE_CFLAGS=-pg
+ PROFILE_CPPFLAGS=
+ ;;
-#----------------------------------------------------------------------------
-# Values for overriding configuration tests when cross compiling.
-# This includes compiling on some machines where the serial front end
-# compiles for a parallel back end.
+ pgcc-*)
+ CFLAGS="$CFLAGS -Wsign-compare"
+ PROD_CFLAGS="$ARCH -O6 $NOFP"
+ PROD_CPPFLAGS=
+ DEBUG_CFLAGS="-g -fverbose-asm"
+ DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+ PROFILE_CFLAGS=-pg
+ PROFILE_CPPFLAGS=
+ ;;
-# Set this to `yes' or `no' depending on whether the target is big
-# endian or little endian.
-#ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
+ *)
+ PROD_CFLAGS=-O
+ PROD_CPPFLAGS=
+ DEBUG_CFLAGS="-g"
+ DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+ PROFILE_CFLAGS=-pg
+ PROFILE_CPPFLAGS=
+ ;;
+esac