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
|
From b5e5a42d145be30be3856ff4be9af7978adec5c5 Mon Sep 17 00:00:00 2001
From: Peter Kokot <peterkokot@gmail.com>
Date: Sun, 2 Jun 2024 19:47:39 +0200
Subject: [PATCH] Wrap gdImageCreateFrom* checks in AC_CACHE_CHECK
This enables cross-compiling edge cases to manually override the checks
with the php_cv_lib_gd_gdImageCreateFrom* cache variables.
---
ext/gd/config.m4 | 39 ++++++++++++++++++++-------------------
1 file changed, 20 insertions(+), 19 deletions(-)
diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
index d9c6d4f6ee0c2..5c1c7a867c2f8 100644
--- a/ext/gd/config.m4
+++ b/ext/gd/config.m4
@@ -147,14 +147,15 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
dnl even when it does not support the Foo format. Those junk functions
dnl display a warning but eventually return normally, making a simple link
dnl or run test insufficient.
-AC_DEFUN([PHP_GD_CHECK_FORMAT],[
- old_LIBS="${LIBS}"
- LIBS="${LIBS} ${GD_SHARED_LIBADD}"
- old_CFLAGS="${CFLAGS}"
- CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
- AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
- AC_LANG_PUSH([C])
- AC_RUN_IFELSE([AC_LANG_SOURCE([
+AC_DEFUN([PHP_GD_CHECK_FORMAT],
+[AS_VAR_PUSHDEF([php_var], [php_cv_lib_gd_gdImageCreateFrom$1])
+old_LIBS="${LIBS}"
+LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+old_CFLAGS="${CFLAGS}"
+CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+AC_LANG_PUSH([C])
+AC_CACHE_CHECK([for working gdImageCreateFrom$1 in libgd], [php_var],
+ [AC_RUN_IFELSE([AC_LANG_SOURCE([
#include <stdio.h>
#include <unistd.h>
#include <gd.h>
@@ -173,17 +174,17 @@ int main(int argc, char** argv) {
gdSetErrorMethod(exit1);
gdImagePtr p = gdImageCreateFrom$1(f);
return 0;
-}])],[
- AC_MSG_RESULT([yes])
- AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
- ],[
- AC_MSG_RESULT([no])
- ],[
- AC_MSG_RESULT([no])
- ])
- AC_LANG_POP([C])
- CFLAGS="${old_CFLAGS}"
- LIBS="${old_LIBS}"
+}])],
+ [AS_VAR_SET([php_var], [yes])],
+ [AS_VAR_SET([php_var], [no])],
+ [AS_VAR_SET([php_var], [no])])])
+AS_VAR_IF([php_var], [yes],
+ [AC_DEFINE_UNQUOTED([$2], [1],
+ [Define to 1 if GD library has 'gdImageCreateFrom$1'.])])
+AC_LANG_POP([C])
+CFLAGS="${old_CFLAGS}"
+LIBS="${old_LIBS}"
+AS_VAR_POPDEF([php_var])
])
AC_DEFUN([PHP_GD_CHECK_VERSION],[
|