List:Commits« Previous MessageNext Message »
From:msvensson Date:May 17 2006 1:59pm
Subject:bk commit into 5.1 tree (msvensson:1.2393) BUG#18818
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of msvensson. When msvensson does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2393 06/05/17 13:59:37 msvensson@neptunus.(none) +7 -0
  BUG#18818 configure: No longer finds OpenSSL on Mac OS X
   - Implement new switch --with-ssl to configure used for both bundled yaSSL or OpenSSL

  config/ac-macros/ssl.m4
    1.1 06/05/17 13:59:32 msvensson@neptunus.(none) +200 -0
    New BitKeeper file ``config/ac-macros/ssl.m4''

  configure.in
    1.351 06/05/17 13:59:32 msvensson@neptunus.(none) +2 -4
    Change to use the MYSQL_CHECK_SSL macro from ssl.m4

  config/ac-macros/ssl.m4
    1.0 06/05/17 13:59:32 msvensson@neptunus.(none) +0 -0
    BitKeeper file /home/msvensson/mysql/bug18818/my51-bug18818/config/ac-macros/ssl.m4

  BUILD/compile-pentium-debug-yassl
    1.3 06/05/17 13:59:32 msvensson@neptunus.(none) +1 -1
    Use switch --with-ssl to configure

  BUILD/compile-pentium-debug-openssl
    1.5 06/05/17 13:59:32 msvensson@neptunus.(none) +1 -1
    Use switch --with-ssl to configure

  BUILD/SETUP.sh
    1.60 06/05/17 13:59:32 msvensson@neptunus.(none) +5 -2
    Use switch --with-ssl to configure

  BitKeeper/deleted/.del-openssl.m4~41cebd0ba8281769
    1.8 06/05/17 13:57:05 msvensson@neptunus.(none) +0 -0
    Delete: config/ac-macros/openssl.m4

  BitKeeper/deleted/.del-yassl.m4~e55e55c1e863abaf
    1.18 06/05/17 13:57:02 msvensson@neptunus.(none) +0 -0
    Delete: config/ac-macros/yassl.m4

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	msvensson
# Host:	neptunus.(none)
# Root:	/home/msvensson/mysql/bug18818/my51-bug18818

--- 1.350/configure.in	2006-05-11 21:40:35 +02:00
+++ 1.351/configure.in	2006-05-17 13:59:32 +02:00
@@ -36,10 +36,9 @@
 sinclude(config/ac-macros/ha_ndbcluster.m4)
 sinclude(config/ac-macros/large_file.m4)
 sinclude(config/ac-macros/misc.m4)
-sinclude(config/ac-macros/openssl.m4)
 sinclude(config/ac-macros/readline.m4)
 sinclude(config/ac-macros/replication.m4)
-sinclude(config/ac-macros/yassl.m4)
+sinclude(config/ac-macros/ssl.m4)
 sinclude(config/ac-macros/zlib.m4)
 
 # Remember to add a directory sql/share/LANGUAGE
@@ -2203,8 +2202,7 @@
 MYSQL_CHECK_MAX_INDEXES
 MYSQL_CHECK_REPLICATION
 MYSQL_CHECK_VIO
-MYSQL_CHECK_OPENSSL
-MYSQL_CHECK_YASSL
+MYSQL_CHECK_SSL
 
 #--------------------------------------------------------------------
 # Declare our plugin modules
--- New file ---
+++ config/ac-macros/ssl.m4	06/05/17 13:59:32
dnl ===========================================================================
dnl Support for SSL
dnl ===========================================================================
dnl
dnl

dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_USE_BUNDLED_YASSL
dnl
dnl SYNOPSIS
dnl   MYSQL_USE_BUNDLED_YASSL()
dnl
dnl DESCRIPTION
dnl  Add defines so yassl is built and linked with
dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_USE_BUNDLED_YASSL], [

  AC_CONFIG_FILES(extra/yassl/Makefile dnl
    extra/yassl/taocrypt/Makefile dnl
    extra/yassl/taocrypt/benchmark/Makefile dnl
    extra/yassl/taocrypt/src/Makefile dnl
    extra/yassl/taocrypt/test/Makefile dnl
    extra/yassl/src/Makefile dnl
    extra/yassl/testsuite/Makefile)

  with_yassl="yes"

  yassl_dir="yassl"
  AC_SUBST([yassl_dir])

  yassl_libs="-L\$(top_srcdir)/extra/yassl/src -lyassl
-L\$(top_srcdir)/extra/yassl/taocrypt/src -ltaocrypt"
  AC_SUBST(yassl_libs)
  yassl_includes="-I\$(top_srcdir)/extra/yassl/include"
  AC_SUBST(yassl_includes)

  AC_DEFINE([HAVE_OPENSSL], [1], [Defined by configure. Using yaSSL for SSL.])
  AC_DEFINE([HAVE_YASSL], [1], [Defined by configure. Using yaSSL for SSL.])

  # System specific checks
  yassl_integer_extra_cxxflags=""
  case $host_cpu--$CXX_VERSION in
      sparc*--*Sun*C++*5.6*)
	# Disable inlining when compiling taocrypt/src/
	yassl_taocrypt_extra_cxxflags="+d"
        AC_MSG_NOTICE([disabling inlining for yassl/taocrypt/src/])
        ;;
  esac
  AC_SUBST([yassl_taocrypt_extra_cxxflags])

  # Link extra/yassl/include/openssl subdir to include/
  yassl_h_ln_cmd="\$(LN) -s \$(top_srcdir)/extra/yassl/include/openssl openssl"
  AC_SUBST(yassl_h_ln_cmd)

  AC_MSG_RESULT([using bundled yaSSL])
])


dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_CHECK_SSL_DIR
dnl
dnl SYNOPSIS
dnl   MYSQL_CHECK_SSL_DIR(includes, libs)
dnl
dnl DESCRIPTION
dnl  Auxiliary macro to check for ssl at given path
dnl
dnl ---------------------------------------------------------------------------

AC_DEFUN([MYSQL_CHECK_SSL_DIR], [
ssl_incs="$1"
ssl_libs="$2"
save_CPPFLAGS="$CPPFLAGS"
save_LIBS="$LIBS"
CPPFLAGS="$ssl_incs $CPPFLAGS"
LIBS="$LIBS $ssl_libs"
AC_TRY_LINK([#include <openssl/ssl.h>],
    [return SSL_library_init();],
    [mysql_ssl_found="yes"],
    [mysql_ssl_found="no"])
CPPFLAGS="$save_CPPFLAGS"
LIBS="$save_LIBS"
])


dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_FIND_OPENSSL
dnl
dnl SYNOPSIS
dnl   MYSQL_FIND_OPENSSL(location)
dnl
dnl DESCRIPTION
dnl  Search the location for OpenSSL support
dnl
dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_FIND_OPENSSL], [
  location="$1"

  #
  # Set include paths
  #
  openssl_include="$location/include"
  openssl_includes=""

  # Don't set ssl_includes to /usr/include as this gives us a lot of
  # compiler warnings when using gcc 3.x
  if test "$openssl_include" != "/usr/include"
  then
    openssl_includes="-I$ssl_include"
  fi

  #
  # Try to link with openSSL libs in <location>
  #
  openssl_libs="-L$location/lib/ -lssl -lcrypto"
  MYSQL_CHECK_SSL_DIR([$openssl_includes], [$openssl_libs])

  if test "$mysql_ssl_found" == "no"
  then
    #
    # BUG 764: Compile failure with OpenSSL on Red Hat Linux (krb5.h missing)
    # Try to link with include paths to kerberos set
    #
    openssl_includes="$openssl_includes -I/usr/kerberos/include"
    MYSQL_CHECK_SSL_DIR([$openssl_includes], [$openssl_libs])
  fi

  if test "$mysql_ssl_found" == "no"
  then
    AC_MSG_ERROR([Could not link with SSL libs at $location])
  fi

  # openssl-devel-0.9.6 requires dlopen() and we can't link staticly
  # on many platforms (We should actually test this here, but it's quite
  # hard to do as we are doing libtool for linking.)
  case "$CLIENT_EXTRA_LDFLAGS $MYSQLD_EXTRA_LDFLAGS" in
    *-all-static*)
    AC_MSG_ERROR([You can't use the --all-static link option when using openssl.])
    ;;
  esac

  AC_SUBST(openssl_includes)
  AC_SUBST(openssl_libs)

  NON_THREADED_CLIENT_LIBS="$NON_THREADED_CLIENT_LIBS $openssl_libs"

  AC_DEFINE([HAVE_OPENSSL], [1], [OpenSSL])
  AC_MSG_RESULT([using openSSL from $location])
])



dnl ------------------------------------------------------------------------
dnl Macro: MYSQL_CHECK_SSL
dnl
dnl SYNOPSIS
dnl   MYSQL_CHECK_SSL
dnl
dnl Provides the following configure options:
dnl --with-ssl=DIR
dnl Possible DIR values are:
dnl - no - the macro will disable use of ssl
dnl - bundled, empty or not specified - means use ssl lib
dnl   bundled along with MySQL sources
dnl - ssl location prefix - given location prefix, the macro expects
dnl   to find the header files in $prefix/include/, and libraries in
dnl   $prefix/lib. If headers or libraries weren't found at $prefix, the
dnl   macro bails out with error.
dnl
dnl ------------------------------------------------------------------------
AC_DEFUN([MYSQL_CHECK_SSL], [
AC_MSG_CHECKING(for SSL)
  AC_ARG_WITH([ssl],
              [  --with-ssl[=DIR]    Include SSL support],
              [mysql_ssl_dir="$withval"],
              [mysql_ssl_dir=no])

  case "$mysql_ssl_dir" in
    "no")
      #
      # Don't include SSL support
      #
      AC_MSG_RESULT([disabled])
      ;;

    "bundled"|"yes")
      #
      # Use the bundled SSL implementation (yaSSL)
      #
      MYSQL_USE_BUNDLED_YASSL
      ;;

     *)
      #
      # A location where to search for OpenSSL was specified
      #
      MYSQL_FIND_OPENSSL([$mysql_ssl_dir])
      ;;
  esac
  AM_CONDITIONAL([HAVE_YASSL], [ test "$with_yassl" = "yes" ])
])


--- 1.2/BUILD/compile-pentium-debug-yassl	2006-04-05 15:50:27 +02:00
+++ 1.3/BUILD/compile-pentium-debug-yassl	2006-05-17 13:59:32 +02:00
@@ -6,6 +6,6 @@
 extra_flags="$pentium_cflags $debug_cflags"
 extra_configs="$pentium_configs $debug_configs"
 
-extra_configs="$extra_configs  --with-debug=full --with-yassl"
+extra_configs="$extra_configs  --with-debug=full --with-ssl"
 
 . "$path/FINISH.sh"

--- 1.59/BUILD/SETUP.sh	2006-05-02 06:33:04 +02:00
+++ 1.60/BUILD/SETUP.sh	2006-05-17 13:59:32 +02:00
@@ -82,8 +82,11 @@
 export AM_MAKEFLAGS
 AM_MAKEFLAGS="-j 4"
 
-# SSL library to use.
-SSL_LIBRARY=--with-yassl
+# SSL library to use.--with-ssl will select our bundled yaSSL
+# implementation of SSL. To use openSSl you will nee too point out
+# the location of openSSL headers and lbs on your system.
+# Ex --with-ssl=/usr
+SSL_LIBRARY=--with-ssl
 
 if [ "x$warning_mode" != "xpedantic" ]; then
 # Both C and C++ warnings

--- 1.4/BUILD/compile-pentium-debug-openssl	2006-04-05 15:50:27 +02:00
+++ 1.5/BUILD/compile-pentium-debug-openssl	2006-05-17 13:59:32 +02:00
@@ -6,6 +6,6 @@
 extra_flags="$pentium_cflags $debug_cflags"
 extra_configs="$pentium_configs $debug_configs"
 
-extra_configs="$extra_configs  --with-debug=full --with-openssl"
+extra_configs="$extra_configs  --with-debug=full --with-ssl=/usr"
 
 . "$path/FINISH.sh"
Thread
bk commit into 5.1 tree (msvensson:1.2393) BUG#18818msvensson17 May