Clang++ 3.2 fails to detect some CPUs correctly and requires the
additional checks enabled by this option to build working executables.
This option supported by GCC 4.3 and later enables additional CPU
detection and enables CPU-specific optimizations. In the interests of
better performance this patch enables it whenever is it available and
possible to use (cross-compilers cannot use it).
AC_LANG([C++])
AC_CANONICAL_HOST
-# might be cross-compiling
+# Clang 3.2 on some CPUs requires -march-native to detect correctly
+# GCC 4.3+ can also produce faster executables when its used
+SQUID_CC_CHECK_ARGUMENT([squid_cv_check_marchnative],[-march=native])
+
+# might be cross-compiling.
if test "x$HOSTCXX" = "x"; then
HOSTCXX="$CXX"
+ if test "x$squid_cv_check_marchnative" = "xyes"; then
+ CXXFLAGS="$CXXFLAGS -march=native"
+ fi
+fi
+if test "x$squid_cv_check_marchnative" = "xyes"; then
+ # always valid for the Host compiler.
+ HOSTCXX="$HOSTCXX -march=native"
fi
AC_SUBST(HOSTCXX)