summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2016-02-17 02:16:27 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2016-02-17 02:16:27 (GMT)
commit77f2f1c132a852eb8e0893f051b128cf8f42a9ef (patch)
tree1261652837e5e9895096135b365535603ed95ce5
parentad0925c214c9d3afe9a013aa1e3adfb2bc3ba4dc (diff)
downloadhdf5-77f2f1c132a852eb8e0893f051b128cf8f42a9ef.zip
hdf5-77f2f1c132a852eb8e0893f051b128cf8f42a9ef.tar.gz
hdf5-77f2f1c132a852eb8e0893f051b128cf8f42a9ef.tar.bz2
[svn-r29131] Updated the GNU g++ compiler config file to use the new debug/
production, etc. system. Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1 autotools serial - prod/debug w/ C++
-rw-r--r--config/gnu-cxxflags36
-rw-r--r--config/gnu-flags2
-rw-r--r--configure.ac4
3 files changed, 35 insertions, 7 deletions
diff --git a/config/gnu-cxxflags b/config/gnu-cxxflags
index ee690db..8d1ca67 100644
--- a/config/gnu-cxxflags
+++ b/config/gnu-cxxflags
@@ -100,30 +100,54 @@ case "$cxx_vendor-$cxx_version" in
H5_CXXFLAGS="$H5_CXXFLAGS -Wsign-promo -Woverloaded-virtual -Wold-style-cast -Weffc++ -Wreorder -Wnon-virtual-dtor -Wctor-dtor-privacy -Wabi"
# Production
+ # NDEBUG is handled explicitly by the configure script
case "$cxx_vendor-$cxx_version" in
g++-[34].*)
- PROD_CXXFLAGS="-O3"
+ PROD_CXXFLAGS=
;;
g++-5.*)
- PROD_CXXFLAGS="-O3 -fstdarg-opt"
+ PROD_CXXFLAGS="-fstdarg-opt"
;;
*)
- PROD_CXXFLAGS="-O -finline-functions"
+ PROD_CXXFLAGS="-finline-functions"
;;
esac
# Debug
+ # NDEBUG is handled explicitly by the configure script
+ # -g is hanled by the symbols flags
case "$cxx_vendor-$cxx_version" in
g++-5.*)
- DEBUG_CXXFLAGS="-Og -g -ftrapv -fno-common"
+ DEBUG_CXXFLAGS="-ftrapv -fno-common"
;;
*)
- DEBUG_CXXFLAGS="-g"
+ DEBUG_CXXFLAGS=
;;
esac
+ # Symbols
+ NO_SYMBOLS_CXXFLAGS="-s"
+ SYMBOLS_CXXFLAGS="-g"
+
# Profile
- PROFILE_CXXFLAGS="-Og -g -pg"
+ PROFILE_CXXFLAGS="-pg"
+
+ # Optimization
+ case "$cxx_vendor-$cxx_version" in
+ g++-[34].*)
+ HIGH_OPT_CXXFLAGS="-O3"
+ DEBUG_OPT_CXXFLAGS=
+ ;;
+ g++-5.*)
+ HIGH_OPT_CXXFLAGS="-O3"
+ DEBUG_OPT_CXXFLAGS="-Og"
+ ;;
+ *)
+ HIGH_OPT_CXXFLAGS="-O"
+ DEBUG_OPT_CXXFLAGS=
+ ;;
+ esac
+ NO_OPT_CXXFLAGS="-O0"
# Flags are set
cxx_flags_set=yes
diff --git a/config/gnu-flags b/config/gnu-flags
index 9cd0fd0..87aef3a 100644
--- a/config/gnu-flags
+++ b/config/gnu-flags
@@ -132,7 +132,7 @@ case "$cc_vendor-$cc_version" in
# Profile
PROFILE_CFLAGS="-pg"
- # Optimization (only CFLAGS at this time)
+ # Optimization
case "$cc_vendor-$cc_version" in
gcc-[34].*)
HIGH_OPT_CFLAGS="-O3"
diff --git a/configure.ac b/configure.ac
index ed6c3b5..8f84a72 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2056,21 +2056,25 @@ AC_SUBST([OPTIMIZATION])
case "X-$OPTIMIZATION" in
X-high)
H5_CFLAGS="$H5_CFLAGS $HIGH_OPT_CFLAGS"
+ H5_CXXFLAGS="$H5_CXXFLAGS $HIGH_OPT_CXXFLAGS"
H5_FCFLAGS="$H5_FCFLAGS $HIGH_OPT_FCFLAGS"
AC_MSG_RESULT([high])
;;
X-debug)
H5_CFLAGS="$H5_CFLAGS $DEBUG_OPT_CFLAGS"
+ H5_CXXFLAGS="$H5_CXXFLAGS $DEBUG_OPT_CXXFLAGS"
H5_FCFLAGS="$H5_FCFLAGS $DEBUG_OPT_FCFLAGS"
AC_MSG_RESULT([debug])
;;
X-none)
H5_CFLAGS="$H5_CFLAGS $NO_OPT_CFLAGS"
+ H5_CXXFLAGS="$H5_CXXFLAGS $NO_OPT_CXXFLAGS"
H5_FCFLAGS="$H5_FCFLAGS $NO_OPT_FCFLAGS"
AC_MSG_RESULT([none])
;;
*)
H5_CFLAGS="$H5_CFLAGS $OPTIMIZATION"
+ H5_CXXFLAGS="$H5_CXXFLAGS $OPTIMIZATION"
H5_FCFLAGS="$H5_FCFLAGS $OPTIMIZATION"
OPTIMIZATION="custom ($OPTIMIZATION)"
AC_MSG_RESULT([$OPTIMIZATION])