mirror of
https://github.com/curl/curl.git
synced 2026-05-30 08:17:30 +03:00
autotools: add support for libgsasl auto-detection via pkg-config
Enable with `--with-gsasl`, as before. Cherry-picked from #18660 Closes #18669
This commit is contained in:
parent
374c23c617
commit
989a274e45
1 changed files with 59 additions and 12 deletions
71
configure.ac
71
configure.ac
|
|
@ -2204,20 +2204,67 @@ dnl **********************************************************************
|
|||
dnl Check for libgsasl
|
||||
dnl **********************************************************************
|
||||
|
||||
AC_ARG_WITH(libgsasl,
|
||||
AS_HELP_STRING([--without-libgsasl],
|
||||
[disable libgsasl support for SCRAM]),
|
||||
with_libgsasl=$withval,
|
||||
with_libgsasl=yes)
|
||||
if test $with_libgsasl != "no"; then
|
||||
AC_SEARCH_LIBS(gsasl_init, gsasl,
|
||||
[curl_gsasl_msg="enabled";
|
||||
AC_DEFINE([USE_GSASL], [1], [GSASL support enabled])
|
||||
LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE libgsasl"
|
||||
OPT_LIBGSASL=no
|
||||
AC_ARG_WITH(libgsasl,dnl
|
||||
AS_HELP_STRING([--with-libgsasl=PATH],[Where to look for libgsasl, PATH points to the libgsasl installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
|
||||
AS_HELP_STRING([--without-libgsasl], [disable libgsasl support for SCRAM]),
|
||||
OPT_LIBGSASL=$withval)
|
||||
|
||||
if test "$OPT_LIBGSASL" != no; then
|
||||
dnl backup the pre-libgsasl variables
|
||||
CLEANLDFLAGS="$LDFLAGS"
|
||||
CLEANLDFLAGSPC="$LDFLAGSPC"
|
||||
CLEANCPPFLAGS="$CPPFLAGS"
|
||||
CLEANLIBS="$LIBS"
|
||||
|
||||
case "$OPT_LIBGSASL" in
|
||||
yes)
|
||||
dnl --with-libgsasl (without path) used
|
||||
CURL_CHECK_PKGCONFIG(libgsasl)
|
||||
|
||||
if test "$PKGCONFIG" != "no"; then
|
||||
LIB_GSASL=`$PKGCONFIG --libs-only-l libgsasl`
|
||||
LD_GSASL=`$PKGCONFIG --libs-only-L libgsasl`
|
||||
CPP_GSASL=`$PKGCONFIG --cflags-only-I libgsasl`
|
||||
else
|
||||
dnl no libgsasl pkg-config found
|
||||
LIB_GSASL="-lgsasl"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
dnl use the given --with-libgsasl spot
|
||||
PREFIX_GSASL=$OPT_LIBGSASL
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl if given with a prefix, we set -L and -I based on that
|
||||
if test -n "$PREFIX_GSASL"; then
|
||||
LIB_GSASL="-lgsasl"
|
||||
LD_GSASL=-L${PREFIX_GSASL}/lib$libsuff
|
||||
CPP_GSASL=-I${PREFIX_GSASL}/include
|
||||
fi
|
||||
|
||||
LDFLAGS="$LDFLAGS $LD_GSASL"
|
||||
LDFLAGSPC="$LDFLAGSPC $LD_GSASL"
|
||||
CPPFLAGS="$CPPFLAGS $CPP_GSASL"
|
||||
LIBS="$LIB_GSASL $LIBS"
|
||||
|
||||
AC_CHECK_LIB(gsasl, gsasl_init,
|
||||
[
|
||||
AC_CHECK_HEADERS(gsasl.h,
|
||||
curl_gsasl_msg="enabled"
|
||||
AC_DEFINE(USE_GSASL, 1, [GSASL support enabled])
|
||||
USE_LIBGSASL=1
|
||||
LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE libgsasl"
|
||||
)
|
||||
],
|
||||
[curl_gsasl_msg="no (libgsasl not found)";
|
||||
dnl not found, revert back to clean variables
|
||||
LDFLAGS=$CLEANLDFLAGS
|
||||
LDFLAGSPC=$CLEANLDFLAGSPC
|
||||
CPPFLAGS=$CLEANCPPFLAGS
|
||||
LIBS=$CLEANLIBS
|
||||
curl_gsasl_msg="no (libgsasl not found)"
|
||||
AC_MSG_WARN([libgsasl was not found])
|
||||
]
|
||||
)
|
||||
fi
|
||||
AM_CONDITIONAL([USE_GSASL], [test "$curl_gsasl_msg" = "enabled"])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue