From 3c78f159436c6dce7b6ebf7eab2c47258cff3d11 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Fri, 15 Mar 2024 12:52:29 -0400 Subject: [PATCH] ext/gd/config.m4: don't forget GDLIB_CFLAGS in feature tests In commit 85e5635a, a feature test for the various libgd image formats was added. That test however erroneously omits the GDLIB_CFLAGS (from pkg-config) during compilation. This can lead to build failures and therefore false negatives from the test. Here, we add $GDLIB_CFLAGS to $CFLAGS for the duration of the test. Moreover, we replace $GD_SHARED_LIBADD with $GDLIB_LIBS in the same test. The variable $GD_SHARED_LIBADD is actually empty when we try to use it. Fortunately(?), the library flags are appended elsewhere, so this was not causing a problem. But of course it's better to explicitly do the right thing. Closes GH-12019 --- ext/gd/config.m4 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ext/gd/config.m4 b/ext/gd/config.m4 index b13b942a3c74d..af5884b719066 100644 --- a/ext/gd/config.m4 +++ b/ext/gd/config.m4 @@ -149,7 +149,9 @@ 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}" + LIBS="${LIBS} ${GDLIB_LIBS}" + 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([ @@ -180,6 +182,7 @@ int main(int argc, char** argv) { AC_MSG_RESULT([no]) ]) AC_LANG_POP([C]) + CFLAGS="${old_CFLAGS}" LIBS="${old_LIBS}" ])