httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From field...@apache.org
Subject cvs commit: httpd-2.0/modules/ssl config.m4
Date Thu, 10 May 2001 01:47:47 GMT
fielding    01/05/09 18:47:47

  Modified:    .        acinclude.m4 hints.m4
               modules/ssl config.m4
  Log:
  Eventually we will want to only find openssl once regardless of how
  many modules depend on it, so make the check an autoconf macro.
  Note that this still isn't being checked "the autoconf way", but it
  is better than what we have now.
  
  I'm not sure about the -R stuff, but I am told that Solaris won't
  build without it.  This is something that should be tested using
  AC_TRY_LINK rather than assuming openssl isn't already on the ld path.
  
  Revision  Changes    Path
  1.81      +102 -0    httpd-2.0/acinclude.m4
  
  Index: acinclude.m4
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/acinclude.m4,v
  retrieving revision 1.80
  retrieving revision 1.81
  diff -u -r1.80 -r1.81
  --- acinclude.m4	2001/04/29 08:25:52	1.80
  +++ acinclude.m4	2001/05/10 01:47:45	1.81
  @@ -349,3 +349,105 @@
       apache_cxx_done=yes
     fi
   ])
  +
  +dnl
  +dnl APACHE_CHECK_SSL_TOOLKIT
  +dnl
  +dnl Find the openssl toolkit installation and check it for the right
  +dnl version, then add its flags to INCLUDES and LIBS.  This should
  +dnl really be using a custom AC_TRY_COMPILE function to test the includes
  +dnl and then AC_TRY_LINK to test the libraries directly for the version,
  +dnl but that will require someone who knows how to program openssl.
  +dnl
  +AC_DEFUN(APACHE_CHECK_SSL_TOOLKIT,[
  +  AC_MSG_CHECKING(for SSL/TLS toolkit base)
  +  ap_ssltk_base=""
  +  AC_ARG_WITH(ssl, [  --with-ssl[=DIR]        SSL/TLS toolkit (OpenSSL)], [
  +    if test "x$withval" != "xyes" -a "x$withval" != "x"; then
  +      ap_ssltk_base="$withval"
  +    fi
  +  ])
  +  if test "x$ap_ssltk_base" = "x"; then
  +    AC_CACHE_VAL(ap_cv_ssltk,[
  +      #
  +      # shotgun approach: find all occurrences of the openssl program
  +      #
  +      ap_ssltk_try=""
  +      for p in /usr/local/openssl/bin /usr/local/ssl/bin $path; do
  +        if test -f "$p/openssl"; then
  +          ap_ssltk_try="$ap_ssltk_try $p"
  +        fi
  +      done
  +      if test "x$ap_ssltk_try" = "x"; then
  +        AC_MSG_ERROR(['openssl' not found in path])
  +      fi
  +      for p in $ap_ssltk_try; do
  +        ap_ssltk_version="`$p/openssl version`"
  +        case "$ap_ssltk_version" in
  +            *[[^0-9a-z.]][[1-9]]* | \
  +            *[[^0-9a-z.]]0.9.[[6-9]]* | \
  +            *[[^0-9a-z.]]0.[[1-9]][[0-9]]* )
  +                ap_cv_ssltk="`(cd $p/.. && pwd)`"
  +                break
  +                ;;
  +            *)
  +                # skip because it is too old or a bad result
  +                ;;
  +        esac
  +      done
  +      if test "x$ap_cv_ssltk" = "x"; then
  +        AC_MSG_ERROR([requires OpenSSL 0.9.6 or higher])
  +      fi
  +    ])
  +    ap_ssltk_base="$ap_cv_ssltk"
  +  fi
  +  if test ! -d $ap_ssltk_base; then
  +    AC_MSG_ERROR([invalid SSL/TLS toolkit base directory $ap_ssltk_base])
  +  fi
  +  AC_MSG_RESULT($ap_ssltk_base)
  +    
  +  AC_MSG_CHECKING(for SSL/TLS toolkit version)
  +  AC_MSG_RESULT($ap_ssltk_version)
  +    
  +  AC_MSG_CHECKING(for SSL/TLS toolkit includes)
  +  ap_ssltk_incdir=""
  +  for p in $ap_ssltk_base/include /usr/local/openssl/include \
  +           /usr/local/ssl/include /usr/local/include /usr/include; do
  +    if test -f "$p/openssl/ssl.h"; then
  +      ap_ssltk_incdir="$p"
  +      break
  +    fi
  +  done
  +  if test "x$ap_ssltk_incdir" = "x"; then
  +    AC_MSG_ERROR([OpenSSL headers not found])
  +  fi
  +  AC_MSG_RESULT($ap_ssltk_incdir)
  +
  +  AC_MSG_CHECKING(for SSL/TLS toolkit libraries)
  +  ap_ssltk_libdir=""
  +  for p in $ap_ssltk_base/lib /usr/local/openssl/lib \
  +           /usr/local/ssl/lib /usr/local/lib /usr/lib /lib; do
  +    if test -f "$p/libssl.a" -o -f "$p/libssl.so"; then
  +      ap_ssltk_libdir="$p"
  +      break
  +    fi
  +  done
  +  if test ".$ap_ssltk_libdir" = .; then
  +    AC_MSG_ERROR([OpenSSL libraries not found])
  +  fi
  +  AC_MSG_RESULT($ap_ssltk_libdir)
  +
  +  dnl #  annotate the Apache build environment with determined information
  +  if test "x$ap_ssltk_incdir" != "x/usr/include"; then
  +    APR_ADDTO(INCLUDES, [-I$ap_ssltk_incdir])
  +  fi
  +  if test "x$ap_ssltk_libdir" != "x/usr/lib"; then
  +    APR_ADDTO(LIBS, [-L$ap_ssltk_libdir])
  +    if test "x$ap_platform_needs_R" = "xyes"; then
  +      APR_ADDTO(LIBS, [-R$ap_ssltk_libdir])
  +    fi
  +  fi
  +  APR_ADDTO(LIBS, [-lssl -lcrypto])
  +  ap_cv_ssltk="$ap_ssltk_base"
  +])
  +
  
  
  
  1.7       +3 -0      httpd-2.0/hints.m4
  
  Index: hints.m4
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/hints.m4,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- hints.m4	2001/04/29 05:24:08	1.6
  +++ hints.m4	2001/05/10 01:47:46	1.7
  @@ -57,6 +57,9 @@
           APR_SETVAR(APACHE_MPM, [beos])
           APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
           ;;
  +    *-solaris2*)
  +        ap_platform_needs_R="yes"
  +        ;;
     esac
   
   fi
  
  
  
  1.5       +1 -99     httpd-2.0/modules/ssl/config.m4
  
  Index: config.m4
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/modules/ssl/config.m4,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- config.m4	2001/05/08 04:42:26	1.4
  +++ config.m4	2001/05/10 01:47:47	1.5
  @@ -78,105 +78,7 @@
   "
   dnl #  hook module into the Autoconf mechanism (--enable-ssl option)
   APACHE_MODULE(ssl, [SSL/TLS support (mod_ssl)], $ssl_objs, , no, [
  -
  -    dnl #  hook into Autoconf mechanism (--with-ssl[=DIR] option)
  -    AC_MSG_CHECKING(for SSL/TLS toolkit base)
  -    ssltk_base="SYSTEM"
  -    AC_ARG_WITH(ssl, [  --with-ssl[=DIR]        SSL/TLS toolkit (OpenSSL)], [
  -        if test ".$withval" != .yes -a ".$withval" != .; then
  -            ssltk_base="$withval"
  -            if test ! -d $ssltk_base; then
  -                AC_MSG_ERROR([invalid SSL/TLS toolkit base directory $ssltk_base])
  -            fi
  -        fi
  -    ])
  -    AC_MSG_RESULT($ssltk_base)
  -    
  -    dnl #   determine SSL/TLS toolkit frontend (openssl binary)
  -    AC_MSG_CHECKING(for SSL/TLS toolkit frontend)
  -    ssltk_frontend=""
  -    if test ".$ssltk_base" = .SYSTEM; then
  -        for p in . `echo $PATH | sed -e 's/:/ /g'` /usr/local/openssl/bin /usr/local/ssl/bin;
do
  -            if test -f "$p/openssl"; then
  -                ssltk_frontend="$p/openssl"
  -                break
  -            fi
  -        done
  -        if test ".$ssltk_frontend" = .; then
  -            AC_MSG_ERROR(['openssl' not found in $PATH])
  -        fi
  -    else
  -        if test -f "$ssltk_base/bin/openssl"; then
  -            ssltk_frontend="$ssltk_base/bin/openssl"
  -        else
  -            AC_MSG_ERROR(['openssl' not found in $ssltk_base/bin/])
  -        fi
  -    fi
  -    AC_MSG_RESULT($ssltk_frontend)
  -
  -    dnl #   determine SSL/TLS toolkit version
  -    AC_MSG_CHECKING(for SSL/TLS toolkit version)
  -    ssltk_version="`$ssltk_frontend version`"
  -    case "$ssltk_version" in
  -        *0.9.[[6789]]* ) ;;
  -        * ) AC_MSG_ERROR([SSL/TLS toolkit version $ssltk_version not supported]) ;;
  -    esac
  -    AC_MSG_RESULT($ssltk_version)
  -
  -    dnl #   determine SSL/TLS toolkit include directory
  -    AC_MSG_CHECKING(for SSL/TLS toolkit includes)
  -    ssltk_incdir=""
  -    if test ".$ssltk_base" = .SYSTEM; then
  -        for p in . /usr/local/openssl/include /usr/local/ssl/include /usr/local/include/ssl
/usr/local/include /usr/include/ssl /usr/include; do
  -            if test -f "$p/openssl/ssl.h"; then
  -                ssltk_incdir="$p"
  -                break
  -            fi
  -        done
  -        if test ".$ssltk_incdir" = .; then
  -            AC_MSG_ERROR([OpenSSL headers not found])
  -        fi
  -    else
  -        if test -f "$ssltk_base/include/openssl/ssl.h"; then
  -            ssltk_incdir="$ssltk_base/include"
  -        else
  -            AC_MSG_ERROR([OpenSSL headers not found under $ssltk_base])
  -        fi
  -    fi
  -    AC_MSG_RESULT($ssltk_incdir)
  -
  -    dnl #   determine SSL/TLS toolkit library directory
  -    AC_MSG_CHECKING(for SSL/TLS toolkit libraries)
  -    ssltk_libdir=""
  -    if test ".$ssltk_base" = .SYSTEM; then
  -        for p in . /usr/local/openssl/lib /usr/local/ssl/lib /usr/local/lib/ssl /usr/local/lib
/usr/lib/ssl /usr/lib /lib; do
  -            if test -f "$p/libssl.a" -o -f "$p/libssl.so"; then
  -                ssltk_libdir="$p"
  -                break
  -            fi
  -        done
  -        if test ".$ssltk_libdir" = .; then
  -            AC_MSG_ERROR([OpenSSL libraries not found])
  -        fi
  -    else
  -        if test -f "$ssltk_base/libssl.a" -o -f "$ssltk_base/libssl.so"; then
  -            ssltk_libdir="$ssltk_base"
  -        elif test -f "$ssltk_base/lib/libssl.a" -o -f "$ssltk_base/lib/libssl.so"; then
  -            ssltk_libdir="$ssltk_base/lib"
  -        else
  -            AC_MSG_ERROR([OpenSSL libraries not found under $ssltk_base])
  -        fi
  -    fi
  -    AC_MSG_RESULT($ssltk_libdir)
  -
  -    dnl #  annotate the Apache build environment with determined information
  -    if test ".$ssltk_incdir" != "./usr/include"; then
  -        APR_ADDTO(INCLUDES, [-I$ssltk_incdir])
  -    fi
  -    if test ".$ssltk_libdir" != "./usr/lib"; then
  -        APR_ADDTO(LIBS, [-L$ssltk_libdir])
  -    fi
  -    APR_ADDTO(LIBS, [-lssl -lcrypto])
  +    APACHE_CHECK_SSL_TOOLKIT
   ])
   
   dnl #  end of module specific part
  
  
  

Mime
View raw message