From 6b6ff53b5931c162be13504a1efc53fc5212f9d1 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 May 2018 22:57:34 +0200 Subject: [PATCH] m4/reorganization/libs/curl.m4: fix curl-config detection logic The current logic in curl.m4 doesn't behave properly when --without-libcurl is passed to the ./configure script. Indeed, in this case what happens is that: (1) Since --without-libcurl is passed, LIBCURL_HOME is set to nothing (2) find_curl is set to "no" (3) Due to find_curl being "no", LIBCURL_HOME is not set to /usr/local and remains empty (4) We test if $LIBCURL_HOME/bin/curl_config exists, which is equivalent to testing if /bin/curl-config exists. So curl.m4 is looking at /bin/curl-config, which is irrelevant in a cross-compilation context: it is not because the build machine has libcurl installed that it is available for the target. Due to this mistake, it sets have_curl="yes" Due to this, the ./configure script assumes it can build the clamsubmit program, which fails at build time because curl/curl.h doesn't exist. To fix this, this commit rewrites the curl-config detection logic with a simpler loop. If find_curl=yes, it means we have to find libcurl ourselves, so we iterate over /usr/local and /usr, and check if a bin/curl-config binary is available there. If so, we use this path as LIBCURL_HOME and set have_curl="yes". This preserves the existing behavior, while fixing the situation where --without-libcurl is passed, but /bin/curl-config exists. Signed-off-by: Thomas Petazzoni Upstream-status: https://github.com/Cisco-Talos/clamav-devel/pull/87 --- m4/reorganization/libs/curl.m4 | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/m4/reorganization/libs/curl.m4 b/m4/reorganization/libs/curl.m4 index 2a5966ee7..b6a9c2137 100644 --- a/m4/reorganization/libs/curl.m4 +++ b/m4/reorganization/libs/curl.m4 @@ -19,17 +19,12 @@ fi [find_curl="yes"]) if test "X$find_curl" = "Xyes"; then - LIBCURL_HOME=/usr/local -fi -if test -f "$LIBCURL_HOME/bin/curl-config"; then - have_curl="yes" -else - if test "X$find_curl" = "Xyes"; then - LIBCURL_HOME=/usr - if test -f "$LIBCURL_HOME/bin/curl-config"; then - have_curl="yes" + for p in /usr/local /usr ; do + if test -f "${p}/bin/curl-config"; then + LIBCURL_HOME=$p + have_curl="yes" fi - fi + done fi if test "X$have_curl" = "Xyes"; then -- 2.14.3