* configure.ac: Here.
---
ChangeLog | 6 ++++++
configure.ac | 13 +++++++------
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 04d59b0..8f28b13 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2010-04-23 Roland Levillain <roland(a)lrde.epita.fr>
+ Document configure variables.
+
+ * configure.ac: Here.
+
+2010-04-23 Roland Levillain <roland(a)lrde.epita.fr>
+
Work around g++ 4.2's behavior regarding strict aliasing.
* configure.ac: Set STRICT_ALIASING_CXXFLAGS to
diff --git a/configure.ac b/configure.ac
index e83a6eb..62ceb8c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -69,7 +69,7 @@ AC_SUBST([STRICT_ALIASING_CXXFLAGS])
# Adjusting warning options according to compilers.
-AC_ARG_VAR([WARNINGS_CXXFLAGS])
+AC_ARG_VAR([WARNINGS_CXXFLAGS], [C++ compiler warning flags])
case "$CXX" in
# Intel compiler
*icpc*)
@@ -88,7 +88,7 @@ esac
# FIXME: We might want to write an Autoconf macro to factor this.
# Standard flags for tests.
-AC_ARG_VAR([TESTS_CXXFLAGS])
+AC_ARG_VAR([TESTS_CXXFLAGS], [C++ compiler flags for tests])
# We want no optimization for the tests (it slows down compiling
# times), and debugging information.
if test "$GXX" = yes && test -z "$TESTS_CXXFLAGS"; then
@@ -96,7 +96,8 @@ if test "$GXX" = yes && test -z "$TESTS_CXXFLAGS"; then
fi
# Flags for complex tests.
-AC_ARG_VAR([TESTS_CXXFLAGS_SPEED])
+AC_ARG_VAR([TESTS_CXXFLAGS_SPEED],
+ [C++ compiler optimization flags for (complex) tests])
# We want optimization for complex tests, and keep debugging flags
# (still useful).
if test "$GXX" = yes && test -z "$TESTS_CXXFLAGS_SPEED"; then
@@ -104,7 +105,7 @@ if test "$GXX" = yes && test -z "$TESTS_CXXFLAGS_SPEED"; then
fi
# Flags for tests with with all debugging features turned on.
-AC_ARG_VAR([TESTS_CXXFLAGS_DEBUG])
+AC_ARG_VAR([TESTS_CXXFLAGS_DEBUG], [C++ compiler debug flags])
# We want no optimization for the tests (it slows down compiling
# times), and a lot of debugging features.
# * GNU C++ Library Debug Mode:
@@ -474,7 +475,7 @@ AC_CONFIG_FILES([milena/apps/constrained-connectivity/test-constrained-connectiv
[chmod +x milena/apps/constrained-connectivity/test-constrained-connectivity])
# Flags for apps.
-AC_ARG_VAR([APPS_CXXFLAGS])
+AC_ARG_VAR([APPS_CXXFLAGS], [C++ compiler flags for applications])
# We want fast binaries for apps.
if test "$GXX" = yes && test -z "$APPS_CXXFLAGS"; then
APPS_CXXFLAGS="-O3 -DNDEBUG -ggdb $WARNINGS_CXXFLAGS"
@@ -493,7 +494,7 @@ AM_CONDITIONAL([ENABLE_TOOLS], [test "x$enable_tools" = "xyes"])
AC_CONFIG_FILES([milena/tools/Makefile])
# Flags for tools.
-AC_ARG_VAR([TOOLS_CXXFLAGS])
+AC_ARG_VAR([TOOLS_CXXFLAGS], [C++ compiler flags for tools])
# We want fast binaries for tools.
if test "$GXX" = yes && test -z "$TOOLS_CXXFLAGS"; then
TOOLS_CXXFLAGS="-O3 -DNDEBUG -ggdb $WARNINGS_CXXFLAGS"
--
1.5.6.5
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Olena, a generic and efficient image processing platform".
The branch fix-g++-4.2-strict-aliasing has been created
at 72a1d9cca4425b195b9132e2bd645274f52c765a (commit)
- Log -----------------------------------------------------------------
72a1d9c Prevent g++ 4.2 from issuing bad code for graph-morpho/samples_image2d.
62982aa Work around g++ 4.2's behavior regarding strict aliasing.
-----------------------------------------------------------------------
hooks/post-receive
--
Olena, a generic and efficient image processing platform
* configure.ac: Set STRICT_ALIASING_CXXFLAGS to
`-fno-strict-aliasing' when the compiler is g++ 4.2.
---
ChangeLog | 7 +++++++
configure.ac | 17 ++++++++++++++++-
2 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f4a90d0..04d59b0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-04-23 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Work around g++ 4.2's behavior regarding strict aliasing.
+
+ * configure.ac: Set STRICT_ALIASING_CXXFLAGS to
+ `-fno-strict-aliasing' when the compiler is g++ 4.2.
+
2010-04-21 Roland Levillain <roland(a)lrde.epita.fr>
Catch up with the new interface of Scribo's unit tests generator.
diff --git a/configure.ac b/configure.ac
index d9953c5..e83a6eb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -47,10 +47,25 @@ fi
AC_LANG([C++])
AC_PROG_CXX
-# Speed up compiling times.
+# GNU C++ compiler setup.
if test "$GXX" = yes; then
+ # Speed up compiling times.
CXXFLAGS="$CXXFLAGS -pipe"
+
+ # The code generated for mln::data::impl::memcpy__() by g++ 4.2 with
+ # a high optimization level (`-O3') and without
+ # `-fno-strict-aliasing' might be wrong, at least with Debian's g++
+ # 4.2 on IA-32 (see also milena/mln/memcpy_.hh). We observed this
+ # behavior with e.g. milena/apps/graph-morpho/samples-image2d.cc.
+ # Note that Debian's g++ 4.0, 4.1, 4.3 and 4.4 are fine.
+ #
+ # So, when the C++ compiler is g++ 4.2, set STRICT_ALIASING_CXXFLAGS
+ # to `-fno-strict-aliasing'.
+ if $CXX --version | head -n 1 | grep '\b4\.2' >/dev/null 2>&1; then
+ STRICT_ALIASING_CXXFLAGS=-fno-strict-aliasing
+ fi
fi
+AC_SUBST([STRICT_ALIASING_CXXFLAGS])
# Adjusting warning options according to compilers.
--
1.5.6.5
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Olena, a generic and efficient image processing platform".
The branch next has been updated
via 2891ae779a6ddf363a34ad8188fdda31b8e06849 (commit)
via 8d9ad1b2347654f006683e0779bffd5c5fde7734 (commit)
from 24633b4c8980ac4c3f2dd7a0befbed515c3c6f48 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
2891ae7 Fix distcleancheck.
8d9ad1b Do not install images from papers (yet).
-----------------------------------------------------------------------
Summary of changes:
milena/ChangeLog | 19 +++++++++++++++++++
milena/apps/papers/levillain.09.ismm/Makefile.am | 5 +++--
milena/tests/morpho/watershed/Makefile.am | 2 +-
3 files changed, 23 insertions(+), 3 deletions(-)
hooks/post-receive
--
Olena, a generic and efficient image processing platform