mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
67ce247965
Renamed HA_VAR_LENGTH to HA_VAR_LENGTH_PART Renamed in all files FIELD_TYPE_STRING and FIELD_TYPE_VAR_STRING to MYSQL_TYPE_STRING and MYSQL_TYPE_VAR_STRING to make it easy to catch all possible errors Added support for VARCHAR KEYS to heap Removed support for ISAM Now only long VARCHAR columns are changed to TEXT on demand (not CHAR) Internal temporary files can now use fixed length tables if the used VARCHAR columns are short
3179 lines
95 KiB
Text
3179 lines
95 KiB
Text
dnl -*- ksh -*-
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
AC_INIT(sql/mysqld.cc)
|
|
AC_CANONICAL_SYSTEM
|
|
# The Docs Makefile.am parses this line!
|
|
# remember to also change ndb version below and update version.c in ndb
|
|
AM_INIT_AUTOMAKE(mysql, 5.0.2-alpha)
|
|
AM_CONFIG_HEADER(config.h)
|
|
|
|
PROTOCOL_VERSION=10
|
|
DOT_FRM_VERSION=6
|
|
# See the libtool docs for information on how to do shared lib versions.
|
|
SHARED_LIB_VERSION=14:0:0
|
|
|
|
# ndb version
|
|
NDB_VERSION_MAJOR=5
|
|
NDB_VERSION_MINOR=0
|
|
NDB_VERSION_BUILD=2
|
|
NDB_VERSION_STATUS="alpha"
|
|
|
|
# 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
|
|
MYSQL_NO_DASH_VERSION=`echo $VERSION | sed -e "s|[[a-z]]*-.*$||"`
|
|
MYSQL_BASE_VERSION=`echo $MYSQL_NO_DASH_VERSION | sed -e "s|\.[[^.]]*$||"`
|
|
MYSQL_VERSION_ID=`echo $MYSQL_NO_DASH_VERSION. | sed -e 's/\./ /g; s/ \([[0-9]]\) / 0\\1 /g; s/ //g'`
|
|
|
|
# The port should be constant for a LONG time
|
|
MYSQL_TCP_PORT_DEFAULT=3306
|
|
MYSQL_UNIX_ADDR_DEFAULT="/tmp/mysql.sock"
|
|
|
|
# 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"
|
|
|
|
# Generate make rules for all error messages
|
|
AVAILABLE_LANGUAGES_ERRORS=
|
|
AVAILABLE_LANGUAGES_ERRORS_RULES=$srcdir/ac_available_languages_fragment
|
|
rm -f $AVAILABLE_LANGUAGES_ERRORS_RULES
|
|
for i in $AVAILABLE_LANGUAGES
|
|
do
|
|
AVAILABLE_LANGUAGES_ERRORS="$AVAILABLE_LANGUAGES_ERRORS $i/errmsg.sys"
|
|
case $host_os in
|
|
netware*)
|
|
echo "$i/errmsg.sys: $i/errmsg.txt
|
|
\$(top_builddir)/extra/comp_err.linux -C\$(srcdir)/charsets/ $i/errmsg.txt $i/errmsg.sys" \
|
|
>> $AVAILABLE_LANGUAGES_ERRORS_RULES
|
|
;;
|
|
*)
|
|
echo "$i/errmsg.sys: $i/errmsg.txt
|
|
\$(top_builddir)/extra/comp_err -C\$(srcdir)/charsets/ $i/errmsg.txt $i/errmsg.sys" \
|
|
>> $AVAILABLE_LANGUAGES_ERRORS_RULES
|
|
;;
|
|
esac
|
|
done
|
|
|
|
#####
|
|
#####
|
|
|
|
AC_SUBST(MYSQL_NO_DASH_VERSION)
|
|
AC_SUBST(MYSQL_BASE_VERSION)
|
|
AC_SUBST(MYSQL_VERSION_ID)
|
|
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_VERSION)
|
|
AC_SUBST(AVAILABLE_LANGUAGES)
|
|
AC_SUBST(AVAILABLE_LANGUAGES_ERRORS)
|
|
AC_SUBST_FILE(AVAILABLE_LANGUAGES_ERRORS_RULES)
|
|
|
|
AC_SUBST([NDB_VERSION_MAJOR])
|
|
AC_SUBST([NDB_VERSION_MINOR])
|
|
AC_SUBST([NDB_VERSION_BUILD])
|
|
AC_SUBST([NDB_VERSION_STATUS])
|
|
AC_DEFINE_UNQUOTED([NDB_VERSION_MAJOR], [$NDB_VERSION_MAJOR],
|
|
[NDB major version])
|
|
AC_DEFINE_UNQUOTED([NDB_VERSION_MINOR], [$NDB_VERSION_MINOR],
|
|
[NDB minor version])
|
|
AC_DEFINE_UNQUOTED([NDB_VERSION_BUILD], [$NDB_VERSION_BUILD],
|
|
[NDB build version])
|
|
AC_DEFINE_UNQUOTED([NDB_VERSION_STATUS], ["$NDB_VERSION_STATUS"],
|
|
[NDB status version])
|
|
|
|
|
|
# Canonicalize the configuration name.
|
|
SYSTEM_TYPE="$host_vendor-$host_os"
|
|
MACHINE_TYPE="$host_cpu"
|
|
AC_SUBST(SYSTEM_TYPE)
|
|
AC_DEFINE_UNQUOTED([SYSTEM_TYPE], ["$SYSTEM_TYPE"],
|
|
[Name of system, eg solaris])
|
|
AC_SUBST(MACHINE_TYPE)
|
|
AC_DEFINE_UNQUOTED([MACHINE_TYPE], ["$MACHINE_TYPE"],
|
|
[Machine type name, eg sun10])
|
|
|
|
# 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_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_ASFLAGS)
|
|
AC_SUBST(SAVE_CFLAGS)
|
|
AC_SUBST(SAVE_CXXFLAGS)
|
|
AC_SUBST(SAVE_LDFLAGS)
|
|
AC_SUBST(SAVE_CXXLDFLAGS)
|
|
AC_SUBST(CXXLDFLAGS)
|
|
|
|
AC_PREREQ(2.12)dnl Minimum Autoconf version required.
|
|
|
|
#AC_ARG_PROGRAM # Automaticly invoked by AM_INIT_AUTOMAKE
|
|
AM_SANITY_CHECK
|
|
# This is needed is SUBDIRS is set
|
|
AC_PROG_MAKE_SET
|
|
# This generates rules for webpage generation for the MySQL homepage.
|
|
AM_CONDITIONAL(LOCAL, test -d ../web/SitePages)
|
|
|
|
# This is need before AC_PROG_CC
|
|
#
|
|
|
|
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
|
|
|
|
# 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)
|
|
case $SYSTEM_TYPE in
|
|
*netware*)
|
|
CC_VERSION=`$CC -version | grep -i version`
|
|
;;
|
|
*)
|
|
CC_VERSION=`$CC --version | sed 1q`
|
|
;;
|
|
esac
|
|
if test $? -eq "0"
|
|
then
|
|
AC_MSG_CHECKING("C Compiler version");
|
|
AC_MSG_RESULT("$CC $CC_VERSION")
|
|
else
|
|
CC_VERSION=""
|
|
fi
|
|
case $SYSTEM_TYPE in
|
|
*netware*)
|
|
CXX_VERSION=`$CXX -version | grep -i version`
|
|
;;
|
|
*)
|
|
CXX_VERSION=`$CXX --version | sed 1q`
|
|
;;
|
|
esac
|
|
if test $? -eq "0"
|
|
then
|
|
AC_MSG_CHECKING("C++ compiler version");
|
|
AC_MSG_RESULT("$CXX $CXX_VERSION")
|
|
else
|
|
CXX_VERSION=""
|
|
fi
|
|
AC_SUBST(CXX_VERSION)
|
|
AC_SUBST(CC_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_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_PROG_YACC
|
|
AC_CHECK_PROG(PDFMANUAL, pdftex, manual.pdf)
|
|
AC_CHECK_PROG(DVIS, tex, manual.dvi)
|
|
|
|
AC_MSG_CHECKING("return type of sprintf")
|
|
|
|
#check the return type of sprintf
|
|
case $SYSTEM_TYPE in
|
|
*netware*)
|
|
AC_DEFINE(SPRINTF_RETURNS_INT, [1]) AC_MSG_RESULT("int")
|
|
;;
|
|
*)
|
|
AC_TRY_RUN([
|
|
int main()
|
|
{
|
|
char* s = "hello";
|
|
char buf[6];
|
|
if((int)sprintf(buf, s) == strlen(s))
|
|
return 0;
|
|
|
|
return -1;
|
|
}
|
|
],
|
|
[AC_DEFINE(SPRINTF_RETURNS_INT, [1], [POSIX sprintf])
|
|
AC_MSG_RESULT("int")],
|
|
[AC_TRY_RUN([
|
|
int main()
|
|
{
|
|
char* s = "hello";
|
|
char buf[6];
|
|
if((char*)sprintf(buf,s) == buf + strlen(s))
|
|
return 0;
|
|
return -1;
|
|
} ],
|
|
[AC_DEFINE(SPRINTF_RETURNS_PTR, [1], [Broken sprintf])
|
|
AC_MSG_RESULT("ptr")],
|
|
[AC_DEFINE(SPRINTF_RETURNS_GARBAGE, [1], [Broken sprintf])
|
|
AC_MSG_RESULT("garbage")])
|
|
])
|
|
;;
|
|
esac
|
|
|
|
|
|
# option, cache_name, variable,
|
|
# code to execute if yes, code to exectute if fail
|
|
AC_DEFUN([AC_SYS_COMPILER_FLAG],
|
|
[
|
|
AC_MSG_CHECKING($1)
|
|
OLD_CFLAGS="[$]CFLAGS"
|
|
AC_CACHE_VAL(mysql_cv_option_$2,
|
|
[
|
|
CFLAGS="[$]OLD_CFLAGS $1"
|
|
AC_TRY_RUN([int main(){exit(0);}],mysql_cv_option_$2=yes,mysql_cv_option_$2=no,mysql_cv_option_$2=no)
|
|
])
|
|
|
|
CFLAGS="[$]OLD_CFLAGS"
|
|
|
|
if test x"[$]mysql_cv_option_$2" = "xyes" ; then
|
|
$3="[$]$3 $1"
|
|
AC_MSG_RESULT(yes)
|
|
$5
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
$4
|
|
fi
|
|
])
|
|
|
|
# arch, option, cache_name, variable
|
|
AC_DEFUN([AC_SYS_CPU_COMPILER_FLAG],
|
|
[
|
|
if test "`uname -m 2>/dev/null`" = "$1" ; then
|
|
AC_SYS_COMPILER_FLAG($2,$3,$4)
|
|
fi
|
|
])
|
|
|
|
# os, option, cache_name, variable
|
|
AC_DEFUN([AC_SYS_OS_COMPILER_FLAG],
|
|
[
|
|
if test "x$mysql_cv_sys_os" = "x$1" ; then
|
|
AC_SYS_COMPILER_FLAG($2,$3,$4)
|
|
fi
|
|
])
|
|
|
|
# We need some special hacks when running slowaris
|
|
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*) ;;
|
|
*) echo "Adding -belf option to ldflags."
|
|
LDFLAGS="$LDFLAGS -belf"
|
|
;;
|
|
esac
|
|
])
|
|
;;
|
|
*)
|
|
AC_SYS_COMPILER_FLAG(-belf,sco_belf_option,CFLAGS,[],[
|
|
case "$LDFLAGS" in
|
|
*-belf*) ;;
|
|
*)
|
|
echo "Adding -belf option to ldflags."
|
|
LDFLAGS="$LDFLAGS -belf"
|
|
;;
|
|
esac
|
|
])
|
|
;;
|
|
esac
|
|
;;
|
|
sysv5UnixWare*)
|
|
if test "$GCC" != "yes"; then
|
|
# We are using built-in inline function
|
|
CFLAGS="$CFLAGS -Kalloca"
|
|
fi
|
|
CXXFLAGS="$CXXFLAGS -DNO_CPLUSPLUS_ALLOCA"
|
|
;;
|
|
sysv5OpenUNIX8*)
|
|
if test "$GCC" != "yes"; then
|
|
# We are using built-in inline function
|
|
CFLAGS="$CFLAGS -Kalloca"
|
|
fi
|
|
CXXFLAGS="$CXXFLAGS -DNO_CPLUSPLUS_ALLOCA"
|
|
;;
|
|
esac
|
|
AC_SUBST(CC)
|
|
AC_SUBST(CFLAGS)
|
|
AC_SUBST(CXX)
|
|
AC_SUBST(CXXFLAGS)
|
|
AC_SUBST(LD)
|
|
AC_SUBST(INSTALL_SCRIPT)
|
|
|
|
export CC CXX CFLAGS LD LDFLAGS AR
|
|
|
|
ndb_cxxflags_fix=
|
|
if test "$GXX" = "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.
|
|
CXXFLAGS="$CXXFLAGS -fno-implicit-templates -fno-exceptions -fno-rtti"
|
|
|
|
# If you are using 'gcc' 3.0 (not g++) to compile C++ programs on Linux,
|
|
# we will gets some problems when linking static programs.
|
|
# The following code is used to fix this problem.
|
|
|
|
if echo $CXX | grep gcc > /dev/null 2>&1
|
|
then
|
|
if $CXX -v 2>&1 | grep 'version 3' > /dev/null 2>&1
|
|
then
|
|
CXXFLAGS="$CXXFLAGS -DUSE_MYSYS_NEW -DDEFINE_CXA_PURE_VIRTUAL"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Avoid bug in fcntl on some versions of linux
|
|
AC_MSG_CHECKING("if we should use 'skip-locking' as default for $target_os")
|
|
# Any wariation of Linux
|
|
if expr "$target_os" : "[[Ll]]inux.*" > /dev/null
|
|
then
|
|
MYSQLD_DEFAULT_SWITCHES="--skip-locking"
|
|
IS_LINUX="true"
|
|
AC_MSG_RESULT("yes");
|
|
else
|
|
MYSQLD_DEFAULT_SWITCHES=""
|
|
IS_LINUX="false"
|
|
AC_MSG_RESULT("no");
|
|
fi
|
|
AC_SUBST(MYSQLD_DEFAULT_SWITCHES)
|
|
AC_SUBST(IS_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 ! ( expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null ); then
|
|
# 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
|
|
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)
|
|
# 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)
|
|
|
|
# for build ndb docs
|
|
|
|
AC_PATH_PROG(DOXYGEN, doxygen, no)
|
|
AC_PATH_PROG(PDFLATEX, pdflatex, no)
|
|
AC_PATH_PROG(MAKEINDEX, makeindex, no)
|
|
AC_SUBST(DOXYGEN)
|
|
AC_SUBST(PDFLATEX)
|
|
AC_SUBST(MAKEINDEX)
|
|
|
|
# Lock for PS
|
|
AC_PATH_PROG(PS, ps, ps)
|
|
AC_MSG_CHECKING("how to check if pid exists")
|
|
PS=$ac_cv_path_PS
|
|
# Linux style
|
|
if $PS p $$ 2> /dev/null | grep $0 > /dev/null
|
|
then
|
|
FIND_PROC="$PS p \$\$PID | grep mysqld > /dev/null"
|
|
# Solaris
|
|
elif $PS -p $$ 2> /dev/null | grep $0 > /dev/null
|
|
then
|
|
FIND_PROC="$PS -p \$\$PID | grep mysqld > /dev/null"
|
|
# BSD style
|
|
elif $PS -uaxww 2> /dev/null | grep $0 > /dev/null
|
|
then
|
|
FIND_PROC="$PS -uaxww | grep mysqld | grep \" \$\$PID \" > /dev/null"
|
|
# SysV style
|
|
elif $PS -ef 2> /dev/null | grep $0 > /dev/null
|
|
then
|
|
FIND_PROC="$PS -ef | 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 mysqld > /dev/null"
|
|
else
|
|
case $SYSTEM_TYPE in
|
|
*freebsd*)
|
|
FIND_PROC="$PS p \$\$PID | grep mysqld > /dev/null"
|
|
;;
|
|
*darwin*)
|
|
FIND_PROC="$PS -uaxww | grep mysqld | grep \" \$\$PID \" > /dev/null"
|
|
;;
|
|
*cygwin*)
|
|
FIND_PROC="$PS -e | grep mysqld | grep \" \$\$PID \" > /dev/null"
|
|
;;
|
|
*netware*)
|
|
FIND_PROC=
|
|
;;
|
|
*)
|
|
AC_MSG_ERROR([Could not find the right ps 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
|
|
|
|
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_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)
|
|
#
|
|
|
|
if test "$IS_LINUX" = "true" -a "$static_nss" = ""
|
|
then
|
|
tmp=`nm /usr/lib/libc.a | grep _nss_files_getaliasent_r`
|
|
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 wants to have MIT threads.
|
|
AC_ARG_WITH(mit-threads,
|
|
[ --with-mit-threads Always use included thread lib.],
|
|
[ with_mit_threads=$withval ],
|
|
[ with_mit_threads=no ]
|
|
)
|
|
|
|
if test "$with_mit_threads" = "yes"
|
|
then
|
|
enable_largefile="no" # Will not work on Linux.
|
|
fi
|
|
|
|
# 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,
|
|
[ --enable-thread-safe-client
|
|
Compile the client with threads.],
|
|
[ THREAD_SAFE_CLIENT=$enableval ],
|
|
[ THREAD_SAFE_CLIENT=no ]
|
|
)
|
|
|
|
# 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")
|
|
AM_CONDITIONAL(ASSEMBLER_sparc32, test "$ENABLE_ASSEMBLER" = "yes" -a "$BASE_MACHINE_TYPE" = "sparc")
|
|
AM_CONDITIONAL(ASSEMBLER_sparc64, test "$ENABLE_ASSEMBLER" = "yes" -a "$BASE_MACHINE_TYPE" = "sparcv9")
|
|
AM_CONDITIONAL(ASSEMBLER, test "$ASSEMBLER_x86_TRUE" = "" -o "$ASSEMBLER_sparc32_TRUE" = "")
|
|
|
|
if test "$ASSEMBLER_TRUE" = ""
|
|
then
|
|
AC_MSG_RESULT([yes])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
|
|
|
|
AC_MSG_CHECKING(if we should use RAID)
|
|
AC_ARG_WITH(raid,
|
|
[ --with-raid Enable RAID Support],
|
|
[ USE_RAID=$withval ],
|
|
[ USE_RAID=no ]
|
|
)
|
|
if test "$USE_RAID" = "yes"
|
|
then
|
|
AC_MSG_RESULT([yes])
|
|
AC_DEFINE([USE_RAID], [1], [Use MySQL RAID])
|
|
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 ]
|
|
)
|
|
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
|
|
|
|
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 float.h floatingpoint.h ieeefp.h limits.h \
|
|
memory.h pwd.h select.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 linux/config.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_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
|
|
AC_CHECK_FUNC(yp_get_default_domain, ,
|
|
AC_CHECK_LIB(nsl, yp_get_default_domain))
|
|
AC_CHECK_FUNC(p2open, , AC_CHECK_LIB(gen, p2open))
|
|
# This may get things to compile even if bind-8 is installed
|
|
AC_CHECK_FUNC(bind, , AC_CHECK_LIB(bind, bind))
|
|
# For crypt() on Linux
|
|
AC_CHECK_LIB(crypt, crypt)
|
|
AC_CHECK_FUNC(crypt, AC_DEFINE([HAVE_CRYPT], [1], [crypt]))
|
|
|
|
# For sem_xxx functions on Solaris 2.6
|
|
AC_CHECK_FUNC(sem_init, , AC_CHECK_LIB(posix4, sem_init))
|
|
MYSQL_CHECK_ZLIB_WITH_COMPRESS
|
|
|
|
#--------------------------------------------------------------------
|
|
# 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)
|
|
|
|
if test "$IS_LINUX" = "true"; then
|
|
AC_MSG_CHECKING([for atomic operations])
|
|
|
|
atom_ops=
|
|
AC_TRY_RUN([
|
|
#include <asm/atomic.h>
|
|
int main()
|
|
{
|
|
atomic_t v;
|
|
|
|
atomic_set(&v, 23);
|
|
atomic_add(5, &v);
|
|
return atomic_read(&v) == 28 ? 0 : -1;
|
|
}
|
|
],
|
|
[AC_DEFINE([HAVE_ATOMIC_ADD], [1],
|
|
[atomic_add() from <asm/atomic.h> (Linux only)])
|
|
atom_ops="${atom_ops}atomic_add "],
|
|
)
|
|
AC_TRY_RUN([
|
|
#include <asm/atomic.h>
|
|
int main()
|
|
{
|
|
atomic_t v;
|
|
|
|
atomic_set(&v, 23);
|
|
atomic_sub(5, &v);
|
|
return atomic_read(&v) == 18 ? 0 : -1;
|
|
}
|
|
],
|
|
[AC_DEFINE([HAVE_ATOMIC_SUB], [1],
|
|
[atomic_sub() from <asm/atomic.h> (Linux only)])
|
|
atom_ops="${atom_ops}atomic_sub "],
|
|
)
|
|
|
|
if test -z "$atom_ops"; then atom_ops="no"; fi
|
|
AC_MSG_RESULT($atom_ops)
|
|
|
|
AC_ARG_WITH(pstack,
|
|
[ --with-pstack Use the pstack backtrace library],
|
|
[ USE_PSTACK=$withval ],
|
|
[ USE_PSTACK=no ])
|
|
pstack_libs=
|
|
pstack_dirs=
|
|
if test "$USE_PSTACK" = yes -a "$IS_LINUX" = "true" -a "$BASE_MACHINE_TYPE" = "i386" -a "$with_mit_threads" = "no"
|
|
then
|
|
have_libiberty= have_libbfd=
|
|
my_save_LIBS="$LIBS"
|
|
dnl I have no idea if this is a good test - can not find docs for libiberty
|
|
AC_CHECK_LIB([iberty], [fdmatch],
|
|
[have_libiberty=yes
|
|
AC_CHECK_LIB([bfd], [bfd_openr], [have_libbfd=yes], , [-liberty])])
|
|
LIBS="$my_save_LIBS"
|
|
|
|
if test x"$have_libiberty" = xyes -a x"$have_libbfd" = xyes
|
|
then
|
|
pstack_dirs='$(top_srcdir)'/pstack
|
|
pstack_libs="../pstack/libpstack.a -lbfd -liberty"
|
|
# We must link staticly when using pstack
|
|
with_mysqld_ldflags="-all-static"
|
|
AC_SUBST([pstack_dirs])
|
|
AC_SUBST([pstack_libs])
|
|
AC_DEFINE([USE_PSTACK], [1], [the pstack backtrace library])
|
|
dnl This check isn't needed, but might be nice to give some feedback....
|
|
dnl AC_CHECK_HEADER(libiberty.h,
|
|
dnl have_libiberty_h=yes,
|
|
dnl have_libiberty_h=no)
|
|
else
|
|
USE_PSTACK="no"
|
|
fi
|
|
else
|
|
USE_PSTACK="no"
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(COMPILE_PSTACK, test "$USE_PSTACK" = "yes")
|
|
AC_MSG_CHECKING([if we should use pstack])
|
|
AC_MSG_RESULT([$USE_PSTACK])
|
|
|
|
# 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_CHECK_FUNC(gtty, , AC_CHECK_LIB(compat, gtty))
|
|
fi
|
|
# We make a special variable for client library's to avoid including
|
|
# thread libs in the client.
|
|
NON_THREADED_CLIENT_LIBS="$LIBS $ZLIB_LIBS"
|
|
|
|
AC_MSG_CHECKING([for int8])
|
|
case $SYSTEM_TYPE in
|
|
*netware)
|
|
AC_MSG_RESULT([no])
|
|
;;
|
|
*)
|
|
AC_TRY_RUN([
|
|
#ifdef HAVE_STDLIB_H
|
|
#include <stdlib.h>
|
|
#endif
|
|
|
|
#ifdef HAVE_STDDEF_H
|
|
#include <stddef.h>
|
|
#endif
|
|
|
|
#ifdef HAVE_SYS_TYPES_H
|
|
#include <sys/types.h>
|
|
#endif
|
|
|
|
int main()
|
|
{
|
|
int8 i;
|
|
return 0;
|
|
}
|
|
],
|
|
[AC_DEFINE([HAVE_INT_8_16_32], [1],
|
|
[whether int8, int16 and int32 types exist])
|
|
AC_MSG_RESULT([yes])],
|
|
[AC_MSG_RESULT([no])]
|
|
)
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# Some system specific hacks
|
|
#
|
|
|
|
MAX_C_OPTIMIZE="-O3"
|
|
MAX_CXX_OPTIMIZE="-O3"
|
|
|
|
case $SYSTEM_TYPE-$MACHINE_TYPE-$ac_cv_prog_gcc in
|
|
# workaround for Sun Forte/x86 see BUG#4681
|
|
*solaris*-i?86-no)
|
|
CFLAGS="$CFLAGS -DBIG_TABLES"
|
|
CXXFLAGS="$CXXFLAGS -DBIG_TABLES"
|
|
;;
|
|
*) ;;
|
|
esac
|
|
case $SYSTEM_TYPE-$ac_cv_prog_gcc in
|
|
# workaround for Sun Forte compile problem for ndb
|
|
*solaris*-no)
|
|
ndb_cxxflags_fix="$ndb_cxxflags_fix -instances=static"
|
|
;;
|
|
*) ;;
|
|
esac
|
|
|
|
|
|
case $SYSTEM_TYPE in
|
|
*solaris2.7*)
|
|
# Solaris 2.7 has a broken /usr/include/widec.h
|
|
# Make a fixed copy in ./include
|
|
echo "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
|
|
echo "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*)
|
|
echo "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*)
|
|
echo "Enabling getpass() workaround for SunOS"
|
|
CFLAGS="$CFLAGS -DHAVE_BROKEN_GETPASS -DSOLARIS";
|
|
;;
|
|
*hpux10.20*)
|
|
echo "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
|
|
echo "Using --with-named-thread=-lpthread"
|
|
with_named_thread="-lcma"
|
|
fi
|
|
;;
|
|
*hpux11.*)
|
|
echo "Enabling workarounds for hpux 11"
|
|
CFLAGS="$CFLAGS -DHPUX11 -DSNPRINTF_RETURN_TRUNC -DHAVE_BROKEN_PREAD -DDONT_USE_FINITE -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 -DDONT_USE_FINITE -D_INCLUDE_LONGLONG -DNO_FCNTL_NONBLOCK -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT"
|
|
if test "$with_named_thread" = "no"
|
|
then
|
|
echo "Using --with-named-thread=-lpthread"
|
|
with_named_thread="-lpthread"
|
|
fi
|
|
# Fixes for HPUX 11.0 compiler
|
|
if test "$ac_cv_prog_gcc" = "no"
|
|
then
|
|
CFLAGS="$CFLAGS -DHAVE_BROKEN_INLINE"
|
|
# 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_DARWIN_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="-DHAVE_DARWIN_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"
|
|
fi
|
|
;;
|
|
*darwin[[7-8]]*)
|
|
# don't forget to escape [] like above
|
|
if test "$ac_cv_prog_gcc" = "yes"
|
|
then
|
|
FLAGS="-DHAVE_DARWIN_THREADS -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT"
|
|
CFLAGS="$CFLAGS $FLAGS"
|
|
CXXFLAGS="$CXXFLAGS $FLAGS"
|
|
MAX_C_OPTIMIZE="-O"
|
|
fi
|
|
;;
|
|
*freebsd*)
|
|
echo "Adding fix for interrupted reads"
|
|
OSVERSION=`sysctl -a | grep osreldate | awk '{ print $2 }'`
|
|
if test "$OSVERSION" -gt "480100" && \
|
|
test "$OSVERSION" -lt "500000" || \
|
|
test "$OSVERSION" -gt "500109"
|
|
then
|
|
CXXFLAGS="$CXXFLAGS -DMYSQLD_NET_RETRY_COUNT=1000000"
|
|
else
|
|
CFLAGS="$CFLAGS -DHAVE_BROKEN_REALPATH"
|
|
CXXFLAGS="$CXXFLAGS -DMYSQLD_NET_RETRY_COUNT=1000000 -DHAVE_BROKEN_REALPATH"
|
|
fi
|
|
;;
|
|
*netbsd*)
|
|
echo "Adding flag -Dunix"
|
|
CFLAGS="$CFLAGS -Dunix"
|
|
CXXFLAGS="$CXXFLAGS -Dunix"
|
|
OVERRIDE_MT_LD_ADD="\$(top_srcdir)/mit-pthreads/obj/libpthread.a"
|
|
;;
|
|
*bsdi*)
|
|
echo "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
|
|
echo "Using --with-named-thread=-lpthread"
|
|
with_named_thread="-lpthread"
|
|
fi
|
|
CXXFLAGS="$CXXFLAGS -D_BOOL"
|
|
;;
|
|
*aix4.3*)
|
|
echo "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
|
|
echo "Adding defines for DEC OSF on alpha"
|
|
CFLAGS="$CFLAGS -mieee"
|
|
CXXFLAGS="$CXXFLAGS -mieee"
|
|
fi
|
|
echo "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"
|
|
;;
|
|
*netware*)
|
|
# No need for curses library so set it to null
|
|
with_named_curses=""
|
|
|
|
# No thread library - in LibC
|
|
with_named_thread=""
|
|
|
|
#
|
|
# Edit Makefile.in files.
|
|
#
|
|
echo -n "configuring Makefile.in files for NetWare... "
|
|
for file in sql/Makefile.in libmysql/Makefile.in libmysql_r/Makefile.in sql/share/Makefile.in strings/Makefile.in client/Makefile.in
|
|
do
|
|
# echo "#### $file ####"
|
|
filedir="`dirname $file`"
|
|
filebase="`basename $file`"
|
|
filesed=$filedir/$filebase.sed
|
|
#
|
|
# Backup and always use original file
|
|
#
|
|
if test -f $file.bk
|
|
then
|
|
cp -fp $file.bk $file
|
|
else
|
|
cp -fp $file $file.bk
|
|
fi
|
|
case $file in
|
|
sql/Makefile.in)
|
|
# Use gen_lex_hash.linux instead of gen_lex_hash
|
|
# Add library dependencies to mysqld_DEPENDENCIES
|
|
lib_DEPENDENCIES="\$(bdb_libs_with_path) \$(innodb_libs) \$(ndbcluster_libs) \$(pstack_libs) \$(innodb_system_libs) \$(openssl_libs)"
|
|
cat > $filesed << EOF
|
|
s,\(^.*\$(MAKE) gen_lex_hash\)\$(EXEEXT),#\1,
|
|
s,\(\./gen_lex_hash\)\$(EXEEXT),\1.linux,
|
|
s%\(mysqld_DEPENDENCIES = \) %\1$lib_DEPENDENCIES %
|
|
EOF
|
|
;;
|
|
sql/share/Makefile.in)
|
|
cat > $filesed << EOF
|
|
s,\(extra/comp_err\),\1.linux,
|
|
EOF
|
|
;;
|
|
libmysql/Makefile.in)
|
|
cat > $filesed << EOF
|
|
s,\(\./conf_to_src\)\( \$(top_srcdir)\),\1.linux\2,
|
|
s,\(: conf_to_src\),\1.linux,
|
|
EOF
|
|
;;
|
|
libmysql_r/Makefile.in)
|
|
cat > $filesed << EOF
|
|
s,\(\./conf_to_src\)\( \$(top_srcdir)\),\1.linux\2,
|
|
s,\(: conf_to_src\),\1.linux,
|
|
EOF
|
|
;;
|
|
strings/Makefile.in)
|
|
cat > $filesed << EOF
|
|
s,\(\./conf_to_src\)\( \$(top_srcdir)\),\1.linux\2,
|
|
s,\(: conf_to_src\),\1.linux,
|
|
EOF
|
|
;;
|
|
client/Makefile.in)
|
|
#
|
|
cat > $filesed << EOF
|
|
s,libmysqlclient.la,.libs/libmysqlclient.a,
|
|
EOF
|
|
;;
|
|
esac
|
|
if `sed -f $filesed $file > $file.nw`;\
|
|
then
|
|
mv -f $file.nw $file
|
|
rm -f $filesed
|
|
else
|
|
exit 1
|
|
fi
|
|
# wait for file system changes to complete
|
|
sleep 1
|
|
done
|
|
echo "done"
|
|
|
|
#
|
|
# Make sure the following files are writable.
|
|
#
|
|
# When the files are retrieved from some source code control systems they are read-only.
|
|
#
|
|
echo -n "making sure specific build files are writable... "
|
|
for file in \
|
|
Docs/include.texi \
|
|
Docs/mysql.info \
|
|
Docs/manual.txt \
|
|
Docs/manual_toc.html \
|
|
Docs/manual.html \
|
|
Docs/INSTALL-BINARY \
|
|
INSTALL-SOURCE \
|
|
COPYING \
|
|
COPYING.LIB \
|
|
MIRRORS
|
|
do
|
|
if test -e $file; then
|
|
chmod +w $file
|
|
fi
|
|
done
|
|
echo "done"
|
|
|
|
;;
|
|
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"
|
|
# Hack for DEC-UNIX (OSF1)
|
|
if test "$with_named_thread" = "no" -a "$with_mit_threads" = "no"
|
|
then
|
|
# Look for LinuxThreads.
|
|
AC_MSG_CHECKING("LinuxThreads")
|
|
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
|
|
if test "$IS_LINUX" = "true"
|
|
then
|
|
AC_MSG_ERROR([This is a linux system and Linuxthreads was not
|
|
found. On linux Linuxthreads should be used. Please install Linuxthreads
|
|
(or a new glibc) and try again. See the Installation chapter in the
|
|
Reference Manual for more information.])
|
|
else
|
|
AC_MSG_CHECKING("DEC threads")
|
|
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")
|
|
AC_MSG_CHECKING("DEC 3.2 threads")
|
|
if test -f /usr/shlib/libpthreads.so -a -f /usr/lib/libmach.a -a -f /usr/ccs/lib/cmplrs/cc/libexc.a
|
|
then
|
|
with_named_thread="-lpthreads -lmach -lc_r"
|
|
AC_DEFINE(HAVE_DEC_THREADS, [1])
|
|
AC_DEFINE([HAVE_DEC_3_2_THREADS], [1],
|
|
[Whether we are using OSF1 DEC threads on 3.2])
|
|
with_osf32_threads="yes"
|
|
MYSQLD_DEFAULT_SWITCHES="--skip-thread-priority"
|
|
AC_MSG_RESULT("yes")
|
|
else
|
|
AC_MSG_RESULT("no")
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
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])
|
|
else
|
|
AC_DEFINE(HAVE_UNIXWARE7_POSIX, [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
|
|
{ echo "configure: error: Can't find thread libs on SCO UnixWare7. See the Installation chapter in the Reference Manual." 1>&2; exit 1; };
|
|
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
|
|
# Hack for SCO UnixWare7
|
|
#
|
|
if test "$with_named_thread" = "no"
|
|
then
|
|
AC_MSG_CHECKING("SCO UnixWare7 native threads")
|
|
if expr "$SYSTEM_TYPE" : ".*UnixWare*" > /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])
|
|
else
|
|
AC_DEFINE(HAVE_UNIXWARE7_POSIX, [1])
|
|
fi
|
|
# 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
|
|
AC_MSG_RESULT("yes")
|
|
else
|
|
{ echo "configure: error: Can't find thread libs on SCO UnixWare7. See the Installation chapter in the Reference Manual." 1>&2; exit 1; };
|
|
fi
|
|
else
|
|
AC_MSG_RESULT("no")
|
|
fi
|
|
fi
|
|
|
|
# Hack for Caldera OpenUNIX8
|
|
#
|
|
if test "$with_named_thread" = "no"
|
|
then
|
|
AC_MSG_CHECKING("OpenUNIX8 native threads")
|
|
if 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.*"
|
|
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],
|
|
[UNIXWARE7 threads are not posix])
|
|
else
|
|
AC_DEFINE([HAVE_UNIXWARE7_POSIX], [1],
|
|
[new UNIXWARE7 threads that are not yet posix])
|
|
fi
|
|
# 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
|
|
AC_MSG_RESULT("yes")
|
|
else
|
|
{ echo "configure: error: Can't find thread libs on Caldera OpenUNIX 8. See the Installation chapter in the Reference Manual." 1>&2; exit 1; };
|
|
fi
|
|
else
|
|
AC_MSG_RESULT("no")
|
|
fi
|
|
fi
|
|
|
|
# Hack for Siemens UNIX
|
|
if test "$with_named_thread" = "no" -a "$with_mit_threads" = "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_CLIENT_LIBS="$NON_THREADED_CLIENT_LIBS -lxnet"
|
|
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" -a "$with_mit_threads" = "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
|
|
|
|
TOOLS_LIBS="$NON_THREADED_CLIENT_LIBS"
|
|
|
|
# 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"
|
|
TOOLS_LIBS="$with_named_thread $TOOLS_LIBS $with_named_thread"
|
|
with_posix_threads="yes"
|
|
with_mit_threads="no"
|
|
AC_MSG_RESULT("$with_named_thread")
|
|
else
|
|
AC_MSG_RESULT("no")
|
|
if test "$with_mit_threads" = "no"
|
|
then
|
|
# 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"
|
|
ac_save_TOOLS_LIBS="$TOOLS_LIBS"
|
|
LIBS="$LIBS -lpthread"
|
|
TOOLS_LIBS="$TOOLS_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"
|
|
TOOLS_LIBS=" $ac_save_TOOLS_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"
|
|
TOOLS_LIBS="$ac_save_TOOLS_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")
|
|
if test "$with_posix_threads" = "no"
|
|
then
|
|
with_mit_threads="yes"
|
|
LIBS="$ac_save_LIBS"
|
|
TOOLS_LIBS="$ac_save_TOOLS_LIBS"
|
|
fi
|
|
fi
|
|
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:
|
|
|
|
# Check for dlopen, needed for user definable functions
|
|
# This must be checked after threads on AIX
|
|
# We only need this for mysqld, not for the clients.
|
|
|
|
my_save_LIBS="$LIBS"
|
|
LIBS=""
|
|
AC_CHECK_LIB(dl,dlopen)
|
|
LIBDL=$LIBS
|
|
LIBS="$my_save_LIBS"
|
|
AC_SUBST(LIBDL)
|
|
|
|
# System characteristics
|
|
case $SYSTEM_TYPE in
|
|
*netware*) ;;
|
|
*)
|
|
AC_SYS_RESTARTABLE_SYSCALLS
|
|
;;
|
|
esac
|
|
|
|
# Build optimized or debug version ?
|
|
# First check for gcc and g++
|
|
if test "$ac_cv_prog_gcc" = "yes"
|
|
then
|
|
DEBUG_CFLAGS="-g"
|
|
DEBUG_OPTIMIZE_CC="-O"
|
|
OPTIMIZE_CFLAGS="$MAX_C_OPTIMIZE"
|
|
else
|
|
DEBUG_CFLAGS="-g"
|
|
DEBUG_OPTIMIZE_CC=""
|
|
OPTIMIZE_CFLAGS="-O"
|
|
fi
|
|
if test "$ac_cv_prog_cxx_g" = "yes"
|
|
then
|
|
DEBUG_CXXFLAGS="-g"
|
|
DEBUG_OPTIMIZE_CXX="-O"
|
|
OPTIMIZE_CXXFLAGS="$MAX_CXX_OPTIMIZE"
|
|
else
|
|
DEBUG_CXXFLAGS="-g"
|
|
DEBUG_OPTIMIZE_CXX=""
|
|
OPTIMIZE_CXXFLAGS="-O"
|
|
fi
|
|
|
|
if expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null; then
|
|
DEBUG_CFLAGS="-g -DDEBUG -sym internal,codeview4"
|
|
DEBUG_CXXFLAGS="-g -DDEBUG -sym internal,codeview4"
|
|
DEBUG_OPTIMIZE_CC="-DDEBUG"
|
|
DEBUG_OPTIMIZE_CXX="-DDEBUG"
|
|
OPTIMIZE_CFLAGS="-O3 -DNDEBUG"
|
|
OPTIMIZE_CXXFLAGS="-O3 -DNDEBUG"
|
|
fi
|
|
|
|
AC_ARG_WITH(debug,
|
|
[ --without-debug Build a production version without debugging code],
|
|
[with_debug=$withval],
|
|
[with_debug=no])
|
|
if test "$with_debug" = "yes"
|
|
then
|
|
# Medium debug.
|
|
CFLAGS="$DEBUG_CFLAGS $DEBUG_OPTIMIZE_CC -DDBUG_ON -DSAFE_MUTEX $CFLAGS"
|
|
CXXFLAGS="$DEBUG_CXXFLAGS $DEBUG_OPTIMIZE_CXX -DSAFE_MUTEX $CXXFLAGS"
|
|
elif test "$with_debug" = "full"
|
|
then
|
|
# Full debug. Very slow in some cases
|
|
CFLAGS="$DEBUG_CFLAGS -DDBUG_ON -DSAFE_MUTEX -DSAFEMALLOC $CFLAGS"
|
|
CXXFLAGS="$DEBUG_CXXFLAGS -DSAFE_MUTEX -DSAFEMALLOC $CXXFLAGS"
|
|
else
|
|
# Optimized version. No debug
|
|
CFLAGS="$OPTIMIZE_CFLAGS -DDBUG_OFF $CFLAGS"
|
|
CXXFLAGS="$OPTIMIZE_CXXFLAGS -DDBUG_OFF $CXXFLAGS"
|
|
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(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 "$IS_LINUX" = "true" -a "$ac_cv_prog_gcc" = "yes" -a "$all_is_static" != "yes"
|
|
then
|
|
LDFLAGS="$LDFLAGS -rdynamic"
|
|
AC_MSG_RESULT("-rdynamic")
|
|
else
|
|
AC_MSG_RESULT("none")
|
|
fi
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
AC_C_INLINE
|
|
AC_TYPE_OFF_T
|
|
AC_STRUCT_ST_RDEV
|
|
AC_HEADER_TIME
|
|
AC_STRUCT_TM
|
|
# 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(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
|
|
MYSQL_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
|
|
# 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:
|
|
# 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 system files define ulong
|
|
MYSQL_CHECK_ULONG
|
|
# Do the system files define uchar
|
|
MYSQL_CHECK_UCHAR
|
|
# Do the system files define uint
|
|
MYSQL_CHECK_UINT
|
|
# Check for fp_except in ieeefp.h
|
|
MYSQL_CHECK_FP_EXCEPT
|
|
# Check for IN_ADDR_T
|
|
MYSQL_CHECK_IN_ADDR_T
|
|
# Do the c++ compiler have a bool type
|
|
MYSQL_CXX_BOOL
|
|
# Check some common bugs with gcc 2.8.# on sparc
|
|
if ! ( expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null ); then
|
|
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
|
|
fi
|
|
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)
|
|
|
|
AC_CHECK_HEADERS(vis.h)
|
|
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)
|
|
|
|
# Already-done: strcasecmp
|
|
AC_CHECK_FUNCS(lstat putenv select setenv setlocale strcoll tcgetattr)
|
|
|
|
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
|
|
if test "$with_named_curses" = "no"
|
|
then
|
|
MYSQL_CHECK_LIB_TERMCAP
|
|
else
|
|
TERMCAP_LIB="$with_named_curses"
|
|
fi
|
|
AC_SUBST(TERMCAP_LIB)
|
|
|
|
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_FUNCS(alarm bcmp bfill bmove bzero chsize cuserid fchmod fcntl \
|
|
fconvert fdatasync finite fpresetsticky fpsetmask fsync ftruncate \
|
|
getcwd gethostbyaddr_r gethostbyname_r getpass getpassphrase getpwnam \
|
|
getpwuid getrlimit getrusage getwd gmtime_r index initgroups isnan \
|
|
localtime_r locking longjmp lrand48 madvise mallinfo memcpy memmove \
|
|
mkstemp mlockall perror poll pread pthread_attr_create \
|
|
pthread_attr_getstacksize pthread_attr_setprio pthread_attr_setschedparam \
|
|
pthread_attr_setstacksize pthread_condattr_create pthread_getsequence_np \
|
|
pthread_key_delete pthread_rwlock_rdlock pthread_setprio \
|
|
pthread_setprio_np pthread_setschedparam pthread_sigmask readlink \
|
|
realpath rename rint rwlock_init setupterm sighold sigset sigthreadmask \
|
|
snprintf socket stpcpy strcasecmp strerror strnlen strpbrk strstr strtol \
|
|
strtoll strtoul strtoull tell tempnam thr_setconcurrency vidattr)
|
|
|
|
#
|
|
#
|
|
#
|
|
case "$target" in
|
|
*-*-aix4*)
|
|
# (grr) aix 4.3 has a stub for clock_gettime, (returning ENOSYS)
|
|
# and using AC_TRY_RUN is hard when cross-compiling
|
|
;;
|
|
*) AC_CHECK_FUNCS(clock_gettime)
|
|
;;
|
|
esac
|
|
|
|
# isinf() could be a function or a macro (HPUX)
|
|
AC_MSG_CHECKING(for isinf with <math.h>)
|
|
AC_TRY_LINK([#include <math.h>], [float f = 0.0; isinf(f)],
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(HAVE_ISINF, [1], [isinf() macro or function]),
|
|
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 "$IS_LINUX" = "true";
|
|
then
|
|
AC_MSG_ERROR("Found fseeko symbol but large_file_support is not enabled!");
|
|
fi]
|
|
)
|
|
|
|
my_save_LIBS="$LIBS"
|
|
LIBS="$LIBS $LIBDL"
|
|
AC_CHECK_FUNCS(dlopen dlerror)
|
|
LIBS="$my_save_LIBS"
|
|
|
|
# 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
|
|
|
|
# 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
|
|
if test "$ac_cv_prog_gxx" = "yes" -a "$with_other_libc" = "no"
|
|
then
|
|
CXXFLAGS=`echo "$CXXFLAGS -Werror" | sed 's/-fbranch-probabilities//'`
|
|
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 gethostname_r routines], mysql_cv_gethostname_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 's/-fbranch-probabilities//'`
|
|
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_gethostname_style=glibc2, mysql_cv_gethostname_style=other))
|
|
AC_LANG_RESTORE
|
|
CXXFLAGS="$ac_save_CXXFLAGS"
|
|
if test "$mysql_cv_gethostname_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 gethostname_r routines], mysql_cv_gethostname_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 's/-fbranch-probabilities//'`
|
|
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_gethostname_arg=hostent_data, mysql_cv_gethostname_arg=char))
|
|
AC_LANG_RESTORE
|
|
CXXFLAGS="$ac_save_CXXFLAGS"
|
|
if test "$mysql_cv_gethostname_arg" = "hostent_data"
|
|
then
|
|
AC_DEFINE([HAVE_GETHOSTBYNAME_R_RETURN_INT], [1],
|
|
[In OSF 4.0f the 3'd argument to gethostname_r is hostent_data *])
|
|
fi
|
|
|
|
|
|
if test "$with_mit_threads" = "no"
|
|
then
|
|
# 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
|
|
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 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")
|
|
|
|
# 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
|
|
|
|
AC_ARG_WITH(extra-tools,
|
|
[ --without-extra-tools Skip building utilites in the tools directory.],
|
|
[with_tools=$withval],
|
|
[with_tools=yes]
|
|
)
|
|
|
|
tools_dirs=""
|
|
if test "$with_tools" = "yes"
|
|
then
|
|
if test "$THREAD_SAFE_CLIENT" = "no"
|
|
then
|
|
echo "Warning: extra-tools disabled because --enable-thread-safe-client wasn't used"
|
|
else
|
|
tools_dirs="tools"
|
|
fi
|
|
fi
|
|
|
|
AC_ARG_WITH([mysqlmanager],
|
|
AC_HELP_STRING([--with-mysqlmanager], [Build the mysqlmanager binary: yes/no (default: build if server is built.)]),
|
|
[if test "x${withval}" != "xno"; then
|
|
tools_dirs="$tools_dirs server-tools"
|
|
fi],
|
|
[if test "x${with_server}" == "xyes"; then
|
|
tools_dirs="$tools_dirs server-tools"
|
|
fi]
|
|
)
|
|
|
|
AC_SUBST(tools_dirs)
|
|
|
|
#MYSQL_CHECK_CPU
|
|
MYSQL_CHECK_MYSQLFS
|
|
MYSQL_CHECK_VIO
|
|
MYSQL_CHECK_OPENSSL
|
|
|
|
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"
|
|
else
|
|
docs_dirs=""
|
|
fi
|
|
AC_SUBST(docs_dirs)
|
|
|
|
# Shall we build the man pages?
|
|
AC_ARG_WITH(man,
|
|
[ --without-man Skip building of the man pages.],
|
|
[with_man=$withval],
|
|
[with_man=yes]
|
|
)
|
|
|
|
if test "$with_man" = "yes"
|
|
then
|
|
man_dirs="man"
|
|
else
|
|
man_dirs=""
|
|
fi
|
|
AC_SUBST(man_dirs)
|
|
|
|
# Shall we build the bench code?
|
|
AC_ARG_WITH(bench,
|
|
[ --without-bench Skip building of the benchmark suite.],
|
|
[with_bench=$withval],
|
|
[with_bench=yes]
|
|
)
|
|
|
|
if test "$with_bench" = "yes"
|
|
then
|
|
bench_dirs="sql-bench"
|
|
else
|
|
bench_dirs=""
|
|
fi
|
|
bench_dirs="$bench_dirs mysql-test"
|
|
AC_SUBST(bench_dirs)
|
|
|
|
# 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 ]
|
|
)
|
|
|
|
#
|
|
# 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=""
|
|
|
|
if expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null; then
|
|
# For NetWare, do not need readline
|
|
echo "Skipping readline"
|
|
else
|
|
|
|
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_builddir)/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_builddir)/cmd-line-utils/readline readline"
|
|
compile_readline=yes
|
|
AC_DEFINE_UNQUOTED(USE_NEW_READLINE_INTERFACE, 1)
|
|
else
|
|
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 "$mysql_cv_libedit_interface" = "no"]
|
|
then
|
|
readline_link="-lreadline"
|
|
else
|
|
readline_link="-ledit"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(readline_dir)
|
|
AC_SUBST(readline_topdir)
|
|
AC_SUBST(readline_basedir)
|
|
AC_SUBST(readline_link)
|
|
AC_SUBST(readline_h_ln_cmd)
|
|
|
|
|
|
dnl In order to add new charset, you must add charset name to
|
|
dnl this CHARSETS_AVAILABLE list and sql/share/charsets/Index.xml.
|
|
dnl If the character set uses strcoll or other special handling,
|
|
dnl you must also create strings/ctype-$charset_name.c
|
|
|
|
AC_DIVERT_PUSH(0)
|
|
|
|
define(CHARSETS_AVAILABLE0,binary)
|
|
define(CHARSETS_AVAILABLE1,armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257)
|
|
define(CHARSETS_AVAILABLE2,cp850 cp852 cp866 dec8 euckr gb2312 gbk geostd8)
|
|
define(CHARSETS_AVAILABLE3,greek hebrew hp8 keybcs2 koi8r koi8u)
|
|
define(CHARSETS_AVAILABLE4,latin1 latin2 latin5 latin7 macce macroman)
|
|
define(CHARSETS_AVAILABLE5,sjis swe7 tis620 ucs2 ujis utf8)
|
|
|
|
DEFAULT_CHARSET=latin1
|
|
CHARSETS_AVAILABLE="CHARSETS_AVAILABLE0 CHARSETS_AVAILABLE1 CHARSETS_AVAILABLE2 CHARSETS_AVAILABLE3 CHARSETS_AVAILABLE4 CHARSETS_AVAILABLE5"
|
|
CHARSETS_COMPLEX="big5 cp1250 euckr gb2312 gbk latin1 latin2 sjis tis620 ucs2 ujis utf8"
|
|
|
|
AC_DIVERT_POP
|
|
|
|
AC_ARG_WITH(charset,
|
|
[ --with-charset=CHARSET
|
|
Default character set, use one of:
|
|
CHARSETS_AVAILABLE0
|
|
CHARSETS_AVAILABLE1
|
|
CHARSETS_AVAILABLE2
|
|
CHARSETS_AVAILABLE3
|
|
CHARSETS_AVAILABLE4
|
|
CHARSETS_AVAILABLE5],
|
|
[default_charset="$withval"],
|
|
[default_charset="$DEFAULT_CHARSET"])
|
|
|
|
AC_ARG_WITH(collation,
|
|
[ --with-collation=COLLATION
|
|
Default collation],
|
|
[default_collation="$withval"],
|
|
[default_collation="default"])
|
|
|
|
|
|
AC_ARG_WITH(extra-charsets,
|
|
[ --with-extra-charsets=CHARSET[,CHARSET,...]
|
|
Use charsets in addition to default (none, complex,
|
|
all, or a list selected from the above sets)],
|
|
[extra_charsets="$withval"],
|
|
[extra_charsets="none"])
|
|
|
|
|
|
AC_MSG_CHECKING("character sets")
|
|
|
|
CHARSETS="$default_charset latin1 utf8"
|
|
|
|
if test "$extra_charsets" = no; then
|
|
CHARSETS="$CHARSETS"
|
|
elif test "$extra_charsets" = none; then
|
|
CHARSETS="$CHARSETS"
|
|
elif test "$extra_charsets" = complex; then
|
|
CHARSETS="$CHARSETS $CHARSETS_COMPLEX"
|
|
AC_DEFINE([DEFINE_ALL_CHARACTER_SETS],1,[all charsets are available])
|
|
elif test "$extra_charsets" = all; then
|
|
CHARSETS="$CHARSETS $CHARSETS_AVAILABLE"
|
|
AC_DEFINE([DEFINE_ALL_CHARACTER_SETS],1,[all charsets are available])
|
|
else
|
|
EXTRA_CHARSETS=`echo $extra_charsets | sed -e 's/,/ /g'`
|
|
CHARSETS="$CHARSETS $EXTRA_CHARSETS"
|
|
fi
|
|
|
|
for cs in $CHARSETS
|
|
do
|
|
case $cs in
|
|
armscii8)
|
|
AC_DEFINE(HAVE_CHARSET_armscii8, 1,
|
|
[Define to enable charset armscii8])
|
|
;;
|
|
ascii)
|
|
AC_DEFINE(HAVE_CHARSET_ascii, 1,
|
|
[Define to enable ascii character set])
|
|
;;
|
|
big5)
|
|
AC_DEFINE(HAVE_CHARSET_big5, 1, [Define to enable charset big5])
|
|
AC_DEFINE([USE_MB], [1], [Use multi-byte character routines])
|
|
AC_DEFINE(USE_MB_IDENT, [1], [ ])
|
|
;;
|
|
binary)
|
|
;;
|
|
cp1250)
|
|
AC_DEFINE(HAVE_CHARSET_cp1250, 1, [Define to enable cp1250])
|
|
;;
|
|
cp1251)
|
|
AC_DEFINE(HAVE_CHARSET_cp1251, 1, [Define to enable charset cp1251])
|
|
;;
|
|
cp1256)
|
|
AC_DEFINE(HAVE_CHARSET_cp1256, 1, [Define to enable charset cp1256])
|
|
;;
|
|
cp1257)
|
|
AC_DEFINE(HAVE_CHARSET_cp1257, 1, [Define to enable charset cp1257])
|
|
;;
|
|
cp850)
|
|
AC_DEFINE(HAVE_CHARSET_cp850, 1, [Define to enable charset cp850])
|
|
;;
|
|
cp852)
|
|
AC_DEFINE(HAVE_CHARSET_cp852, 1, [Define to enable charset cp852])
|
|
;;
|
|
cp866)
|
|
AC_DEFINE(HAVE_CHARSET_cp866, 1, [Define to enable charset cp866])
|
|
;;
|
|
dec8)
|
|
AC_DEFINE(HAVE_CHARSET_dec8, 1, [Define to enable charset dec8])
|
|
;;
|
|
euckr)
|
|
AC_DEFINE(HAVE_CHARSET_euckr, 1, [Define to enable charset euckr])
|
|
AC_DEFINE([USE_MB], [1], [Use multi-byte character routines])
|
|
AC_DEFINE(USE_MB_IDENT, 1)
|
|
;;
|
|
gb2312)
|
|
AC_DEFINE(HAVE_CHARSET_gb2312, 1, [Define to enable charset gb2312])
|
|
AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
|
|
AC_DEFINE(USE_MB_IDENT, 1)
|
|
;;
|
|
gbk)
|
|
AC_DEFINE(HAVE_CHARSET_gbk, 1, [Define to enable charset gbk])
|
|
AC_DEFINE([USE_MB], [1], [Use multi-byte character routines])
|
|
AC_DEFINE(USE_MB_IDENT, 1)
|
|
;;
|
|
geostd8)
|
|
AC_DEFINE(HAVE_CHARSET_geostd8, 1, [Define to enable charset geostd8])
|
|
;;
|
|
greek)
|
|
AC_DEFINE(HAVE_CHARSET_greek, 1, [Define to enable charset greek])
|
|
;;
|
|
hebrew)
|
|
AC_DEFINE(HAVE_CHARSET_hebrew, 1, [Define to enable charset hebrew])
|
|
;;
|
|
hp8)
|
|
AC_DEFINE(HAVE_CHARSET_hp8, 1, [Define to enable charset hp8])
|
|
;;
|
|
keybcs2)
|
|
AC_DEFINE(HAVE_CHARSET_keybcs2, 1, [Define to enable charset keybcs2])
|
|
;;
|
|
koi8r)
|
|
AC_DEFINE(HAVE_CHARSET_koi8r, 1, [Define to enable charset koi8r])
|
|
;;
|
|
koi8u)
|
|
AC_DEFINE(HAVE_CHARSET_koi8u, 1, [Define to enable charset koi8u])
|
|
;;
|
|
latin1)
|
|
AC_DEFINE(HAVE_CHARSET_latin1, 1, [Define to enable charset latin1])
|
|
;;
|
|
latin2)
|
|
AC_DEFINE(HAVE_CHARSET_latin2, 1, [Define to enable charset latin2])
|
|
;;
|
|
latin5)
|
|
AC_DEFINE(HAVE_CHARSET_latin5, 1, [Define to enable charset latin5])
|
|
;;
|
|
latin7)
|
|
AC_DEFINE(HAVE_CHARSET_latin7, 1, [Define to enable charset latin7])
|
|
;;
|
|
macce)
|
|
AC_DEFINE(HAVE_CHARSET_macce, 1, [Define to enable charset macce])
|
|
;;
|
|
macroman)
|
|
AC_DEFINE(HAVE_CHARSET_macroman, 1,
|
|
[Define to enable charset macroman])
|
|
;;
|
|
sjis)
|
|
AC_DEFINE(HAVE_CHARSET_sjis, 1, [Define to enable charset sjis])
|
|
AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
|
|
AC_DEFINE(USE_MB_IDENT, 1)
|
|
;;
|
|
swe7)
|
|
AC_DEFINE(HAVE_CHARSET_swe7, 1, [Define to enable charset swe7])
|
|
;;
|
|
tis620)
|
|
AC_DEFINE(HAVE_CHARSET_tis620, 1, [Define to enable charset tis620])
|
|
;;
|
|
ucs2)
|
|
AC_DEFINE(HAVE_CHARSET_ucs2, 1, [Define to enable charset ucs2])
|
|
AC_DEFINE([USE_MB], [1], [Use multi-byte character routines])
|
|
AC_DEFINE(USE_MB_IDENT, 1)
|
|
;;
|
|
ujis)
|
|
AC_DEFINE(HAVE_CHARSET_ujis, 1, [Define to enable charset ujis])
|
|
AC_DEFINE([USE_MB], [1], [Use multi-byte character routines])
|
|
AC_DEFINE(USE_MB_IDENT, 1)
|
|
;;
|
|
utf8)
|
|
AC_DEFINE(HAVE_CHARSET_utf8, 1, [Define to enable ut8])
|
|
AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
|
|
AC_DEFINE(USE_MB_IDENT, 1)
|
|
;;
|
|
*)
|
|
AC_MSG_ERROR([Charset '$cs' not available. (Available are: $CHARSETS_AVAILABLE).
|
|
See the Installation chapter in the Reference Manual.]);
|
|
esac
|
|
done
|
|
|
|
|
|
default_charset_collations=""
|
|
|
|
case $default_charset in
|
|
armscii8)
|
|
default_charset_default_collation="armscii8_general_ci"
|
|
default_charset_collations="armscii8_general_ci armscii8_bin"
|
|
;;
|
|
ascii)
|
|
default_charset_default_collation="ascii_general_ci"
|
|
default_charset_collations="ascii_general_ci ascii_bin"
|
|
;;
|
|
big5)
|
|
default_charset_default_collation="big5_chinese_ci"
|
|
default_charset_collations="big5_chinese_ci big5_bin"
|
|
;;
|
|
binary)
|
|
default_charset_default_collation="binary"
|
|
default_charset_collations="binary"
|
|
;;
|
|
cp1250)
|
|
default_charset_default_collation="cp1250_general_ci"
|
|
default_charset_collations="cp1250_general_ci cp1250_czech_cs cp1250_bin"
|
|
;;
|
|
cp1251)
|
|
default_charset_default_collation="cp1251_general_ci"
|
|
default_charset_collations="cp1251_general_ci cp1251_general_cs cp1251_bin cp1251_bulgarian_ci cp1251_ukrainian_ci"
|
|
;;
|
|
cp1256)
|
|
default_charset_default_collation="cp1256_general_ci"
|
|
default_charset_collations="cp1256_general_ci cp1256_bin"
|
|
;;
|
|
cp1257)
|
|
default_charset_default_collation="cp1257_general_ci"
|
|
default_charset_collations="cp1257_general_ci cp1257_lithuanian_ci cp1257_bin"
|
|
;;
|
|
cp850)
|
|
default_charset_default_collation="cp850_general_ci"
|
|
default_charset_collations="cp850_general_ci cp850_bin"
|
|
;;
|
|
cp852)
|
|
default_charset_default_collation="cp852_general_ci"
|
|
default_charset_collations="cp852_general_ci cp852_bin"
|
|
;;
|
|
cp866)
|
|
default_charset_default_collation="cp866_general_ci"
|
|
default_charset_collations="cp866_general_ci cp866_bin"
|
|
;;
|
|
dec8)
|
|
default_charset_default_collation="dec8_swedish_ci"
|
|
default_charset_collations="dec8_swedish_ci dec8_bin"
|
|
;;
|
|
euckr)
|
|
default_charset_default_collation="euckr_korean_ci"
|
|
default_charset_collations="euckr_korean_ci euckr_bin"
|
|
;;
|
|
gb2312)
|
|
default_charset_default_collation="gb2312_chinese_ci"
|
|
default_charset_collations="gb2312_chinese_ci gb2312_bin"
|
|
;;
|
|
gbk)
|
|
default_charset_default_collation="gbk_chinese_ci"
|
|
default_charset_collations="gbk_chinese_ci gbk_bin"
|
|
;;
|
|
geostd8)
|
|
default_charset_default_collation="geostd8_general_ci"
|
|
default_charset_collations="geostd8_general_ci geostd8_bin"
|
|
;;
|
|
greek)
|
|
default_charset_default_collation="greek_general_ci"
|
|
default_charset_collations="greek_general_ci greek_bin"
|
|
;;
|
|
hebrew)
|
|
default_charset_default_collation="hebrew_general_ci"
|
|
default_charset_collations="hebrew_general_ci hebrew_bin"
|
|
;;
|
|
hp8)
|
|
default_charset_default_collation="hp8_english_ci"
|
|
default_charset_collations="hp8_english_ci hp8_bin"
|
|
;;
|
|
keybcs2)
|
|
default_charset_default_collation="keybcs2_general_ci"
|
|
default_charset_collations="keybcs2_general_ci keybcs2_bin"
|
|
;;
|
|
koi8r)
|
|
default_charset_default_collation="koi8r_general_ci"
|
|
default_charset_collations="koi8r_general_ci koi8r_bin"
|
|
;;
|
|
koi8u)
|
|
default_charset_default_collation="koi8u_general_ci"
|
|
default_charset_collations="koi8u_general_ci koi8u_bin"
|
|
;;
|
|
latin1)
|
|
default_charset_default_collation="latin1_swedish_ci"
|
|
default_charset_collations="latin1_general_ci latin1_general_cs latin1_bin latin1_german1_ci latin1_german2_ci latin1_danish_ci latin1_swedish_ci"
|
|
;;
|
|
latin2)
|
|
default_charset_default_collation="latin2_general_ci"
|
|
default_charset_collations="latin2_general_ci latin2_bin latin2_czech_cs latin2_hungarian_ci latin2_croatian_ci"
|
|
;;
|
|
latin5)
|
|
default_charset_default_collation="latin5_turkish_ci"
|
|
default_charset_collations="latin5_turkish_ci latin5_bin"
|
|
;;
|
|
latin7)
|
|
default_charset_default_collation="latin7_general_ci"
|
|
default_charset_collations="latin7_general_ci latin7_general_cs latin7_bin latin7_estonian_cs"
|
|
;;
|
|
macce)
|
|
default_charset_default_collation="macce_general_ci"
|
|
default_charset_collations="macce_general_ci macce_bin"
|
|
;;
|
|
macroman)
|
|
default_charset_default_collation="macroman_general_ci"
|
|
default_charset_collations="macroman_general_ci macroman_bin"
|
|
;;
|
|
sjis)
|
|
default_charset_default_collation="sjis_japanese_ci"
|
|
default_charset_collations="sjis_japanese_ci sjis_bin"
|
|
;;
|
|
swe7)
|
|
default_charset_default_collation="swe7_swedish_ci"
|
|
default_charset_collations="swe7_swedish_ci swe7_bin"
|
|
;;
|
|
tis620)
|
|
default_charset_default_collation="tis620_thai_ci"
|
|
default_charset_collations="tis620_thai_ci tis620_bin"
|
|
;;
|
|
ucs2)
|
|
default_charset_default_collation="ucs2_general_ci"
|
|
define(UCSC1, ucs2_general_ci ucs2_bin)
|
|
define(UCSC2, ucs2_czech_ci ucs2_danish_ci)
|
|
define(UCSC3, ucs2_estonian_ci ucs2_icelandic_ci)
|
|
define(UCSC4, ucs2_latvian_ci ucs2_lithuanian_ci)
|
|
define(UCSC5, ucs2_persian_ci ucs2_polish_ci ucs2_romanian_ci)
|
|
define(UCSC6, ucs2_slovak_ci ucs2_slovenian_ci)
|
|
define(UCSC7, ucs2_spanish2_ci ucs2_spanish_ci)
|
|
define(UCSC8, ucs2_swedish_ci ucs2_turkish_ci)
|
|
define(UCSC9, ucs2_unicode_ci)
|
|
UCSC="UCSC1 UCSC2 UCSC3 UCSC4 UCSC5 UCSC6 UCSC7 UCSC8 UCSC9"
|
|
default_charset_collations="$UCSC"
|
|
;;
|
|
ujis)
|
|
default_charset_default_collation="ujis_japanese_ci"
|
|
default_charset_collations="ujis_japanese_ci ujis_bin"
|
|
;;
|
|
utf8)
|
|
default_charset_default_collation="utf8_general_ci"
|
|
define(UTFC1, utf8_general_ci utf8_bin)
|
|
define(UTFC2, utf8_czech_ci utf8_danish_ci)
|
|
define(UTFC3, utf8_estonian_ci utf8_icelandic_ci)
|
|
define(UTFC4, utf8_latvian_ci utf8_lithuanian_ci)
|
|
define(UTFC5, utf8_persian_ci utf8_polish_ci utf8_romanian_ci)
|
|
define(UTFC6, utf8_slovak_ci utf8_slovenian_ci)
|
|
define(UTFC7, utf8_spanish2_ci utf8_spanish_ci)
|
|
define(UTFC8, utf8_swedish_ci utf8_turkish_ci)
|
|
define(UTFC9, utf8_unicode_ci)
|
|
UTFC="UTFC1 UTFC2 UTFC3 UTFC4 UTFC5 UTFC6 UTFC7 UTFC8 UTFC9"
|
|
default_charset_collations="$UTFC"
|
|
;;
|
|
*)
|
|
AC_MSG_ERROR([Charset $cs not available. (Available are: $CHARSETS_AVAILABLE).
|
|
See the Installation chapter in the Reference Manual.]);
|
|
esac
|
|
|
|
if test "$default_collation" = default; then
|
|
default_collation=$default_charset_default_collation
|
|
fi
|
|
|
|
valid_default_collation=no
|
|
for cl in $default_charset_collations
|
|
do
|
|
if test x"$cl" = x"$default_collation"
|
|
then
|
|
valid_default_collation=yes
|
|
break
|
|
fi
|
|
done
|
|
|
|
if test x$valid_default_collation = xyes
|
|
then
|
|
AC_MSG_RESULT([default: $default_charset, collation: $default_collation; compiled in: $CHARSETS])
|
|
else
|
|
AC_MSG_ERROR([
|
|
Collation $default_collation is not valid for character set $default_charset.
|
|
Valid collations are: $default_charset_collations.
|
|
See the Installation chapter in the Reference Manual.
|
|
]);
|
|
fi
|
|
|
|
AC_DEFINE_UNQUOTED([MYSQL_DEFAULT_CHARSET_NAME], ["$default_charset"],
|
|
[Define the default charset name])
|
|
AC_DEFINE_UNQUOTED([MYSQL_DEFAULT_COLLATION_NAME], ["$default_collation"],
|
|
[Define the default charset name])
|
|
|
|
MYSQL_CHECK_BDB
|
|
MYSQL_CHECK_INNODB
|
|
MYSQL_CHECK_EXAMPLEDB
|
|
MYSQL_CHECK_ARCHIVEDB
|
|
MYSQL_CHECK_CSVDB
|
|
MYSQL_CHECK_NDBCLUSTER
|
|
|
|
# If we have threads generate some library functions and test programs
|
|
sql_server_dirs=
|
|
server_scripts=
|
|
thread_dirs=
|
|
|
|
dnl This probably should be cleaned up more - for now the threaded
|
|
dnl client is just using plain-old libs.
|
|
sql_client_dirs="libmysql strings regex client"
|
|
linked_client_targets="linked_libmysql_sources"
|
|
CLIENT_LIBS=$NON_THREADED_CLIENT_LIBS
|
|
if test "$THREAD_SAFE_CLIENT" != "no"
|
|
then
|
|
sql_client_dirs="libmysql_r $sql_client_dirs"
|
|
linked_client_targets="$linked_client_targets linked_libmysql_r_sources"
|
|
AC_DEFINE([THREAD_SAFE_CLIENT], [1], [Should be client be thread safe])
|
|
fi
|
|
|
|
CLIENT_LIBS="$CLIENT_LIBS $STATIC_NSS_FLAGS"
|
|
|
|
AC_SUBST(CLIENT_LIBS)
|
|
AC_SUBST(sql_client_dirs)
|
|
AC_SUBST(linked_client_targets)
|
|
|
|
# If configuring for NetWare, set up to link sources from and build the netware directory
|
|
netware_dir=
|
|
linked_netware_sources=
|
|
if expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null; then
|
|
netware_dir="netware"
|
|
linked_netware_sources="linked_netware_sources"
|
|
fi
|
|
AC_SUBST(netware_dir)
|
|
AC_SUBST(linked_netware_sources)
|
|
AM_CONDITIONAL(HAVE_NETWARE, test "$netware_dir" = "netware")
|
|
|
|
# Ensure that table handlers gets all modifications to CFLAGS/CXXFLAGS
|
|
export CC CXX CFLAGS CXXFLAGS LD LDFLAGS AR
|
|
ac_configure_args="$ac_configure_args CFLAGS='$CFLAGS' CXXFLAGS='$CXXFLAGS'"
|
|
|
|
if test "$with_server" = "yes" -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_LPROGRAMS="test_thr_alarm\$(EXEEXT) test_thr_lock\$(EXEEXT)"
|
|
AC_SUBST(THREAD_LPROGRAMS)
|
|
THREAD_LOBJECTS="thr_alarm.o thr_lock.o thr_mutex.o thr_rwlock.o my_pthread.o my_thr_init.o"
|
|
AC_SUBST(THREAD_LOBJECTS)
|
|
server_scripts="mysqld_safe mysql_install_db"
|
|
sql_server_dirs="strings dbug mysys extra regex"
|
|
|
|
|
|
#
|
|
# Configuration for optional table handlers
|
|
#
|
|
|
|
if test X"$have_berkeley_db" != Xno; then
|
|
if test X"$have_berkeley_db" != Xyes; then
|
|
# we must build berkeley db from source
|
|
sql_server_dirs="$sql_server_dirs $have_berkeley_db"
|
|
AC_CONFIG_FILES(bdb/Makefile)
|
|
|
|
echo "CONFIGURING FOR BERKELEY DB"
|
|
bdb_conf_flags="--disable-shared"
|
|
if test $with_debug = "yes"
|
|
then
|
|
bdb_conf_flags="$bdb_conf_flags --enable-debug --enable-diagnostic"
|
|
fi
|
|
# NOTICE: if you're compiling BDB, it needs to be a SUBDIR
|
|
# of $srcdir (i.e., you can 'cd $srcdir/$bdb'). It won't
|
|
# work otherwise.
|
|
if test -d "$bdb"; then :
|
|
else
|
|
# This should only happen when doing a VPATH build
|
|
echo "NOTICE: I have to make the BDB directory: `pwd`:$bdb"
|
|
mkdir "$bdb" || exit 1
|
|
fi
|
|
if test -d "$bdb"/build_unix; then :
|
|
else
|
|
# This should only happen when doing a VPATH build
|
|
echo "NOTICE: I have to make the build_unix directory: `pwd`:$bdb/build_unix"
|
|
mkdir "$bdb/build_unix" || exit 1
|
|
fi
|
|
rel_srcdir=
|
|
case "$srcdir" in
|
|
/* ) rel_srcdir="$srcdir" ;;
|
|
* ) rel_srcdir="../../$srcdir" ;;
|
|
esac
|
|
(cd $bdb/build_unix && \
|
|
sh $rel_srcdir/$bdb/dist/configure $bdb_conf_flags) || \
|
|
AC_MSG_ERROR([could not configure Berkeley DB])
|
|
|
|
dnl echo "bdb = '$bdb'; inc = '$bdb_includes', lib = '$bdb_libs'"
|
|
echo "END OF BERKELEY DB CONFIGURATION"
|
|
fi
|
|
|
|
AC_DEFINE([HAVE_BERKELEY_DB], [1], [Have berkeley db installed])
|
|
else
|
|
if test -d bdb; then :
|
|
else
|
|
mkdir bdb && mkdir bdb/build_unix
|
|
fi
|
|
|
|
if test -r bdb/build_unix/db.h; then :
|
|
else
|
|
cat <<EOF > bdb/build_unix/db.h
|
|
|
|
This file is a placeholder to fool make. The way that automake
|
|
and GNU make work together causes some files to depend on this
|
|
header, even if we're not building with Berkeley DB.
|
|
|
|
Obviously, if this file *is* used, it'll break and hopefully we can find
|
|
out why this file was generated by ${top_srcdir}/configure instead of
|
|
the real db.h.
|
|
|
|
If you run into some problems because of this file, please use mysql_bug
|
|
to generate a bug report, and give the exact output of make and any
|
|
details you can think of. Send the message to bugs@lists.mysql.com.
|
|
|
|
Thank you!
|
|
|
|
EOF
|
|
fi
|
|
fi
|
|
|
|
if test X"$have_innodb" = Xyes
|
|
then
|
|
innodb_conf_flags=""
|
|
sql_server_dirs="$sql_server_dirs innobase"
|
|
AC_CONFIG_SUBDIRS(innobase)
|
|
fi
|
|
|
|
if test X"$have_ndbcluster" = Xyes
|
|
then
|
|
if test X"$mysql_cv_compress" != Xyes
|
|
then
|
|
echo
|
|
echo "MySQL Cluster table handler ndbcluster requires compress/uncompress."
|
|
echo "Commonly available in libzlib.a. Please install and rerun configure."
|
|
echo
|
|
exit 1
|
|
fi
|
|
sql_server_dirs="$sql_server_dirs ndb"
|
|
fi
|
|
#
|
|
# END of configuration for optional table handlers
|
|
#
|
|
sql_server_dirs="$sql_server_dirs myisam myisammrg heap vio sql"
|
|
|
|
if test "$with_posix_threads" = "no" -o "$with_mit_threads" = "yes"
|
|
then
|
|
# MIT user level threads
|
|
thread_dirs="mit-pthreads"
|
|
AC_DEFINE([HAVE_mit_thread], [1], [Do we use user level threads])
|
|
MT_INCLUDES="-I\$(top_srcdir)/mit-pthreads/include"
|
|
AC_SUBST(MT_INCLUDES)
|
|
if test -n "$OVERRIDE_MT_LD_ADD"
|
|
then
|
|
MT_LD_ADD="$OVERRIDE_MT_LD_ADD"
|
|
else
|
|
MT_LD_ADD="-L \$(top_srcdir)/mit-pthreads/obj/ -lpthread"
|
|
fi
|
|
AC_SUBST(MT_LD_ADD)
|
|
echo ""
|
|
echo "Configuring MIT Pthreads"
|
|
# We will never install so installation paths are not needed.
|
|
(cd mit-pthreads && sh ./configure) || exit 1
|
|
echo "End of MIT Pthreads configuration"
|
|
echo ""
|
|
LIBS="$MT_LD_ADD $LIBS"
|
|
fi
|
|
fi
|
|
|
|
# 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(thread_dirs)
|
|
AC_SUBST(server_scripts)
|
|
|
|
#if test "$with_posix_threads" = "no" -o "$with_mit_threads" = "yes"
|
|
#then
|
|
# MIT pthreads does now support connecting with unix sockets
|
|
# AC_DEFINE([HAVE_THREADS_WITHOUT_SOCKETS], [], [MIT pthreads does not support connecting with unix sockets])
|
|
#fi
|
|
|
|
# Some usefull subst
|
|
AC_SUBST(CC)
|
|
AC_SUBST(GXX)
|
|
#Remove TOOLS_LIBS, because this is included in LIBRARIES
|
|
#AC_SUBST(TOOLS_LIBS)
|
|
|
|
# Set configuration options for make_binary_distribution
|
|
case $SYSTEM_TYPE in
|
|
*netware*)
|
|
MAKE_BINARY_DISTRIBUTION_OPTIONS=--no-strip
|
|
;;
|
|
*)
|
|
MAKE_BINARY_DISTRIBUTION_OPTIONS=
|
|
;;
|
|
esac
|
|
|
|
if test X"$have_ndbcluster" = Xyes
|
|
then
|
|
MAKE_BINARY_DISTRIBUTION_OPTIONS="$MAKE_BINARY_DISTRIBUTION_OPTIONS --with-ndbcluster"
|
|
|
|
CXXFLAGS="$CXXFLAGS \$(NDB_CXXFLAGS)"
|
|
if test "$with_debug" = "yes"
|
|
then
|
|
# Medium debug.
|
|
NDB_DEFS="-DNDB_DEBUG -DVM_TRACE -DERROR_INSERT -DARRAY_GUARD"
|
|
elif test "$with_debug" = "full"
|
|
then
|
|
NDB_DEFS="-DNDB_DEBUG_FULL -DVM_TRACE -DERROR_INSERT -DARRAY_GUARD"
|
|
else
|
|
NDB_DEFS="-DNDEBUG"
|
|
fi
|
|
|
|
AC_SUBST([NDB_DEFS])
|
|
AC_SUBST([ndb_cxxflags_fix])
|
|
|
|
|
|
if test X"$ndb_port_base" = Xdefault
|
|
then
|
|
ndb_port_base="2200"
|
|
fi
|
|
AC_SUBST([ndb_port_base])
|
|
|
|
ndb_transporter_opt_objs=""
|
|
if test X"$have_ndb_shm" = Xyes
|
|
then
|
|
ndb_transporter_opt_objs="$ndb_transporter_opt_objs SHM_Transporter.lo SHM_Transporter.unix.lo"
|
|
fi
|
|
if test X"$have_ndb_sci" = Xyes
|
|
then
|
|
ndb_transporter_opt_objs="$ndb_transporter_opt_objs SCI_Transporter.lo"
|
|
fi
|
|
AC_SUBST([ndb_transporter_opt_objs])
|
|
|
|
ndb_opt_subdirs=
|
|
ndb_bin_am_ldflags="-static"
|
|
if test X"$have_ndb_test" = Xyes
|
|
then
|
|
ndb_opt_subdirs="test"
|
|
ndb_bin_am_ldflags=""
|
|
fi
|
|
if test X"$have_ndb_docs" = Xyes
|
|
then
|
|
ndb_opt_subdirs="$ndb_opt_subdirs docs"
|
|
ndb_bin_am_ldflags=""
|
|
fi
|
|
AC_SUBST([ndb_bin_am_ldflags])
|
|
AC_SUBST([ndb_opt_subdirs])
|
|
AC_CONFIG_FILES(ndb/Makefile ndb/include/Makefile dnl
|
|
ndb/src/Makefile ndb/src/common/Makefile dnl
|
|
ndb/docs/Makefile dnl
|
|
ndb/tools/Makefile dnl
|
|
ndb/src/common/debugger/Makefile ndb/src/common/debugger/signaldata/Makefile dnl
|
|
ndb/src/common/portlib/Makefile dnl
|
|
ndb/src/common/util/Makefile dnl
|
|
ndb/src/common/logger/Makefile dnl
|
|
ndb/src/common/transporter/Makefile dnl
|
|
ndb/src/common/mgmcommon/Makefile dnl
|
|
ndb/src/common/editline/Makefile dnl
|
|
ndb/src/kernel/Makefile dnl
|
|
ndb/src/kernel/error/Makefile dnl
|
|
ndb/src/kernel/blocks/Makefile dnl
|
|
ndb/src/kernel/blocks/cmvmi/Makefile dnl
|
|
ndb/src/kernel/blocks/dbacc/Makefile dnl
|
|
ndb/src/kernel/blocks/dbdict/Makefile dnl
|
|
ndb/src/kernel/blocks/dbdih/Makefile dnl
|
|
ndb/src/kernel/blocks/dblqh/Makefile dnl
|
|
ndb/src/kernel/blocks/dbtc/Makefile dnl
|
|
ndb/src/kernel/blocks/dbtup/Makefile dnl
|
|
ndb/src/kernel/blocks/ndbfs/Makefile dnl
|
|
ndb/src/kernel/blocks/ndbcntr/Makefile dnl
|
|
ndb/src/kernel/blocks/qmgr/Makefile dnl
|
|
ndb/src/kernel/blocks/trix/Makefile dnl
|
|
ndb/src/kernel/blocks/backup/Makefile dnl
|
|
ndb/src/kernel/blocks/backup/restore/Makefile dnl
|
|
ndb/src/kernel/blocks/dbutil/Makefile dnl
|
|
ndb/src/kernel/blocks/suma/Makefile dnl
|
|
ndb/src/kernel/blocks/grep/Makefile dnl
|
|
ndb/src/kernel/blocks/dbtux/Makefile dnl
|
|
ndb/src/kernel/vm/Makefile dnl
|
|
ndb/src/mgmapi/Makefile dnl
|
|
ndb/src/ndbapi/Makefile dnl
|
|
ndb/src/mgmsrv/Makefile dnl
|
|
ndb/src/mgmclient/Makefile dnl
|
|
ndb/src/cw/Makefile dnl
|
|
ndb/src/cw/cpcd/Makefile dnl
|
|
ndb/test/Makefile dnl
|
|
ndb/test/src/Makefile dnl
|
|
ndb/test/ndbapi/Makefile dnl
|
|
ndb/test/ndbapi/bank/Makefile dnl
|
|
ndb/test/tools/Makefile dnl
|
|
ndb/test/run-test/Makefile mysql-test/ndb/Makefile dnl
|
|
)
|
|
fi
|
|
|
|
AC_SUBST(MAKE_BINARY_DISTRIBUTION_OPTIONS)
|
|
|
|
# Output results
|
|
AC_CONFIG_FILES(Makefile extra/Makefile mysys/Makefile dnl
|
|
strings/Makefile regex/Makefile heap/Makefile dnl
|
|
myisam/Makefile myisammrg/Makefile dnl
|
|
os2/Makefile os2/include/Makefile os2/include/sys/Makefile dnl
|
|
man/Makefile BUILD/Makefile vio/Makefile dnl
|
|
libmysql_r/Makefile libmysqld/Makefile libmysqld/examples/Makefile dnl
|
|
libmysql/Makefile client/Makefile dnl
|
|
pstack/Makefile pstack/aout/Makefile sql/Makefile sql/share/Makefile dnl
|
|
sql-common/Makefile SSL/Makefile dnl
|
|
dbug/Makefile scripts/Makefile dnl
|
|
include/Makefile sql-bench/Makefile tools/Makefile dnl
|
|
server-tools/Makefile server-tools/instance-manager/Makefile dnl
|
|
tests/Makefile Docs/Makefile support-files/Makefile dnl
|
|
support-files/MacOSX/Makefile mysql-test/Makefile dnl
|
|
netware/Makefile dnl
|
|
include/mysql_version.h dnl
|
|
cmd-line-utils/Makefile dnl
|
|
cmd-line-utils/libedit/Makefile dnl
|
|
zlib/Makefile dnl
|
|
cmd-line-utils/readline/Makefile)
|
|
AC_CONFIG_COMMANDS([default], , test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h)
|
|
AC_OUTPUT
|
|
|
|
rm -f $AVAILABLE_LANGUAGES_ERRORS_RULES
|
|
echo
|
|
echo "MySQL has a Web site at http://www.mysql.com/ which carries details on the"
|
|
echo "latest release, upcoming features, and other information to make your"
|
|
echo "work or play with MySQL more productive. There you can also find"
|
|
echo "information about mailing lists for MySQL discussion."
|
|
echo
|
|
echo "Remember to check the platform specific part of the reference manual for"
|
|
echo "hints about installing MySQL on your platform. Also have a look at the"
|
|
echo "files in the Docs directory."
|
|
echo
|
|
# The following text is checked in ./Do-compile to verify that configure
|
|
# ended sucessfully - don't remove it.
|
|
echo "Thank you for choosing MySQL!"
|
|
echo
|