From a6285efd149e891c16d22b067beef827c28ff109 Mon Sep 17 00:00:00 2001
From: Joe Truba <jtruba@meraki.com>
Date: Fri, 29 Sep 2017 11:05:59 -0700
Subject: [PATCH] clang: avoid cross-compile tool selection when using clang

When compiling with clang, if CC/CXX are overwritten then we're no
longer compiling with clang.

Merge https://github.com/kohler/click/pull/374
---
 configure    | 7 +++++--
 configure.in | 7 +++++--
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/configure b/configure
index 3b322e516..c22e79765 100755
--- a/configure
+++ b/configure
@@ -4024,7 +4024,9 @@ test -n "$target_alias" &&
     NONENONEs,x,x, &&
   program_prefix=${target_alias}-
 
-if test -n "$ac_tool_prefix"; then
+using_clang=`$CXX --version | grep ^clang | cut -f1 -d' '`
+if test -z "$using_clang"; then
+    if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -4126,7 +4128,7 @@ else
   CC="$ac_cv_prog_CC"
 fi
 
-if test -n "$ac_tool_prefix"; then
+    if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}g++", so it can be a program name with args.
 set dummy ${ac_tool_prefix}g++; ac_word=$2
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -4228,6 +4230,7 @@ else
   CXX="$ac_cv_prog_CXX"
 fi
 
+fi
 
 
 
diff --git a/configure.in b/configure.in
index 2ba724129..57f3995be 100644
--- a/configure.in
+++ b/configure.in
@@ -42,8 +42,11 @@ dnl support for cross compiling
 AC_CANONICAL_SYSTEM
 
 dnl This is wrong!!
-AC_CHECK_TOOL(CC, gcc)
-AC_CHECK_TOOL(CXX, g++)
+using_clang=`$CXX --version | grep ^clang | cut -f1 -d' '`
+if test -z "$using_clang"; then
+    AC_CHECK_TOOL(CC, gcc)
+    AC_CHECK_TOOL(CXX, g++)
+fi
 
 CLICK_PROG_CC
 AC_PROG_CPP
-- 
GitLab