mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
eeb21a4560
into mysql.com:/space/my/mysql-4.1 configure.in: Auto merged
3155 lines
95 KiB
Text
3155 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!
|
|
AM_INIT_AUTOMAKE(mysql, 4.1.8)
|
|
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=3
|
|
NDB_VERSION_MINOR=5
|
|
NDB_VERSION_BUILD=3
|
|
NDB_VERSION_STATUS=""
|
|
|
|
# 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* | modesto*)
|
|
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* | *modesto*)
|
|
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"
|
|
;;
|
|
# workaround for Sun Forte compile problem for ndb
|
|
*solaris2.10*-sparc-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 -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 -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"
|
|
CXXFLAGS="$CXXFLAGS -DUNDEF_HAVE_GETHOSTBYNAME_R"
|
|
ndb_cxxflags_fix="$ndb_cxxflags_fix -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* | *modesto*) ;;
|
|
*)
|
|
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="$DEBUG_CFLAGS -DDEBUG -sym internal,codeview4"
|
|
DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -DDEBUG -sym internal,codeview4"
|
|
OPTIMIZE_CFLAGS="$OPTIMIZE_CFLAGS -DNDEBUG"
|
|
OPTIMIZE_CXXFLAGS="$OPTIMIZE_CXXFLAGS -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 clock_gettime \
|
|
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)
|
|
|
|
# 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_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_ISAM
|
|
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_isam" != Xno
|
|
then
|
|
sql_server_dirs="$sql_server_dirs isam merge"
|
|
AC_CONFIG_FILES(isam/Makefile merge/Makefile)
|
|
fi
|
|
|
|
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
|
|
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
|