cURL / Mailing Lists / curl-library / Single Mail

curl-library

Patch to GSSAPI tests in configure.ac

From: Daniel Johnson <daniel.johnson31_at_gmail.com>
Date: Wed, 17 Feb 2010 12:52:19 -0500

I've been trying to build libcurl with clang on Darwin and ran into some issues with the GSSAPI tests in configure.ac. The tests first try to determine the include dirs and libs and set CPPFLAGS and LIBS accordingly. It then checks for the headers and finally sets LIBS a second time, causing the libs to be included twice. The first setting of LIBS seems redundant and should be left out, since the first part is otherwise just about finding headers.

My second issue is that 'krb5-config --libs gssapi' on Darwin is less than useless and returns junk that, while it happens to work with gcc, causes clang to choke. For example, --libs returns $CFLAGS along with the libs, which is really retarded. Simply setting 'LIBS="$LIBS -lgssapi_krb5 -lresolv"' on Darwin is sufficient.

I've included a patch to implement these changes.

Thanks
Daniel

Index: configure.ac
===================================================================
RCS file: /cvsroot/curl/curl/configure.ac,v
retrieving revision 1.452
diff -u -r1.452 configure.ac
--- configure.ac 4 Feb 2010 14:40:11 -0000 1.452
+++ configure.ac 17 Feb 2010 17:31:20 -0000
@@ -1123,15 +1123,12 @@
   if test -z "$GSSAPI_INCS"; then
      if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
         GSSAPI_INCS=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi`
- GSSAPI_LIBS=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
      elif test "$GSSAPI_ROOT" != "yes"; then
         GSSAPI_INCS="-I$GSSAPI_ROOT/include"
- GSSAPI_LIBS="-lgssapi"
      fi
   fi
 
   CPPFLAGS="$CPPFLAGS $GSSAPI_INCS"
- LIBS="$LIBS $GSSAPI_LIBS"
 
   AC_CHECK_HEADER(gss.h,
     [
@@ -1198,17 +1195,24 @@
     LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
     LIBS="$LIBS -lgss"
   elif test -z "$GSSAPI_LIB_DIR"; then
- if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
- dnl krb5-config doesn't have --libs-only-L or similar, put everything
- dnl into LIBS
- gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
- LIBS="$LIBS $gss_libs"
- elif test "$GSSAPI_ROOT" != "yes"; then
- LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
- LIBS="$LIBS -lgssapi"
- else
- LIBS="$LIBS -lgssapi"
- fi
+ case $host in
+ *-*-darwin*)
+ LIBS="$LIBS -lgssapi_krb5 -lresolv"
+ ;;
+ *)
+ if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
+ dnl krb5-config doesn't have --libs-only-L or similar, put everything
+ dnl into LIBS
+ gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
+ LIBS="$LIBS $gss_libs"
+ elif test "$GSSAPI_ROOT" != "yes"; then
+ LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
+ LIBS="$LIBS -lgssapi"
+ else
+ LIBS="$LIBS -lgssapi"
+ fi
+ ;;
+ esac
   else
      LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
      LIBS="$LIBS -lgssapi"

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2010-02-17