mirror of
https://github.com/macintoshplus/mongo-php-driver.git
synced 2026-03-26 18:02:10 +01:00
76 lines
2.6 KiB
Plaintext
76 lines
2.6 KiB
Plaintext
PHP_ARG_WITH([mongodb-sasl],
|
|
[whether to enable SASL for Kerberos authentication],
|
|
[AS_HELP_STRING([--with-mongodb-sasl=@<:@auto/no/cyrus@:>@],
|
|
[MongoDB: Enable SASL for Kerberos authentication [default=auto]])],
|
|
[auto],
|
|
[no])
|
|
|
|
dnl PHP_ARG_WITH without a value assigns "yes". Treat it like "auto" but required.
|
|
AS_IF([test "$PHP_MONGODB_SASL" = "cyrus" -o "$PHP_MONGODB_SASL" = "auto" -o "$PHP_MONGODB_SASL" = "yes"],[
|
|
found_cyrus="no"
|
|
|
|
PKG_CHECK_MODULES([PHP_MONGODB_SASL],[libsasl2],[
|
|
PHP_MONGODB_BUNDLED_CFLAGS="$PHP_MONGODB_BUNDLED_CFLAGS $PHP_MONGODB_SASL_CFLAGS"
|
|
PHP_EVAL_LIBLINE([$PHP_MONGODB_SASL_LIBS],[MONGODB_SHARED_LIBADD])
|
|
PHP_MONGODB_SASL="cyrus"
|
|
found_cyrus="yes"
|
|
],[
|
|
PHP_CHECK_LIBRARY([sasl2],
|
|
[sasl_client_init],
|
|
[have_sasl2_lib="yes"],
|
|
[have_sasl2_lib="no"])
|
|
|
|
AC_CHECK_HEADER([sasl/sasl.h],
|
|
[have_sasl_headers=yes],
|
|
[have_sasl_headers=no])
|
|
|
|
if test "$have_sasl2_lib" = "yes" -a "$have_sasl_headers" = "yes"; then
|
|
PHP_ADD_LIBRARY([sasl2],,[MONGODB_SHARED_LIBADD])
|
|
PHP_MONGODB_SASL="cyrus"
|
|
found_cyrus="yes"
|
|
fi
|
|
])
|
|
|
|
if test "$found_cyrus" = "yes"; then
|
|
PHP_CHECK_LIBRARY([sasl2],
|
|
[sasl_client_done],
|
|
[have_sasl_client_done=yes],
|
|
[have_sasl_client_done=no],
|
|
$MONGODB_SHARED_LIBADD)
|
|
fi
|
|
|
|
if test \( "$PHP_MONGODB_SASL" = "cyrus" -o "$PHP_MONGODB_SASL" = "yes" \) -a "$found_cyrus" != "yes"; then
|
|
AC_MSG_ERROR([Cyrus SASL libraries and development headers could not be found])
|
|
fi
|
|
])
|
|
|
|
AS_IF([test "$PHP_MONGODB_SASL" = "auto"],[
|
|
PHP_MONGODB_SASL="no"
|
|
])
|
|
|
|
dnl Warn for unsupported values (e.g. Cyrus SASL search path)
|
|
if test ! \( "$PHP_MONGODB_SASL" = "cyrus" -o "$PHP_MONGODB_SASL" = "no" \); then
|
|
AC_MSG_WARN([unsupported --with-mongodb-sasl value: $PHP_MONGODB_SASL])
|
|
fi
|
|
|
|
AC_MSG_CHECKING([which SASL library to use])
|
|
AC_MSG_RESULT([$PHP_MONGODB_SASL])
|
|
|
|
dnl Disable Windows SSPI and GSSAPI
|
|
AC_SUBST(MONGOC_ENABLE_SASL_SSPI, 0)
|
|
AC_SUBST(MONGOC_ENABLE_SASL_GSSAPI, 0)
|
|
|
|
if test "$PHP_MONGODB_SASL" = "cyrus"; then
|
|
AC_SUBST(MONGOC_ENABLE_SASL, 1)
|
|
AC_SUBST(MONGOC_ENABLE_SASL_CYRUS, 1)
|
|
if test "x$have_sasl_client_done" = "xyes"; then
|
|
AC_SUBST(MONGOC_HAVE_SASL_CLIENT_DONE, 1)
|
|
else
|
|
AC_SUBST(MONGOC_HAVE_SASL_CLIENT_DONE, 0)
|
|
fi
|
|
else
|
|
AC_SUBST(MONGOC_ENABLE_SASL, 0)
|
|
AC_SUBST(MONGOC_ENABLE_SASL_CYRUS, 0)
|
|
AC_SUBST(MONGOC_HAVE_SASL_CLIENT_DONE, 0)
|
|
fi
|