Autotools: Fix ext/ldap shared build (#18673)

This fixes checks when building shared ldap library, or when ldap
installation directory is passed as argument:

    ./configure --with-ldap=shared
    ./configure --with-ldap=/path/to/ldap
    ./configure --with-ldap=shared,/path/to/ldap
This commit is contained in:
Peter Kokot 2025-05-28 13:08:46 +02:00 committed by GitHub
parent c4fba3708c
commit 25e8aa5cd2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -101,13 +101,16 @@ if test "$PHP_LDAP" != "no"; then
PHP_ADD_INCLUDE([$LDAP_INCDIR]) PHP_ADD_INCLUDE([$LDAP_INCDIR])
dnl Save original values LDAP_CFLAGS="-I$LDAP_INCDIR"
_SAVE_CPPFLAGS=$CPPFLAGS LDAP_LIBS=$LDAP_SHARED_LIBADD
_SAVE_LIBS=$LIBS
CPPFLAGS="$CPPFLAGS -I$LDAP_INCDIR"
LIBS="$LIBS $LDAP_SHARED_LIBADD"
]) ])
dnl Save original values
_SAVE_CFLAGS=$CFLAGS
_SAVE_LIBS=$LIBS
CFLAGS="$CFLAGS $LDAP_CFLAGS"
LIBS="$LIBS $LDAP_LIBS"
dnl Check for 3 arg ldap_set_rebind_proc dnl Check for 3 arg ldap_set_rebind_proc
AC_CACHE_CHECK([for 3 arg ldap_set_rebind_proc], AC_CACHE_CHECK([for 3 arg ldap_set_rebind_proc],
[php_cv_have_3arg_setrebindproc], [php_cv_have_3arg_setrebindproc],
@ -134,11 +137,14 @@ if test "$PHP_LDAP" != "no"; then
ldap_whoami_s ldap_whoami_s
])) ]))
AS_IF([test "$PHP_LDAP_PKGCONFIG" = false], [ dnl Sanity check
AC_CHECK_FUNC([ldap_sasl_bind_s],,
[AC_CHECK_FUNC([ldap_simple_bind_s],,
[AC_MSG_ERROR([LDAP library build check failed.])])])
dnl Restore original values dnl Restore original values
CPPFLAGS=$_SAVE_CPPFLAGS CFLAGS=$_SAVE_CFLAGS
LIBS=$_SAVE_LIBS LIBS=$_SAVE_LIBS
])
dnl SASL check dnl SASL check
AS_VAR_IF([PHP_LDAP_SASL], [no],, [ AS_VAR_IF([PHP_LDAP_SASL], [no],, [
@ -149,11 +155,6 @@ if test "$PHP_LDAP" != "no"; then
[Define to 1 if the ldap extension has SASL support enabled.]) [Define to 1 if the ldap extension has SASL support enabled.])
]) ])
dnl Sanity check
AC_CHECK_FUNC([ldap_sasl_bind_s],,
[AC_CHECK_FUNC([ldap_simple_bind_s],,
[AC_MSG_ERROR([LDAP library build check failed.])])])
PHP_SUBST([LDAP_SHARED_LIBADD]) PHP_SUBST([LDAP_SHARED_LIBADD])
AC_DEFINE([HAVE_LDAP], [1], AC_DEFINE([HAVE_LDAP], [1],
[Define to 1 if the PHP extension 'ldap' is available.]) [Define to 1 if the PHP extension 'ldap' is available.])