From: Emmanuel D. <ma...@us...> - 2006-06-22 20:45:48
|
Update of /cvsroot/ipsec-tools/ipsec-tools In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv5569 Modified Files: ChangeLog configure.ac Log Message: >From Matthew Grooms <mg...@sh...> Build fixes (libiconv search) Index: configure.ac =================================================================== RCS file: /cvsroot/ipsec-tools/ipsec-tools/configure.ac,v retrieving revision 1.74 retrieving revision 1.75 diff -u -d -r1.74 -r1.75 --- configure.ac 20 Jun 2006 20:31:30 -0000 1.74 +++ configure.ac 22 Jun 2006 20:45:45 -0000 1.75 @@ -275,54 +275,30 @@ # Check if we need -lutil for login(3) RACOON_PATH_LIBS([login], [util]) -# Check for Kerberos5 support -AC_MSG_CHECKING(if --enable-gssapi option is specified) -AC_ARG_ENABLE(gssapi, - [ --enable-gssapi enable GSS-API authentication], - [], [enable_gssapi=no]) -AC_MSG_RESULT($enable_gssapi) -AC_PATH_PROG(KRB5_CONFIG,krb5-config,no) -if test "x$enable_gssapi" = "xyes"; then - if test "$KRB5_CONFIG" != "no"; then - krb5_incdir="`$KRB5_CONFIG --cflags gssapi`" - krb5_libs="`$KRB5_CONFIG --libs gssapi`" +# Specify libiconv prefix +AC_MSG_CHECKING(if --with-libiconv option is specified) +AC_ARG_WITH(libiconv, + [ --with-libiconv=DIR specify libiconv path (like/usr/pkg)], + [libiconv_dir=$withval], + [libiconv_dir=no]) +AC_MSG_RESULT($libiconv_dir) +if test "$libiconv_dir" != "no"; then + if test "$libiconv_dir" = "yes" ; then + libiconv_dir=""; + fi; + if test "x$libiconv_dir" = "x"; then + RACOON_PATH_LIBS([iconv_open], [iconv]) else - # No krb5-config; let's make some assumptions based on - # the OS. - case $host_os in - netbsd*) - krb5_incdir="-I/usr/include/krb5" - krb5_libs="-lgssapi -lkrb5 -lcom_err -lroken -lasn1" - ;; - *) - AC_MSG_ERROR([krb5-config not found, but needed for GSSAPI support. Aborting.]) - ;; - esac + if test -d "$libiconv_dir/lib" -a \ + -d "$libiconv_dir/include" ; then + RACOON_PATH_LIBS([iconv_open], [iconv], ["$libiconv_dir/lib"]) + CPPFLAGS_ADD="$CPPFLAGS_ADD -I$libiconv_dir/include" + else + AC_MSG_ERROR([ICONV libs or includes not found. Aborting.]) + fi fi - LIBS="$LIBS $krb5_libs" - CPPFLAGS_ADD="$krb5_incdir $CPPFLAGS_ADD" - AC_DEFINE([HAVE_GSSAPI], [], [Enable GSS API]) - - # Check if iconv 2nd argument needs const - AC_CHECK_HEADER([iconv.h], [], [AC_MSG_ERROR([iconv.h not found, but needed for GSSAPI support. Aborting.])]) - AC_MSG_CHECKING([if iconv second argument needs const]) - saved_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -Wall -Werror" - AC_TRY_COMPILE([ - #include <iconv.h> - #include <stdio.h> - ], [ - iconv_t cd = NULL; - const char **src = NULL; - size_t *srcleft = NULL; - char **dst = NULL; - size_t *dstleft = NULL; - - (void)iconv(cd, src, srcleft, dst, dstleft); - ], [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_ICONV_2ND_CONST], [], [Have iconv using const]) - ], [AC_MSG_RESULT(no)]) - CFLAGS=$saved_CFLAGS + LIBS="$LIBS -L$libiconv_dir/lib -R$libiconv_dir/lib -liconv" + AC_CHECK_FUNCS(iconv_open) fi AC_MSG_CHECKING([if --enable-hybrid option is specified]) @@ -436,42 +412,92 @@ AC_MSG_ERROR([LDAP libs or includes not found. Aborting.]) fi fi - AC_DEFINE([HAVE_LIBLDAP], [], [Hybrid authentication uses LDAP]) - LIBS="$LIBS -L$libldap_dir/lib -R$libldap_dir/lib -lldap" - AC_CHECK_FUNCS(ldap_init) fi -# XXX Please keep this after all --with-* options -# libiconv is often integrated into libc. If a with-* option -# caused a non libc-based iconv.h to be catched instead of -# the libc-based iconv.h, then we need to link with -liconv -AC_MSG_CHECKING(if -liconv is required) -saved_CPPFLAGS=$CPPFLAGS -saved_LIBS=$LIBS -CPPFLAGS="$CPPFLAGS $CPPFLAGS_ADD" -AC_TRY_LINK([ -#include <iconv.h> -], [ - (void)iconv_open("ascii", "ascii"); -], - [AC_MSG_RESULT(no)], - [ - LIBS="$LIBS -liconv" - AC_TRY_LINK([ +# Check for Kerberos5 support +# XXX This test must be done after all other --with-xxx tests +# because of the libiconv issues +AC_MSG_CHECKING(if --enable-gssapi option is specified) +AC_ARG_ENABLE(gssapi, + [ --enable-gssapi enable GSS-API authentication], + [], [enable_gssapi=no]) +AC_MSG_RESULT($enable_gssapi) +AC_PATH_PROG(KRB5_CONFIG,krb5-config,no) +if test "x$enable_gssapi" = "xyes"; then + if test "$KRB5_CONFIG" != "no"; then + krb5_incdir="`$KRB5_CONFIG --cflags gssapi`" + krb5_libs="`$KRB5_CONFIG --libs gssapi`" + else + # No krb5-config; let's make some assumptions based on + # the OS. + case $host_os in + netbsd*) + krb5_incdir="-I/usr/include/krb5" + krb5_libs="-lgssapi -lkrb5 -lcom_err -lroken -lasn1" + ;; + *) + AC_MSG_ERROR([krb5-config not found, but needed for GSSAPI support. Aborting.]) + ;; + esac + fi + LIBS="$LIBS $krb5_libs" + CPPFLAGS_ADD="$krb5_incdir $CPPFLAGS_ADD" + AC_DEFINE([HAVE_GSSAPI], [], [Enable GSS API]) + + # Check if iconv 2nd argument needs const + saved_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -Wall -Werror" + saved_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $CPPFLAGS_ADD" + AC_CHECK_HEADER([iconv.h], [], [AC_MSG_ERROR([iconv.h not found, but needed for GSSAPI support. Aborting.])]) + AC_MSG_CHECKING([if iconv second argument needs const]) + AC_TRY_COMPILE([ #include <iconv.h> - ], [ - (void)iconv_open("ascii", "ascii"); - ], + #include <stdio.h> + ], [ + iconv_t cd = NULL; + const char **src = NULL; + size_t *srcleft = NULL; + char **dst = NULL; + size_t *dstleft = NULL; + + (void)iconv(cd, src, srcleft, dst, dstleft); + ], [AC_MSG_RESULT(yes) + AC_DEFINE([HAVE_ICONV_2ND_CONST], [], [Have iconv using const]) + ], [AC_MSG_RESULT(no)]) + CFLAGS=$saved_CFLAGS + CPPFLAGS=$saved_CPPFLAGS + + # libiconv is often integrated into libc. If a with-* option + # caused a non libc-based iconv.h to be catched instead of + # the libc-based iconv.h, then we need to link with -liconv + AC_MSG_CHECKING(if -liconv is required) + saved_CPPFLAGS=$CPPFLAGS + saved_LIBS=$LIBS + CPPFLAGS="$CPPFLAGS $CPPFLAGS_ADD" + AC_TRY_LINK([ + #include <iconv.h> + ], [ + (void)iconv_open("ascii", "ascii"); + ], + [AC_MSG_RESULT(no)], [ - AC_MSG_RESULT(yes) - saved_LIBS=$LIBS + LIBS="$LIBS -liconv" + AC_TRY_LINK([ + #include <iconv.h> ], [ - AC_MSG_ERROR([cannot use iconv]) + (void)iconv_open("ascii", "ascii"); + ], + [ + AC_MSG_RESULT(yes) + saved_LIBS=$LIBS + ], [ + AC_MSG_ERROR([cannot use iconv]) + ]) ]) - ]) -CPPFLAGS=$saved_CPPFLAGS -LIBS=$saved_LIBS - + CPPFLAGS=$saved_CPPFLAGS + LIBS=$saved_LIBS +fi AC_MSG_CHECKING(if --enable-stats option is specified) AC_ARG_ENABLE(stats, Index: ChangeLog =================================================================== RCS file: /cvsroot/ipsec-tools/ipsec-tools/ChangeLog,v retrieving revision 1.525 retrieving revision 1.526 diff -u -d -r1.525 -r1.526 --- ChangeLog 22 Jun 2006 20:11:34 -0000 1.525 +++ ChangeLog 22 Jun 2006 20:45:45 -0000 1.526 @@ -1,5 +1,7 @@ 2006-06-22 Emmanuel Dreyfus <ma...@ne...> * src/racoon/evt.c: build fix + From Matthew Grooms <mg...@sh...> + * configure.ac: build fixes around libldap and libiconv search 2006-06-21 Emmanuel Dreyfus <ma...@ne...> * src/racoon/evt.c: Do not record events if admin socket is |