2
2
dnl Process this file with autoconf to produce a configure script.
4
dnl Copyright (C) 2009 Sun Microsystems
6
dnl This program is free software; you can redistribute it and/or modify
7
dnl it under the terms of the GNU General Public License as published by
8
dnl the Free Software Foundation; version 2 of the License.
10
dnl This program is distributed in the hope that it will be useful,
11
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
12
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
dnl GNU General Public License for more details.
15
dnl You should have received a copy of the GNU General Public License
16
dnl along with this program; if not, write to the Free Software
17
dnl Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20
4
AC_PREREQ(2.59)dnl Minimum Autoconf version required.
21
dnl Version from the AC_INIT call below is overridden later
22
dnl So don't update it here
23
AC_INIT([drizzle7],[7],[http://bugs.launchpad.net/drizzle])
24
AC_CONFIG_SRCDIR([drizzled/drizzled.cc])
25
AC_CONFIG_AUX_DIR([config])
27
PANDORA_CANONICAL_TARGET(less-warnings, warnings-always-on, require-cxx, force-gcc42, version-from-vc, skip-visibility)
29
LIBDRIZZLE_LIBRARY_VERSION=1:0:0
33
# current:revision:age
35
# | | +- increment if interfaces have been added
36
# | | set to zero if interfaces have been
37
# | | removed or changed
38
# | +- increment if source code has changed
39
# | set to zero if current is incremented
40
# +- increment if interfaces have been added, removed or
42
AC_SUBST(LIBDRIZZLE_LIBRARY_VERSION)
44
# libdrizzle versioning when linked with GNU ld.
45
AS_IF([test "$lt_cv_prog_gnu_ld" = "yes"],[
46
LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_srcdir)/config/drizzle.ver"
7
AC_CONFIG_SRCDIR([server/drizzled.cc])
8
AC_CONFIG_AUX_DIR(config)
9
AC_CONFIG_HEADERS([include/config.h:config.h.in])
11
AM_INIT_AUTOMAKE(drizzle, 7.0.0, no-define)
15
# See the libtool docs for information on how to do shared lib versions.
16
SHARED_LIB_MAJOR_VERSION=16
17
SHARED_LIB_VERSION=$SHARED_LIB_MAJOR_VERSION:0:0
21
# Set all version vars based on $VERSION. How do we do this more elegant ?
22
# Remember that regexps needs to quote [ and ] since this is run through m4
23
# We take some made up examples
25
# VERSION 5.1.40sp1-alpha 5.0.34a
26
# MYSQL_NO_DASH_VERSION 5.1.40sp1 5.0.34a
27
# MYSQL_NUMERIC_VERSION 5.1.40 5.0.34
28
# MYSQL_BASE_VERSION 5.1 5.0
29
# MYSQL_VERSION_ID 50140 50034
31
MYSQL_NO_DASH_VERSION=`echo $VERSION | sed -e "s|-.*$||"`
32
MYSQL_NUMERIC_VERSION=`echo $MYSQL_NO_DASH_VERSION | sed -e "s|[[a-z]][[a-z0-9]]*$||"`
33
MYSQL_BASE_VERSION=`echo $MYSQL_NUMERIC_VERSION | sed -e "s|\.[[^.]]*$||"`
34
MYSQL_VERSION_ID=`echo $MYSQL_NUMERIC_VERSION | \
35
awk -F. '{printf "%d%0.2d%0.2d", $1, $2, $3}'`
37
# The port should be constant for a LONG time
38
MYSQL_TCP_PORT_DEFAULT=4427
41
sinclude(config/ac-macros/alloca.m4)
42
sinclude(config/ac-macros/check_cpu.m4)
43
sinclude(config/ac-macros/character_sets.m4)
44
sinclude(config/ac-macros/compiler_flag.m4)
45
sinclude(config/ac-macros/dtrace.m4)
46
sinclude(config/ac-macros/plugins.m4)
47
sinclude(config/ac-macros/large_file.m4)
48
sinclude(config/ac-macros/misc.m4)
49
sinclude(config/ac-macros/readline.m4)
50
sinclude(config/ac-macros/ssl.m4)
51
sinclude(config/ac-macros/pkg.m4)
53
# Remember to add a directory server/share/LANGUAGE
54
AVAILABLE_LANGUAGES="\
55
czech danish dutch english estonian french german greek hungarian \
56
italian japanese korean norwegian norwegian-ny polish portuguese \
57
romanian russian serbian slovak spanish swedish ukrainian"
62
AC_SUBST(MYSQL_NO_DASH_VERSION)
63
AC_SUBST(MYSQL_BASE_VERSION)
64
AC_SUBST(MYSQL_VERSION_ID)
65
AC_SUBST(MYSQL_PREVIOUS_BASE_VERSION)
66
AC_SUBST(PROTOCOL_VERSION)
67
AC_DEFINE_UNQUOTED([PROTOCOL_VERSION], [$PROTOCOL_VERSION],
68
[mysql client protocol version])
69
AC_SUBST(DOT_FRM_VERSION)
70
AC_DEFINE_UNQUOTED([DOT_FRM_VERSION], [$DOT_FRM_VERSION],
71
[Version of .frm files])
72
AC_SUBST(SHARED_LIB_MAJOR_VERSION)
73
AC_SUBST(SHARED_LIB_VERSION)
74
AC_SUBST(AVAILABLE_LANGUAGES)
77
# Canonicalize the configuration name.
79
# Check whether --with-system-type or --without-system-type was given.
80
AC_ARG_WITH([system-type],
81
[AS_HELP_STRING([--with-system-type],
82
[Set the system type, like "sun-solaris10"])],
83
[SYSTEM_TYPE="$withval"],
84
[SYSTEM_TYPE="$host_vendor-$host_os"])
85
AC_ARG_WITH([machine-type],
86
[AS_HELP_STRING([--with-machine-type],
87
[Set the machine type, like "powerpc"])],
88
[MACHINE_TYPE="$withval"],
89
[MACHINE_TYPE="$host_cpu"])
91
AC_DEFINE_UNQUOTED([SYSTEM_TYPE], ["$SYSTEM_TYPE"],
92
[Name of system, eg sun-solaris])
93
AC_SUBST(MACHINE_TYPE)
94
AC_DEFINE_UNQUOTED([MACHINE_TYPE], ["$MACHINE_TYPE"],
95
[Machine type name, eg sparc])
97
# Detect intel x86 like processor
98
BASE_MACHINE_TYPE=$MACHINE_TYPE
100
i?86) BASE_MACHINE_TYPE=i386 ;;
103
# Save some variables and the command line options for mysqlbug
106
SAVE_ASFLAGS="$ASFLAGS"
107
SAVE_CFLAGS="$CFLAGS"
108
SAVE_CXXFLAGS="$CXXFLAGS"
109
SAVE_LDFLAGS="$LDFLAGS"
110
SAVE_CXXLDFLAGS="$CXXLDFLAGS"
111
CONF_COMMAND="$0 $ac_configure_args"
112
AC_SUBST(CONF_COMMAND)
115
AC_SUBST(SAVE_ASFLAGS)
116
AC_SUBST(SAVE_CFLAGS)
117
AC_SUBST(SAVE_CXXFLAGS)
118
AC_SUBST(SAVE_LDFLAGS)
119
AC_SUBST(SAVE_CXXLDFLAGS)
123
# This is needed is SUBDIRS is set
126
##############################################################################
127
# The below section needs to be done before AC_PROG_CC
128
##############################################################################
130
if test "x${CFLAGS-}" = x ; then
136
if test "x${CPPFLAGS-}" = x ; then
142
if test "x${LDFLAGS-}" = x ; then
148
################ End of section to be done before AC_PROG_CC #################
150
# The following hack should ensure that configure doesn't add optimizing
151
# or debugging flags to CFLAGS or CXXFLAGS
152
# C_EXTRA_FLAGS are flags that are automaticly added to both
153
# CFLAGS and CXXFLAGS
154
CFLAGS="$CFLAGS $C_EXTRA_FLAGS "
155
CXXFLAGS="$CXXFLAGS $C_EXTRA_FLAGS "
157
dnl Checks for programs.
164
# Print version of CC and CXX compiler (if they support --version)
167
CC_VERSION=`$CC -version | grep -i version`
170
CC_VERSION=`$CC --version | sed 1q`
175
AC_MSG_CHECKING("C Compiler version")
176
AC_MSG_RESULT("$CC $CC_VERSION")
181
MYSQL_CHECK_CXX_VERSION
183
if test "$ac_cv_c_compiler_gnu" = "yes"
188
AC_PATH_PROG(AS, as, as)
191
# Still need ranlib for readline; local static use only so no libtool.
194
#AC_LIBTOOL_WIN32_DLL
197
# Ensure that we have --preserve-dup-deps defines, otherwise we get link
198
# problems of 'mysql' with CXX=g++
199
LIBTOOL="$LIBTOOL --preserve-dup-deps"
205
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
207
# Not critical since the generated file is distributed
208
AC_CHECK_PROGS(YACC, ['bison -y -p MYSQL'])
209
if test -z "$YACC" && test -d ".bzr"
211
AC_MSG_ERROR(["bison is required for Drizzle to build from a bzr branch"])
214
AC_PATH_PROG(uname_prog, uname, no)
216
# We should go through this and put all the explictly system dependent
218
AC_MSG_CHECKING(operating system)
219
AC_CACHE_VAL(mysql_cv_sys_os,
221
if test "$uname_prog" != "no"; then
222
mysql_cv_sys_os="`uname`"
224
mysql_cv_sys_os="Not Solaris"
227
AC_MSG_RESULT($mysql_cv_sys_os)
229
# This should be rewritten to use $target_os
232
TARGET_SOLARIS="true"
233
AC_DEFINE([TARGET_OS_SOLARIS], [1], [Whether we are building for Solaris])
234
AC_SUBST(TARGET_SOLARIS)
238
# The following is required for portable results of floating point calculations
239
# on PowerPC. The same must also be done for IA-64, but this options is missing
240
# in the IA-64 gcc backend.
242
if test "$GCC" = "yes"
246
CFLAGS="$CFLAGS -mno-fused-madd"
247
CXXFLAGS="$CXXFLAGS -mno-fused-madd"
258
AC_SUBST(INSTALL_SCRIPT)
261
export CC CXX CFLAGS LD LDFLAGS AR ARFLAGS
263
if test "$GCC" = "yes"
265
# mysqld requires -fno-implicit-templates.
266
# Disable exceptions as they seams to create problems with gcc and threads.
267
# mysqld doesn't use run-time-type-checking, so we disable it.
268
# We should use -Wno-invalid-offsetof flag to disable some warnings from gcc
269
# regarding offset() usage in C++ which are done in a safe manner in the
271
CXXFLAGS="$CXXFLAGS -fno-implicit-templates -fno-exceptions -fno-rtti"
272
AC_DEFINE([HAVE_EXPLICIT_TEMPLATE_INSTANTIATION],
273
[1], [Defined by configure. Use explicit template instantiation.])
278
# libmysqlclient versioning when linked with GNU ld.
279
if $LD --version 2>/dev/null|grep -q GNU; then
280
LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_builddir)/libdrizzle/libdrizzle.ver"
281
AC_CONFIG_FILES(libdrizzle/libdrizzle.ver)
48
283
AC_SUBST(LD_VERSION_SCRIPT)
50
dnl Set the default datadir location to /usr/local/var/drizzle. If a
51
dnl localstatedir is explicitly given, just use that.
52
AS_IF([test "x${localstatedir}" = 'x${prefix}/var'],[
53
localstatedir='${prefix}/var/drizzle'
56
AC_PATH_PROG(GPERF, gperf)
57
AS_IF([test "x$GPERF" = "x"],
58
AC_MSG_ERROR("Drizzle requires gperf to build."))
60
# libexecinfo provides backtrace_symbols on FreeBSD
61
AC_SEARCH_LIBS(backtrace_symbols, [execinfo])
65
PANDORA_REQUIRE_LIBPROTOBUF
66
PANDORA_PROTOBUF_REQUIRE_VERSION([2.1.0])
67
PANDORA_REQUIRE_PROTOC
70
PANDORA_REQUIRE_PTHREAD
71
PANDORA_REQUIRE_LIBUUID
73
PANDORA_REQUIRE_LIBPCRE
74
PANDORA_REQUIRE_LIBREADLINE
78
DRIZZLE_STACK_DIRECTION
80
PANDORA_USE_BETTER_MALLOC
83
AC_DEFINE([BUILDING_DRIZZLED],[1],
84
[Define indicating we are building and not consuming drizzle.])
87
PANDORA_HAVE_LIBSQLITE3
89
AC_CHECK_FUNC(inet_ntoa, [], [AC_CHECK_LIB(nsl, inet_ntoa)])
286
#--------------------------------------------------------------------
288
#--------------------------------------------------------------------
290
AC_CHECK_HEADERS(event.h)
291
if test "x$ac_cv_header_event_h" != "xyes"
293
AC_MSG_ERROR([Couldn't find event.h. Try installing libevent development packages])
295
AC_CHECK_LIB(event, event_loop, [], [AC_MSG_ERROR(could not find libevent)])
297
#--------------------------------------------------------------------
298
# Check for libpthread
299
#--------------------------------------------------------------------
301
AC_CHECK_HEADERS(pthread.h)
302
if test "x$ac_cv_header_pthread_h" != "xyes"
304
AC_MSG_ERROR([Couldn't find pthread.h.])
306
AC_CHECK_LIB(pthread, pthread_create, [], [AC_MSG_ERROR(could not find libpthread)])
308
#--------------------------------------------------------------------
310
#--------------------------------------------------------------------
312
AC_ARG_ENABLE([tcmalloc],
313
[AS_HELP_STRING([--enable-tcmalloc],
314
[Enable linking with tcmalloc @<:@default=off@:>@])],
315
[ac_warn_strict_aliasing="$enableval"],
316
[ac_warn_strict_aliasing="no"])
318
if test "x$ac_warn_strict_aliasing" = "xyes"
320
AC_CHECK_LIB(tcmalloc,malloc,[],[])
323
#--------------------------------------------------------------------
325
#--------------------------------------------------------------------
327
AC_CHECK_HEADERS(zlib.h)
328
if test "x$ac_cv_header_zlib_h" != "xyes"
330
AC_MSG_ERROR([Couldn't find zlib.h. Try installing zlib development packages])
332
AC_CHECK_LIB(z, crc32, [], [AC_MSG_ERROR(could not find libz)])
335
AC_CHECK_HEADERS([readline/readline.h])
336
if test "x$ac_cv_header_readline_readline_h" != "xyes"
338
AC_MSG_ERROR([Couldn't find readline/readline.h. Try installing readline development packages.])
341
#--------------------------------------------------------------------
343
#--------------------------------------------------------------------
346
AC_PATH_PROG(PKG_CONFIG, pkg-config, AC_MSG_ERROR([pkg-config wasn't found.]))
347
PKG_CHECK_MODULES(PCRE, [libpcrecpp >= 3], [found_pcre="yes"],[
348
dnl Only check the header here, because autoconf can't handle
349
dnl checking for C++ methods without C linkages
350
AC_CHECK_HEADERS(pcrecpp.h)
351
if test "x$ac_cv_header_pcrecpp_h" != "xyes"
356
# We can't search for these well, but we sure do need them!
357
PCRE_LIBS="-lpcrecpp -lpcre"
360
if test "x$found_pcre" != "xyes"
362
AC_MSG_ERROR([Couldn't find pcrecpp.h. Try installing the development package associated with libpcre on your system.])
366
AC_SUBST(PCRE_CFLAGS)
368
dnl Find paths to some shell programs
369
AC_PATH_PROG(LN, ln, ln)
370
# This must be able to take a -f flag like normal unix ln.
371
AC_PATH_PROG(LN_CP_F, ln, ln)
373
AC_PATH_PROG(MV, mv, mv)
374
AC_PATH_PROG(RM, rm, rm)
375
AC_PATH_PROG(CP, cp, cp)
376
AC_PATH_PROG(SED, sed, sed)
377
AC_PATH_PROG(CMP, cmp, cmp)
378
AC_PATH_PROG(CHMOD, chmod, chmod)
379
AC_PATH_PROG(HOSTNAME, hostname, hostname)
380
# Check for a GNU tar named 'gtar', or 'gnutar' (MacOS X) and
381
# fall back to 'tar' otherwise and hope that it's a GNU tar as well
382
AC_CHECK_PROGS(TAR, gnutar gtar tar)
384
dnl We use a path for perl so the script startup works
385
dnl We make sure to use perl, not perl5, in hopes that the RPMs will
386
dnl not depend on the perl5 binary being installed (probably a bug in RPM)
387
AC_PATH_PROG(PERL, perl, no)
388
if test "$PERL" != "no" && $PERL -e 'require 5' > /dev/null 2>&1
392
AC_PATH_PROG(PERL5, perl5, no)
393
if test "$PERL5" != no
396
ac_cv_path_PERL=$ac_cv_path_PERL5
404
# icheck, used for ABI check
405
AC_PATH_PROG(ICHECK, icheck, no)
406
# "icheck" is also the name of a file system check program on Tru64.
407
# Verify the program found is really the interface checker.
408
if test "x$ICHECK" != "xno"
410
AC_MSG_CHECKING(if $ICHECK works as expected)
411
echo "int foo;" > conftest.h
412
$ICHECK --canonify -o conftest.ic conftest.h 2>/dev/null
413
if test -f "conftest.ic"
420
rm -f conftest.ic conftest.h
425
AC_PATH_PROG(PS, ps, ps)
426
AC_MSG_CHECKING("how to check if pid exists")
429
if $PS p $$ 2> /dev/null | grep `echo $0 | sed s/\-//` > /dev/null
431
FIND_PROC="$PS p \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
433
elif $PS -fp $$ 2> /dev/null | grep $0 > /dev/null
435
FIND_PROC="$PS -p \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
437
elif $PS -uaxww 2> /dev/null | grep $0 > /dev/null
439
FIND_PROC="$PS -uaxww | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
441
elif $PS -ef 2> /dev/null | grep $0 > /dev/null
443
FIND_PROC="$PS -ef | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
444
# Do anybody use this?
445
elif $PS $$ 2> /dev/null | grep $0 > /dev/null
447
FIND_PROC="$PS \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
450
*freebsd*|*dragonfly*)
451
FIND_PROC="$PS p \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
454
FIND_PROC="$PS -uaxww | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
457
AC_MSG_ERROR([Could not find the right ps switches. Which OS is this ?. See the Installation chapter in the Reference Manual.])
461
AC_MSG_RESULT("$FIND_PROC")
463
# Check if a pid is valid
464
AC_PATH_PROG(KILL, kill, kill)
465
AC_MSG_CHECKING("for kill switches")
466
if $ac_cv_path_KILL -0 $$
468
CHECK_PID="$ac_cv_path_KILL -0 \$\$PID > /dev/null 2> /dev/null"
471
CHECK_PID="$ac_cv_path_KILL -s 0 \$\$PID > /dev/null 2> /dev/null"
473
AC_MSG_WARN([kill -0 to check for pid seems to fail])
474
CHECK_PID="$ac_cv_path_KILL -s SIGCONT \$\$PID > /dev/null 2> /dev/null"
477
AC_MSG_RESULT("$CHECK_PID")
479
# We need an ANSI C compiler
482
# We need an assembler, too
484
CCASFLAGS="$CCASFLAGS $ASFLAGS"
486
# Check if we need noexec stack for assembler
489
if test "$am_cv_prog_cc_stdc" = "no"
491
AC_MSG_ERROR([Drizzle requires an ANSI C compiler (and a C++ compiler). Try gcc. See the Installation chapter in the Reference Manual.])
92
495
AC_ARG_WITH([server-suffix],
93
496
[AS_HELP_STRING([--with-server-suffix],
94
497
[Append value to the version string.])],
95
[ DRIZZLE_SERVER_SUFFIX="$withval" ]
96
[ DRIZZLE_SERVER_SUFFIX= ])
98
AC_DEFINE_UNQUOTED([DRIZZLE_SERVER_SUFFIX],[$DRIZZLE_SERVER_SUFFIX],
99
[Append value to the version string])
102
AC_ARG_WITH([drizzled-user],
103
[AS_HELP_STRING([--with-drizzled-user=username],
104
[What user the drizzled daemon shall be run as.
105
@<:@default=drizzle@:>@])],
106
[ DRIZZLED_USER="$withval" ],
107
[ DRIZZLED_USER=drizzle ])
108
AC_SUBST(DRIZZLED_USER)
498
[ MYSQL_SERVER_SUFFIX=`echo "$withval" | sed -e 's/^\(...................................\)..*$/\1/'` ],
499
[ MYSQL_SERVER_SUFFIX= ]
501
AC_SUBST(MYSQL_SERVER_SUFFIX)
503
# Force use of a curses libs
504
AC_ARG_WITH([named-curses-libs],
505
[AS_HELP_STRING([--with-named-curses-libs=ARG],
506
[Use specified curses libraries instead of those
507
automatically found by configure.])],
508
[ with_named_curses=$withval ],
509
[ with_named_curses=no ]
512
# compile with strings functions in assembler
513
AC_ARG_ENABLE([assembler],
514
[AS_HELP_STRING([--enable-assembler],
515
[Use assembler versions of some string functions if available.])],
516
[ ENABLE_ASSEMBLER=$enableval ],
517
[ ENABLE_ASSEMBLER=no ]
520
AC_MSG_CHECKING(if we should use assembler functions)
521
# For now we only support assembler on i386 and sparc systems
522
AM_CONDITIONAL(ASSEMBLER_x86, test "$ENABLE_ASSEMBLER" = "yes" -a "$BASE_MACHINE_TYPE" = "i386" && $AS strings/strings-x86.s -o checkassembler >/dev/null 2>&1 && test -f checkassembler && (rm -f checkassembler; exit 0;))
523
AM_CONDITIONAL(ASSEMBLER_sparc32, test "$ENABLE_ASSEMBLER" = "yes" -a "$BASE_MACHINE_TYPE" = "sparc")
524
AM_CONDITIONAL(ASSEMBLER_sparc64, test "$ENABLE_ASSEMBLER" = "yes" -a "$BASE_MACHINE_TYPE" = "sparcv9")
525
AM_CONDITIONAL(ASSEMBLER, test "$ASSEMBLER_x86_TRUE" = "" -o "$ASSEMBLER_sparc32_TRUE" = "")
527
if test "$ASSEMBLER_TRUE" = ""
535
AC_MSG_CHECKING(if SHOW PROFILE should be enabled.)
536
AC_ARG_ENABLE([profiling],
537
[AS_HELP_STRING([--enable-profiling],
538
[Build a version with query profiling code])],
539
[ ENABLED_PROFILING=$enableval ],
540
[ ENABLED_PROFILING=no ])
542
if test "$ENABLED_PROFILING" = "yes"
544
AC_DEFINE([ENABLED_PROFILING], [1],
545
[If SHOW PROFILE should be enabled])
551
AC_ARG_WITH([tcp-port],
552
[AS_HELP_STRING([--with-tcp-port=port-number],
553
[Which port to use for Drizzle services @<:@default=4427@:>@])],
554
[ MYSQL_TCP_PORT=$withval ],
555
[ MYSQL_TCP_PORT=$MYSQL_TCP_PORT_DEFAULT
556
# if we actually defaulted (as opposed to the pathological case of
557
# --with-tcp-port=<MYSQL_TCP_PORT_DEFAULT> which might in theory
558
# happen if whole batch of servers was built from a script), set
559
# the default to zero to indicate that; we don't lose information
560
# that way, because 0 obviously indicates that we can get the
561
# default value from MYSQL_TCP_PORT. this seems really evil, but
562
# testing for MYSQL_TCP_PORT==MYSQL_TCP_PORT_DEFAULT would make a
563
# a port of MYSQL_TCP_PORT_DEFAULT magic even if the builder did not
564
# intend it to mean "use the default, in fact, look up a good default
565
# from /etc/services if you can", but really, really meant 4427 when
566
# they passed in 4427. When they pass in a specific value, let them
567
# have it; don't second guess user and think we know better, this will
568
# just make people cross. this makes the the logic work like this
569
# (which is complicated enough):
571
# - if a port was set during build, use that as a default.
573
# - otherwise, try to look up a port in /etc/services; if that fails,
574
# use MYSQL_TCP_PORT_DEFAULT (at the time of this writing 4427)
576
# - allow the MYSQL_TCP_PORT environment variable to override that.
578
# - allow command-line parameters to override all of the above.
580
# the top-most MYSQL_TCP_PORT_DEFAULT is read from win/configure.js,
581
# so don't mess with that.
582
MYSQL_TCP_PORT_DEFAULT=0 ]
584
AC_SUBST(MYSQL_TCP_PORT)
585
# We might want to document the assigned port in the manual.
586
AC_SUBST(MYSQL_TCP_PORT_DEFAULT)
588
# Use this to set the place used for unix socket used to local communication.
589
AC_ARG_WITH([mysqld-user],
590
[AS_HELP_STRING([--with-mysqld-user=username],
591
[What user the mysqld daemon shall be run as.
592
@<:@default=mysql@:>@])],
593
[ MYSQLD_USER=$withval ],
594
[ MYSQLD_USER=mysql ]
596
AC_SUBST(MYSQLD_USER)
598
# If we should allow LOAD DATA LOCAL
599
AC_MSG_CHECKING(If we should should enable LOAD DATA LOCAL by default)
600
AC_ARG_ENABLE(local-infile,
601
[ --enable-local-infile Enable LOAD DATA LOCAL INFILE (default: disabled)],
602
[ ENABLED_LOCAL_INFILE=$enableval ],
603
[ ENABLED_LOCAL_INFILE=no ]
605
if test "$ENABLED_LOCAL_INFILE" = "yes"
608
AC_DEFINE([ENABLED_LOCAL_INFILE], [1],
609
[If LOAD DATA LOCAL INFILE should be enabled by default])
616
# Types that must be checked AFTER large file support is checked
619
#--------------------------------------------------------------------
620
# Check for system header files
621
#--------------------------------------------------------------------
627
AC_CHECK_HEADERS(fcntl.h float.h fpu_control.h ieeefp.h)
628
AC_CHECK_HEADERS(limits.h pwd.h select.h linux/config.h)
629
AC_CHECK_HEADERS(sys/fpu.h utime.h sys/utime.h )
630
AC_CHECK_HEADERS(synch.h sys/mman.h sys/socket.h netinet/in.h arpa/inet.h)
631
AC_CHECK_HEADERS(sys/timeb.h sys/vadvise.h sys/wait.h term.h)
632
AC_CHECK_HEADERS(termio.h termios.h sched.h crypt.h alloca.h)
633
AC_CHECK_HEADERS(sys/ioctl.h malloc.h sys/malloc.h sys/ipc.h sys/shm.h)
634
AC_CHECK_HEADERS(sys/prctl.h sys/resource.h sys/param.h port.h ieeefp.h)
635
AC_CHECK_HEADERS(execinfo.h)
637
AC_CHECK_HEADERS([xfs/xfs.h])
639
#--------------------------------------------------------------------
640
# Check for system libraries. Adds the library to $LIBS
641
# and defines HAVE_LIBM etc
642
#--------------------------------------------------------------------
644
AC_CHECK_LIB(m, floor, [], AC_CHECK_LIB(m, __infinity))
647
AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
648
AC_CHECK_FUNC(yp_get_default_domain, ,
649
AC_CHECK_LIB(nsl, yp_get_default_domain))
650
AC_CHECK_FUNC(p2open, , AC_CHECK_LIB(gen, p2open))
651
# This may get things to compile even if bind-8 is installed
652
AC_CHECK_FUNC(bind, , AC_CHECK_LIB(bind, bind))
653
# Check if crypt() exists in libc or libcrypt, sets LIBS if needed
654
AC_SEARCH_LIBS(crypt, crypt, AC_DEFINE(HAVE_CRYPT, 1, [crypt]))
656
# Check rt for aio_read
657
AC_CHECK_LIB(rt, aio_read)
659
# For the sched_yield() function on Solaris
660
AC_CHECK_FUNC(sched_yield, , AC_CHECK_LIB(posix4, sched_yield,
661
[AC_DEFINE(HAVE_SCHED_YIELD) LIBS="$LIBS -lposix4"]))
663
if test "$ac_cv_header_termio_h" = "no" -a "$ac_cv_header_termios_h" = "no"
665
AC_CHECK_FUNC(gtty, , AC_CHECK_LIB(compat, gtty))
668
AC_CHECK_TYPES([int8, uint8, int16, uint16, int32, uint32, int64, uint64,
669
uchar, uint, ulong],[],[], [
670
#include <sys/types.h>
672
AC_CHECK_TYPES([fp_except], [], [], [
673
#include <sys/types.h>
679
AC_CHECK_LIB(dl,dlopen)
680
AC_CHECK_FUNCS(dlopen dlerror)
681
if test "$ac_cv_func_dlopen" != "yes"
683
AC_MSG_ERROR([Drizzle requires dlopen])
689
AC_CHECK_FUNCS(strtok_r)
691
# Build optimized or debug version ?
692
# First check for gcc and g++
693
if test "$ac_cv_c_compiler_gnu" = "yes"
695
SYMBOLS_CFLAGS="-ggdb3"
696
DEBUG_OPTIMIZE_CC="-O0"
697
OPTIMIZE_CFLAGS="-O2"
703
if test "$ac_cv_prog_cxx_g" = "yes"
705
SYMBOLS_CXXFLAGS="-ggdb3"
706
DEBUG_OPTIMIZE_CXX="-O0"
707
OPTIMIZE_CXXFLAGS="-O2"
709
SYMBOLS_CXXFLAGS="-g"
710
DEBUG_OPTIMIZE_CXX=""
711
OPTIMIZE_CXXFLAGS="-O"
714
# If the user specified CFLAGS, we won't add any optimizations
715
if test -n "$SAVE_CFLAGS"
721
if test -n "$SAVE_CXXFLAGS"
724
DEBUG_OPTIMIZE_CXX=""
727
CFLAGS="${SYMBOLS_CFLAGS} ${CFLAGS}"
728
CXXFLAGS="${SYMBOLS_CXXFLAGS} ${CXXFLAGS}"
730
AC_ARG_WITH([fast-mutexes],
731
[AS_HELP_STRING([--with-fast-mutexes],
732
[Compile with fast mutexes @<:@default=off@:>@])],
733
[with_fast_mutexes=$withval],
734
[with_fast_mutexes=no])
736
if test "$with_fast_mutexes" != "no"
738
AC_DEFINE([MY_PTHREAD_FASTMUTEX], [1],
739
[Define to 1 if you want to use fast mutexes])
111
742
AC_ARG_WITH([comment],
112
743
[AS_HELP_STRING([--with-comment],
113
744
[Comment about compilation environment. @<:@default=off@:>@])],
114
745
[with_comment=$withval],
115
746
[with_comment=no])
116
AS_IF([test "$with_comment" != "no"],[
747
if test "$with_comment" != "no"
117
749
COMPILATION_COMMENT=$with_comment
119
COMPILATION_COMMENT="Source distribution (${PANDORA_RELEASE_COMMENT})"
751
COMPILATION_COMMENT="Source distribution"
753
AC_SUBST(COMPILATION_COMMENT)
755
if expr "$target_os" : "[[Ll]]inux.*" > /dev/null
758
AC_DEFINE([TARGET_OS_LINUX], [1], [Whether we build for Linux])
763
AC_MSG_CHECKING("need of special linking flags")
764
if test "$TARGET_LINUX" = "true" -a "$ac_cv_c_compiler_gnu" = "yes" -a "$all_is_static" != "yes"
766
LDFLAGS="$LDFLAGS -rdynamic"
767
AC_MSG_RESULT("-rdynamic")
769
case "$SYSTEM_TYPE$with_mysqld_ldflags " in
770
*freebsd*"-all-static "*|*dragonfly*"-all-static "*)
771
AC_MSG_RESULT("none")
773
*freebsd*|*dragonfly*)
774
MYSQLD_EXTRA_LDFLAGS="$MYSQLD_EXTRA_LDFLAGS -export-dynamic"
775
AC_MSG_RESULT("-export-dynamic")
778
AC_MSG_RESULT("none")
783
dnl Checks for typedefs, structures, and compiler characteristics.
789
MYSQL_NEEDS_MYSYS_NEW
790
# AC_CHECK_SIZEOF return 0 when it does not find the size of a
791
# type. We want a error instead.
792
AC_CHECK_SIZEOF(char, 1)
793
if test "$ac_cv_sizeof_char" -eq 0
795
AC_MSG_ERROR([No size for char type.])
797
AC_CHECK_SIZEOF(char*, 4)
798
AC_CHECK_SIZEOF(short, 2)
799
AC_CHECK_SIZEOF(int, 4)
800
if test "$ac_cv_sizeof_int" -eq 0
802
AC_MSG_ERROR("No size for int type.")
804
AC_CHECK_SIZEOF(long, 4)
805
if test "$ac_cv_sizeof_long" -eq 0
807
AC_MSG_ERROR("No size for long type.")
809
AC_CHECK_SIZEOF(long long, 8)
810
if test "$ac_cv_sizeof_long_long" -eq 0
812
AC_MSG_ERROR("Drizzle needs a long long type.")
814
# off_t is not a builtin type
815
AC_CHECK_SIZEOF(off_t, 4)
816
if test "$ac_cv_sizeof_off_t" -eq 0
818
AC_MSG_ERROR("Drizzle needs a off_t type.")
822
dnl check if time_t is unsigned
828
# do we need #pragma interface/#pragma implementation ?
829
# yes if it's gcc 2.x, and not icc pretending to be gcc, and not cygwin
830
AC_MSG_CHECKING(the need for @%:@pragma interface/implementation)
831
# instead of trying to match SYSTEM_TYPE and CC_VERSION (that doesn't
832
# follow any standard), we'll use well-defined preprocessor macros:
833
AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
834
#if !defined(__CYGWIN__) && !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ < 3)
835
#error USE_PRAGMA_IMPLEMENTATION
837
]])],[AC_MSG_RESULT(no) ],[AC_MSG_RESULT(yes) ; CXXFLAGS="$CXXFLAGS -DUSE_PRAGMA_IMPLEMENTATION"])
839
# This always gives a warning. Ignore it unless you are cross compiling
841
#---START: Used in for client configure
842
# Check base type of last arg to accept
845
# Figure out what type of struct rlimit to use with setrlimit
846
MYSQL_TYPE_STRUCT_RLIMIT
847
# Find where the stack goes
848
MYSQL_STACK_DIRECTION
849
# We want to skip alloca on irix unconditionally. It may work on some version..
851
# Do struct timespec have members tv_sec or ts_sec
853
# Do we have the tzname variable
855
# Do the c++ compiler have a bool type
857
AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
858
AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
859
AC_CHECK_TYPES([u_int32_t])
863
######################################################################
864
# For readline/libedit (We simply move the mimimum amount of stuff from
865
# the readline/libedit configure.in here)
867
dnl Checks for header files.
868
AC_CHECK_HEADERS(malloc.h sys/cdefs.h)
870
dnl Checks for library functions.
872
AC_PROG_GCC_TRADITIONAL
874
AC_CHECK_FUNCS(re_comp regcomp strdup)
876
dnl Sun compilers have their own vis.h that is about something
877
dnl totally different. So, not to change the libedit source, we
878
dnl do some additional checks before we define HAVE_VIS_H.
879
AC_CHECK_HEADER(vis.h,
880
[AC_CHECK_FUNC(strvis,
881
[AC_DEFINE([HAVE_VIS_H], [1],[Found vis.h and the strvis() function])])])
883
AC_CHECK_FUNCS(strlcat strlcpy)
884
AC_CHECK_FUNCS(issetugid)
885
AC_CHECK_FUNCS(getline flockfile)
887
# from old readline settting:
892
# Already-done: stdlib.h string.h unistd.h termios.h
893
AC_CHECK_HEADERS(varargs.h stdarg.h dirent.h locale.h ndir.h sys/dir.h \
894
sys/file.h sys/ndir.h sys/ptem.h sys/pte.h sys/select.h sys/stream.h \
895
sys/mman.h curses.h termcap.h termio.h termbits.h asm/termbits.h grp.h \
898
# Already-done: strcasecmp
899
AC_CHECK_FUNCS(lstat putenv select setenv setlocale strcoll tcgetattr)
903
MYSQL_CHECK_GETPW_FUNCS
904
MYSQL_HAVE_TIOCGWINSZ
907
MYSQL_STRUCT_DIRENT_D_INO
908
MYSQL_STRUCT_DIRENT_D_NAMLEN
909
MYSQL_TYPE_SIGHANDLER
910
MYSQL_CHECK_MULTIBYTE
911
if test "$with_named_curses" = "no"
913
MYSQL_CHECK_LIB_TERMCAP
915
TERMCAP_LIB="$with_named_curses"
917
AC_SUBST(TERMCAP_LIB)
919
# Check if the termcap function 'tgoto' is already declared in
920
# system header files or if it need to be declared locally
921
AC_CHECK_DECLS(tgoto,,,[
925
# include <ncurses.h>
121
AC_DEFINE_UNQUOTED([COMPILATION_COMMENT],["$COMPILATION_COMMENT"],
122
[Comment about compilation environment])
932
# End of readline/libedit stuff
125
933
#########################################################################
128
dnl Has to be done late, as the plugin may need to check for existence of
129
dnl functions tested above
130
PANDORA_PLUGINS([drizzled/module/load_list.h])
132
dnl GCC Precompiled Header Support
134
dnl AM_CONDITIONAL([BUILD_GCC_PCH],[test "$GCC" = "yes"])
135
AM_CONDITIONAL([BUILD_GCC_PCH],[test "no" = "yes"])
137
AS_IF([test "$lt_cv_prog_gnu_ld" = "yes"],[
138
LDFLAGS="${LDFLAGS} ${LD_VERSION_SCRIPT}"
143
AC_CONFIG_FILES(Makefile dnl
145
drizzled/plugin/version.h dnl
146
support-files/libdrizzle.pc dnl
147
support-files/drizzle.server support-files/drizzle-log-rotate
148
support-files/smf/install.sh dnl
149
support-files/drizzle.spec dnl
150
support-files/smf/drizzle.xml dnl
151
support-files/smf/drizzle)
153
scheduling_plugins_available="
158
for sched_plugin in $scheduling_plugins_available
160
varname="\${with_plugin_${sched_plugin}}"
161
result=`eval "echo $varname"`
162
if test "x$result" = "xyes"
164
scheduling_plugins="$sched_plugin $scheduling_plugins"
935
dnl Checks for library functions.
938
# The following code disables intrinsic function support while we test for
939
# library functions. This is to avoid configure problems with Intel ecc
943
if test "$GCC" != "yes"; then
944
AC_SYS_COMPILER_FLAG(-nolib_inline,nolib_inline,CFLAGS,[],[])
953
AC_CHECK_FUNCS(fcntl)
954
if test "x$ac_cv_func_fcntl" != "xyes"
956
AC_MSG_ERROR("Drizzle requires fcntl.")
959
AC_CHECK_FUNCS(bcmp bfill bmove bsearch bzero \
961
fdatasync finite fpresetsticky fpsetmask fsync ftruncate \
962
getcwd getpass getpassphrase getpwnam \
963
getpwuid getrlimit getrusage getwd index initgroups isnan \
964
localtime_r gethrtime gmtime_r \
965
locking longjmp lrand48 madvise mallinfo memcpy memmove \
966
mkstemp mlockall perror poll pread pthread_attr_create mmap mmap64 getpagesize \
967
pthread_attr_getstacksize pthread_attr_setprio pthread_attr_setschedparam \
968
pthread_attr_setstacksize pthread_condattr_create pthread_getsequence_np \
969
pthread_key_delete pthread_rwlock_rdlock pthread_setprio \
970
pthread_setprio_np pthread_setschedparam pthread_sigmask readlink \
971
realpath rename rint rwlock_init setupterm \
972
shmget shmat shmdt shmctl sigaction sigemptyset sigaddset \
973
sighold sigset sigthreadmask port_create sleep \
974
snprintf socket stpcpy strcasecmp strerror strsignal strnlen strpbrk strstr \
975
strtol strtoll strtoul strtoull tell tempnam vidattr \
976
posix_fallocate backtrace backtrace_symbols backtrace_symbols_fd)
978
# Check that isinf() is available in math.h and can be used in both C and C++
980
AC_MSG_CHECKING(for isinf in math.h)
981
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]], [[
987
AC_MSG_CHECKING(whether isinf() can be used in C++ code)
989
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]], [[
995
AC_DEFINE(HAVE_ISINF, [1], [isinf() macro or function])
1004
CFLAGS="$ORG_CFLAGS"
1006
# Sanity check: We chould not have any fseeko symbol unless
1007
# large_file_support=yes
1008
AC_CHECK_FUNC(fseeko,
1009
[if test "$large_file_support" = no -a "$TARGET_LINUX" = "true";
1011
AC_MSG_ERROR("Found fseeko symbol but large_file_support is not enabled!")
1015
# Check definition of pthread_getspecific
1016
AC_CACHE_CHECK("args to pthread_getspecific", mysql_cv_getspecific_args,
1017
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#if !defined(_REENTRANT)
1020
#define _POSIX_PTHREAD_SEMANTICS
1021
#include <pthread.h> ]], [[ void *pthread_getspecific(pthread_key_t key);
1022
pthread_getspecific((pthread_key_t) NULL); ]])],[mysql_cv_getspecific_args=POSIX],[mysql_cv_getspecific_args=other]))
1023
if test "$mysql_cv_getspecific_args" = "other"
1025
AC_DEFINE([HAVE_NONPOSIX_PTHREAD_GETSPECIFIC], [1],
1026
[For some non posix threads])
1029
# Check definition of pthread_mutex_init
1030
AC_CACHE_CHECK("args to pthread_mutex_init", mysql_cv_mutex_init_args,
1031
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1032
#define _POSIX_PTHREAD_SEMANTICS
1033
#include <pthread.h> ]], [[
1034
pthread_mutexattr_t attr;
1036
pthread_mutex_init(&mp,&attr); ]])],[mysql_cv_mutex_init_args=POSIX],[mysql_cv_mutex_init_args=other]))
1037
if test "$mysql_cv_mutex_init_args" = "other"
1039
AC_DEFINE([HAVE_NONPOSIX_PTHREAD_MUTEX_INIT], [1],
1040
[For some non posix threads])
1044
#---START: Used in for client configure
1045
# Check definition of readdir_r
1046
AC_CACHE_CHECK("args to readdir_r", mysql_cv_readdir_r,
1047
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1048
#define _POSIX_PTHREAD_SEMANTICS
1049
#include <pthread.h>
1050
#include <dirent.h>]], [[ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);
1051
readdir_r((DIR *) NULL, (struct dirent *) NULL, (struct dirent **) NULL); ]])],[mysql_cv_readdir_r=POSIX],[mysql_cv_readdir_r=other]))
1052
if test "$mysql_cv_readdir_r" = "POSIX"
1054
AC_DEFINE([HAVE_READDIR_R], [1], [POSIX readdir_r])
1057
# Check definition of posix sigwait()
1058
AC_CACHE_CHECK("style of sigwait", mysql_cv_sigwait,
1059
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1060
#define _POSIX_PTHREAD_SEMANTICS
1061
#include <pthread.h>
1062
#include <signal.h>]], [[#ifndef _AIX
1066
#endif]])],[mysql_cv_sigwait=POSIX],[mysql_cv_sigwait=other]))
1067
if test "$mysql_cv_sigwait" = "POSIX"
1069
AC_DEFINE([HAVE_SIGWAIT], [1], [POSIX sigwait])
1072
if test "$mysql_cv_sigwait" != "POSIX"
1074
unset mysql_cv_sigwait
1075
# Check definition of posix sigwait()
1076
AC_CACHE_CHECK("style of sigwait", mysql_cv_sigwait,
1077
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1078
#define _POSIX_PTHREAD_SEMANTICS
1079
#include <pthread.h>
1080
#include <signal.h>]], [[sigset_t set;
1082
sigwait(&set);]])],[mysql_cv_sigwait=NONPOSIX],[mysql_cv_sigwait=other]))
1083
if test "$mysql_cv_sigwait" = "NONPOSIX"
1085
AC_DEFINE([HAVE_NONPOSIX_SIGWAIT], [1], [sigwait with one argument])
1090
# Check if pthread_attr_setscope() exists
1091
AC_CACHE_CHECK("for pthread_attr_setscope", mysql_cv_pthread_attr_setscope,
1092
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1093
#define _POSIX_PTHREAD_SEMANTICS
1094
#include <pthread.h>]], [[pthread_attr_t thr_attr;
1095
pthread_attr_setscope(&thr_attr,0);]])],[mysql_cv_pthread_attr_setscope=yes],[mysql_cv_pthread_attr_setscope=no]))
1096
if test "$mysql_cv_pthread_attr_setscope" = "yes"
1098
AC_DEFINE([HAVE_PTHREAD_ATTR_SETSCOPE], [1], [pthread_attr_setscope])
1101
# Check for bad includes
1102
AC_MSG_CHECKING("can netinet files be included")
1103
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
1104
#include <sys/socket.h>
1105
#include <netinet/in_systm.h>
1106
#include <netinet/in.h>
1107
#include <netinet/ip.h>
1108
#include <netinet/tcp.h>]], [[ printf("1\n"); ]])],[netinet_inc=yes],[netinet_inc=no])
1109
if test "$netinet_inc" = "no"
1111
AC_DEFINE([HAVE_BROKEN_NETINET_INCLUDES], [1], [Can netinet be included])
1113
AC_MSG_RESULT("$netinet_inc")
1116
AC_CHECK_HEADERS(cxxabi.h)
1117
AC_CACHE_CHECK([checking for abi::__cxa_demangle], mysql_cv_cxa_demangle,
1118
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <cxxabi.h>]], [[
1119
char *foo= 0; int bar= 0;
1120
foo= abi::__cxa_demangle(foo, foo, 0, &bar);
1121
]])],[mysql_cv_cxa_demangle=yes],[mysql_cv_cxa_demangle=no])])
1124
if test "x$mysql_cv_cxa_demangle" = xyes; then
1125
AC_DEFINE(HAVE_ABI_CXA_DEMANGLE, 1,
1126
[Define to 1 if you have the `abi::__cxa_demangle' function.])
1129
#--------------------------------------------------------------------
1130
# Check for requested features
1131
#--------------------------------------------------------------------
1133
MYSQL_CHECK_BIG_TABLES
1134
MYSQL_CHECK_MAX_INDEXES
1137
#--------------------------------------------------------------------
1138
# Declare our plugin modules
1139
# Has to be done late, as the plugin may need to check for existence of
1140
# functions tested above
1141
#--------------------------------------------------------------------
1143
MYSQL_CONFIGURE_PLUGINS([none])
1145
AC_SUBST(mysql_plugin_dirs)
1146
AC_SUBST(mysql_plugin_libs)
1147
AC_SUBST(mysql_plugin_defs)
1149
AC_ARG_ENABLE([pedantic-warnings],
1150
[AS_HELP_STRING([--disable-pedantic-warnings],
1151
[Toggle pedanticness @<:@default=on@:>@])],
1152
[ac_warn_pedantic="$enableval"],
1153
[ac_warn_pedantic="yes"])
1155
AC_ARG_ENABLE([fail],
1156
[AS_HELP_STRING([--disable-fail],
1157
[Turn warnings into failures @<:@default=on@:>@])],
1158
[ac_warn_fail="$enableval"],
1159
[ac_warn_fail="yes"])
1161
AC_ARG_ENABLE([unreachable],
1162
[AS_HELP_STRING([--enable-unreachable],
1163
[Enable warnings about unreachable code @<:@default=off@:>@])],
1164
[ac_warn_unreachable="$enableval"],
1165
[ac_warn_unreachable="no"])
1167
AC_ARG_ENABLE([longlong-warnings],
1168
[AS_HELP_STRING([--enable-longlong-warnings],
1169
[Enable warnings about longlong in C++ @<:@default=off@:>@])],
1170
[ac_warn_longlong="$enableval"],
1171
[ac_warn_longlong="no"])
1173
AC_ARG_ENABLE([strict-aliasing],
1174
[AS_HELP_STRING([--enable-strict-aliasing],
1175
[Enable warnings about stict-aliasing @<:@default=off@:>@])],
1176
[ac_warn_strict_aliasing="$enableval"],
1177
[ac_warn_strict_aliasing="no"])
1180
if test "$GCC" = "yes"
1183
if test "$ac_warn_longlong" = "yes"
1185
W_LONGLONG="-Wlong-long"
1187
W_LONGLONG="-Wno-long-long"
1190
if test "$ac_warn_strict_aliasing" = "yes"
1192
W_STRICT_ALIASING="-Wstrict-aliasing"
1194
W_STRICT_ALIASING="-Wno-strict-aliasing"
1197
if test "$ac_warn_pedantic" = "yes"
1199
GCC_PEDANTIC="-pedantic -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls ${W_STRICT_ALIASING}"
1200
GXX_PEDANTIC="-pedantic -Wundef -Wredundant-decls ${W_LONGLONG} ${W_STRICT_ALIASING}"
1203
if test "$ac_warn_unreachable" = "yes"
1205
W_UNREACHABLE="-Wunreachable-code"
1208
if test "$ac_warn_fail" = "yes"
1213
BASE_WARNINGS="-W -Wall -Wextra"
1214
GCC_WARNINGS="${BASE_WARNINGS} -std=gnu99 ${GCC_PEDANTIC} ${W_UNREACHABLE} ${W_FAIL}"
1215
GXX_WARNINGS="${BASE_WARNINGS} -std=gnu++98 ${GXX_PEDANTIC} ${W_UNREACHABLE} ${W_FAIL}"
1217
CXXFLAGS="$CXXFLAGS ${GXX_WARNINGS}"
1218
CFLAGS="$CFLAGS ${GCC_WARNINGS} "
1221
# Some usefull subst
1225
# Set configuration options for make_binary_distribution
1226
case $SYSTEM_TYPE in
1228
MAKE_BINARY_DISTRIBUTION_OPTIONS="$MAKE_BINARY_DISTRIBUTION_OPTIONS --no-strip"
1231
: # no change for other platforms yet
1234
AC_SUBST(MAKE_BINARY_DISTRIBUTION_OPTIONS)
1236
AC_CONFIG_FILES(Makefile extra/Makefile mysys/Makefile mysys/tests/Makefile dnl
1237
strings/Makefile strings/tests/Makefile storage/Makefile dnl
1239
libdrizzle/Makefile client/Makefile dnl
1240
server/Makefile server/share/Makefile dnl
1241
server/sql_builtin.cc dnl
1242
include/Makefile dnl
1243
support-files/Makefile dnl
1244
tests/Makefile tests/install_test_db dnl
1245
include/drizzle_version.h plugin/Makefile dnl
1246
server/drizzled_safe support-files/libdrizzle.pc dnl
1247
support-files/drizzle.server support-files/drizzle-log-rotate)
1249
AC_CONFIG_COMMANDS([default], , test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h)
1251
# Ensure that table handlers gets all modifications to CFLAGS/CXXFLAGS
1252
AC_CONFIG_COMMANDS_POST(ac_configure_args="$ac_configure_args CFLAGS='$CFLAGS' CXXFLAGS='$CXXFLAGS'")
171
echo "Configuration summary for $PACKAGE_NAME version $VERSION $PANDORA_RELEASE_COMMENT"
173
echo " * Installation prefix: $prefix"
174
echo " * System type: $host_vendor-$host_os"
175
echo " * pandora-build version: PANDORA_CANONICAL_VERSION"
176
echo " * Host CPU: $host_cpu"
177
echo " * C Compiler: $CC_VERSION"
178
echo " * C++ Compiler: $CXX_VERSION"
179
echo " * Assertions enabled: $ac_cv_assert"
180
echo " * Debug enabled: $with_debug"
181
echo " * Profiling enabled: $ac_profiling"
182
echo " * Coverage enabled: $ac_coverage"
183
echo " * Warnings as failure: $ac_cv_warnings_as_errors"
191
echo "* NOTE: You are on FreeBSD. BSD make will not work."
193
echo "* use 'gmake' To build Drizzle"
195
echo "* And ensure that /usr/local/lib/gcc44 is in your LD_LIBRARY_PATH"
202
dnl libtoolize scans configure.ac and needs to see some text
203
m4_define([LIBTOOLIZE_AC_INIT], [])