1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@intel.com>
From 25ba60b1479eb332a7388732f3ee5467000fbe73 Mon Sep 17 00:00:00 2001
From: Michael Heimpold <mhei@heimpold.de>
Date: Wed, 14 Feb 2018 14:46:17 +0100
Subject: [PATCH] Fixed bug #75722: Rework valgrind detection
As described in bug report #75722, the configure script (acinclude.m4)
currently searches for the valgrind header file and enables valgrind
support if found.
When cross-compiling the searched paths are invalid for the target
platform because they belong to the host system. At the moment, there is
no way to tell the build system a dedicated path where to look for the
header file.
This leads to the issue, that when cross-compiling eg. for ARMv5 platform,
that valgrind header file is detected - e.g. because host system is amd64 -
and support is enabled - but target platform will never support valgrind
(valgrind requires e.g. at least ARMv7).
This change reworks the detection so that user could manually opt-in
valgrind support and optionally specify a directory where the build system
should look for the header file using the --with-valgrind option.
---
NEWS | 4 ++++
acinclude.m4 | 20 --------------------
configure.ac | 30 +++++++++++++++++++++++++++++-
3 files changed, 33 insertions(+), 21 deletions(-)
diff --git a/NEWS b/NEWS
index 1faf13831ebd..5d65fd083357 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2018, PHP 7.2.5
+- Core:
+ . Fixed bug #75722 (Convert valgrind detection to configure option).
+ (Michael Heimpold)
+
- Mbstring:
. Fixed bug #75944 (Wrong cp1251 detection). (dmk001)
. Fixed bug #76113 (mbstring does not build with Oniguruma 6.8.1).
diff --git a/acinclude.m4 b/acinclude.m4
index d42d70853515..eb06cb7e363f 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -3249,23 +3249,3 @@ AC_DEFUN([PHP_CHECK_BUILTIN_SSUBLL_OVERFLOW], [
dnl Load the AX_CHECK_COMPILE_FLAG macro from the autoconf archive.
m4_include([build/ax_check_compile_flag.m4])
-
-dnl PHP_CHECK_VALGRIND
-AC_DEFUN([PHP_CHECK_VALGRIND], [
- AC_MSG_CHECKING([for valgrind])
-
- SEARCH_PATH="/usr/local /usr"
- SEARCH_FOR="/include/valgrind/valgrind.h"
- for i in $SEARCH_PATH ; do
- if test -r $i/$SEARCH_FOR; then
- VALGRIND_DIR=$i
- fi
- done
-
- if test -z "$VALGRIND_DIR"; then
- AC_MSG_RESULT([not found])
- else
- AC_MSG_RESULT(found in $VALGRIND_DIR)
- AC_DEFINE(HAVE_VALGRIND, 1, [ ])
- fi
-])
diff --git a/configure.ac b/configure.ac
index 05f94f08a9c8..c5d9be978bda 100644
--- a/configure.ac
+++ b/configure.ac
@@ -753,7 +753,35 @@ if test "x$php_crypt_r" = "x1"; then
PHP_CRYPT_R_STYLE
fi
-PHP_CHECK_VALGRIND
+dnl Check valgrind support
+PHP_ARG_WITH(valgrind, [whether to enable valgrind support],
+[ --with-valgrind=DIR Enable valgrind support], yes, no)
+
+if test "$PHP_VALGRIND" != "no"; then
+
+ AC_MSG_CHECKING([for valgrind header])
+
+ if test "$PHP_VALGRIND" = "yes"; then
+ SEARCH_PATH="/usr/local /usr"
+ else
+ SEARCH_PATH="$PHP_VALGRIND"
+ fi
+
+ SEARCH_FOR="/include/valgrind/valgrind.h"
+ for i in $SEARCH_PATH ; do
+ if test -r $i/$SEARCH_FOR; then
+ VALGRIND_DIR=$i
+ fi
+ done
+
+ if test -z "$VALGRIND_DIR"; then
+ AC_MSG_RESULT([not found])
+ else
+ AC_MSG_RESULT(found in $VALGRIND_DIR)
+ AC_DEFINE(HAVE_VALGRIND, 1, [ ])
+ fi
+
+fi
dnl General settings.
dnl -------------------------------------------------------------------------
|