Ticket #20297: patch-..-acx_nlnetlabs.m4.diff

File patch-..-acx_nlnetlabs.m4.diff, 7.5 KB (added by marius.rieder@…, 15 years ago)

drill patch 2

  • ../acx_nlnetlabs.m4

     
    22# Copyright 2009, Wouter Wijngaards, NLnet Labs.   
    33# BSD licensed.
    44#
    5 # Version 2
     5# Version 3 - 2009-07-13
     6#
     7# Changelog
     8# 2009-07-13
     9# - added ACX_WITH_SSL_OPTIONAL
    610# 2009-07-03
    7 # Changelog
    811# - fixup LDFLAGS for empty ssl dir.
    912#
    1013# Automates some of the checking constructs.  Aims at portability for POSIX.
     
    3033# ACX_TYPE_IN_PORT_T            - in_port_t type.
    3134# ACX_ARG_RPATH                 - add --disable-rpath option.
    3235# ACX_WITH_SSL                  - add --with-ssl option, link -lcrypto.
     36# ACX_WITH_SSL_OPTIONAL         - add --with-ssl option, link -lcrypto,
     37                                  where --without-ssl is also accepted
    3338# ACX_LIB_SSL                   - setup to link -lssl.
    3439# ACX_SYS_LARGEFILE             - improved sys_largefile, fseeko, >2G files.
    3540# ACX_CHECK_GETADDRINFO_WITH_INCLUDES - find getaddrinfo, portably.
     
    555560        fi
    556561])
    557562
    558 dnl Check for SSL.
    559 dnl Adds --with-ssl option, searches for openssl and defines HAVE_SSL if found
    560 dnl Setup of CPPFLAGS, CFLAGS.  Adds -lcrypto to LIBS.
    561 dnl Checks main header files of SSL.
    562 dnl
    563 AC_DEFUN([ACX_WITH_SSL],
    564 [
    565 AC_ARG_WITH(ssl, AC_HELP_STRING([--with-ssl=pathname],
    566                                     [enable SSL (will check /usr/local/ssl
    567                             /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw /usr)]),[
    568         ],[
    569             withval="yes"
    570         ])
    571     if test x_$withval = x_no; then
    572         AC_MSG_ERROR([Need SSL library to do digital signature cryptography])
    573     fi
     563dnl Common code for both ACX_WITH_SSL and ACX_WITH_SSL_OPTIONAL
     564dnl Takes one argument; the withval checked in those 2 functions
     565dnl sets up the environment for the given openssl path
     566AC_DEFUN([ACX_SSL_CHECKS], [
     567    withval=$1
    574568    if test x_$withval != x_no; then
    575569        AC_MSG_CHECKING(for SSL)
    576570        if test x_$withval = x_ -o x_$withval = x_yes; then
     
    581575            if test -f "$dir/include/openssl/ssl.h"; then
    582576                found_ssl="yes"
    583577                AC_DEFINE_UNQUOTED([HAVE_SSL], [], [Define if you have the SSL libraries installed.])
    584                 dnl assume /usr/include is already in the include-path.
    585                 if test "$ssldir" != "/usr"; then
    586                         CPPFLAGS="$CPPFLAGS -I$ssldir/include"
    587                 fi
     578                dnl assume /usr/include is already in the include-path.
     579                if test "$ssldir" != "/usr"; then
     580                        CPPFLAGS="$CPPFLAGS -I$ssldir/include"
     581                fi
    588582                break;
    589583            fi
    590584        done
     
    593587        else
    594588            AC_MSG_RESULT(found in $ssldir)
    595589            HAVE_SSL=yes
    596             dnl assume /usr is already in the lib and dynlib paths.
    597             if test "$ssldir" != "/usr" -a "$ssldir" != ""; then
     590            dnl assume /usr is already in the lib and dynlib paths.
     591            if test "$ssldir" != "/usr" -a "$ssldir" != ""; then
    598592                LDFLAGS="$LDFLAGS -L$ssldir/lib"
    599                 ACX_RUNTIME_PATH_ADD([$ssldir/lib])
    600             fi
    601        
    602             AC_MSG_CHECKING([for HMAC_CTX_init in -lcrypto])
    603             LIBS="$LIBS -lcrypto"
    604             AC_TRY_LINK(, [
    605                 int HMAC_CTX_init(void);
    606                 (void)HMAC_CTX_init();
    607               ], [
    608                 AC_MSG_RESULT(yes)
    609                 AC_DEFINE([HAVE_HMAC_CTX_INIT], 1,
    610                         [If you have HMAC_CTX_init])
    611               ], [
    612                 AC_MSG_RESULT(no)
    613                 # check if -lwsock32 or -lgdi32 are needed.     
    614                 BAKLIBS="$LIBS"
    615                 LIBS="$LIBS -lgdi32"
    616                 AC_MSG_CHECKING([if -lcrypto needs -lgdi32])
    617                 AC_TRY_LINK([], [
    618                     int HMAC_CTX_init(void);
    619                     (void)HMAC_CTX_init();
    620                   ],[
    621                     AC_DEFINE([HAVE_HMAC_CTX_INIT], 1,
    622                         [If you have HMAC_CTX_init])
    623                     AC_MSG_RESULT(yes)
    624                   ],[
    625                     AC_MSG_RESULT(no)
    626                     LIBS="$BAKLIBS"
    627                     LIBS="$LIBS -ldl"
    628                     AC_MSG_CHECKING([if -lcrypto needs -ldl])
    629                     AC_TRY_LINK([], [
    630                         int HMAC_CTX_init(void);
    631                         (void)HMAC_CTX_init();
    632                       ],[
    633                         AC_DEFINE([HAVE_HMAC_CTX_INIT], 1,
    634                             [If you have HMAC_CTX_init])
    635                         AC_MSG_RESULT(yes)
    636                       ],[
    637                         AC_MSG_RESULT(no)
     593                ACX_RUNTIME_PATH_ADD([$ssldir/lib])
     594            fi
     595       
     596            AC_MSG_CHECKING([for HMAC_CTX_init in -lcrypto])
     597            LIBS="$LIBS -lcrypto"
     598            AC_TRY_LINK(, [
     599                int HMAC_CTX_init(void);
     600                (void)HMAC_CTX_init();
     601              ], [
     602                AC_MSG_RESULT(yes)
     603                AC_DEFINE([HAVE_HMAC_CTX_INIT], 1,
     604                          [If you have HMAC_CTX_init])
     605              ], [
     606                AC_MSG_RESULT(no)
     607                # check if -lwsock32 or -lgdi32 are needed.     
     608                BAKLIBS="$LIBS"
     609                LIBS="$LIBS -lgdi32"
     610                AC_MSG_CHECKING([if -lcrypto needs -lgdi32])
     611                AC_TRY_LINK([], [
     612                    int HMAC_CTX_init(void);
     613                    (void)HMAC_CTX_init();
     614                  ],[
     615                    AC_DEFINE([HAVE_HMAC_CTX_INIT], 1,
     616                        [If you have HMAC_CTX_init])
     617                    AC_MSG_RESULT(yes)
     618                  ],[
     619                    AC_MSG_RESULT(no)
     620                    LIBS="$BAKLIBS"
     621                    LIBS="$LIBS -ldl"
     622                    AC_MSG_CHECKING([if -lcrypto needs -ldl])
     623                    AC_TRY_LINK([], [
     624                        int HMAC_CTX_init(void);
     625                        (void)HMAC_CTX_init();
     626                      ],[
     627                        AC_DEFINE([HAVE_HMAC_CTX_INIT], 1,
     628                            [If you have HMAC_CTX_init])
     629                        AC_MSG_RESULT(yes)
     630                      ],[
     631                        AC_MSG_RESULT(no)
    638632                    AC_MSG_ERROR([OpenSSL found in $ssldir, but version 0.9.7 or higher is required])
    639                     ])
    640                 ])
     633                    ])
     634                ])
    641635            ])
    642636        fi
    643637        AC_SUBST(HAVE_SSL)
    644         AC_SUBST(RUNTIME_PATH)
     638        AC_SUBST(RUNTIME_PATH)
    645639    fi
    646640AC_CHECK_HEADERS([openssl/ssl.h],,, [AC_INCLUDES_DEFAULT])
    647641AC_CHECK_HEADERS([openssl/err.h],,, [AC_INCLUDES_DEFAULT])
    648642AC_CHECK_HEADERS([openssl/rand.h],,, [AC_INCLUDES_DEFAULT])
     643])dnl End of ACX_SSL_CHECKS
     644
     645dnl Check for SSL, where SSL is mandatory
     646dnl Adds --with-ssl option, searches for openssl and defines HAVE_SSL if found
     647dnl Setup of CPPFLAGS, CFLAGS.  Adds -lcrypto to LIBS.
     648dnl Checks main header files of SSL.
     649dnl
     650AC_DEFUN([ACX_WITH_SSL],
     651[
     652AC_ARG_WITH(ssl, AC_HELP_STRING([--with-ssl=pathname],
     653                                    [enable SSL (will check /usr/local/ssl
     654                            /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw /usr)]),[
     655        ],[
     656            withval="yes"
     657        ])
     658    if test x_$withval = x_no; then
     659        AC_MSG_ERROR([Need SSL library to do digital signature cryptography])
     660    fi
     661    ACX_SSL_CHECKS($withval)
    649662])dnl End of ACX_WITH_SSL
    650663
     664dnl Check for SSL, where ssl is optional (--without-ssl is allowed)
     665dnl Adds --with-ssl option, searches for openssl and defines HAVE_SSL if found
     666dnl Setup of CPPFLAGS, CFLAGS.  Adds -lcrypto to LIBS.
     667dnl Checks main header files of SSL.
     668dnl
     669AC_DEFUN([ACX_WITH_SSL_OPTIONAL],
     670[
     671AC_ARG_WITH(ssl, AC_HELP_STRING([--with-ssl=pathname],
     672                                [enable SSL (will check /usr/local/ssl
     673                                /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw /usr)]),[
     674        ],[
     675            withval="yes"
     676        ])
     677    ACX_SSL_CHECKS($withval)
     678])dnl End of ACX_WITH_SSL_OPTIONAL
     679
    651680dnl Setup to use -lssl
    652681dnl To use -lcrypto, use the ACX_WITH_SSL setup (before this one).
    653682AC_DEFUN([ACX_LIB_SSL],