summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in3013
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