From e9d3951bb6860b45a9487dee59c34ccde443f735 Mon Sep 17 00:00:00 2001 From: Amos Jeffries Date: Mon, 20 May 2013 23:39:18 -0600 Subject: [PATCH] Detect and use -march=natuve when possible 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). --- configure.ac | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index f2e45c0a7c..3108ea7062 100644 --- a/configure.ac +++ b/configure.ac @@ -35,9 +35,20 @@ AC_PROG_CXX 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) -- 2.47.3