aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac75
1 files changed, 49 insertions, 26 deletions
diff --git a/configure.ac b/configure.ac
index 64a5b0a03..5f29b3ca1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -687,7 +687,7 @@ AC_ARG_WITH(gssapi-includes,
AC_ARG_WITH(gssapi-libs,
AC_HELP_STRING([--with-gssapi-libs=DIR],
[Specify location of GSSAPI libs]),
- [ GSSAPI_LIBS="-L$withval -lgssapi"
+ [ GSSAPI_LIBS="-L$withval"
want_gss="yes" ]
)
@@ -702,6 +702,8 @@ AC_ARG_WITH(gssapi,
AC_MSG_CHECKING([if GSSAPI support is requested])
if test x"$want_gss" = xyes; then
+ AC_MSG_RESULT(yes)
+
if test -z "$GSSAPI_INCS"; then
if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
GSSAPI_INCS=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi`
@@ -709,9 +711,51 @@ if test x"$want_gss" = xyes; then
GSSAPI_INCS="-I$GSSAPI_ROOT/include"
fi
fi
+ save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $GSSAPI_INCS"
-
- if test -z "$GSSAPI_LIB_DIR"; then
+
+ AC_CHECK_HEADER(gss.h,
+ [
+ dnl found in the given dirs
+ AC_DEFINE(HAVE_GSSGNU, 1, [if you have the GNU gssapi libraries])
+ gnu_gss=yes
+ ],
+ [
+ dnl not found, check Heimdal
+ AC_CHECK_HEADER(gssapi.h,
+ [
+ dnl found in the given dirs
+ AC_DEFINE(HAVE_GSSHEIMDAL, 1, [if you have the Heimdal gssapi libraries])
+ ],
+ [
+ dnl not found, check in gssapi/ subdir
+ AC_CHECK_HEADER(gssapi/gssapi.h,
+ [
+ dnl found
+ AC_DEFINE(HAVE_GSSMIT, 1, [if you have the MIT gssapi libraries])
+ ],
+ [
+ dnl no header found, disabling GSS
+ want_gss=no
+ AC_MSG_WARN(disabling GSSAPI since no header files was found)
+ ]
+ )
+ ]
+ )
+ ]
+ )
+else
+ AC_MSG_RESULT(no)
+fi
+if test x"$want_gss" = xyes; then
+ AC_DEFINE(HAVE_GSSAPI, 1, [if you have the gssapi libraries])
+
+ curl_gss_msg="enabled (MIT/Heimdal)"
+
+ if test -n "$gnu_gss"; then
+ curl_gss_msg="enabled (GNU GSS)"
+ LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR -lgss"
+ elif test -z "$GSSAPI_LIB_DIR"; then
if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
gss_ldflags=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
LDFLAGS="$LDFLAGS $gss_ldflags"
@@ -721,31 +765,10 @@ if test x"$want_gss" = xyes; then
LDFLAGS="$LDFLAGS -lgssapi"
fi
else
- LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
+ LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR -lgssapi"
fi
-
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_GSSAPI, 1, [if you have the gssapi libraries])
-
- curl_gss_msg="enabled"
-
- AC_CHECK_HEADER(gssapi.h,
- [
- dnl found in the given dirs
- AC_DEFINE(HAVE_GSSHEIMDAL, 1, [if you have the Heimdal gssapi libraries])
- ],
- [
- dnl not found, check in gssapi/ subdir
- AC_CHECK_HEADER(gssapi/gssapi.h,
- dnl found
- AC_DEFINE(HAVE_GSSMIT, 1, [if you have the MIT gssapi libraries])
- )
-
- ]
- )
-
else
- AC_MSG_RESULT(no)
+ CPPFLAGS="$save_CPPFLAGS"
fi
dnl **********************************************************************