summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Brandt <mail@cebe.cc>2017-07-14 13:45:33 +0200
committerJoe Watkins <krakjoe@php.net>2017-07-25 06:58:11 +0100
commit3fd7d819b8ea164bdf255cddcd0a1b1d156f4a3b (patch)
tree3add0c8a8b005201f25e2f575b9eb1118e3420aa
parent69b48f83dfc287a8430cf8e993d0937c5128623f (diff)
downloadphp-git-3fd7d819b8ea164bdf255cddcd0a1b1d156f4a3b.tar.gz
Fixed finding CURL on systems with multiarch support
fixes https://bugs.php.net/bug.php?id=74125 This commit makes the cURL config script aware of debian/ubuntu [multiarch support][1] which installs architecture specific headers in a different location. It checks whether the `dpkg-architecture` script exists and is executeable, if that is the case, the multiarch architecture is detected by calling `dpkg-architecture -qDEB_HOST_MULTIARCH` as documented in [debian multiarch implementation docs][2]: > `/usr/include/<triplet>`: used for arch-varying headers [1]: https://wiki.debian.org/Multiarch [2]: https://wiki.debian.org/Multiarch/Implementation
-rw-r--r--NEWS4
-rw-r--r--ext/curl/config.m422
2 files changed, 23 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index f82a0f3ac1..ff9dba5fc4 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,10 @@ PHP NEWS
. Fixed bug #74947 (Segfault in scanner on INF number). (Laruence)
. Fixed bug #74954 (null deref and segfault in zend_generator_resume()). (Bob)
+- cURL:
+ . Fixed bug #74125 (Fixed finding CURL on systems with multiarch support).
+ (cebe)
+
- Mbstring:
. Fixed bug #71606 (Segmentation fault mb_strcut with HTML-ENTITIES encoding).
(cmb)
diff --git a/ext/curl/config.m4 b/ext/curl/config.m4
index 2f82c3485d..63682e0f06 100644
--- a/ext/curl/config.m4
+++ b/ext/curl/config.m4
@@ -17,11 +17,23 @@ if test "$PHP_CURL" != "no"; then
break
fi
done
+ if test -z "$CURL_DIR"; then
+ AC_MSG_RESULT(not found)
+ if which dpkg-architecture>/dev/null; then
+ AC_MSG_CHECKING(for cURL in multiarch path)
+ CURL_MULTIARCH_INCLUDE=/usr/include/$(dpkg-architecture -qDEB_HOST_MULTIARCH)
+ if test -r $CURL_MULTIARCH_INCLUDE/curl/easy.h; then
+ CURL_DIR=/usr
+ AC_MSG_RESULT(found in $CURL_MULTIARCH_INCLUDE)
+ else
+ AC_MSG_RESULT(not found)
+ fi
+ fi
+ fi
fi
if test -z "$CURL_DIR"; then
- AC_MSG_RESULT(not found)
- AC_MSG_ERROR(Please reinstall the libcurl distribution -
+ AC_MSG_ERROR(Could not find cURL, please reinstall the libcurl distribution -
easy.h should be in <curl-dir>/include/curl/)
fi
@@ -45,7 +57,11 @@ if test "$PHP_CURL" != "no"; then
AC_MSG_ERROR(cURL version 7.10.5 or later is required to compile php with cURL support)
fi
- PHP_ADD_INCLUDE($CURL_DIR/include)
+ if test -z "$CURL_MULTIARCH_INCLUDE"; then
+ PHP_ADD_INCLUDE($CURL_DIR/include)
+ else
+ PHP_ADD_INCLUDE($CURL_MULTIARCH_INCLUDE)
+ fi
PHP_EVAL_LIBLINE($CURL_LIBS, CURL_SHARED_LIBADD)
PHP_ADD_LIBRARY_WITH_PATH(curl, $CURL_DIR/$PHP_LIBDIR, CURL_SHARED_LIBADD)