summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorunknown <msvensson@neptunus.(none)>2006-05-18 18:26:52 +0200
committerunknown <msvensson@neptunus.(none)>2006-05-18 18:26:52 +0200
commitecf4865e12f7370dabe32b789c445d022e7576e2 (patch)
tree18c2f8b69c53787d1907eadfffc5981b4bf503f9 /config
parent127d73abaae4484a17342fc0462d0817f592df15 (diff)
parent5c5c5e750150a05828a53e583fa9db0283d3864a (diff)
downloadmariadb-git-ecf4865e12f7370dabe32b789c445d022e7576e2.tar.gz
Merge neptunus.(none):/home/msvensson/mysql/bug18818/my51-bug18818
into neptunus.(none):/home/msvensson/mysql/mysql-5.1 configure.in: Auto merged
Diffstat (limited to 'config')
-rw-r--r--config/ac-macros/openssl.m4136
-rw-r--r--config/ac-macros/ssl.m4200
-rw-r--r--config/ac-macros/yassl.m445
-rw-r--r--config/ac-macros/zlib.m49
4 files changed, 205 insertions, 185 deletions
diff --git a/config/ac-macros/openssl.m4 b/config/ac-macros/openssl.m4
deleted file mode 100644
index a23c46eed00..00000000000
--- a/config/ac-macros/openssl.m4
+++ /dev/null
@@ -1,136 +0,0 @@
-AC_DEFUN([MYSQL_FIND_OPENSSL], [
- incs="$1"
- libs="$2"
- eval shrexts=\"$shrext_cmds\"
- case "$incs---$libs" in
- ---)
- for d in /usr/ssl/include /usr/local/ssl/include /usr/include \
-/usr/include/ssl /opt/ssl/include /opt/openssl/include \
-/usr/local/ssl/include /usr/local/include /usr/freeware/include ; do
- if test -f $d/openssl/ssl.h ; then
- OPENSSL_INCLUDE=-I$d
- fi
- done
-
- for d in /usr/ssl/lib /usr/local/ssl/lib /usr/lib/openssl \
-/usr/lib /usr/lib64 /opt/ssl/lib /opt/openssl/lib \
-/usr/freeware/lib32 /usr/local/lib/ ; do
- # Just to be safe, we test for ".so" anyway
- if test -f $d/libssl.a || test -f $d/libssl.so || test -f $d/libssl$shrext ; then
- OPENSSL_LIB=$d
- fi
- done
- ;;
- ---* | *---)
- AC_MSG_ERROR([if either 'includes' or 'libs' is specified, both must be specified])
- ;;
- * )
- if test -f $incs/openssl/ssl.h ; then
- OPENSSL_INCLUDE=-I$incs
- fi
- # Just to be safe, we test for ".so" anyway
- if test -f $libs/libssl.a || test -f $libs/libssl.so || test -f $libs/libssl$shrext ; then
- OPENSSL_LIB=$libs
- fi
- ;;
- esac
-
- # On RedHat 9 we need kerberos to compile openssl
- for d in /usr/kerberos/include
- do
- if test -f $d/krb5.h ; then
- OPENSSL_KERBEROS_INCLUDE="$d"
- fi
- done
-
-
- if test -z "$OPENSSL_LIB" -o -z "$OPENSSL_INCLUDE" ; then
- echo "Could not find an installation of OpenSSL"
- if test -n "$OPENSSL_LIB" ; then
- if test "$TARGET_LINUX" = "true"; then
- echo "Looks like you've forgotten to install OpenSSL development RPM"
- fi
- fi
- exit 1
- fi
-
-])
-
-AC_DEFUN([MYSQL_CHECK_OPENSSL], [
-AC_MSG_CHECKING(for OpenSSL)
- AC_ARG_WITH([openssl],
- [ --with-openssl[=DIR] Include the OpenSSL support],
- [openssl="$withval"],
- [openssl=no])
-
- AC_ARG_WITH([openssl-includes],
- [
- --with-openssl-includes=DIR
- Find OpenSSL headers in DIR],
- [openssl_includes="$withval"],
- [openssl_includes=""])
-
- AC_ARG_WITH([openssl-libs],
- [
- --with-openssl-libs=DIR
- Find OpenSSL libraries in DIR],
- [openssl_libs="$withval"],
- [openssl_libs=""])
-
- if test "$openssl" != "no"
- then
- if test "$openssl" != "yes"
- then
- if test -z "$openssl_includes"
- then
- openssl_includes="$openssl/include"
- fi
- if test -z "$openssl_libs"
- then
- openssl_libs="$openssl/lib"
- fi
- fi
- MYSQL_FIND_OPENSSL([$openssl_includes], [$openssl_libs])
- #force VIO use
- AC_MSG_RESULT(yes)
- openssl_libs="-L$OPENSSL_LIB -lssl -lcrypto"
- # Don't set openssl_includes to /usr/include as this gives us a lot of
- # compiler warnings when using gcc 3.x
- openssl_includes=""
- if test "$OPENSSL_INCLUDE" != "-I/usr/include"
- then
- openssl_includes="$OPENSSL_INCLUDE"
- fi
- if test "$OPENSSL_KERBEROS_INCLUDE"
- then
- openssl_includes="$openssl_includes -I$OPENSSL_KERBEROS_INCLUDE"
- fi
- AC_DEFINE([HAVE_OPENSSL], [1], [OpenSSL])
-
- # 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.
- using_static=""
- case "$CLIENT_EXTRA_LDFLAGS $MYSQLD_EXTRA_LDFLAGS" in
- *-all-static*) using_static="yes" ;;
- esac
- if test "$using_static" = "yes"
- then
- echo "You can't use the --all-static link option when using openssl."
- exit 1
- fi
- NON_THREADED_CLIENT_LIBS="$NON_THREADED_CLIENT_LIBS $openssl_libs"
- else
- AC_MSG_RESULT(no)
- if test ! -z "$openssl_includes"
- then
- AC_MSG_ERROR(Can't have --with-openssl-includes without --with-openssl);
- fi
- if test ! -z "$openssl_libs"
- then
- AC_MSG_ERROR(Can't have --with-openssl-libs without --with-openssl);
- fi
- fi
- AC_SUBST(openssl_libs)
- AC_SUBST(openssl_includes)
-])
diff --git a/config/ac-macros/ssl.m4 b/config/ac-macros/ssl.m4
new file mode 100644
index 00000000000..14f3dcc9bc8
--- /dev/null
+++ b/config/ac-macros/ssl.m4
@@ -0,0 +1,200 @@
+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" ])
+])
diff --git a/config/ac-macros/yassl.m4 b/config/ac-macros/yassl.m4
deleted file mode 100644
index f6eee32ff84..00000000000
--- a/config/ac-macros/yassl.m4
+++ /dev/null
@@ -1,45 +0,0 @@
-AC_DEFUN([MYSQL_CHECK_YASSL], [
- AC_MSG_CHECKING(for yaSSL)
- AC_ARG_WITH([yassl], [ --with-yassl Include the yaSSL support],,)
-
- if test "$with_yassl" = "yes"
- then
- if test "$openssl" != "no"
- then
- AC_MSG_ERROR([Cannot configure MySQL to use yaSSL and OpenSSL simultaneously.])
- fi
- AC_MSG_RESULT([using 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)
- yassl_dir="yassl"
- yassl_libs="-L\$(top_srcdir)/extra/yassl/src -lyassl -L\$(top_srcdir)/extra/yassl/taocrypt/src -ltaocrypt"
- yassl_includes="-I\$(top_srcdir)/extra/yassl/include"
- AC_DEFINE([HAVE_OPENSSL], [1], [Defined by configure. Using yaSSL for OpenSSL emulation.])
- AC_DEFINE([HAVE_YASSL], [1], [Defined by configure. Using yaSSL for OpenSSL emulation.])
- # 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)
- else
- yassl_dir=""
- AC_MSG_RESULT(no)
- fi
- AC_SUBST(yassl_libs)
- AC_SUBST(yassl_includes)
- AC_SUBST(yassl_dir)
- AM_CONDITIONAL([HAVE_YASSL], [ test "$with_yassl" = "yes" ])
-])
diff --git a/config/ac-macros/zlib.m4 b/config/ac-macros/zlib.m4
index 713e7072c6f..17b951d4723 100644
--- a/config/ac-macros/zlib.m4
+++ b/config/ac-macros/zlib.m4
@@ -89,10 +89,11 @@ case $SYSTEM_TYPE in
fi
;;
*)
- # Just to be safe, we test for ".so" anyway
- eval shrexts=\"$shrext_cmds\"
- if test \( -f "$mysql_zlib_dir/lib/libz.a" -o -f "$mysql_zlib_dir/lib/libz.so" -o \
- -f "$mysql_zlib_dir/lib/libz$shrext" \) \
+ # Test for libz using all known library file endings
+ if test \( -f "$mysql_zlib_dir/lib/libz.a" -o \
+ -f "$mysql_zlib_dir/lib/libz.so" -o \
+ -f "$mysql_zlib_dir/lib/libz.sl" -o \
+ -f "$mysql_zlib_dir/lib/libz.dylib" \) \
-a -f "$mysql_zlib_dir/include/zlib.h"; then
ZLIB_INCLUDES="-I$mysql_zlib_dir/include"
ZLIB_LIBS="-L$mysql_zlib_dir/lib -lz"