diff --git a/configure.in b/configure.in index 88871b34..7fa3ad2c 100644 --- a/configure.in +++ b/configure.in @@ -51,12 +51,21 @@ AC_PROG_LN_S AC_PROG_GCC_TRADITIONAL +# We need to test for at least gcc 2.95 here, because older versions don't +# have -fno-strict-aliasing +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [ +#if !defined(__GNUC__) || (__GNUC__ < 2) || (__GNUC__ == 2 && __GNUC_MINOR__ < 95) +#error +#endif])], have_gcc295=yes, have_gcc295=no) + if test "$GCC" = "yes" ; then # Enable many gcc warnings by default... CFLAGS="$CFLAGS -Wall" # And disable the strict-aliasing optimization, since it breaks # our sockaddr-handling code in strange ways. - CFLAGS="$CFLAGS -fno-strict-aliasing" + if test x$have_gcc295 = xyes; then + CFLAGS="$CFLAGS -fno-strict-aliasing" + fi fi # OS X Lion started deprecating the system openssl. Let's just disable