diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 3013 |
1 files changed, 0 insertions, 3013 deletions
diff --git a/configure.in b/configure.in deleted file mode 100644 index 2d67f34b4bb..00000000000 --- a/configure.in +++ /dev/null @@ -1,3013 +0,0 @@ -dnl -*- ksh -*- -dnl Process this file with autoconf to produce a configure script. - -# Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -# Minimum Autoconf version required. -AC_PREREQ(2.59) - -dnl Various people throughout the community may parse configure.in to -dnl get the MySQL version from the source branch. If the formatting -dnl of this line is going to be changed, please announce the change to -dnl internals@lists.mysql.com in advance of pushing the change. -dnl -dnl When changing the major version number please also check the switch -dnl statement in mysqlbinlog::check_master_version(). You may also need -dnl to update version.c in ndb. -AC_INIT([MySQL Server], [5.5.8], [], [mysql]) - -AC_CONFIG_SRCDIR([sql/mysqld.cc]) -AC_CANONICAL_SYSTEM -# USTAR format gives us the possibility to store longer path names in -# TAR files, the path name is split into two parts, a 155 chacater -# first part and a 100 character second part. -AM_INIT_AUTOMAKE([1.9 tar-ustar]) -AC_PROG_LIBTOOL - -AM_CONFIG_HEADER([include/config.h]) - -# Request support for automake silent-rules if available. -# Default to verbose output. One can use the configure-time -# option --enable-silent-rules or make V=0 to activate -# silent rules. -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])]) - -PROTOCOL_VERSION=10 -DOT_FRM_VERSION=6 -# See the libtool docs for information on how to do shared lib versions. -SHARED_LIB_MAJOR_VERSION=16 -SHARED_LIB_VERSION=$SHARED_LIB_MAJOR_VERSION:0:0 -NDB_SHARED_LIB_MAJOR_VERSION=3 -NDB_SHARED_LIB_VERSION=$NDB_SHARED_LIB_MAJOR_VERSION:0:0 - -# Set all version vars based on $VERSION. How do we do this more elegant ? -# Remember that regexps needs to quote [ and ] since this is run through m4 -# We take some made up examples -# -# VERSION 5.1.40sp1-alpha 5.0.34a 5.5.1-m2 -# MYSQL_U_SCORE_VERSION 5.1.40sp1_alpha 5.0.34a 5.5.1_m2 -# MYSQL_NO_DASH_VERSION 5.1.40sp1 5.0.34a 5.5.1 -# MYSQL_NUMERIC_VERSION 5.1.40 5.0.34 5.5.1 -# MYSQL_BASE_VERSION 5.1 5.0 5.5 -# MYSQL_VERSION_ID 50140 50034 50501 -# -MYSQL_U_SCORE_VERSION=`echo $VERSION | sed -e "s|-|_|"` -MYSQL_NO_DASH_VERSION=`echo $VERSION | sed -e "s|-.*$||"` -MYSQL_NUMERIC_VERSION=`echo $MYSQL_NO_DASH_VERSION | sed -e "s|[[a-z]][[a-z0-9]]*$||"` -MYSQL_BASE_VERSION=`echo $MYSQL_NUMERIC_VERSION | sed -e "s|\.[[^.]]*$||"` -MYSQL_VERSION_ID=`echo $MYSQL_NUMERIC_VERSION | \ - awk -F. '{printf "%d%0.2d%0.2d", $1, $2, $3}'` -MYSQL_COPYRIGHT_YEAR=`date '+%Y'` - -# Add previous major version for debian package upgrade path -MYSQL_PREVIOUS_BASE_VERSION=5.0 - -# The port should be constant for a LONG time -MYSQL_TCP_PORT_DEFAULT=3306 -MYSQL_UNIX_ADDR_DEFAULT="/tmp/mysql.sock" - -dnl Include m4 -sinclude(config/ac-macros/maintainer.m4) -sinclude(config/ac-macros/alloca.m4) -sinclude(config/ac-macros/check_cpu.m4) -sinclude(config/ac-macros/character_sets.m4) -sinclude(config/ac-macros/compiler_flag.m4) -sinclude(config/ac-macros/plugins.m4) -sinclude(config/ac-macros/dtrace.m4) -sinclude(config/ac-macros/large_file.m4) -sinclude(config/ac-macros/misc.m4) -sinclude(config/ac-macros/readline.m4) -sinclude(config/ac-macros/ssl.m4) -sinclude(config/ac-macros/zlib.m4) - -# Remember to add a directory sql/share/LANGUAGE -AVAILABLE_LANGUAGES="\ -czech danish dutch english estonian french german greek hungarian \ -italian japanese korean norwegian norwegian-ny polish portuguese \ -romanian russian serbian slovak spanish swedish ukrainian" - -##### -##### - -AC_SUBST(MYSQL_U_SCORE_VERSION) -AC_SUBST(MYSQL_NO_DASH_VERSION) -AC_SUBST(MYSQL_BASE_VERSION) -AC_SUBST(MYSQL_VERSION_ID) -AC_SUBST(MYSQL_PREVIOUS_BASE_VERSION) -AC_SUBST(MYSQL_COPYRIGHT_YEAR) -AC_SUBST(PROTOCOL_VERSION) -AC_DEFINE_UNQUOTED([PROTOCOL_VERSION], [$PROTOCOL_VERSION], - [mysql client protocol version]) -AC_SUBST(DOT_FRM_VERSION) -AC_DEFINE_UNQUOTED([DOT_FRM_VERSION], [$DOT_FRM_VERSION], - [Version of .frm files]) -AC_SUBST(SHARED_LIB_MAJOR_VERSION) -AC_SUBST(SHARED_LIB_VERSION) -AC_SUBST(AVAILABLE_LANGUAGES) - -# Check whether a debug mode should be enabled. -AC_ARG_WITH([debug], - AS_HELP_STRING([--with-debug@<:@=full@:>@], - [Enable various amounts of debugging support (full adds a slow memory checker).]), - [with_debug=$withval], - [with_debug=no]) - -# Whether the maintainer mode should be enabled. -MY_MAINTAINER_MODE - -# Canonicalize the configuration name. - -# Check whether --with-system-type or --without-system-type was given. -AC_ARG_WITH(system-type, - [ --with-system-type Set the system type, like "sun-solaris10"], - [SYSTEM_TYPE="$withval"], - [SYSTEM_TYPE="$host_vendor-$host_os"]) -AC_ARG_WITH(machine-type, - [ --with-machine-type Set the machine type, like "powerpc"], - [MACHINE_TYPE="$withval"], - [MACHINE_TYPE="$host_cpu"]) -AC_SUBST(SYSTEM_TYPE) -AC_DEFINE_UNQUOTED([SYSTEM_TYPE], ["$SYSTEM_TYPE"], - [Name of system, eg sun-solaris]) -AC_SUBST(MACHINE_TYPE) -AC_DEFINE_UNQUOTED([MACHINE_TYPE], ["$MACHINE_TYPE"], - [Machine type name, eg sparc]) - -# Detect intel x86 like processor -BASE_MACHINE_TYPE=$MACHINE_TYPE -case $MACHINE_TYPE in - i?86) BASE_MACHINE_TYPE=i386 ;; -esac - -# Save some variables and the command line options for mysqlbug -SAVE_CC="$CC" -SAVE_CXX="$CXX" -SAVE_ASFLAGS="$ASFLAGS" -SAVE_CFLAGS="$CFLAGS" -SAVE_CXXFLAGS="$CXXFLAGS" -SAVE_LDFLAGS="$LDFLAGS" -SAVE_CXXLDFLAGS="$CXXLDFLAGS" -CONF_COMMAND="$0 $ac_configure_args" -AC_SUBST(CONF_COMMAND) -AC_SUBST(SAVE_CC) -AC_SUBST(SAVE_CXX) -AC_SUBST(SAVE_ASFLAGS) -AC_SUBST(SAVE_CFLAGS) -AC_SUBST(SAVE_CXXFLAGS) -AC_SUBST(SAVE_LDFLAGS) -AC_SUBST(SAVE_CXXLDFLAGS) -AC_SUBST(CXXLDFLAGS) - -#AC_ARG_PROGRAM # Automaticly invoked by AM_INIT_AUTOMAKE - -AM_SANITY_CHECK -# This is needed is SUBDIRS is set -AC_PROG_MAKE_SET - -############################################################################## -# The below section needs to be done before AC_PROG_CC -############################################################################## - -# Hack for OS X/Darwin and Metrowerks CodeWarrior -AC_ARG_WITH(darwin-mwcc, -[ --with-darwin-mwcc Use Metrowerks CodeWarrior wrappers on OS X/Darwin],[ - if [ "with_darwin_mwcc" = yes ] ; then - builddir=`pwd` - ccwrapper="$builddir/support-files/MacOSX/mwcc-wrapper" - arwrapper="$builddir/support-files/MacOSX/mwar-wrapper" - CC="$ccwrapper" - CXX="$ccwrapper" - LD="$ccwrapper" - AR="$arwrapper" - RANLIB=: - export CC CXX LD AR RANLIB - AC_SUBST(AR) - AC_SUBST(RANLIB) - fi -]) - -AM_CONDITIONAL(DARWIN_MWCC, test x$with_darwin_mwcc = xyes) - -if test "x${CFLAGS-}" = x ; then - cflags_is_set=no -else - cflags_is_set=yes -fi - -if test "x${CPPFLAGS-}" = x ; then - cppflags_is_set=no -else - cppflags_is_set=yes -fi - -if test "x${LDFLAGS-}" = x ; then - ldflags_is_set=no -else - ldflags_is_set=yes -fi - -################ End of section to be done before AC_PROG_CC ################# - -# The following hack should ensure that configure doesn't add optimizing -# or debugging flags to CFLAGS or CXXFLAGS -# C_EXTRA_FLAGS are flags that are automaticly added to both -# CFLAGS and CXXFLAGS -CFLAGS="$CFLAGS $C_EXTRA_FLAGS " -CXXFLAGS="$CXXFLAGS $C_EXTRA_FLAGS " - -dnl Checks for programs. -AC_PROG_AWK -AC_PROG_CC -AC_PROG_CXX -AC_PROG_CPP - -# Print version of CC and CXX compiler (if they support --version) -CC_VERSION=`$CC --version | sed 1q` -if test $? -eq "0" -then - AC_MSG_CHECKING("C Compiler version") - AC_MSG_RESULT("$CC $CC_VERSION") -else -CC_VERSION="" -fi -AC_SUBST(CC_VERSION) -MYSQL_CHECK_CXX_VERSION - -# Fix for sgi gcc / sgiCC which tries to emulate gcc -if test "$CC" = "sgicc" -then - ac_cv_prog_gcc="no" -fi -if test "$CXX" = "sgi++" -then - GXX="no" -fi - -if test "$ac_cv_prog_gcc" = "yes" -then - AS="$CC -c" - AC_SUBST(AS) -else - AC_PATH_PROG(AS, as, as) -fi - -# Still need ranlib for readline; local static use only so no libtool. -AC_PROG_RANLIB -# We use libtool -#AC_LIBTOOL_WIN32_DLL -AC_PROG_LIBTOOL - -# Ensure that we have --preserve-dup-deps defines, otherwise we get link -# problems of 'mysql' with CXX=g++ -LIBTOOL="$LIBTOOL --preserve-dup-deps" -AC_SUBST(LIBTOOL)dnl - -AC_SUBST(NM)dnl - -# NM= "$NM -X64" -#archive_expsym_cmds= `echo "$archive_expsym_cmds" | sed -e '/"$(CC)"//'` -#archive_expsym_cmds= "$CC -q64 $archive_expsym_cmds" -# CXXFLAGS=`echo "$CXXFLAGS -Werror" | sed -e 's/-fbranch-probabilities//; s/-Wall//; s/-ansi//; s/-pedantic//; s/-Wcheck//'` - -#AC_LIBTOOL_DLOPEN AC_LIBTOOL_WIN32_DLL AC_DISABLE_FAST_INSTALL AC_DISABLE_SHARED AC_DISABLE_STATIC - -# AC_PROG_INSTALL -AC_PROG_INSTALL -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' - -# Not critical since the generated file is distributed -AC_CHECK_PROGS(YACC, ['bison -y -p MYSQL']) -AC_CHECK_PROG(PDFMANUAL, pdftex, manual.pdf) -AC_CHECK_PROG(DVIS, tex, manual.dvi) - -AC_PATH_PROG(uname_prog, uname, no) - -# We should go through this and put all the explictly system dependent -# stuff in one place -AC_MSG_CHECKING(operating system) -AC_CACHE_VAL(mysql_cv_sys_os, -[ -if test "$uname_prog" != "no"; then - mysql_cv_sys_os="`uname`" -else - mysql_cv_sys_os="Not Solaris" -fi -]) -AC_MSG_RESULT($mysql_cv_sys_os) - -# This should be rewritten to use $target_os -case "$target_os" in - sco3.2v5*) - CFLAGS="$CFLAGS -DSCO" - CXXFLAGS="$CXXFLAGS -DSCO" - LD='$(CC) $(CFLAGS)' - case "$CFLAGS" in - *-belf*) - AC_SYS_COMPILER_FLAG(-belf,sco_belf_option,CFLAGS,[],[ - case "$LDFLAGS" in - *-belf*) ;; - *) AC_MSG_WARN([Adding -belf option to ldflags.]) - LDFLAGS="$LDFLAGS -belf" - ;; - esac - ]) - ;; - *) - AC_SYS_COMPILER_FLAG(-belf,sco_belf_option,CFLAGS,[],[ - case "$LDFLAGS" in - *-belf*) ;; - *) - AC_MSG_WARN([Adding -belf option to ldflags.]) - LDFLAGS="$LDFLAGS -belf" - ;; - esac - ]) - ;; - esac - ;; - sysv5UnixWare* | sysv5OpenUNIX8*) - if test "$GCC" != "yes"; then - # Use the built-in alloca() - CFLAGS="$CFLAGS -Kalloca" - fi - CXXFLAGS="$CXXFLAGS -DNO_CPLUSPLUS_ALLOCA" - ;; - sysv5SCO_SV6.0.0*) - if test "$GCC" != "yes"; then - # Use the built-in alloca() - CFLAGS="$CFLAGS -Kalloca" - CXXFLAGS="$CFLAGS -Kalloca" - # Use no_implicit for templates - CXXFLAGS="$CXXFLAGS -Tno_implicit" - AC_DEFINE([HAVE_EXPLICIT_TEMPLATE_INSTANTIATION], - [1], [Defined by configure. Use explicit template instantiation.]) - fi - ;; -esac - -# The following is required for portable results of floating point calculations -# on PowerPC. The same must also be done for IA-64, but this options is missing -# in the IA-64 gcc backend. - -if test "$GCC" = "yes" -then - case "$host_cpu" in - *ppc* | *powerpc*) - CFLAGS="$CFLAGS -mno-fused-madd" - CXXFLAGS="$CXXFLAGS -mno-fused-madd" - ;; - esac -fi - -AC_SUBST(CC) -AC_SUBST(CFLAGS) -AC_SUBST(CXX) -AC_SUBST(CXXFLAGS) -AC_SUBST(ASFLAGS) -AC_SUBST(LD) -AC_SUBST(INSTALL_SCRIPT) - -export CC CXX CFLAGS LD LDFLAGS AR ARFLAGS - -if test "$GCC" = "yes" -then - # mysqld requires -fno-implicit-templates. - # Disable exceptions as they seams to create problems with gcc and threads. - # mysqld doesn't use run-time-type-checking, so we disable it. - # We should use -Wno-invalid-offsetof flag to disable some warnings from gcc - # regarding offset() usage in C++ which are done in a safe manner in the - # server - CXXFLAGS="$CXXFLAGS -fno-implicit-templates -fno-exceptions -fno-rtti" - AC_DEFINE([HAVE_EXPLICIT_TEMPLATE_INSTANTIATION], - [1], [Defined by configure. Use explicit template instantiation.]) -fi - -MYSQL_PROG_AR - -# libmysqlclient versioning when linked with GNU ld. -if $LD --version 2>/dev/null| grep GNU >/dev/null 2>&1; then - LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_builddir)/libmysql/libmysql.ver" - AC_CONFIG_FILES(libmysql/libmysql.ver) -fi -AC_SUBST(LD_VERSION_SCRIPT) - - -# Avoid bug in fcntl on some versions of linux -AC_MSG_CHECKING([if we should use 'skip-external-locking' as default for $target_os]) -# Any variation of Linux -if expr "$target_os" : "[[Ll]]inux.*" > /dev/null -then - MYSQLD_DEFAULT_SWITCHES="--skip-external-locking" - TARGET_LINUX="true" - AC_MSG_RESULT([yes]) - AC_DEFINE([TARGET_OS_LINUX], [1], [Whether we build for Linux]) -else - MYSQLD_DEFAULT_SWITCHES="" - TARGET_LINUX="false" - AC_MSG_RESULT([no]) -fi -AC_SUBST(MYSQLD_DEFAULT_SWITCHES) -AC_SUBST(TARGET_LINUX) - -dnl Find paths to some shell programs -AC_PATH_PROG(LN, ln, ln) -# This must be able to take a -f flag like normal unix ln. -AC_PATH_PROG(LN_CP_F, ln, ln) -# If ln -f does not exists use -s (AFS systems) -if test -n "$LN_CP_F"; then - LN_CP_F="$LN_CP_F -s" -fi - -AC_PATH_PROG(MV, mv, mv) -AC_PATH_PROG(RM, rm, rm) -AC_PATH_PROG(CP, cp, cp) -AC_PATH_PROG(SED, sed, sed) -AC_PATH_PROG(CMP, cmp, cmp) -AC_PATH_PROG(CHMOD, chmod, chmod) -AC_PATH_PROG(HOSTNAME, hostname, hostname) -AC_PATH_PROG(DIFF, diff, diff) -# Check for a GNU tar named 'gtar', or 'gnutar' (MacOS X) and -# fall back to 'tar' otherwise and hope that it's a GNU tar as well -AC_CHECK_PROGS(TAR, gnutar gtar tar) - -dnl We use a path for perl so the script startup works -dnl We make sure to use perl, not perl5, in hopes that the RPMs will -dnl not depend on the perl5 binary being installed (probably a bug in RPM) -AC_PATH_PROG(PERL, perl, no) -if test "$PERL" != "no" && $PERL -e 'require 5' > /dev/null 2>&1 -then - PERL5=$PERL -else - AC_PATH_PROG(PERL5, perl5, no) - if test "$PERL5" != no - then - PERL=$PERL5 - ac_cv_path_PERL=$ac_cv_path_PERL5 - fi -fi - -AC_SUBST(HOSTNAME) -AC_SUBST(PERL) -AC_SUBST(PERL5) - -# Enable the abi_check rule only if gcc is available - -if test "$GCC" != "yes" || expr "$CC" : ".*icc.*" -then - ABI_CHECK="" -else - ABI_CHECK="abi_check" -fi - -AC_SUBST(ABI_CHECK) - -# Look for PS usage. We use double dollar-signs in FIND_PROC because this -# value is written to a makefile, which interprets away one level of -# dollar-signs. So, interpretation stages are m4 and then shell in autoconf, -# then Make, then shell. The autoconf substitution uses single quotes, so -# no unprotected single quotes should appear in the expression. -AC_PATH_PROG(PS, ps, ps) -AC_MSG_CHECKING("how to check if pid exists") -PS=$ac_cv_path_PS -# Linux style -if $PS wwwp $$ 2> /dev/null | grep -- "$0" > /dev/null -then - FIND_PROC="$PS wwwp \$\$PID | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" > /dev/null" -# Solaris -elif $PS -fp $$ 2> /dev/null | grep -- $0 > /dev/null -then - FIND_PROC="$PS -p \$\$PID | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" > /dev/null" -# BSD style -elif $PS -uaxww 2> /dev/null | grep -- $0 > /dev/null -then - FIND_PROC="$PS -uaxww | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" | grep \" \$\$PID \" > /dev/null" -# SysV style -elif $PS -ef 2> /dev/null | grep -- $0 > /dev/null -then - FIND_PROC="$PS -ef | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" | grep \" \$\$PID \" > /dev/null" -# Do anybody use this? -elif $PS $$ 2> /dev/null | grep -- $0 > /dev/null -then - FIND_PROC="$PS \$\$PID | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" > /dev/null" -else - case $SYSTEM_TYPE in - *freebsd*|*dragonfly*) - FIND_PROC="$PS p \$\$PID | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" > /dev/null" - ;; - *darwin*) - FIND_PROC="$PS -uaxww | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" | grep \" \$\$PID \" > /dev/null" - ;; - *cygwin*) - FIND_PROC="$PS -e | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" | grep \" \$\$PID \" > /dev/null" - ;; - *) - AC_MSG_ERROR([Could not find the right ps and/or grep switches. Which OS is this? See the Installation chapter in the Reference Manual.]) - esac -fi -AC_SUBST(FIND_PROC) -AC_MSG_RESULT("$FIND_PROC") - -# Check if a pid is valid -AC_PATH_PROG(KILL, kill, kill) -AC_MSG_CHECKING("for kill switches") -if $ac_cv_path_KILL -0 $$ -then - CHECK_PID="$ac_cv_path_KILL -0 \$\$PID > /dev/null 2> /dev/null" -elif kill -s 0 $$ -then - CHECK_PID="$ac_cv_path_KILL -s 0 \$\$PID > /dev/null 2> /dev/null" -else - AC_MSG_WARN([kill -0 to check for pid seems to fail]) - CHECK_PID="$ac_cv_path_KILL -s SIGCONT \$\$PID > /dev/null 2> /dev/null" -fi -AC_SUBST(CHECK_PID) -AC_MSG_RESULT("$CHECK_PID") - -# We need an ANSI C compiler -AM_PROG_CC_STDC - -# We need an assembler, too -AM_PROG_AS -CCASFLAGS="$CCASFLAGS $ASFLAGS" - -# Check if we need noexec stack for assembler -AC_CHECK_NOEXECSTACK - -if test "$am_cv_prog_cc_stdc" = "no" -then - AC_MSG_ERROR([MySQL requires an ANSI C compiler (and a C++ compiler). Try gcc. See the Installation chapter in the Reference Manual.]) -fi - -NOINST_LDFLAGS="-static" - -static_nss="" -STATIC_NSS_FLAGS="" -OTHER_LIBC_LIB="" -AC_ARG_WITH(other-libc, - [ --with-other-libc=DIR Link against libc and other standard libraries - installed in the specified non-standard location - overriding default. Originally added to be able to - link against glibc 2.2 without making the user - upgrade the standard libc installation.], - [ - other_libc_include="$withval/include" - other_libc_lib="$withval/lib" - with_other_libc="yes" - enable_shared="no" - all_is_static="yes" - CFLAGS="$CFLAGS -I$other_libc_include" - # There seems to be a feature in gcc that treats system and libc headers - # silently when they violatate ANSI C++ standard, but it is strict otherwise - # since gcc cannot now recognize that our headers are libc, we work around - # by telling it to be permissive. Note that this option only works with - # new versions of gcc (2.95.x and above) - CXXFLAGS="$CXXFLAGS -fpermissive -I$other_libc_include" - if test -f "$other_libc_lib/libnss_files.a" - then - # libc has been compiled with --enable-static-nss - # we need special flags, but we will have to add those later - STATIC_NSS_FLAGS="-lc -lnss_files -lnss_dns -lresolv" - STATIC_NSS_FLAGS="$STATIC_NSS_FLAGS $STATIC_NSS_FLAGS" - OTHER_LIBC_LIB="-static -L$other_libc_lib" - static_nss=1 - else - # this is a dirty hack. We if we detect static nss glibc in the special - # location, we do not re-direct the linker to get libraries from there - # during check. The reason is that if we did, we would have to find a - # way to append the special static nss flags to LIBS every time we do - # any check - this is definitely feasible, but not worthwhile the risk - # of breaking other things. So for our purposes it would be sufficient - # to assume that whoever is using static NSS knows what he is doing and - # has sensible libraries in the regular location - LDFLAGS="$LDFLAGS -static -L$other_libc_lib " - fi - - # When linking against custom libc installed separately, we want to force - # all binary builds to be static, including the build done by configure - # itself to test for system features. - with_mysqld_ldflags="-all-static" - with_client_ldflags="-all-static" - NOINST_LDFLAGS="-all-static" - ], - [ - other_libc_include= - other_libc_lib= - with_other_libc="no" - ] -) -AC_SUBST(NOINST_LDFLAGS) - -# -# Check if we are using Linux and a glibc compiled with static nss -# (this is true on the MySQL build machines to avoid NSS problems) -# -AC_CHECK_TOOL([NM], [nm]) - -if test "$TARGET_LINUX" = "true" -a "$static_nss" = "" -then - tmp=`$NM ${other_libc_lib:-/usr/lib*}/libc.a | grep _nss_files_getaliasent_r1` - if test -n "$tmp" - then - STATIC_NSS_FLAGS="-lc -lnss_files -lnss_dns -lresolv" - STATIC_NSS_FLAGS="$STATIC_NSS_FLAGS $STATIC_NSS_FLAGS" - static_nss=1 - fi -fi - -AC_ARG_WITH(server-suffix, - [ --with-server-suffix Append value to the version string.], - [ MYSQL_SERVER_SUFFIX=`echo "$withval" | sed -e 's/^\(...................................\)..*$/\1/'` ], - [ MYSQL_SERVER_SUFFIX= ] - ) -AC_SUBST(MYSQL_SERVER_SUFFIX) - -# Set flags if we want to force to use pthreads -AC_ARG_WITH(pthread, - [ --with-pthread Force use of pthread library.], - [ with_pthread=$withval ], - [ with_pthread=no ] - ) - -# Force use of thread libs LIBS -AC_ARG_WITH(named-thread-libs, - [ --with-named-thread-libs=ARG - Use specified thread libraries instead of - those automatically found by configure.], - [ with_named_thread=$withval ], - [ with_named_thread=no ] - ) - -# Force use of a curses libs -AC_ARG_WITH(named-curses-libs, - [ --with-named-curses-libs=ARG - Use specified curses libraries instead of - those automatically found by configure.], - [ with_named_curses=$withval ], - [ with_named_curses=no ] - ) - -# Make thread safe client -AC_ARG_ENABLE(thread-safe-client, - [ --disable-thread-safe-client - Compile the client without threads.], - [ THREAD_SAFE_CLIENT=$enableval ], - [ THREAD_SAFE_CLIENT=yes ] - ) - -# compile with strings functions in assembler -AC_ARG_ENABLE(assembler, - [ --enable-assembler Use assembler versions of some string - functions if available.], - [ ENABLE_ASSEMBLER=$enableval ], - [ ENABLE_ASSEMBLER=no ] - ) - -AC_MSG_CHECKING(if we should use assembler functions) -# For now we only support assembler on i386 and sparc systems -AM_CONDITIONAL(ASSEMBLER_x86, test "$ENABLE_ASSEMBLER" = "yes" -a "$BASE_MACHINE_TYPE" = "i386" && $AS strings/strings-x86.s -o checkassembler >/dev/null 2>&1 && test -f checkassembler && (rm -f checkassembler; exit 0;)) -AM_CONDITIONAL(ASSEMBLER_sparc64, test "$ENABLE_ASSEMBLER" = "yes" -a "$BASE_MACHINE_TYPE" = "sparcv9") -AM_CONDITIONAL(ASSEMBLER, test "$ASSEMBLER_x86_TRUE" = "") - -if test "$ASSEMBLER_TRUE" = "" -then - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi - -# Add query profiler -AC_MSG_CHECKING(if SHOW PROFILE should be enabled.) -AC_ARG_ENABLE(profiling, - AS_HELP_STRING([--enable-profiling], [Enable profiling of query lifetime.]), - [ ENABLED_PROFILING=$enableval ], - [ ENABLED_PROFILING=no ]) - -AC_DEFINE([ENABLED_PROFILING], [1], [If SHOW PROFILE should be enabled]) -if test "$ENABLED_PROFILING" = "yes" -then - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi - -# Use this to set the place used for unix socket used to local communication. -AC_ARG_WITH(unix-socket-path, - [ --with-unix-socket-path=SOCKET - Where to put the unix-domain socket. SOCKET must be - an absolute file name.], - [ MYSQL_UNIX_ADDR=$withval ], - [ MYSQL_UNIX_ADDR=$MYSQL_UNIX_ADDR_DEFAULT ] - ) -AC_SUBST(MYSQL_UNIX_ADDR) - -AC_ARG_WITH(tcp-port, - [ --with-tcp-port=port-number - Which port to use for MySQL services (default 3306)], - [ MYSQL_TCP_PORT=$withval ], - [ MYSQL_TCP_PORT=$MYSQL_TCP_PORT_DEFAULT - # if we actually defaulted (as opposed to the pathological case of - # --with-tcp-port=<MYSQL_TCP_PORT_DEFAULT> which might in theory - # happen if whole batch of servers was built from a script), set - # the default to zero to indicate that; we don't lose information - # that way, because 0 obviously indicates that we can get the - # default value from MYSQL_TCP_PORT. this seems really evil, but - # testing for MYSQL_TCP_PORT==MYSQL_TCP_PORT_DEFAULT would make a - # a port of MYSQL_TCP_PORT_DEFAULT magic even if the builder did not - # intend it to mean "use the default, in fact, look up a good default - # from /etc/services if you can", but really, really meant 3306 when - # they passed in 3306. When they pass in a specific value, let them - # have it; don't second guess user and think we know better, this will - # just make people cross. this makes the the logic work like this - # (which is complicated enough): - # - # - if a port was set during build, use that as a default. - # - # - otherwise, try to look up a port in /etc/services; if that fails, - # use MYSQL_TCP_PORT_DEFAULT (at the time of this writing 3306) - # - # - allow the MYSQL_TCP_PORT environment variable to override that. - # - # - allow command-line parameters to override all of the above. - # - # the top-most MYSQL_TCP_PORT_DEFAULT is read from win/configure.js, - # so don't mess with that. - MYSQL_TCP_PORT_DEFAULT=0 ] - ) -AC_SUBST(MYSQL_TCP_PORT) -# We might want to document the assigned port in the manual. -AC_SUBST(MYSQL_TCP_PORT_DEFAULT) - -# Use this to set the place used for unix socket used to local communication. -AC_ARG_WITH(mysqld-user, - [ --with-mysqld-user=username - What user the mysqld daemon shall be run as.], - [ MYSQLD_USER=$withval ], - [ MYSQLD_USER=mysql ] - ) -AC_SUBST(MYSQLD_USER) - -# If we should allow LOAD DATA LOCAL -AC_MSG_CHECKING(If we should should enable LOAD DATA LOCAL by default) -AC_ARG_ENABLE(local-infile, - [ --enable-local-infile Enable LOAD DATA LOCAL INFILE (default: disabled)], - [ ENABLED_LOCAL_INFILE=$enableval ], - [ ENABLED_LOCAL_INFILE=no ] - ) -if test "$ENABLED_LOCAL_INFILE" = "yes" -then - AC_MSG_RESULT([yes]) - AC_DEFINE([ENABLED_LOCAL_INFILE], [1], - [If LOAD DATA LOCAL INFILE should be enabled by default]) -else - AC_MSG_RESULT([no]) -fi - -# If we should allow init-file, skip-grant-table and bootstrap options -AC_MSG_CHECKING(If we should should enable init-file, skip-grant-table options and bootstrap) -AC_ARG_ENABLE(grant-options, - [ --disable-grant-options Disables the use of --init-file, --skip-grant-tables and --bootstrap options], - [ mysql_grant_options_enabled=$enableval ], - [ mysql_grant_options_enabled=yes ] - ) -if test "$mysql_grant_options_enabled" = "yes" -then - AC_MSG_RESULT([yes]) -else - AC_DEFINE([DISABLE_GRANT_OPTIONS], [1], - [Disables the use of --init-file, --skip-grant-tables and --bootstrap options]) - AC_MSG_RESULT([no]) -fi - -MYSQL_SYS_LARGEFILE - -# Types that must be checked AFTER large file support is checked -AC_TYPE_SIZE_T - -#-------------------------------------------------------------------- -# Check for system header files -#-------------------------------------------------------------------- - -AC_HEADER_DIRENT -AC_HEADER_STDC -AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS(fcntl.h fenv.h float.h floatingpoint.h fpu_control.h \ - ieeefp.h limits.h memory.h pwd.h select.h poll.h \ - stdlib.h stddef.h \ - strings.h string.h synch.h sys/mman.h sys/socket.h netinet/in.h arpa/inet.h \ - sys/timeb.h sys/types.h sys/un.h sys/vadvise.h sys/wait.h term.h \ - unistd.h utime.h sys/utime.h termio.h termios.h sched.h crypt.h alloca.h \ - sys/ioctl.h malloc.h sys/malloc.h sys/ipc.h sys/shm.h linux/config.h \ - sys/prctl.h sys/resource.h sys/param.h port.h ieeefp.h \ - execinfo.h) - -AC_CHECK_HEADERS([xfs/xfs.h]) - -#-------------------------------------------------------------------- -# Check for system libraries. Adds the library to $LIBS -# and defines HAVE_LIBM etc -#-------------------------------------------------------------------- - -AC_CHECK_LIB(m, floor, [], AC_CHECK_LIB(m, __infinity)) - -AC_CHECK_LIB(nsl_r, gethostbyname_r, [], - AC_CHECK_LIB(nsl, gethostbyname_r)) -AC_CHECK_FUNC(gethostbyname_r) - -AC_SEARCH_LIBS(setsockopt, socket) -# This may get things to compile even if bind-8 is installed -AC_SEARCH_LIBS(bind, bind) -# Check if crypt() exists in libc or libcrypt, sets LIBS if needed -AC_SEARCH_LIBS(crypt, crypt, AC_DEFINE(HAVE_CRYPT, 1, [crypt])) -# See if we need a library for address lookup. -AC_SEARCH_LIBS(inet_aton, [socket nsl resolv]) - -# For the sched_yield() function on Solaris -AC_SEARCH_LIBS(sched_yield, posix4, - AC_DEFINE(HAVE_SCHED_YIELD, 1, [sched_yield])) - -MYSQL_CHECK_ZLIB_WITH_COMPRESS - -# For large pages support -if test "$TARGET_LINUX" = "true" -then - # For SHM_HUGETLB on Linux - AC_CHECK_DECLS(SHM_HUGETLB, - AC_DEFINE([HAVE_LARGE_PAGES], [1], - [Define if you have large pages support]) - AC_DEFINE([HAVE_LARGE_PAGE_OPTION], [1], - [Define if you have large page option]) - AC_DEFINE([HUGETLB_USE_PROC_MEMINFO], [1], - [Define if /proc/meminfo shows the huge page size (Linux only)]) - , , - [ -#include <sys/shm.h> - ] - ) -else -# For large pages support on Solaris -AC_CHECK_DECLS(MHA_MAPSIZE_VA, - AC_DEFINE([HAVE_SOLARIS_LARGE_PAGES], [1], - [Define to 1 if you have large pages support]) - AC_DEFINE([HAVE_LARGE_PAGE_OPTION], [1], - [Define if you have large page option]) - , , - [ -#include <sys/mman.h> - ] -) -fi - -dnl Use of ALARMs to wakeup on timeout on sockets -dnl -dnl This feature makes use of a mutex and is a scalability hog we -dnl try to avoid using. However we need support for SO_SNDTIMEO and -dnl SO_RCVTIMEO socket options for this to work. So we will check -dnl if this feature is supported by a simple AC_RUN_IFELSE macro. However -dnl on some OS's there is support for setting those variables but -dnl they are silently ignored. For those OS's we will not attempt -dnl o use SO_SNDTIMEO and SO_RCVTIMEO even if it is said to work. -dnl See Bug#29093 for the problem with SO_SND/RCVTIMEO on HP/UX. -dnl To use alarm is simple, simply avoid setting anything. - - -AC_CACHE_CHECK([whether SO_SNDTIMEO and SO_RCVTIMEO work], - [mysql_cv_socket_timeout], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ - #include <sys/types.h> - #include <sys/socket.h> - #include <sys/time.h> - ]],[[ - int fd = socket(AF_INET, SOCK_STREAM, 0); - struct timeval tv; - int ret= 0; - tv.tv_sec= 2; - tv.tv_usec= 0; - ret|= setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)); - ret|= setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); - return !!ret; - ]])], - [mysql_cv_socket_timeout=yes], - [mysql_cv_socket_timeout=no], - [mysql_cv_socket_timeout=no - AC_MSG_WARN([Socket timeout options disabled due to cross-compiling])]) - ]) - -use_alarm=yes - -if test "$mysql_cv_socket_timeout" = yes; then - case $SYSTEM_TYPE in - dnl We trust the result from the following systems - *solaris*) use_alarm=no ;; - *freebsd*) use_alarm=no ;; - *darwin*) use_alarm=no ;; - *) - dnl We trust the result from Linux also - if test "$TARGET_LINUX" = "true"; then - use_alarm=no - fi - dnl We trust no one else for the moment - dnl (Windows is hardcoded to not use alarms) - ;; - esac -fi - -AC_ARG_WITH(alarm, - AS_HELP_STRING([--with-alarm], [Use alarm to implement socket timeout.]), - [use_alarm=$withval], []) - -AC_MSG_CHECKING(whether to use alarms to implement socket timeout) -if test "$use_alarm" = no ; then - AC_DEFINE([NO_ALARM], [1], [No need to use alarm for socket timeout]) - AC_DEFINE([SIGNAL_WITH_VIO_CLOSE], [1], [Need to use vio close for kill connection]) -fi -AC_MSG_RESULT($use_alarm) - -#-------------------------------------------------------------------- -# Check for IPv6 support -#-------------------------------------------------------------------- - -AC_CHECK_HEADERS(netinet/in6.h) - -AC_CHECK_TYPES([struct sockaddr_in6, struct in6_addr], - [have_in6_types=yes], - [have_in6_types=no], - [[ - #ifdef WIN32 - #include <winsock2.h> - #else - #include <sys/types.h> - #include <netinet/in.h> - #include <sys/socket.h> - #endif - - #ifdef HAVE_NETINET_IN6_H - #include <netinet/in6.h> - #endif - ]]) - -AC_MSG_CHECKING([for IPv6 support]) - -AC_ARG_ENABLE(ipv6, - AS_HELP_STRING([--disable-ipv6], [Disable support for IPv6 networking]), - [disable_ipv6=yes], [disable_ipv6=no]) - -if test x"$disable_ipv6" = xyes -o x"$have_in6_types" = xno; then - AC_MSG_RESULT([no]) -else - AC_DEFINE([HAVE_IPV6], [1], [Define if IPv6 networking support is present]) - AC_MSG_RESULT([yes]) -fi - -#-------------------------------------------------------------------------- -# Check if struct sockaddr_in::sin_len is available -#-------------------------------------------------------------------------- - -AC_CACHE_CHECK( - [if sockaddr_in::sin_len is available], - mysql_cv_have_sockaddr_in_sin_len, - AC_TRY_COMPILE( - [ - #ifdef WIN32 - #include <winsock2.h> - #else - #include <sys/types.h> - #include <netinet/in.h> - #include <sys/socket.h> - #endif - ], - [unsigned int i = sizeof(((struct sockaddr_in *) 0)->sin_len)], - mysql_cv_have_sockaddr_in_sin_len=yes, - mysql_cv_have_sockaddr_in_sin_len=no)) - -if test "$mysql_cv_have_sockaddr_in_sin_len" = "yes"; then - AC_DEFINE( - [HAVE_SOCKADDR_IN_SIN_LEN], - [1], - [If sockaddr_in::sin_len is available]) -fi - -#-------------------------------------------------------------------------- -# Check if struct sockaddr_in6::sin6_len is available -#-------------------------------------------------------------------------- - -AC_CACHE_CHECK( - [if sockaddr_in6::sin6_len is available], - mysql_cv_have_sockaddr_in6_sin6_len, - AC_TRY_COMPILE( - [ - #ifdef WIN32 - #include <winsock2.h> - #else - #include <sys/types.h> - #include <netinet/in.h> - #include <sys/socket.h> - #endif - - #ifdef HAVE_NETINET_IN6_H - #include <netinet/in6.h> - #endif - ], - [unsigned int i = sizeof(((struct sockaddr_in6 *) 0)->sin6_len)], - mysql_cv_have_sockaddr_in6_sin6_len=yes, - mysql_cv_have_sockaddr_in6_sin6_len=no)) - -if test "$mysql_cv_have_sockaddr_in_sin6_len" = "yes"; then - AC_DEFINE( - [HAVE_SOCKADDR_IN6_SIN6_LEN], - [1], - [If sockaddr_in6::sin6_len is available]) -fi - -#-------------------------------------------------------------------- -# Check for TCP wrapper support -#-------------------------------------------------------------------- - -AC_ARG_WITH(libwrap, -[ --with-libwrap[=DIR] Compile in libwrap (tcp_wrappers) support],[ - case "$with_libwrap" in - no) : ;; - yes|*) - _cppflags=${CPPFLAGS} - _ldflags=${LDFLAGS} - - if test "$with_libwrap" != "yes"; then - CPPFLAGS="${CPPFLAGS} -I$with_libwrap/include" - LDFLAGS="${LDFLAGS} -L$with_libwrap/lib" - fi - - _libs=${LIBS} - AC_CHECK_HEADER(tcpd.h, - LIBS="-lwrap $LIBS" - AC_MSG_CHECKING(for TCP wrappers library -lwrap) - AC_TRY_LINK([#include <tcpd.h> -int allow_severity = 0; -int deny_severity = 0; - -struct request_info *req; -],[hosts_access (req)], - AC_MSG_RESULT(yes) - AC_DEFINE([LIBWRAP], [1], [Define if you have -lwrap]) - AC_DEFINE([HAVE_LIBWRAP], [1], [Define if have -lwrap]) - if test "$with_libwrap" != "yes"; then - WRAPLIBS="-L${with_libwrap}/lib" - fi - WRAPLIBS="${WRAPLIBS} -lwrap", - AC_MSG_RESULT(no) - CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}), - CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags}) - LDFLAGS=${_ldflags} LIBS=${_libs} - ;; - esac -]) -AC_SUBST(WRAPLIBS) - -# Check for gtty if termio.h doesn't exists -if test "$ac_cv_header_termio_h" = "no" -a "$ac_cv_header_termios_h" = "no" -then - AC_SEARCH_LIBS(gtty, compat) -fi - -# We make a special variable for non-threaded version of LIBS to avoid -# including thread libs into non-threaded version of MySQL client library. -# Later in this script LIBS will be augmented with a threads library. -NON_THREADED_LIBS="$LIBS" - -AC_CHECK_TYPES([int8, uint8, int16, uint16, int32, uint32, int64, uint64, - uchar, uint, ulong],[],[], [ -#include <sys/types.h> -]) -AC_CHECK_TYPES([fp_except], [], [], [ -#include <sys/types.h> -#include <ieeefp.h> -]) - -# -# Some system specific hacks -# - -MAX_C_OPTIMIZE="-O3" -MAX_CXX_OPTIMIZE="-O3" - -case $SYSTEM_TYPE in - *solaris2.7*) - # Solaris 2.7 has a broken /usr/include/widec.h - # Make a fixed copy in ./include - AC_MSG_WARN([Fixing broken include files for $SYSTEM_TYPE]) - echo " - Creating local copy of widec.h" - if test ! -d include - then - mkdir ./include - fi - builddir=`pwd` - sed -e "s|^#if[ ]*!defined(lint) && !defined(__lint)|#if !defined\(lint\) \&\& !defined\(__lint\) \&\& !defined\(getwc\)|" < /usr/include/widec.h > include/widec.h - CFLAGS="$CFLAGS -DHAVE_CURSES_H -I$builddir/include -DHAVE_RWLOCK_T" - CXXFLAGS="$CXXFLAGS -DHAVE_CURSES_H -I$builddir/include -DHAVE_RWLOCK_T" - ;; - *solaris2.8*) - # Solaris 2.8 has a broken /usr/include/widec.h - # Make a fixed copy in ./include - AC_MSG_WARN([Fixing broken include files for $SYSTEM_TYPE]) - echo " - Creating local copy of widec.h" - if test ! -d include - then - mkdir ./include - fi - builddir=`pwd` - sed -e "s|^#if[ ]*!defined(__lint)|#if !defined\(__lint\) \&\& !defined\(getwc\)|" < /usr/include/widec.h > include/widec.h - CFLAGS="$CFLAGS -DHAVE_CURSES_H -I$builddir/include -DHAVE_RWLOCK_T" - CXXFLAGS="$CXXFLAGS -DHAVE_CURSES_H -I$builddir/include -DHAVE_RWLOCK_T" - ;; - *solaris2.5.1*) - AC_MSG_WARN([Enabling getpass() workaround for Solaris 2.5.1]) - CFLAGS="$CFLAGS -DHAVE_BROKEN_GETPASS -DSOLARIS -DHAVE_RWLOCK_T"; - CXXFLAGS="$CXXFLAGS -DHAVE_RWLOCK_T -DSOLARIS" - ;; - *solaris*) - CFLAGS="$CFLAGS -DHAVE_RWLOCK_T" - CXXFLAGS="$CXXFLAGS -DHAVE_RWLOCK_T" - ;; - *SunOS*) - AC_MSG_WARN([Enabling getpass() workaround for SunOS]) - CFLAGS="$CFLAGS -DHAVE_BROKEN_GETPASS -DSOLARIS"; - ;; - *hpux10.20*) - AC_MSG_WARN([Enabling workarounds for hpux 10.20]) - CFLAGS="$CFLAGS -DHAVE_BROKEN_SNPRINTF -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX10 -DSIGNAL_WITH_VIO_CLOSE -DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT -DHAVE_POSIX1003_4a_MUTEX" - CXXFLAGS="$CXXFLAGS -DHAVE_BROKEN_SNPRINTF -D_INCLUDE_LONGLONG -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX10 -DSIGNAL_WITH_VIO_CLOSE -DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT -DHAVE_POSIX1003_4a_MUTEX" - if test "$with_named_thread" = "no" - then - AC_MSG_WARN([Using --with-named-thread=-lpthread]) - with_named_thread="-lcma" - fi - ;; - *hpux11.*) - AC_MSG_WARN([Enabling workarounds for hpux 11]) - CFLAGS="$CFLAGS -DHPUX11 -DSNPRINTF_RETURN_TRUNC -DHAVE_BROKEN_PREAD -DHAVE_BROKEN_GETPASS -DNO_FCNTL_NONBLOCK -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT" - CXXFLAGS="$CXXFLAGS -DHPUX11 -DSNPRINTF_RETURN_TRUNC -DHAVE_BROKEN_PREAD -D_INCLUDE_LONGLONG -DNO_FCNTL_NONBLOCK -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT" - if test "$with_named_thread" = "no" - then - AC_MSG_WARN([Using --with-named-thread=-lpthread]) - with_named_thread="-lpthread" - fi - # Fixes for HPUX 11.0 compiler - if test "$ac_cv_prog_gcc" = "no" - then -# set working flags first in line, letting override it (i. e. for debug): - CXXFLAGS="+O2 $CXXFLAGS" - MAX_C_OPTIMIZE="" - MAX_CXX_OPTIMIZE="" - ndb_cxxflags_fix="$ndb_cxxflags_fix -Aa" - fi - ;; - *rhapsody*) - if test "$ac_cv_prog_gcc" = "yes" - then - CPPFLAGS="$CPPFLAGS -traditional-cpp " - CFLAGS="-DHAVE_CTHREADS_WRAPPER -DDO_NOT_REMOVE_THREAD_WRAPPERS" - CXXFLAGS="-DHAVE_CTHREADS_WRAPPER" - if test $with_named_curses = "no" - then - with_named_curses="" - fi - fi - ;; - *darwin5*) - if test "$ac_cv_prog_gcc" = "yes" - then - FLAGS="-traditional-cpp -DHAVE_DARWIN5_THREADS -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DHAVE_BROKEN_REALPATH" - CFLAGS="$CFLAGS $FLAGS" - CXXFLAGS="$CXXFLAGS $FLAGS" - MAX_C_OPTIMIZE="-O" - with_named_curses="" - fi - ;; - *darwin6*) - if test "$ac_cv_prog_gcc" = "yes" - then - FLAGS="-D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DHAVE_BROKEN_REALPATH -DDONT_DECLARE_CXA_PURE_VIRTUAL " - CFLAGS="$CFLAGS $FLAGS" - CXXFLAGS="$CXXFLAGS $FLAGS" - MAX_C_OPTIMIZE="-O" - fi - ;; - *darwin*) - if test "$ac_cv_prog_gcc" = "yes" - then - FLAGS="-D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL" - CFLAGS="$CFLAGS $FLAGS" - CXXFLAGS="$CXXFLAGS $FLAGS" - MAX_C_OPTIMIZE="-O" - fi - ;; - *freebsd*|*dragonfly*) - dnl These dependencies have not really been checked for some time - OSVERSION=`sysctl -a | grep osreldate | awk '{ print $2 }'` - if test "$OSVERSION" -gt "600000" - then - # Post user-level threads, MYSQLD_NET_RETRY_COUNT is not needed any more - : - elif test "$OSVERSION" -gt "480100" && \ - test "$OSVERSION" -lt "500000" || \ - test "$OSVERSION" -gt "500109" - then - AC_MSG_WARN([Adding fix for interrupted reads]) - CXXFLAGS="$CXXFLAGS -DMYSQLD_NET_RETRY_COUNT=1000000" - else - AC_MSG_WARN([Adding fix for interrupted reads and broken realpath]) - CFLAGS="$CFLAGS -DHAVE_BROKEN_REALPATH" - CXXFLAGS="$CXXFLAGS -DMYSQLD_NET_RETRY_COUNT=1000000 -DHAVE_BROKEN_REALPATH" - fi - ;; - *netbsd*) - AC_MSG_WARN([Adding flag -Dunix]) - CFLAGS="$CFLAGS -Dunix" - CXXFLAGS="$CXXFLAGS -Dunix" - OVERRIDE_MT_LD_ADD="\$(top_srcdir)/mit-pthreads/obj/libpthread.a" - ;; - *bsdi*) - AC_MSG_WARN([Adding fix for BSDI]) - CFLAGS="$CFLAGS -D__BSD__ -DHAVE_BROKEN_REALPATH" - AC_DEFINE_UNQUOTED([SOCKOPT_OPTLEN_TYPE], [size_t], - [Last argument to get/setsockopt]) - ;; - *sgi-irix6*) - if test "$with_named_thread" = "no" - then - AC_MSG_WARN([Using --with-named-thread=-lpthread]) - with_named_thread="-lpthread" - fi - CXXFLAGS="$CXXFLAGS -D_BOOL" - ;; - *aix4.3*) - AC_MSG_WARN([Adding defines for AIX]) - CFLAGS="$CFLAGS -Wa,-many -DUNDEF_HAVE_INITGROUPS -DSIGNALS_DONT_BREAK_READ" - CXXFLAGS="$CXXFLAGS -Wa,-many -DUNDEF_HAVE_INITGROUPS -DSIGNALS_DONT_BREAK_READ" - ;; -dnl Is this the right match for DEC OSF on alpha? - *dec-osf*) - if test "$ac_cv_prog_gcc" = "yes" && test "$host_cpu" = "alpha" - then - AC_MSG_WARN([Adding defines for DEC OSF on alpha]) - CFLAGS="$CFLAGS -mieee" - CXXFLAGS="$CXXFLAGS -mieee" - fi - AC_MSG_WARN([Adding defines for OSF1]) - # gethostbyname_r is deprecated and doesn't work ok on OSF1 - CFLAGS="$CFLAGS -DUNDEF_HAVE_GETHOSTBYNAME_R -DSNPRINTF_RETURN_TRUNC" - CXXFLAGS="$CXXFLAGS -DUNDEF_HAVE_GETHOSTBYNAME_R -DSNPRINTF_RETURN_TRUNC" - # fix to handle include of <stdint.h> correctly on OSF1 with cxx compiler - CXXFLAGS="$CXXFLAGS -I/usr/include/cxx -I/usr/include/cxx_cname -I/usr/include -I/usr/include.dtk" - ;; -esac - - -#---START: Used in for client configure -# Check if we threads are in libc or if we should use -# -lpthread, -lpthreads or mit-pthreads -# We have to check libc last because else it fails on Solaris 2.6 - -with_posix_threads="no" -# Search thread lib on Linux -if test "$with_named_thread" = "no" -then - AC_MSG_CHECKING("Linux threads") - if test "$TARGET_LINUX" = "true" - then - AC_MSG_RESULT("starting") - # use getconf to check glibc contents - AC_MSG_CHECKING("getconf GNU_LIBPTHREAD_VERSION") - case `getconf GNU_LIBPTHREAD_VERSION | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ` in - NPTL* ) - AC_MSG_RESULT("NPTL") - AC_DEFINE([HAVE_NPTL], [1], [NPTL threads implementation]) - with_named_thread="-lpthread" - ;; - LINUXTHREADS* ) - AC_MSG_RESULT("Linuxthreads") - AC_DEFINE([HAVE_LINUXTHREADS], [1], - [Whether we are using Xavier Leroy's LinuxThreads]) - with_named_thread="-lpthread" - ;; - * ) - AC_MSG_RESULT("unknown") - ;; - esac - if test "$with_named_thread" = "no" - then - # old method, check headers - # Look for LinuxThreads. - AC_MSG_CHECKING("LinuxThreads in header file comment") - res=`grep Linuxthreads /usr/include/pthread.h 2>/dev/null | wc -l` - if test "$res" -gt 0 - then - AC_MSG_RESULT("Found") - AC_DEFINE([HAVE_LINUXTHREADS], [1], - [Whether we are using Xavier Leroy's LinuxThreads]) - # Linux 2.0 sanity check - AC_TRY_COMPILE([#include <sched.h>], [int a = sched_get_priority_min(1);], , - AC_MSG_ERROR([Syntax error in sched.h. Change _P to __P in the /usr/include/sched.h file. See the Installation chapter in the Reference Manual])) - # RedHat 5.0 does not work with dynamic linking of this. -static also - # gives a speed increase in linux so it does not hurt on other systems. - with_named_thread="-lpthread" - else - AC_MSG_RESULT("Not found") - # If this is a linux machine we should barf - AC_MSG_ERROR([This is a Linux system without a working getconf, -and Linuxthreads was not found. Please install it (or a new glibc) and try again. -See the Installation chapter in the Reference Manual for more information.]) - fi - else - AC_MSG_RESULT("no need to check headers") - fi - - AC_MSG_CHECKING("for pthread_create in -lpthread") - ac_save_LIBS="$LIBS" - LIBS="$LIBS -lpthread" - AC_TRY_LINK( [#include <pthread.h>], - [ (void) pthread_create((pthread_t*) 0,(pthread_attr_t*) 0, 0, 0); ], - AC_MSG_RESULT("yes"), - [ AC_MSG_RESULT("no") - AC_MSG_ERROR([ -This is a Linux system claiming to support threads, either Linuxthreads or NPTL, but linking a test program failed. -Please install one of these (or a new glibc) and try again. -See the Installation chapter in the Reference Manual for more information.]) ] - ) - LIBS="$ac_save_LIBS" - else - AC_MSG_RESULT("no") - fi # "$TARGET_LINUX" -fi # "$with_named_thread" = "no" -a "$with_mit_threads" = "no" - - -# Hack for DEC-UNIX (OSF1 -> Tru64) -if test "$with_named_thread" = "no" -a "$with_mit_threads" = "no" -then - AC_MSG_CHECKING("DEC threads post OSF/1 3.2") - if test -f /usr/shlib/libpthread.so -a -f /usr/lib/libmach.a -a -f /usr/ccs/lib/cmplrs/cc/libexc.a - then - with_named_thread="-lpthread -lmach -lexc" - CFLAGS="$CFLAGS -D_REENTRANT" - CXXFLAGS="$CXXFLAGS -D_REENTRANT" - AC_DEFINE(HAVE_DEC_THREADS, [1], [Whether we are using DEC threads]) - AC_MSG_RESULT("yes") - else - AC_MSG_RESULT("no") - fi # DEC threads -fi # "$with_named_thread" = "no" -a "$with_mit_threads" = "no" - - -dnl This is needed because -lsocket has to come after the thread -dnl library on SCO. -AC_DEFUN([MYSQL_REMOVE_SOCKET_FROM_LIBS_HACK], [ - LIBS=`echo " $LIBS " | sed -e 's/ -lsocket / /g'` -]) -# Hack for SCO UNIX -if test "$with_named_thread" = "no" -then - AC_MSG_CHECKING("SCO threads") - if expr "$SYSTEM_TYPE" : ".*sco.*" > /dev/null - then - if test -f /usr/lib/libgthreads.a -o -f /usr/lib/libgthreads.so - then - MYSQL_REMOVE_SOCKET_FROM_LIBS_HACK - with_named_thread="-lgthreads -lsocket -lgthreads" - # sched.h conflicts with fsu-threads - touch ./include/sched.h - touch ./include/semaphore.h - - # We must have gcc - if expr "$CC" : ".*gcc.*" - then - AC_MSG_RESULT("yes") - else - AC_MSG_ERROR([On SCO UNIX MySQL must be compiled with gcc. See the Installation chapter in the Reference Manual.]) - fi - AC_MSG_RESULT("yes") - elif test -f /usr/local/lib/libpthread.a -o -f /usr/local/lib/libpthread.so - then - MYSQL_REMOVE_SOCKET_FROM_LIBS_HACK - with_named_thread="-lpthread -lsocket" - # sched.h conflicts with fsu-threads - # touch ./include/sched.h - - AC_MSG_CHECKING("for gcc") - # We must have gcc - if expr "$CC" : ".*gcc.*" - then - AC_MSG_RESULT("yes") - else - AC_MSG_ERROR([On SCO UNIX MySQL must be compiled with gcc. See the Installation chapter in the Reference Manual.]) - fi - AC_MSG_RESULT("yes") - # Hack for SCO UnixWare 7.1.x - # - elif test "$with_named_thread" = "no" - then - AC_MSG_RESULT("no") - AC_MSG_CHECKING("SCO UnixWare 7.1.x native threads") - if expr "$SYSTEM_TYPE" : ".*sco.*" > /dev/null - then - if test -f /usr/lib/libthread.so -o -f /usr/lib/libthreadT.so - then - MYSQL_REMOVE_SOCKET_FROM_LIBS_HACK - if expr "$CC" : ".*gcc.*" - then - with_named_thread="-pthread -lsocket -lnsl" - else - with_named_thread="-Kthread -lsocket -lnsl" - fi - if expr "$SYSTEM_TYPE" : ".*unixware7.0.0" > /dev/null - then - AC_DEFINE(HAVE_UNIXWARE7_THREADS, [1]) - fi - AC_MSG_RESULT("yes") - # We must have cc - AC_MSG_CHECKING("for gcc") - if expr "$CC" : ".*gcc.*" - then - CC="$CC -pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK" - CXX="$CXX -pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK" - else - CC="$CC -Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK" - CXX="$CXX -Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK" - fi - else - AC_MSG_ERROR([configure: error: Can't find thread libs on SCO UnixWare7. See the Installation chapter in the Reference Manual.]) - fi - else - AC_MSG_RESULT("no") - fi - else - AC_MSG_ERROR([On SCO UNIX MySQL requires that the FSUThreads package is installed. See the Installation chapter in the Reference Manual.]) - fi - else - AC_MSG_RESULT("no") - fi -fi - -# -# Check for SCO threading libraries -# -if test "$with_named_thread" = "no" -then - AC_MSG_CHECKING([SCO OpenServer 6, UnixWare 7 or OpenUNIX 8 native threads]) - if expr "$SYSTEM_TYPE" : ".*UnixWare.*" > /dev/null || \ - expr "$SYSTEM_TYPE" : ".*SCO_SV6.*" > /dev/null || \ - expr "$SYSTEM_TYPE" : ".*OpenUNIX.*" > /dev/null - then - if test -f /usr/lib/libthread.so -o -f /usr/lib/libthreadT.so - then - MYSQL_REMOVE_SOCKET_FROM_LIBS_HACK - if expr "$CC" : ".*gcc.*" > /dev/null - then - with_named_thread="-pthread -lsocket -lnsl" - CC="$CC -pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"; - CXX="$CXX -pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"; - else - with_named_thread="-Kthread -lsocket -lnsl" - CC="$CC -Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"; - CXX="$CXX -Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"; - fi - if expr "$SYSTEM_TYPE" : ".*unixware7.0.0" > /dev/null - then - AC_DEFINE(HAVE_UNIXWARE7_THREADS, [1], [Have UnixWare 7 (or similar) almost-POSIX threading library]) - fi - AC_MSG_RESULT(yes) - else - AC_MSG_ERROR([configure: error: Can't find thread library on SCO/Caldera system. See the Installation chapter in the Reference Manual.]) - fi - else - AC_MSG_RESULT(no) - fi -fi - -# Hack for Siemens UNIX -if test "$with_named_thread" = "no" -then - AC_MSG_CHECKING("Siemens threads") - if test -f /usr/lib/libxnet.so -a "$SYSTEM_TYPE" = "sni-sysv4" - then - LIBS="-lxnet $LIBS" - NON_THREADED_LIBS="-lxnet $NON_THREADED_LIBS" - with_named_thread="-Kthread $LDFLAGS -lxnet" - LD_FLAGS="" - CFLAGS="-Kthread $CFLAGS" - CXXFLAGS="-Kthread $CXXFLAGS" - AC_MSG_RESULT("yes") - else - AC_MSG_RESULT("no") - fi -fi - -# Use library named -lpthread -if test "$with_named_thread" = "no" -a "$with_pthread" = "yes" -then - with_named_thread="-lpthread" -fi - -#---END: - -# Hack for Solaris >= 2.5 -# We want both the new and the old interface - -if test "$with_named_thread" = "no" -then - AC_MSG_CHECKING("Solaris threads") - if test -f /usr/lib/libpthread.so -a -f /usr/lib/libthread.so - then - with_named_thread="-lpthread -lthread" - AC_MSG_RESULT("yes") - else - AC_MSG_RESULT("no") - fi -fi - -# Should we use named pthread library ? -AC_MSG_CHECKING("named thread libs:") -if test "$with_named_thread" != "no" -then - LIBS="$with_named_thread $LIBS $with_named_thread" - CLIENT_THREAD_LIBS="$with_named_thread" - with_posix_threads="yes" - AC_MSG_RESULT("$with_named_thread") -else - AC_MSG_RESULT("no") - # pthread_create is in standard libraries (As in BSDI 3.0) - AC_MSG_CHECKING("for pthread_create in -libc"); - AC_TRY_LINK( - [#include <pthread.h>], - [ (void) pthread_create((pthread_t*) 0,(pthread_attr_t*) 0, 0, 0); ], - with_posix_threads=yes, with_posix_threads=no) - AC_MSG_RESULT("$with_posix_threads") - if test "$with_posix_threads" = "no" - then - AC_MSG_CHECKING("for pthread_create in -lpthread") - ac_save_LIBS="$LIBS" - LIBS="$LIBS -lpthread" - CLIENT_THREAD_LIBS="-lpthread" - AC_TRY_LINK( - [#include <pthread.h>], - [ (void) pthread_create((pthread_t*) 0,(pthread_attr_t*) 0, 0, 0); ], - with_posix_threads=yes, with_posix_threads=no) - AC_MSG_RESULT("$with_posix_threads") - if test "$with_posix_threads" = "no" - then - LIBS=" $ac_save_LIBS -lpthreads" - CLIENT_THREAD_LIBS="-lpthreads" - AC_MSG_CHECKING("for pthread_create in -lpthreads") - AC_TRY_LINK( - [#include <pthread.h>], - [ pthread_create((pthread_t*) 0,(pthread_attr_t*) 0, 0, 0); ], - with_posix_threads=yes, with_posix_threads=no) - AC_MSG_RESULT("$with_posix_threads") - if test "$with_posix_threads" = "no" - then - # This is for FreeBSD - LIBS="$ac_save_LIBS -pthread" - CLIENT_THREAD_LIBS="-pthread" - AC_MSG_CHECKING("for pthread_create in -pthread") - AC_TRY_LINK( - [#include <pthread.h>], - [ pthread_create((pthread_t*) 0,(pthread_attr_t*) 0, 0, 0); ], - with_posix_threads=yes, with_posix_threads=no) - AC_MSG_RESULT("$with_posix_threads") - fi - fi - fi -fi - -#---START: Used in for client configure -# Must be checked after, because strtok_r may be in -lpthread -# On AIX strtok_r is in libc_r - -my_save_LIBS="$LIBS" -AC_CHECK_LIB(pthread,strtok_r) -LIBS="$my_save_LIBS" -if test "$ac_cv_lib_pthread_strtok_r" = "no" -then - AC_CHECK_LIB(c_r,strtok_r) - case "$with_osf32_threads---$target_os" in - # Don't keep -lc_r in LIBS; -pthread handles it magically - yes---* | *---freebsd* | *---hpux*) LIBS="$my_save_LIBS" ;; - - esac - AC_CHECK_FUNCS(strtok_r pthread_init) -else - AC_CHECK_FUNCS(strtok_r) -fi -#---END: - -# dlopen, dlerror -case "$with_mysqld_ldflags " in - - *"-all-static "*) - # No need to check for dlopen when mysqld is linked with - # -all-static as it won't be able to load any functions. - # NOTE! It would be better if it was possible to test if dlopen - # can be used, but a good way to test it couldn't be found - - ;; - - *) - # Check for dlopen, needed for user definable functions and plugins - # This must be checked after threads on AIX - - my_save_LIBS="$LIBS" - LIBS="" - AC_CHECK_LIB(dl,dlopen) - LIBDL=$LIBS - LIBS="$my_save_LIBS" - AC_SUBST(LIBDL) - - my_save_LIBS="$LIBS" - LIBS="$LIBS $LIBDL" - AC_CHECK_FUNCS(dlopen dlerror) - LIBS="$my_save_LIBS" - - ;; -esac - - -# System characteristics -AC_SYS_RESTARTABLE_SYSCALLS - -# Build optimized or debug version ? -# First check for gcc and g++ -if test "$GCC" = "yes" -then - DEBUG_CFLAGS="-g" - DEBUG_OPTIMIZE_CC="-O" - OPTIMIZE_CFLAGS="$MAX_C_OPTIMIZE" -else - DEBUG_CFLAGS="-g" - DEBUG_OPTIMIZE_CC="" - case $SYSTEM_TYPE in - *solaris*) - OPTIMIZE_CFLAGS="-O1" - ;; - *) - OPTIMIZE_CFLAGS="-O" - ;; - esac -fi -if test "$GXX" = "yes" -then - DEBUG_CXXFLAGS="-g" - DEBUG_OPTIMIZE_CXX="-O" - OPTIMIZE_CXXFLAGS="$MAX_CXX_OPTIMIZE" -else - DEBUG_OPTIMIZE_CXX="" - case $SYSTEM_TYPE in - *solaris*) - DEBUG_CXXFLAGS="-g0" - OPTIMIZE_CXXFLAGS="-O1" - ;; - *) - DEBUG_CXXFLAGS="-g" - OPTIMIZE_CXXFLAGS="-O" - ;; - esac -fi - -# If the user specified CFLAGS, we won't add any optimizations -if test -n "$SAVE_CFLAGS" -then - OPTIMIZE_CFLAGS="" - DEBUG_OPTIMIZE_CC="" -fi -# Ditto for CXXFLAGS -if test -n "$SAVE_CXXFLAGS" -then - OPTIMIZE_CXXFLAGS="" - DEBUG_OPTIMIZE_CXX="" -fi - -if test "$with_debug" = "yes" -then - AC_DEFINE([DBUG_ON], [1], [Use libdbug]) - CFLAGS="$DEBUG_CFLAGS $DEBUG_OPTIMIZE_CC -DSAFE_MUTEX $CFLAGS" - CXXFLAGS="$DEBUG_CXXFLAGS $DEBUG_OPTIMIZE_CXX -DSAFE_MUTEX $CXXFLAGS" -else - # Optimized version. No debug - AC_DEFINE([DBUG_OFF], [1], [Don't use libdbug]) - CFLAGS="$OPTIMIZE_CFLAGS $CFLAGS" - CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS" -fi - -AC_ARG_WITH([valgrind], - [AS_HELP_STRING([--with-valgrind], - [Valgrind instrumentation @<:@default=no@:>@])], - [], [with_valgrind=no]) - -if test "$with_valgrind" != "no" -then - AC_CHECK_HEADERS([valgrind/valgrind.h valgrind/memcheck.h], - [AC_DEFINE([HAVE_VALGRIND], [1], [Define for Valgrind support])]) -fi - -# Debug Sync Facility. NOTE: depends on 'with_debug'. Must be behind it. -AC_MSG_CHECKING(if Debug Sync Facility should be enabled.) -AC_ARG_ENABLE(debug_sync, - AS_HELP_STRING([--enable-debug-sync], - [Build a version with Debug Sync Facility]), - [ enable_debug_sync=$enableval ], - [ enable_debug_sync=$with_debug ]) - -if test "$enable_debug_sync" != "no" -then - AC_DEFINE([ENABLED_DEBUG_SYNC], [1], - [If Debug Sync Facility should be enabled]) - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi - -AC_ARG_WITH([fast-mutexes], - AC_HELP_STRING([--with-fast-mutexes], - [Compile with fast mutexes (default is disabled)]), - [with_fast_mutexes=$withval], [with_fast_mutexes=no]) - -if test "$with_fast_mutexes" != "no" -then - if test "$with_debug" != "no" - then - AC_MSG_WARN(['--with-fast-mutexes' ignored when '--with-debug' is given]) - else - AC_DEFINE([MY_PTHREAD_FASTMUTEX], [1], - [Define to 1 if you want to use fast mutexes]) - fi -fi - -AC_ARG_WITH([atomic-ops], - AS_HELP_STRING([--with-atomic-ops=rwlocks|smp|up], - [Implement atomic operations using pthread rwlocks or atomic CPU - instructions for multi-processor or uniprocessor - configuration. By default gcc built-in sync functions are used, - if available and 'smp' configuration otherwise.])) -case "$with_atomic_ops" in - "up") AC_DEFINE([MY_ATOMIC_MODE_DUMMY], [1], - [Assume single-CPU mode, no concurrency]) ;; - "rwlocks") AC_DEFINE([MY_ATOMIC_MODE_RWLOCKS], [1], - [Use pthread rwlocks for atomic ops]) ;; - "smp") ;; - "") - ;; - *) AC_MSG_ERROR(["$with_atomic_ops" is not a valid value for --with-atomic-ops]) ;; -esac - -AC_CACHE_CHECK([whether the compiler provides atomic builtins], - [mysql_cv_gcc_atomic_builtins], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [ - ], - [[ - int foo= -10; int bar= 10; - long long int foo64= -10; long long int bar64= 10; - if (!__sync_fetch_and_add(&foo, bar) || foo) - return -1; - bar= __sync_lock_test_and_set(&foo, bar); - if (bar || foo != 10) - return -1; - bar= __sync_val_compare_and_swap(&bar, foo, 15); - if (bar) - return -1; - if (!__sync_fetch_and_add(&foo64, bar64) || foo64) - return -1; - bar64= __sync_lock_test_and_set(&foo64, bar64); - if (bar64 || foo64 != 10) - return -1; - bar64= __sync_val_compare_and_swap(&bar64, foo, 15); - if (bar64) - return -1; - return 0; - ]] - )], - [mysql_cv_gcc_atomic_builtins=yes], - [mysql_cv_gcc_atomic_builtins=no], - [mysql_cv_gcc_atomic_builtins=no] -)]) -if test "x$mysql_cv_gcc_atomic_builtins" = xyes; then - AC_DEFINE(HAVE_GCC_ATOMIC_BUILTINS, 1, - [Define to 1 if compiler provides atomic builtins.]) -fi - -AC_CACHE_CHECK([whether the OS provides atomic_* functions like Solaris], - [mysql_cv_solaris_atomic], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[ - #include <atomic.h> - ]], - [[ - int foo = -10; int bar = 10; - int64_t foo64 = -10; int64_t bar64 = 10; - if (atomic_add_int_nv((uint_t *)&foo, bar) || foo) - return -1; - bar = atomic_swap_uint((uint_t *)&foo, (uint_t)bar); - if (bar || foo != 10) - return -1; - bar = atomic_cas_uint((uint_t *)&bar, (uint_t)foo, 15); - if (bar) - return -1; - if (atomic_add_64_nv((volatile uint64_t *)&foo64, bar64) || foo64) - return -1; - bar64 = atomic_swap_64((volatile uint64_t *)&foo64, (uint64_t)bar64); - if (bar64 || foo64 != 10) - return -1; - bar64 = atomic_cas_64((volatile uint64_t *)&bar64, (uint_t)foo64, 15); - if (bar64) - return -1; - atomic_or_64((volatile uint64_t *)&bar64, 0); - return 0; - ]] - )], - [mysql_cv_solaris_atomic=yes], - [mysql_cv_solaris_atomic=no], - [mysql_cv_solaris_atomic=no] -)]) -if test "x$mysql_cv_solaris_atomic" = xyes; then - AC_DEFINE(HAVE_SOLARIS_ATOMIC, 1, - [Define to 1 if OS provides atomic_* functions like Solaris.]) -fi - -# Force static compilation to avoid linking problems/get more speed -AC_ARG_WITH(mysqld-ldflags, - [ --with-mysqld-ldflags Extra linking arguments for mysqld], - [MYSQLD_EXTRA_LDFLAGS=$withval], - [MYSQLD_EXTRA_LDFLAGS=]) -AC_SUBST(MYSQLD_EXTRA_LDFLAGS) - -AC_ARG_WITH(client-ldflags, - [ --with-client-ldflags Extra linking arguments for clients], - [CLIENT_EXTRA_LDFLAGS=$withval], - [CLIENT_EXTRA_LDFLAGS=]) -AC_SUBST(CLIENT_EXTRA_LDFLAGS) - -AC_ARG_WITH(mysqld-libs, - [ --with-mysqld-libs Extra libraries to link with for mysqld], - [MYSQLD_EXTRA_LIBS=$withval], - [MYSQLD_EXTRA_LIBS=]) -AC_SUBST(MYSQLD_EXTRA_LIBS) - -AC_ARG_WITH(lib-ccflags, - [ --with-lib-ccflags Extra CC options for libraries], - [LIB_EXTRA_CCFLAGS=$withval], - [LIB_EXTRA_CCFLAGS=]) -AC_SUBST(LIB_EXTRA_CCFLAGS) - -# Avoid stupid bug on some OS -AC_ARG_WITH(low-memory, - [ --with-low-memory Try to use less memory to compile to avoid - memory limitations.], - [with_lowmem=$withval], - [with_lowmem=no]) -if test "$with_lowmem" = "yes" -then - if test "$ac_cv_prog_gcc" = "yes" - then - LM_CFLAGS="-fno-inline" - else - LM_CFLAGS="-O0" - fi -else - LM_CFLAGS="" -fi -AC_SUBST(LM_CFLAGS) - -AC_ARG_WITH(comment, - [ --with-comment Comment about compilation environment.], - [with_comment=$withval], - [with_comment=no]) -if test "$with_comment" != "no" -then - COMPILATION_COMMENT=$with_comment -else - COMPILATION_COMMENT="Source distribution" -fi -AC_SUBST(COMPILATION_COMMENT) - -AC_MSG_CHECKING("need of special linking flags") -if test "$TARGET_LINUX" = "true" -a "$ac_cv_prog_gcc" = "yes" -a "$all_is_static" != "yes" -then - LDFLAGS="$LDFLAGS -rdynamic" - AC_MSG_RESULT("-rdynamic") -else - case "$SYSTEM_TYPE$with_mysqld_ldflags " in - *freebsd*"-all-static "*|*dragonfly*"-all-static "*) - AC_MSG_RESULT("none") - ;; - *freebsd*|*dragonfly*) - MYSQLD_EXTRA_LDFLAGS="$MYSQLD_EXTRA_LDFLAGS -export-dynamic" - AC_MSG_RESULT("-export-dynamic") - ;; - *) - AC_MSG_RESULT("none") - ;; - esac -fi - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_C_INLINE -AS_IF([test "x$ac_cv_c_inline" = "xno"], - [AC_MSG_WARN([The C compiler does not support inline. Beware that unused - functions might not be eliminated the object files.])]) -AC_TYPE_OFF_T -AC_STRUCT_ST_RDEV -AC_HEADER_TIME -AC_STRUCT_TM -MYSQL_NEEDS_MYSYS_NEW -# AC_CHECK_SIZEOF return 0 when it does not find the size of a -# type. We want a error instead. -AC_CHECK_SIZEOF(char, 1) -if test "$ac_cv_sizeof_char" -eq 0 -then - AC_MSG_ERROR([No size for char type. -A likely cause for this could be that there isn't any -static libraries installed. You can verify this by checking if you have libm.a -in /lib, /usr/lib or some other standard place. If this is the problem, -install the static libraries and try again. If this isn't the problem, -examine config.log for possible errors. If you want to report this, use -'scripts/mysqlbug' and include at least the last 20 rows from config.log!]) -fi -AC_CHECK_SIZEOF(char*, 4) -AC_CHECK_SIZEOF(short, 2) -AC_CHECK_SIZEOF(int, 4) -if test "$ac_cv_sizeof_int" -eq 0 -then - AC_MSG_ERROR("No size for int type.") -fi -AC_CHECK_SIZEOF(long, 4) -if test "$ac_cv_sizeof_long" -eq 0 -then - AC_MSG_ERROR("No size for long type.") -fi -AC_CHECK_SIZEOF(long long, 8) -if test "$ac_cv_sizeof_long_long" -eq 0 -then - AC_MSG_ERROR("MySQL needs a long long type.") -fi -# off_t is not a builtin type -AC_CHECK_SIZEOF(off_t, 4) -if test "$ac_cv_sizeof_off_t" -eq 0 -then - AC_MSG_ERROR("MySQL needs a off_t type.") -fi - -dnl -dnl check if time_t is unsigned -dnl - -MYSQL_CHECK_TIME_T - - -# do we need #pragma interface/#pragma implementation ? -# yes if it's gcc 2.x, and not icc pretending to be gcc, and not cygwin -AC_MSG_CHECKING(the need for @%:@pragma interface/implementation) -# instead of trying to match SYSTEM_TYPE and CC_VERSION (that doesn't -# follow any standard), we'll use well-defined preprocessor macros: -AC_TRY_CPP([ -#if !defined(__CYGWIN__) && !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ < 3) -#error USE_PRAGMA_IMPLEMENTATION -#endif -],AC_MSG_RESULT(no) ,AC_MSG_RESULT(yes) ; CXXFLAGS="$CXXFLAGS -DUSE_PRAGMA_IMPLEMENTATION") - -# This always gives a warning. Ignore it unless you are cross compiling -AC_C_BIGENDIAN -#---START: Used in for client configure -# Check base type of last arg to accept -MYSQL_TYPE_ACCEPT -#---END: -# Figure out what type of struct rlimit to use with setrlimit -MYSQL_TYPE_STRUCT_RLIMIT -# Find where the stack goes -MYSQL_STACK_DIRECTION -# We want to skip alloca on irix unconditionally. It may work on some version.. -MYSQL_FUNC_ALLOCA -# Do struct timespec have members tv_sec or ts_sec -MYSQL_TIMESPEC_TS -# Do we have the tzname variable -MYSQL_TZNAME -# Do the c++ compiler have a bool type -MYSQL_CXX_BOOL -# Check some common bugs with gcc 2.8.# on sparc -MYSQL_CHECK_LONGLONG_TO_FLOAT -if test "$ac_cv_conv_longlong_to_float" != "yes" -then - AC_MSG_ERROR([Your compiler cannot convert a longlong value to a float! - If you are using gcc 2.8.# you should upgrade to egcs 1.0.3 - or newer and try again]) -fi -AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>]) -AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>]) -AC_CHECK_TYPES([u_int32_t]) - -MYSQL_PTHREAD_YIELD - -###################################################################### -# For readline/libedit (We simply move the mimimum amount of stuff from -# the readline/libedit configure.in here) - -dnl Checks for header files. -AC_CHECK_HEADERS(malloc.h sys/cdefs.h) - -dnl Checks for library functions. -AC_FUNC_ALLOCA -AC_PROG_GCC_TRADITIONAL -AC_TYPE_SIGNAL -AC_CHECK_FUNCS(re_comp regcomp strdup) - -dnl Sun compilers have their own vis.h that is about something -dnl totally different. So, not to change the libedit source, we -dnl do some additional checks before we define HAVE_VIS_H. -AC_CHECK_HEADER(vis.h, - [AC_CHECK_FUNC(strvis, - [AC_DEFINE([HAVE_VIS_H], [1],[Found vis.h and the strvis() function])])]) - -AC_CHECK_FUNCS(strlcat strlcpy) -AC_CHECK_FUNCS(issetugid) -AC_CHECK_FUNCS(fgetln) -AC_CHECK_FUNCS(getline flockfile) - -# from old readline settting: - -MAKE_SHELL=/bin/sh -AC_SUBST(MAKE_SHELL) - -# Already-done: stdlib.h string.h unistd.h termios.h -AC_CHECK_HEADERS(varargs.h stdarg.h dirent.h locale.h ndir.h sys/dir.h \ - sys/file.h sys/ndir.h sys/ptem.h sys/pte.h sys/select.h sys/stream.h \ - sys/mman.h curses.h termcap.h termio.h termbits.h asm/termbits.h grp.h \ -paths.h semaphore.h langinfo.h) - -# Already-done: strcasecmp -AC_CHECK_FUNCS(lstat putenv select setenv setlocale strcoll tcgetattr) -AC_CHECK_FUNCS(nl_langinfo) - -AC_STAT_MACROS_BROKEN -MYSQL_SIGNAL_CHECK -MYSQL_CHECK_GETPW_FUNCS -MYSQL_HAVE_TIOCGWINSZ -MYSQL_HAVE_FIONREAD -MYSQL_HAVE_TIOCSTAT -MYSQL_STRUCT_DIRENT_D_INO -MYSQL_STRUCT_DIRENT_D_NAMLEN -MYSQL_TYPE_SIGHANDLER -MYSQL_CHECK_MULTIBYTE -if test "$with_named_curses" = "no" -then - MYSQL_CHECK_LIB_TERMCAP -else - TERMCAP_LIB="$with_named_curses" -fi -AC_SUBST(TERMCAP_LIB) - -# Check if the termcap function 'tgoto' is already declared in -# system header files or if it need to be declared locally -AC_CHECK_DECLS(tgoto,,,[ -#ifdef HAVE_CURSES_H -# include <curses.h> -#elif HAVE_NCURSES_H -# include <ncurses.h> -#endif -#ifdef HAVE_TERM_H -# include <term.h> -#endif -]) - -LIBEDIT_LOBJECTS="" -AC_CHECK_FUNC(strunvis, ,[LIBEDIT_LOBJECTS="$LIBEDIT_LOBJECTS unvis.o"]) -AC_CHECK_FUNC(strvis, ,[LIBEDIT_LOBJECTS="$LIBEDIT_LOBJECTS vis.o"]) -AC_CHECK_FUNC(strlcpy, ,[LIBEDIT_LOBJECTS="$LIBEDIT_LOBJECTS strlcpy.o"]) -AC_CHECK_FUNC(strlcat, ,[LIBEDIT_LOBJECTS="$LIBEDIT_LOBJECTS strlcat.o"]) -AC_CHECK_FUNC(fgetln, ,[LIBEDIT_LOBJECTS="$LIBEDIT_LOBJECTS fgetln.o"]) -AC_SUBST(LIBEDIT_LOBJECTS) -enable_readline="yes" - -# End of readline/libedit stuff -######################################################################### - -dnl Checks for library functions. - -# -# The following code disables intrinsic function support while we test for -# library functions. This is to avoid configure problems with Intel ecc -# compiler - -ORG_CFLAGS="$CFLAGS" -if test "$GCC" != "yes"; then - AC_SYS_COMPILER_FLAG(-nolib_inline,nolib_inline,CFLAGS,[],[]) -fi - -#AC_FUNC_MMAP -AC_TYPE_SIGNAL -MYSQL_TYPE_QSORT -AC_FUNC_UTIME_NULL -AC_FUNC_VPRINTF - -AC_CHECK_DECLS([fdatasync],,, -[ -#ifdef HAVE_UNISTD_H -# include <unistd.h> -#endif -]) - -AC_CHECK_FUNCS(alarm bfill bmove bsearch bzero \ - chsize cuserid fchmod fcntl \ - fdatasync fesetround finite fpresetsticky fpsetmask fsync ftruncate \ - getcwd gethostbyaddr_r gethostbyname_r getpass getpassphrase getpwnam \ - getpwuid getrlimit getrusage getwd index initgroups isnan \ - localtime_r gethrtime gmtime_r \ - locking longjmp lrand48 madvise mallinfo memcpy memmove \ - mkstemp mlockall perror poll pread pthread_attr_create mmap mmap64 getpagesize \ - pthread_attr_getstacksize pthread_attr_setstacksize pthread_condattr_create \ - pthread_getsequence_np pthread_key_delete pthread_rwlock_rdlock \ - pthread_sigmask \ - readlink realpath rename rint rwlock_init setupterm \ - shmget shmat shmdt shmctl sigaction sigemptyset sigaddset \ - sighold sigset sigthreadmask port_create sleep thr_yield \ - snprintf socket stpcpy strcasecmp strerror strsignal strnlen strpbrk strstr \ - strtol strtoll strtoul strtoull tell tempnam thr_setconcurrency vidattr \ - posix_fallocate backtrace backtrace_symbols backtrace_symbols_fd printstack) - -# -# -# -case "$target" in - *-*-aix4* | *-*-sco*) - # (grr) aix 4.3 has a stub for clock_gettime, (returning ENOSYS) - # and using AC_TRY_RUN is hard when cross-compiling - # We also disable for SCO for the time being, the headers for the - # thread library we use conflicts with other headers. - ;; - *) AC_CHECK_FUNCS(clock_gettime) - ;; -esac - -case "$mysql_cv_sys_os" in - OS400) # i5/OS (OS/400) emits a SIGILL (Function not implemented) when - # unsupported priority values are passed to pthread_setschedprio. - # Since the only supported value is 1, treat it as inexistent. - ;; - SunOS) # Bug#42599 error: `pthread_setschedprio' was not declared in this scope - # In some installations, the pthread.h header used by GCC does not - # declare the pthread_setscheprio prototype, but the function is - # implemented. Since the function is used in C++ code, ensure that - # the function prototype is present. - AC_MSG_CHECKING([whether pthread_setschedprio is declared]) - AC_LANG_PUSH([C++]) - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([#include <pthread.h>], - [(void)(pthread_setschedprio);])], - [ac_cv_func_pthread_setschedprio=yes], - [ac_cv_func_pthread_setschedprio=no]) - AC_LANG_POP([C++]) - AC_MSG_RESULT([$ac_cv_func_pthread_setschedprio]) - if test "$ac_cv_func_pthread_setschedprio" = yes; then - AC_DEFINE(HAVE_PTHREAD_SETSCHEDPRIO, 1, - [Define to 1 if you have the `pthread_setschedprio' function.]) - fi - ;; - *) AC_CHECK_FUNCS(pthread_setschedprio) - ;; -esac - -# Check that isinf() is available in math.h and can be used in both C and C++ -# code -AC_MSG_CHECKING(for isinf in <math.h>) -AC_TRY_LINK([#include <math.h>], [float f = 0.0; int r = isinf(f); return r], - AC_MSG_RESULT(yes) - AC_MSG_CHECKING(whether isinf() is safe to use in C code) - AC_TRY_RUN([ -#include <math.h> -int main() -{ - double a= 10.0; - double b= 1e308; - - return !isinf(a * b); -} -], - [AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no) - AC_DEFINE([HAVE_BROKEN_ISINF], [1], - [Define to 1 if isinf() uses 80-bit register for intermediate values]) - ], - [ -# Let's be optimistic when cross-compiling, since the only compiler known -# to be affected by this isinf() bug is GCC 4.3 on 32-bit x86. - AC_MSG_RESULT([[cross-compiling, assuming 'yes']]) - ]) - AC_MSG_CHECKING(whether isinf() can be used in C++ code) - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_LINK([#include <math.h>], [float f = 0.0; int r = isinf(f); return r], - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_ISINF, [1], [isinf() macro or function]), - AC_MSG_RESULT(no)) - AC_LANG_RESTORE, - AC_MSG_RESULT(no)) - -CFLAGS="$ORG_CFLAGS" - -# Sanity check: We chould not have any fseeko symbol unless -# large_file_support=yes -AC_CHECK_FUNC(fseeko, -[if test "$large_file_support" = no -a "$TARGET_LINUX" = "true"; -then - AC_MSG_ERROR("Found fseeko symbol but large_file_support is not enabled!") -fi] -) - -# Check definition of gethostbyaddr_r (glibc2 defines this with 8 arguments) -ac_save_CXXFLAGS="$CXXFLAGS" -AC_CACHE_CHECK([style of gethost* routines], mysql_cv_gethost_style, -AC_LANG_SAVE -AC_LANG_CPLUSPLUS - -# Test whether madvise() is declared in C++ code -- it is not on some -# systems, such as Solaris -AC_CHECK_DECLS(madvise, [], [], [#if HAVE_SYS_MMAN_H -#include <sys/types.h> -#include <sys/mman.h> -#endif]) - -# Do not treat warnings as errors if we are linking against other libc -# this is to work around gcc not being permissive on non-system includes -# with respect to ANSI C++ -# We also remove the -fbranch-probabilities option as this will give warnings -# about not profiled code, which confuses configure -# We also must remove -W and -Wcheck which on icc produces warnings that -# we don't want to catch with -Werror - -if test "$ac_cv_prog_gxx" = "yes" -a "$with_other_libc" = "no" -then - CXXFLAGS=`echo "$CXXFLAGS -Werror" | sed -e 's/-fbranch-probabilities//; s/-Wall//; s/-ansi//; s/-pedantic//; s/-Wcheck//'` -fi - -AC_TRY_COMPILE( -[#undef inline -#if !defined(SCO) && !defined(__osf__) && !defined(_REENTRANT) -#define _REENTRANT -#endif -#include <pthread.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <netdb.h>], -[int skr; - struct hostent *foo = gethostbyaddr_r((const char *) 0, - 0, 0, (struct hostent *) 0, (char *) NULL, 0, &skr); return (foo == 0);], -mysql_cv_gethost_style=solaris, mysql_cv_gethost_style=other)) -AC_LANG_RESTORE -CXXFLAGS="$ac_save_CXXFLAGS" -if test "$mysql_cv_gethost_style" = "solaris" -then - AC_DEFINE([HAVE_SOLARIS_STYLE_GETHOST], [1], - [Solaris define gethostbyaddr_r with 7 arguments. glibc2 defines this with 8 arguments]) -fi - -#---START: Used in for client configure - -# Check definition of gethostbyname_r (glibc2.0.100 is different from Solaris) -ac_save_CXXFLAGS="$CXXFLAGS" -AC_CACHE_CHECK([style of gethostbyname_r routines], mysql_cv_gethostbyname_style, -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -if test "$ac_cv_prog_gxx" = "yes" -a "$with_other_libc" = "no" -then - CXXFLAGS=`echo "$CXXFLAGS -Werror" | sed -e 's/-fbranch-probabilities//; s/-Wall//; s/-ansi//; s/-pedantic//; s/-Wcheck//'` -fi -AC_TRY_COMPILE( -[#undef inline -#if !defined(SCO) && !defined(__osf__) && !defined(_REENTRANT) -#define _REENTRANT -#endif -#include <pthread.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <netdb.h>], -[int skr; - - skr = gethostbyname_r((const char *) 0, - (struct hostent*) 0, (char*) 0, 0, (struct hostent **) 0, &skr);], -mysql_cv_gethostbyname_style=glibc2, mysql_cv_gethostbyname_style=other)) -AC_LANG_RESTORE -CXXFLAGS="$ac_save_CXXFLAGS" -if test "$mysql_cv_gethostbyname_style" = "glibc2" -then - AC_DEFINE([HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE], [1], - [Solaris define gethostbyname_r with 5 arguments. glibc2 defines this with 6 arguments]) -fi - -# Check 3rd argument of getthostbyname_r -ac_save_CXXFLAGS="$CXXFLAGS" -AC_CACHE_CHECK([3 argument to gethostbyname_r routines], mysql_cv_gethostbyname_arg, -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -if test "$ac_cv_prog_gxx" = "yes" -a "$with_other_libc" = "no" -then - CXXFLAGS=`echo "$CXXFLAGS -Werror" | sed -e 's/-fbranch-probabilities//; s/-Wall//; s/-ansi//; s/-pedantic//; s/-Wcheck//'` -fi -AC_TRY_COMPILE( -[#undef inline -#if !defined(SCO) && !defined(__osf__) && !defined(_REENTRANT) -#define _REENTRANT -#endif -#include <pthread.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <netdb.h>], -[int skr; - - skr = gethostbyname_r((const char *) 0, (struct hostent*) 0, (struct hostent_data*) 0);], -mysql_cv_gethostbyname_arg=hostent_data, mysql_cv_gethostbyname_arg=char)) -AC_LANG_RESTORE -CXXFLAGS="$ac_save_CXXFLAGS" -if test "$mysql_cv_gethostbyname_arg" = "hostent_data" -then - AC_DEFINE([HAVE_GETHOSTBYNAME_R_RETURN_INT], [1], - [In OSF 4.0f the 3'd argument to gethostbyname_r is hostent_data *]) -fi - - -# Check definition of pthread_getspecific -AC_CACHE_CHECK("args to pthread_getspecific", mysql_cv_getspecific_args, -AC_TRY_COMPILE( -[#if !defined(SCO) && !defined(__osf__) && !defined(_REENTRANT) -#define _REENTRANT -#endif -#define _POSIX_PTHREAD_SEMANTICS -#include <pthread.h> ], -[ void *pthread_getspecific(pthread_key_t key); -pthread_getspecific((pthread_key_t) NULL); ], -mysql_cv_getspecific_args=POSIX, mysql_cv_getspecific_args=other)) - if test "$mysql_cv_getspecific_args" = "other" - then - AC_DEFINE([HAVE_NONPOSIX_PTHREAD_GETSPECIFIC], [1], - [For some non posix threads]) - fi - - # Check definition of pthread_mutex_init - AC_CACHE_CHECK("args to pthread_mutex_init", mysql_cv_mutex_init_args, - AC_TRY_COMPILE( -[#if !defined(SCO) && !defined(__osf__) -#define _REENTRANT -#endif -#define _POSIX_PTHREAD_SEMANTICS -#include <pthread.h> ], -[ - pthread_mutexattr_t attr; - pthread_mutex_t mp; - pthread_mutex_init(&mp,&attr); ], -mysql_cv_mutex_init_args=POSIX, mysql_cv_mutex_init_args=other)) - if test "$mysql_cv_mutex_init_args" = "other" - then - AC_DEFINE([HAVE_NONPOSIX_PTHREAD_MUTEX_INIT], [1], - [For some non posix threads]) - fi -#---END: - -#---START: Used in for client configure -# Check definition of readdir_r -AC_CACHE_CHECK("args to readdir_r", mysql_cv_readdir_r, -AC_TRY_LINK( -[#if !defined(SCO) && !defined(__osf__) -#define _REENTRANT -#endif -#define _POSIX_PTHREAD_SEMANTICS -#include <pthread.h> -#include <dirent.h>], -[ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -readdir_r((DIR *) NULL, (struct dirent *) NULL, (struct dirent **) NULL); ], -mysql_cv_readdir_r=POSIX, mysql_cv_readdir_r=other)) -if test "$mysql_cv_readdir_r" = "POSIX" -then - AC_DEFINE([HAVE_READDIR_R], [1], [POSIX readdir_r]) -fi - -# Check definition of posix sigwait() -AC_CACHE_CHECK("style of sigwait", mysql_cv_sigwait, -AC_TRY_LINK( -[#if !defined(SCO) && !defined(__osf__) -#define _REENTRANT -#endif -#define _POSIX_PTHREAD_SEMANTICS -#include <pthread.h> -#include <signal.h>], -[#ifndef _AIX -sigset_t set; -int sig; -sigwait(&set,&sig); -#endif], -mysql_cv_sigwait=POSIX, mysql_cv_sigwait=other)) -if test "$mysql_cv_sigwait" = "POSIX" -then - AC_DEFINE([HAVE_SIGWAIT], [1], [POSIX sigwait]) -fi - -if test "$mysql_cv_sigwait" != "POSIX" -then -unset mysql_cv_sigwait -# Check definition of posix sigwait() -AC_CACHE_CHECK("style of sigwait", mysql_cv_sigwait, -AC_TRY_LINK( -[#if !defined(SCO) && !defined(__osf__) -#define _REENTRANT -#endif -#define _POSIX_PTHREAD_SEMANTICS -#include <pthread.h> -#include <signal.h>], -[sigset_t set; -int sig; -sigwait(&set);], -mysql_cv_sigwait=NONPOSIX, mysql_cv_sigwait=other)) -if test "$mysql_cv_sigwait" = "NONPOSIX" -then - AC_DEFINE([HAVE_NONPOSIX_SIGWAIT], [1], [sigwait with one argument]) -fi -fi -#---END: - -#Check for x86 PAUSE instruction -AC_MSG_CHECKING("for x86 PAUSE instruction") -# We have to actually try running the test program, because of a bug -# in Solaris on x86_64, where it wrongly reports that PAUSE is not -# supported when trying to run an application. See -# http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684 -AC_TRY_RUN([ - int main() { - __asm__ __volatile__ ("pause"); - return 0; - } - ], - [x86_pause_exists=yes], - [x86_pause_exists=no], - [x86_pause_exists=no] # Cross-compile, assume no PAUSE instruction -) -AC_TRY_RUN([ - int main() { - __asm__ __volatile__ ("rep; nop"); - return 0; - } - ], - [x86_fake_pause_exists=yes], - [x86_fake_pause_exists=no], - [x86_fake_pause_exists=no] # Cross-compile, assume no x86 NOP instruction -) -if test "$x86_pause_exists" = "yes" -then - AC_DEFINE([HAVE_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist]) -else - if test "$x86_fake_pause_exists" = "yes" - then - AC_DEFINE([HAVE_FAKE_PAUSE_INSTRUCTION], [1], [Does x86 NOP instruction exist]) - fi -fi - -# Check if pthread_attr_setscope() exists -AC_CACHE_CHECK("for pthread_attr_setscope", mysql_cv_pthread_attr_setscope, -AC_TRY_LINK( -[#if !defined(SCO) && !defined(__osf__) -#define _REENTRANT -#endif -#define _POSIX_PTHREAD_SEMANTICS -#include <pthread.h>], -[pthread_attr_t thr_attr; -pthread_attr_setscope(&thr_attr,0);], -mysql_cv_pthread_attr_setscope=yes, mysql_cv_pthread_attr_setscope=no)) -if test "$mysql_cv_pthread_attr_setscope" = "yes" -then - AC_DEFINE([HAVE_PTHREAD_ATTR_SETSCOPE], [1], [pthread_attr_setscope]) -fi - -# Check for bad includes -AC_MSG_CHECKING("can netinet files be included") -AC_TRY_COMPILE( -[#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in_systm.h> -#include <netinet/in.h> -#include <netinet/ip.h> -#include <netinet/tcp.h>], -[ printf("1\n"); ], -netinet_inc=yes, netinet_inc=no) -if test "$netinet_inc" = "no" -then - AC_DEFINE([HAVE_BROKEN_NETINET_INCLUDES], [1], [Can netinet be included]) -fi -AC_MSG_RESULT("$netinet_inc") - -AC_CACHE_CHECK([support for weak symbols], mysql_cv_weak_symbol, -[AC_TRY_LINK([],[ - extern void __attribute__((weak)) foo(void); -], [mysql_cv_weak_symbol=yes], [mysql_cv_weak_symbol=no])]) - -if test "x$mysql_cv_weak_symbol" = xyes; then - AC_DEFINE(HAVE_WEAK_SYMBOL, 1, - [Define to 1 if compiler supports weak symbol attribute.]) -fi - -AC_CACHE_CHECK([whether __bss_start is defined], mysql_cv_bss_start, -[AC_TRY_LINK([],[ - extern char *__bss_start; - return __bss_start ? 1 : 0; -], [mysql_cv_bss_start=yes], [mysql_cv_bss_start=no])]) - -if test "x$mysql_cv_bss_start" = xyes; then - AC_DEFINE(HAVE_BSS_START, 1, - [Define to 1 if compiler defines __bss_start.]) -fi - -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -AC_CHECK_HEADERS(cxxabi.h) -AC_CACHE_CHECK([for abi::__cxa_demangle], mysql_cv_cxa_demangle, -[AC_TRY_LINK([#include <cxxabi.h>], [ - char *foo= 0; int bar= 0; - foo= abi::__cxa_demangle(foo, foo, 0, &bar); -], [mysql_cv_cxa_demangle=yes], [mysql_cv_cxa_demangle=no])]) -AC_LANG_RESTORE - -if test "x$mysql_cv_cxa_demangle" = xyes; then - AC_DEFINE(HAVE_ABI_CXA_DEMANGLE, 1, - [Define to 1 if you have the `abi::__cxa_demangle' function.]) -fi - -#-------------------------------------------------------------------- -# Check for requested features -#-------------------------------------------------------------------- - -MYSQL_CHECK_BIG_TABLES -MYSQL_CHECK_MAX_INDEXES -MYSQL_CHECK_VIO -MYSQL_CHECK_SSL - -#-------------------------------------------------------------------- -# Declare our plugin modules -# Has to be done late, as the plugin may need to check for existence of -# functions tested above -#-------------------------------------------------------------------- - -MYSQL_STORAGE_ENGINE(partition, partition, [Partition Support], - [MySQL Partitioning Support], [max,max-no-ndb]) - -dnl -- ndbcluster requires partition to be enabled - -MYSQL_CONFIGURE_PLUGINS([default]) - -# Only build client code? -AC_ARG_WITH(server, - [ --without-server Only build the client.], - [with_server=$withval], - [with_server=yes] -) - -AC_ARG_WITH(embedded-server, - [ --with-embedded-server Build the embedded server (libmysqld).], - [with_embedded_server=$withval], - [with_embedded_server=no] -) - -AC_ARG_WITH(query_cache, - [ --without-query-cache Do not build query cache.], - [with_query_cache=$withval], - [with_query_cache=yes] -) - -if test "$with_query_cache" = "yes" -then - AC_DEFINE([HAVE_QUERY_CACHE], [1], [If we want to have query cache]) -fi - -AC_ARG_WITH(geometry, - [ --without-geometry Do not build geometry-related parts.], - [with_geometry=$withval], - [with_geometry=yes] -) - -if test "$with_geometry" = "yes" -then - AC_DEFINE([HAVE_SPATIAL], [1], [Spatial extentions]) - AC_DEFINE([HAVE_RTREE_KEYS], [1], [RTree keys]) -fi - -AC_ARG_WITH(embedded_privilege_control, - [ --with-embedded-privilege-control - Build parts to check user's privileges. - Only affects embedded library.], - [with_embedded_privilege_control=$withval], - [with_embedded_privilege_control=no] -) - -if test "$with_embedded_privilege_control" = "yes" -then - AC_DEFINE([HAVE_EMBEDDED_PRIVILEGE_CONTROL], [1], - [Access checks in embedded library]) -fi - -#MYSQL_CHECK_CPU - -libmysqld_dirs= -if test "$with_embedded_server" = "yes" -then - libmysqld_dirs=libmysqld - - # We can't build embedded library without building the server, because - # we depend on libmysys, libmystrings, libmyisam, etc. - with_server=yes -fi -# XXX: We need to add @libmysqld_extra_libs@ (or whatever) so that -# mysql_config --libmysqld-libs will print out something like -# -L/path/to/lib/mysql -lmysqld -lmyisam -lmysys -lmystrings -ldbug ... -AC_SUBST([libmysqld_dirs]) - -# Shall we build the docs? -AC_ARG_WITH(docs, - [ --without-docs Skip building of the documentation.], - [with_docs=$withval], - [with_docs=yes] -) - -if test "$with_docs" = "yes" -then - docs_dirs="Docs" - if test -f "$srcdir/Docs/manual.chm" ; then - extra_docs="manual.chm" - fi -else - docs_dirs="" - extra_docs="" -fi -AC_SUBST(docs_dirs) -AC_SUBST(extra_docs) - -# Shall we build the man pages? -AC_ARG_WITH(man, - [ --without-man Skip building of the man pages.], - [with_man=$withval], - [with_man=yes] -) - -# Don't build readline, i have it already -AC_ARG_WITH(readline, - [ --without-readline Use system readline instead of bundled copy.], - [ with_readline=$withval ], - [ with_readline=undefined ] - ) - -AC_ARG_WITH(libedit, - [ --without-libedit Use system libedit instead of bundled copy.], - [ with_libedit=$withval ], - [ with_libedit=undefined ] - ) - -if test "$with_readline/$with_libedit" = "undefined/undefined" -a ! -e "$srcdir/cmd-line-utils" -then - with_readline=no - with_libedit=no -fi - -# -# We support next variants of compilation: -# --with-readline -# | yes | no | undefined -# --with-libedit | | | -# ---------------+----------------+------+---------------------------------- -# yes | ERROR! | use libedit from mysql sources -# ---------------+----------------+------+---------------------------------- -# no | use readline | use system readline or external libedit -# | from mysql | according to results of m4 tests -# ---------------+ sources (if it + +---------------------------------- -# undefined | is presented) | | use libedit from mysql sources - - -compile_readline="no" -compile_libedit="no" - -if [test "$with_libedit" = "yes"] && [test "$with_readline" = "yes"] -then - AC_MSG_ERROR([You can not use --with-readline and --with-libedit at the same time, please choose one of it]) -fi - -readline_topdir="" -readline_basedir="" -readline_dir="" -readline_h_ln_cmd="" -readline_link="" -want_to_use_readline="no" - -if [test "$with_libedit" = "yes"] || [test "$with_libedit" = "undefined"] && [test "$with_readline" = "undefined"] -then - readline_topdir="cmd-line-utils" - readline_basedir="libedit" - readline_dir="$readline_topdir/$readline_basedir" - readline_link="\$(top_builddir)/cmd-line-utils/libedit/libedit.a" - readline_h_ln_cmd="\$(LN) -s \$(top_srcdir)/cmd-line-utils/libedit/readline readline" - compile_libedit=yes - AC_DEFINE_UNQUOTED(HAVE_HIST_ENTRY, 1) - AC_DEFINE_UNQUOTED(USE_LIBEDIT_INTERFACE, 1) -elif test "$with_readline" = "yes" -then - readline_topdir="cmd-line-utils" - readline_basedir="readline" - readline_dir="$readline_topdir/$readline_basedir" - readline_link="\$(top_builddir)/cmd-line-utils/readline/libreadline.a" - readline_h_ln_cmd="\$(LN) -s \$(top_srcdir)/cmd-line-utils/readline readline" - compile_readline=yes - want_to_use_readline="yes" - AC_DEFINE_UNQUOTED(USE_NEW_READLINE_INTERFACE, 1) -else - # Use system readline library - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - MYSQL_CHECK_LIBEDIT_INTERFACE - MYSQL_CHECK_NEW_RL_INTERFACE - MYSQL_CHECK_READLINE_DECLARES_HIST_ENTRY - AC_LANG_RESTORE - if [test "$mysql_cv_new_rl_interface" = "yes"] && [test -d "$srcdir/cmd-line-utils/readline"] - then - # Use the new readline interface, but only if the package includes a bundled libreadline - # this way we avoid linking commercial source with GPL readline - readline_link="-lreadline" - want_to_use_readline="yes" - elif [test "$mysql_cv_libedit_interface" = "yes"] - then - # Use libedit - readline_link="-ledit" - else - AC_MSG_ERROR([Could not find system readline or libedit libraries - Use --with-readline or --with-libedit to use the bundled - versions of libedit or readline]) - fi -fi - -# if there is no readline, but we want to build with readline, we fail -if [test "$want_to_use_readline" = "yes"] && [test ! -d "$srcdir/cmd-line-utils/readline"] -then - AC_MSG_ERROR([This commercially licensed MySQL source package can't - be built with libreadline. Please use --with-libedit to use - the bundled version of libedit instead.]) -fi - -AC_SUBST(readline_dir) -AC_SUBST(readline_topdir) -AC_SUBST(readline_basedir) -AC_SUBST(readline_link) -AC_SUBST(readline_h_ln_cmd) - - - -# Include man pages, if desired, adapted to the configured parts. -if test X"$with_man" = Xyes -then - # First, create the list of all man pages present. - MANLISTFIL=manlist.$$ - TMPLISTFIL=`echo $MANLISTFIL | sed -e 's/manlist/tmplist/'` - if test -f $MANLISTFIL -o -f $TMPLISTFIL - then - echo "Temp file '$MANLISTFIL' or '$TMPLISTFIL' already exists in '`pwd`' - aborting" - exit 1 - fi - touch $MANLISTFIL $TMPLISTFIL - - ls $srcdir/man/*.[[18]] > $MANLISTFIL - - # Then, remove all those pages from the list which are specific to parts - # (table handlers, features, ...) which are not configured in this run. - AC_MSG_CHECKING("for man pages to remove") - MAN_DROP="dropping" - if test X"$with_plugin_ndbcluster" != Xyes - then - MAN_DROP="$MAN_DROP ndbcluster" - grep -v '/ndb' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL - fi - if test X"$with_embedded_server" != Xyes - then - MAN_DROP="$MAN_DROP embedded" - grep -v 'embedded' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL - fi - if test X"$with_plugin_innobase" != Xyes - then - MAN_DROP="$MAN_DROP innodb" - grep -v 'inno' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL - fi - AC_MSG_RESULT([$MAN_DROP]) - - # Finally, split the man pages into sections 1 and 8. - # Get rid of line breaks. - man1_files=`sed -n -e '/\.1$/s/^.*man\///p' <$MANLISTFIL` - man8_files=`sed -n -e '/\.8$/s/^.*man\///p' <$MANLISTFIL` - - man_dirs="man" - man1_files=`echo $man1_files` - man8_files=`echo $man8_files` - rm -f $MANLISTFIL $TMPLISTFIL -else - man_dirs="" - man1_files="" - man8_files="" -fi -AC_SUBST(man_dirs) -AC_SUBST(man1_files) -AC_SUBST(man8_files) - -# If we have threads generate some library functions and test programs -sql_server_dirs= -sql_server= -server_scripts= - -dnl This probably should be cleaned up more - for now the threaded -dnl client is just using plain-old libs. -sql_client_dirs="strings mysys dbug extra regex libmysql" - -AM_CONDITIONAL(THREAD_SAFE_CLIENT, test "$THREAD_SAFE_CLIENT" != "no") - -if test "$THREAD_SAFE_CLIENT" != "no" -then - sql_client_dirs="$sql_client_dirs libmysql_r" - AC_DEFINE([THREAD_SAFE_CLIENT], [1], [Should the client be thread safe]) -fi -sql_client_dirs="$sql_client_dirs client" - -CLIENT_LIBS="$NON_THREADED_LIBS $openssl_libs $ZLIB_LIBS $STATIC_NSS_FLAGS" - -AC_SUBST(CLIENT_LIBS) -AC_SUBST(CLIENT_THREAD_LIBS) -AC_SUBST(NON_THREADED_LIBS) -AC_SUBST(STATIC_NSS_FLAGS) -AC_SUBST(sql_client_dirs) - -if test "$with_server" != "no" -o "$THREAD_SAFE_CLIENT" != "no" -then - AC_DEFINE([THREAD], [1], - [Define if you want to have threaded code. This may be undef on client code]) - # Avoid _PROGRAMS names - THREAD_LOBJECTS="thr_alarm.o thr_lock.o thr_mutex.o thr_rwlock.o my_pthread.o my_thr_init.o mf_keycache.o" - AC_SUBST(THREAD_LOBJECTS) -fi -AM_CONDITIONAL(NEED_THREAD, test "$with_server" != "no" -o "$THREAD_SAFE_CLIENT" != "no") - -if test "$with_server" != "no" -then - server_scripts="mysqld_safe mysql_install_db" - sql_server_dirs="strings mysys dbug extra regex storage plugin" - - sql_server="vio sql" -fi - -# "innochecksum" is not in the "innobase/" subdirectory, but should be switched -AM_CONDITIONAL([BUILD_INNODB_TOOLS], [test X"$with_plugin_innobase" = Xyes]) - -# IMPORTANT - do not modify LIBS past this line - this hack is the only way -# I know to add the static NSS magic if we have static NSS libraries with -# glibc - Sasha - -LDFLAGS="$LDFLAGS $OTHER_LIBC_LIB" -LIBS="$LIBS $STATIC_NSS_FLAGS" - -AC_SUBST(sql_server_dirs) -AC_SUBST(sql_server) -AC_SUBST(server_scripts) - -AC_SUBST(mysql_plugin_dirs) -AC_SUBST(mysql_plugin_libs) -AC_SUBST(mysql_optional_plugins) -AC_SUBST(mysql_mandatory_plugins) - -# Now that sql_client_dirs and sql_server_dirs are stable, determine the union. -# We support client-only builds by "--without-server", but not vice versa, -# so we start with the client list, then add each server item not yet present. -sql_union_dirs=" $sql_client_dirs " -for DIR in $sql_server_dirs -do - if echo " $sql_union_dirs " | grep " $DIR " >/dev/null - then - : # already present, skip - else - sql_union_dirs="$sql_union_dirs $DIR " - fi -done -AC_SUBST(sql_union_dirs) - -# -# Setup maintainer mode options by the end to not disturb -# system and other checks. -# -MY_MAINTAINER_MODE_SETUP - -# Some usefull subst -AC_SUBST(CC) -AC_SUBST(GXX) - -# Set configuration options for make_binary_distribution -AC_SUBST(MAKE_BINARY_DISTRIBUTION_OPTIONS) - -#-------------------------------------------------------------------- -# Support for WL#2373 (Use cycle counter for timing) -#-------------------------------------------------------------------- - -AC_CHECK_HEADERS(time.h) -AC_CHECK_HEADERS(sys/time.h) -AC_CHECK_HEADERS(sys/times.h) -AC_CHECK_HEADERS(asm/msr.h) -#msr.h has rdtscll() - -AC_CHECK_HEADERS(ia64intrin.h) - -AC_CHECK_FUNCS(times) -AC_CHECK_FUNCS(gettimeofday) -AC_CHECK_FUNCS(read_real_time) -# This should work on AIX. - -AC_CHECK_FUNCS(ftime) -# This is still a normal call for milliseconds. - -AC_CHECK_FUNCS(time) -# We can use time() on Macintosh if there is no ftime(). - -AC_CHECK_FUNCS(rdtscll) -# I doubt that we'll ever reach the check for this. - -# When compiling with Sun Studio C / C++ we need to include -# my_timer_cycles.il, an "inline templates" separate file, -# on the command line. It has assembly code, "rd %tick" for -# SPARC or "rdtsc" for x86. -RDTSC_SPARC_ASSEMBLY="" -case $CC_VERSION in - *Sun*C*) - RDTSC_SPARC_ASSEMBLY="my_timer_cycles.il" - ;; -esac -case $CXX_VERSION in - *Sun*C++*) - RDTSC_SPARC_ASSEMBLY="my_timer_cycles.il" - ;; -esac - -AC_SUBST([RDTSC_SPARC_ASSEMBLY]) - - -#-------------------------------------------------------------------- -# Output results -#-------------------------------------------------------------------- - -if test -d "$srcdir/cmd-line-utils/readline" ; then - AC_CONFIG_FILES(cmd-line-utils/readline/Makefile) -fi - -AC_CONFIG_FILES(Makefile extra/Makefile mysys/Makefile dnl - unittest/Makefile unittest/mytap/Makefile unittest/mytap/t/Makefile dnl - unittest/mysys/Makefile unittest/strings/Makefile dnl - unittest/examples/Makefile dnl - strings/Makefile regex/Makefile storage/Makefile dnl - man/Makefile BUILD/Makefile vio/Makefile dnl - libmysql/Makefile libmysql_r/Makefile client/Makefile dnl - sql/Makefile sql/share/Makefile dnl - sql/sql_builtin.cc sql-common/Makefile libservices/Makefile dnl - dbug/Makefile scripts/Makefile include/Makefile dnl - tests/Makefile Docs/Makefile support-files/Makefile dnl - support-files/MacOSX/Makefile support-files/RHEL4-SElinux/Makefile dnl - cmd-line-utils/Makefile cmd-line-utils/libedit/Makefile dnl - libmysqld/Makefile libmysqld/examples/Makefile dnl - mysql-test/Makefile mysql-test/lib/My/SafeProcess/Makefile dnl - sql-bench/Makefile include/mysql_version.h plugin/Makefile win/Makefile dnl - cmake/Makefile packaging/Makefile - ) - -AC_CONFIG_COMMANDS([default], , test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h) - -# Ensure that table handlers gets all modifications to CFLAGS/CXXFLAGS -AC_CONFIG_COMMANDS_POST(ac_configure_args="$ac_configure_args CFLAGS='$CFLAGS' CXXFLAGS='$CXXFLAGS'") - -AC_OUTPUT - -# The first line "Thank you ..." is checked in ./Do-compile to verify that configure -# ended sucessfully - don't remove it. -echo -echo "Thank you for choosing MySQL!" -echo -echo "Remember to check the platform specific part of the reference manual" -echo "for hints about installing MySQL on your platform." -echo "Also have a look at the files in the Docs directory." -echo |