4
4
AC_PREREQ(2.59)dnl Minimum Autoconf version required.
6
AC_INIT(drizzle, [7.0.0], [http://bugs.launchpad.net/drizzle])
7
AC_CONFIG_SRCDIR([drizzled/drizzled.cc])
7
AC_CONFIG_SRCDIR([server/drizzled.cc])
8
8
AC_CONFIG_AUX_DIR(config)
9
AC_CONFIG_HEADERS([config.h])
11
# Save some variables and the command line options for mysqlbug
14
SAVE_ASFLAGS="$ASFLAGS"
16
SAVE_CXXFLAGS="$CXXFLAGS"
17
SAVE_LDFLAGS="$LDFLAGS"
18
SAVE_CXXLDFLAGS="$CXXLDFLAGS"
19
CONF_COMMAND="$0 $ac_configure_args"
20
AC_SUBST(CONF_COMMAND)
23
AC_SUBST(SAVE_ASFLAGS)
25
AC_SUBST(SAVE_CXXFLAGS)
26
AC_SUBST(SAVE_LDFLAGS)
27
AC_SUBST(SAVE_CXXLDFLAGS)
9
AC_CONFIG_HEADERS([include/config.h:config.h.in])
30
10
AC_CANONICAL_TARGET
31
AM_INIT_AUTOMAKE(-Wall -Wno-portability -Werror)
11
AM_INIT_AUTOMAKE(drizzle, 7.0.0, no-define)
33
13
PROTOCOL_VERSION=10
35
15
# See the libtool docs for information on how to do shared lib versions.
36
SHARED_LIB_MAJOR_VERSION=1
16
SHARED_LIB_MAJOR_VERSION=16
37
17
SHARED_LIB_VERSION=$SHARED_LIB_MAJOR_VERSION:0:0
40
dnl AC_CANONICAL_HOST thinks it's a good idea to just set CFLAGS to
41
dnl -g -O2 if you're running gcc. We would like to use something else, thanks.
42
if test "x${CFLAGS}" = "x-g -O2"
46
if test "x${CXXFLAGS}" = "x-g -O2"
52
21
# Set all version vars based on $VERSION. How do we do this more elegant ?
53
22
# Remember that regexps needs to quote [ and ] since this is run through m4
54
23
# We take some made up examples
56
25
# VERSION 5.1.40sp1-alpha 5.0.34a
57
# DRIZZLE_NO_DASH_VERSION 5.1.40sp1 5.0.34a
58
# DRIZZLE_NUMERIC_VERSION 5.1.40 5.0.34
59
# DRIZZLE_BASE_VERSION 5.1 5.0
60
# DRIZZLE_VERSION_ID 50140 50034
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
62
DRIZZLE_NO_DASH_VERSION=`echo $VERSION | sed -e "s|-.*$||"`
63
DRIZZLE_NUMERIC_VERSION=`echo $DRIZZLE_NO_DASH_VERSION | sed -e "s|[[a-z]][[a-z0-9]]*$||"`
64
DRIZZLE_BASE_VERSION=`echo $DRIZZLE_NUMERIC_VERSION | sed -e "s|\.[[^.]]*$||"`
65
DRIZZLE_VERSION_ID=`echo $DRIZZLE_NUMERIC_VERSION | \
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 | \
66
35
awk -F. '{printf "%d%0.2d%0.2d", $1, $2, $3}'`
68
37
# The port should be constant for a LONG time
69
DRIZZLE_TCP_PORT_DEFAULT=4427
71
sinclude(m4/dtrace.m4)
72
sinclude(m4/character_sets.m4)
74
AM_GNU_GETTEXT([external])
75
AM_GNU_GETTEXT_VERSION(0.17)
77
AM_CONDITIONAL([BUILD_GETTEXT],[test "x$MSGMERGE" != "x" -a "x$MSGMERGE" != "x:"])
79
AC_SUBST(DRIZZLE_NO_DASH_VERSION)
80
AC_SUBST(DRIZZLE_BASE_VERSION)
81
AC_SUBST(DRIZZLE_VERSION_ID)
82
AC_SUBST(DRIZZLE_PREVIOUS_BASE_VERSION)
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)
83
66
AC_SUBST(PROTOCOL_VERSION)
84
67
AC_DEFINE_UNQUOTED([PROTOCOL_VERSION], [$PROTOCOL_VERSION],
85
68
[mysql client protocol version])
90
73
AC_SUBST(SHARED_LIB_VERSION)
91
74
AC_SUBST(AVAILABLE_LANGUAGES)
94
AC_DEFINE([IO_SIZE], [4096], [Io buffer size; Must be a power of 2 and
95
a multiple of 512. May be
96
smaller what the disk page size. This influences the speed of the
97
isam btree library. eg to big to slow.])
98
AC_DEFINE([SC_MAXWIDTH],[256], [Max width of screen (for error messages)])
99
AC_DEFINE([FN_LEN],[256 ], [Max file name len ])
100
AC_DEFINE([FN_HEADLEN],[253], [Max length of filepart of file name ])
101
AC_DEFINE([FN_EXTLEN],[20], [Max length of extension (part of FN_LEN) ])
102
AC_DEFINE([FN_REFLEN],[512], [Max length of full path-name ])
103
AC_DEFINE([FN_EXTCHAR],['.'], [File extension character])
104
AC_DEFINE([FN_HOMELIB],['~'], [~/ is used as abbrev for home dir ])
105
AC_DEFINE([FN_CURLIB],['.'], [./ is used as abbrev for current dir ])
106
AC_DEFINE([FN_PARENTDIR],[".."], [Parent directory; Must be a string ])
108
AC_DEFINE([MASTER],[1],[Compile without unireg])
110
AH_VERBATIM([QUOTE_ARG],[
111
/* Quote argument (before cpp) */
113
# define QUOTE_ARG(x) #x
115
/* Quote argument, (after cpp) */
116
#ifndef STRINGIFY_ARG
117
# define STRINGIFY_ARG(x) QUOTE_ARG(x)
121
AH_VERBATIM([builtin_expect],[
123
* The macros below are borrowed from include/linux/compiler.h in the
124
* Linux kernel. Use them to indicate the likelyhood of the truthfulness
125
* of a condition. This serves two purposes - newer versions of gcc will be
126
* able to optimize for branch predication, which could yield siginficant
127
* performance gains in frequently executed sections of the code, and the
128
* other reason to use them is for documentation
130
#if !defined(__GNUC__)
131
#define __builtin_expect(x, expected_value) (x)
134
#define likely(x) __builtin_expect((x),1)
135
#define unlikely(x) __builtin_expect((x),0)
138
dnl InnoDB depends on some Drizzle's internals which other plugins should not
139
dnl need. This is because of InnoDB's foreign key support, "safe" binlog
140
dnl truncation, and other similar legacy features.
142
dnl We define accessors for these internals unconditionally, but do not
143
dnl expose them in mysql/plugin.h. They are declared in ha_innodb.h for
146
AC_DEFINE([INNODB_COMPATIBILITY_HOOKS],[1],[TODO: Remove the need for this])
147
dnl TODO: Make a test for when this needs to be set.
148
AC_DEFINE([_REENTRANT],[1],[Some thread libraries require this])
150
AH_VERBATIM([posix_pthread],[
151
/* We want posix threads */
152
#ifndef _POSIX_PTHREAD_SEMANTICS
153
#define _POSIX_PTHREAD_SEMANTICS
158
77
# Canonicalize the configuration name.
210
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 "
212
157
dnl Checks for programs.
214
ifdef([AC_PROG_CC_C99],[
215
dnl TODO: Need to fix this to use c99 instead of gnu99
216
AC_PROG_CC_C99([],[AC_MSG_ERROR([C99 support required for compiling Drizzle])])
218
],[C99_SUPPORT_HACK="-std=gnu99"])
220
AC_CXX_HEADER_STDCXX_98
221
if test "$ac_cv_cxx_stdcxx_98" = "no"
223
AC_MSG_ERROR([C++ Compiler required to compile Drizzle])
233
164
# Print version of CC and CXX compiler (if they support --version)
234
165
case $SYSTEM_TYPE in
236
AC_DEFINE([TARGET_OS_OSX], [1], [Whether we build for OSX])
167
CC_VERSION=`$CC -version | grep -i version`
239
170
CC_VERSION=`$CC --version | sed 1q`
271
188
AC_PATH_PROG(AS, as, as)
274
dnl TODO: This needs to go away and be replaced with _ISOC99_SOURCE
275
if test "$ac_cv_compiler_gnu" = "yes" -o "$target_os" = "linux-gnu"
277
AC_DEFINE([_GNU_SOURCE],[1],[Fix problem with S_ISLNK() on Linux])
280
dnl Solaris 9 include file <sys/feature_tests.h> refers to X/Open document
282
dnl System Interfaces and Headers, Issue 5
284
dnl saying we should define _XOPEN_SOURCE=500 to get POSIX.1c prototypes,
285
dnl but apparently other systems (namely FreeBSD) don't agree.
287
dnl On a newer Solaris 10, the above file recognizes also _XOPEN_SOURCE=600.
288
dnl Furthermore, it tests that if a program requires older standard
289
dnl (_XOPEN_SOURCE<600 or _POSIX_C_SOURCE<200112L) it cannot be
290
dnl run on a new compiler (that defines _STDC_C99) and issues an #error.
291
dnl It's also an #error if a program requires new standard (_XOPEN_SOURCE=600
292
dnl or _POSIX_C_SOURCE=200112L) and a compiler does not define _STDC_C99.
294
dnl To add more to this mess, Sun Studio C compiler defines _STDC_C99 while
295
dnl C++ compiler does not!
297
dnl TODO: Can _ISOC99_SOURCE be defined on all platforms and remove the
298
dnl Need for all of this?
301
dnl Do we need both of these?
302
CXXFLAGS="${CXXFLAGS} -D__C99FEATURES__"
303
CFLAGS="${CFLAGS} -D_XOPEN_SOURCE=600"
304
AC_DEFINE([__EXTENSIONS__],[1],[Turn on needed extensions on Solaris])
191
# Still need ranlib for readline; local static use only so no libtool.
310
194
#AC_LIBTOOL_WIN32_DLL
379
263
if test "$GCC" = "yes"
265
# mysqld requires -fno-implicit-templates.
381
266
# Disable exceptions as they seams to create problems with gcc and threads.
382
# drizzled doesn't use run-time-type-checking, so we disable it.
383
AM_CXXFLAGS="${AM_CXXFLAGS} -fno-exceptions"
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.])
388
# libdrizzle versioning when linked with GNU ld.
278
# libmysqlclient versioning when linked with GNU ld.
389
279
if $LD --version 2>/dev/null|grep -q GNU; then
390
LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_srcdir)/libdrizzle/libdrizzle.ver"
280
LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_builddir)/libdrizzle/libdrizzle.ver"
281
AC_CONFIG_FILES(libdrizzle/libdrizzle.ver)
392
283
AC_SUBST(LD_VERSION_SCRIPT)
394
#--------------------------------------------------------------------
395
# Check for Google Proto Buffers
396
#--------------------------------------------------------------------
399
AC_CHECK_HEADERS([google/protobuf/message.h])
400
if test "x$ac_cv_header_google_protobuf_message_h" != "xyes"
402
AC_MSG_ERROR([Couldn't find message.h. Try installing Google Protocol Buffer development packages])
405
save_CFLAGS="$CFLAGS"
410
AC_CACHE_CHECK([for Message in libprotobuf], ac_libprotobuf_works, [
412
#include <google/protobuf/descriptor.pb.h>
414
google::protobuf::FileDescriptorProto testFdp;
415
], ac_libprotobuf_works=yes, [
416
AC_ERROR([could not find Google's libprotobuf])
421
PROTOBUF_LIBS="${LIBS}"
422
AC_SUBST(PROTOBUF_LIBS)
423
CFLAGS="$save_CFLAGS"
427
286
#--------------------------------------------------------------------
428
287
# Check for libevent
429
288
#--------------------------------------------------------------------
431
AC_MSG_CHECKING(for libevent)
432
AC_ARG_WITH(libevent,
433
[AS_HELP_STRING([--with-libevent],
434
[Use libevent build directory])],
435
[ with_libevent=$withval ],
436
[ with_libevent=yes ])
438
if test "$with_libevent" = "yes"
290
AC_CHECK_HEADERS(event.h)
291
if test "x$ac_cv_header_event_h" != "xyes"
440
AC_CHECK_HEADERS(event.h)
441
if test "x$ac_cv_header_event_h" != "xyes"
443
AC_MSG_ERROR([Couldn't find event.h. Try installing libevent development packages])
447
AC_CHECK_LIB(event, event_loop, [], [AC_MSG_ERROR(could not find libevent)])
448
LIBEVENT_LIBS="${LIBS}"
449
LIBS="${my_save_LIBS}"
452
AC_MSG_RESULT($withval)
453
if test -f $withval/event.h -a -f $withval/libevent.a; then
455
if cd $withval; then withval=`pwd`; cd $owd; fi
456
LIBEVENT_CFLAGS="-I$withval"
457
LIBEVENT_LIBS="-L$withval -levent"
458
elif test -f $withval/include/event.h -a -f $withval/lib/libevent.a; then
460
if cd $withval; then withval=`pwd`; cd $owd; fi
461
LIBEVENT_CFLAGS="-I$withval/include"
462
LIBEVENT_LIBS="-L$withval/lib -levent"
464
AC_MSG_ERROR([event.h or libevent.a not found in $withval])
293
AC_MSG_ERROR([Couldn't find event.h. Try installing libevent development packages])
468
AC_SUBST(LIBEVENT_CFLAGS)
469
AC_SUBST(LIBEVENT_LIBS)
471
AC_CACHE_CHECK([for bufferevent in libevent], ac_libevent_works, [
472
save_CFLAGS="$CFLAGS"
474
CFLAGS="$LIBEVENT_CFLAGS"
475
LIBS="$LIBEVENT_LIBS"
477
#include <sys/types.h>
478
#include <sys/time.h>
480
#include <event.h>],[
481
struct bufferevent bev;
482
bufferevent_settimeout(&bev, 1, 1);
483
], ac_libevent_works=yes, [
484
AC_ERROR([you need to install a more recent version of libevent,
485
check http://www.monkey.org/~provos/libevent/])
488
CFLAGS="$save_CFLAGS"
295
AC_CHECK_LIB(event, event_loop, [], [AC_MSG_ERROR(could not find libevent)])
493
297
#--------------------------------------------------------------------
494
298
# Check for libpthread
508
312
AC_ARG_ENABLE([tcmalloc],
509
313
[AS_HELP_STRING([--enable-tcmalloc],
510
314
[Enable linking with tcmalloc @<:@default=off@:>@])],
511
[ac_enable_tcmalloc="$enableval"],
512
[ac_enable_tcmalloc="no"])
315
[ac_warn_strict_aliasing="$enableval"],
316
[ac_warn_strict_aliasing="no"])
514
if test "x$ac_enable_tcmalloc" = "xyes"
318
if test "x$ac_warn_strict_aliasing" = "xyes"
516
320
AC_CHECK_LIB(tcmalloc,malloc,[],[])
521
325
#--------------------------------------------------------------------
525
327
AC_CHECK_HEADERS(zlib.h)
526
328
if test "x$ac_cv_header_zlib_h" != "xyes"
528
330
AC_MSG_ERROR([Couldn't find zlib.h. Try installing zlib development packages])
530
332
AC_CHECK_LIB(z, crc32, [], [AC_MSG_ERROR(could not find libz)])
536
#--------------------------------------------------------------------
537
# Check for libreadline or compatible (libedit on Mac OS X)
538
#--------------------------------------------------------------------
540
AC_CHECK_HEADERS(readline/history.h readline/readline.h)
335
AC_CHECK_HEADERS([readline/readline.h])
541
336
if test "x$ac_cv_header_readline_readline_h" != "xyes"
543
338
AC_MSG_ERROR([Couldn't find readline/readline.h. Try installing readline development packages.])
545
AC_CHECK_TYPES([HIST_ENTRY], [], [], [AC_INCLUDES_DEFAULT[
546
#ifdef HAVE_READLINE_HISTORY_H
547
#include <readline/history.h>
549
#include <readline/readline.h>
551
AC_CHECK_DECLS([completion_matches], [], [], [AC_INCLUDES_DEFAULT[
552
#ifdef HAVE_READLINE_HISTORY_H
553
#include <readline/history.h>
555
#include <readline/readline.h>
558
DRIZZLE_CHECK_NEW_RL_INTERFACE
562
AC_CHECK_LIB(readline, rl_initialize, [],
563
[AC_CHECK_LIB(ncurses, tgetent, [], [AC_MSG_ERROR(Couldn't find ncurses)])
564
AC_SEARCH_LIBS(rl_initialize, readline, [],
565
[AC_MSG_ERROR(Couldn't find libreadline.)])])
566
READLINE_LIBS="$LIBS"
568
AC_SUBST(READLINE_LIBS)
571
341
#--------------------------------------------------------------------
572
342
# Check for libpcre
575
345
AC_LANG_PUSH([C++])
576
346
AC_PATH_PROG(PKG_CONFIG, pkg-config, AC_MSG_ERROR([pkg-config wasn't found.]))
577
PKG_CHECK_MODULES(PCRE, [libpcrecpp >= 3], [found_pcre="yes"],[found_pcre="no"])
579
if test "$found_pcre" = "no"
347
PKG_CHECK_MODULES(PCRE, [libpcrecpp >= 3], [found_pcre="yes"],[
581
348
dnl Only check the header here, because autoconf can't handle
582
349
dnl checking for C++ methods without C linkages
583
350
AC_CHECK_HEADERS(pcrecpp.h)
584
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"
586
362
AC_MSG_ERROR([Couldn't find pcrecpp.h. Try installing the development package associated with libpcre on your system.])
588
# Found headers, now see if we can link
589
AC_MSG_CHECKING(for libpcrecpp)
590
save_LDFLAGS="$LDFLAGS"
591
LDFLAGS="-lpcrecpp -lpcre"
595
[pcrecpp::RE_Options opt;],
597
[AC_MSG_ERROR([Couldn't link libpcrecpp])])
600
LDFLAGS="$save_LDFLAGS"
605
365
AC_SUBST(PCRE_LIBS)
750
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])
753
551
AC_ARG_WITH([tcp-port],
754
552
[AS_HELP_STRING([--with-tcp-port=port-number],
755
553
[Which port to use for Drizzle services @<:@default=4427@:>@])],
756
[ DRIZZLE_TCP_PORT=$withval ],
757
[ DRIZZLE_TCP_PORT=$DRIZZLE_TCP_PORT_DEFAULT
554
[ MYSQL_TCP_PORT=$withval ],
555
[ MYSQL_TCP_PORT=$MYSQL_TCP_PORT_DEFAULT
758
556
# if we actually defaulted (as opposed to the pathological case of
759
# --with-tcp-port=<DRIZZLE_TCP_PORT_DEFAULT> which might in theory
557
# --with-tcp-port=<MYSQL_TCP_PORT_DEFAULT> which might in theory
760
558
# happen if whole batch of servers was built from a script), set
761
559
# the default to zero to indicate that; we don't lose information
762
560
# that way, because 0 obviously indicates that we can get the
763
# default value from DRIZZLE_TCP_PORT. this seems really evil, but
764
# testing for DRIZZLE_TCP_PORT==DRIZZLE_TCP_PORT_DEFAULT would make a
765
# a port of DRIZZLE_TCP_PORT_DEFAULT magic even if the builder did not
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
766
564
# intend it to mean "use the default, in fact, look up a good default
767
565
# from /etc/services if you can", but really, really meant 4427 when
768
566
# they passed in 4427. When they pass in a specific value, let them
773
571
# - if a port was set during build, use that as a default.
775
573
# - otherwise, try to look up a port in /etc/services; if that fails,
776
# use DRIZZLE_TCP_PORT_DEFAULT (at the time of this writing 4427)
574
# use MYSQL_TCP_PORT_DEFAULT (at the time of this writing 4427)
778
# - allow the DRIZZLE_TCP_PORT environment variable to override that.
576
# - allow the MYSQL_TCP_PORT environment variable to override that.
780
578
# - allow command-line parameters to override all of the above.
782
# the top-most DRIZZLE_TCP_PORT_DEFAULT is read from win/configure.js,
580
# the top-most MYSQL_TCP_PORT_DEFAULT is read from win/configure.js,
783
581
# so don't mess with that.
784
DRIZZLE_TCP_PORT_DEFAULT=0 ]
582
MYSQL_TCP_PORT_DEFAULT=0 ]
786
AC_SUBST(DRIZZLE_TCP_PORT)
584
AC_SUBST(MYSQL_TCP_PORT)
787
585
# We might want to document the assigned port in the manual.
788
AC_SUBST(DRIZZLE_TCP_PORT_DEFAULT)
586
AC_SUBST(MYSQL_TCP_PORT_DEFAULT)
790
588
# Use this to set the place used for unix socket used to local communication.
791
589
AC_ARG_WITH([mysqld-user],
845
642
#--------------------------------------------------------------------
847
644
AC_CHECK_LIB(m, floor, [], AC_CHECK_LIB(m, __infinity))
849
AC_CHECK_FUNC(setsockopt, [], [AC_CHECK_LIB(socket, setsockopt)])
850
AC_CHECK_FUNC(yp_get_default_domain, [],
851
[AC_CHECK_LIB(nsl, yp_get_default_domain)])
852
AC_CHECK_FUNC(p2open, [], [AC_CHECK_LIB(gen, p2open)])
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))
853
651
# This may get things to compile even if bind-8 is installed
854
AC_CHECK_FUNC(bind, [], [AC_CHECK_LIB(bind, bind)])
652
AC_CHECK_FUNC(bind, , AC_CHECK_LIB(bind, bind))
855
653
# Check if crypt() exists in libc or libcrypt, sets LIBS if needed
856
654
AC_SEARCH_LIBS(crypt, crypt, AC_DEFINE(HAVE_CRYPT, 1, [crypt]))
859
657
AC_CHECK_LIB(rt, aio_read)
861
659
# For the sched_yield() function on Solaris
862
AC_CHECK_FUNC(sched_yield, [],
863
[AC_CHECK_LIB(posix4, [sched_yield],
864
[AC_DEFINE(HAVE_SCHED_YIELD) LIBS="$LIBS -lposix4"])])
660
AC_CHECK_FUNC(sched_yield, , AC_CHECK_LIB(posix4, sched_yield,
661
[AC_DEFINE(HAVE_SCHED_YIELD) LIBS="$LIBS -lposix4"]))
866
663
if test "$ac_cv_header_termio_h" = "no" -a "$ac_cv_header_termios_h" = "no"
868
AC_CHECK_FUNC(gtty, [], [AC_CHECK_LIB(compat, gtty)])
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>
871
672
AC_CHECK_TYPES([fp_except], [], [], [
872
673
#include <sys/types.h>
873
674
#include <ieeefp.h>
876
678
my_save_LIBS="$LIBS"
878
680
AC_CHECK_LIB(dl,dlopen)
879
687
AC_CHECK_FUNCS(dlopen dlerror)
880
if test "$ac_cv_func_dlopen" != "yes"
882
AC_MSG_ERROR([Drizzle requires dlopen])
885
688
LIBS="$my_save_LIBS"
888
690
AC_CHECK_FUNCS(strtok_r)
692
# Build optimized or debug version ?
693
# First check for gcc and g++
694
if test "$ac_cv_c_compiler_gnu" = "yes"
696
SYMBOLS_CFLAGS="-ggdb3"
697
DEBUG_OPTIMIZE_CC="-O0"
698
OPTIMIZE_CFLAGS="-O2"
704
if test "$ac_cv_prog_cxx_g" = "yes"
706
SYMBOLS_CXXFLAGS="-ggdb3"
707
DEBUG_OPTIMIZE_CXX="-O0"
708
OPTIMIZE_CXXFLAGS="-O2"
710
SYMBOLS_CXXFLAGS="-g"
711
DEBUG_OPTIMIZE_CXX=""
712
OPTIMIZE_CXXFLAGS="-O"
715
# If the user specified CFLAGS, we won't add any optimizations
716
if test -n "$SAVE_CFLAGS"
722
if test -n "$SAVE_CXXFLAGS"
725
DEBUG_OPTIMIZE_CXX=""
728
CFLAGS="${SYMBOLS_CFLAGS} ${CFLAGS}"
729
CXXFLAGS="${SYMBOLS_CXXFLAGS} ${CXXFLAGS}"
732
[AS_HELP_STRING([--with-debug],
733
[Add debug code (yes|no|full) @<:@default=no@:>@
734
Full adds memory checked, very slow.])],
735
[with_debug=$withval],
737
AM_CONDITIONAL(BUILD_DBUG, test "$with_debug" != "no")
738
if test "$with_debug" = "yes"
741
AC_DEFINE([DBUG_ON], [1], [Use libdbug])
742
CFLAGS="$DEBUG_OPTIMIZE_CC $CFLAGS"
743
CXXFLAGS="$DEBUG_OPTIMIZE_CXX $CXXFLAGS"
745
# Optimized version. No debug
746
AC_DEFINE([DBUG_OFF], [1], [Dont use libdbug])
747
CFLAGS="$OPTIMIZE_CFLAGS $CFLAGS"
748
CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS"
751
# If we should allow error injection tests
752
AC_ARG_WITH([error-inject],
753
[AS_HELP_STRING([--with-error-inject],
754
[Enable error injection in Drizzle Server @<:@default=off@:>@])],
755
[ with_error_inject=$withval ],
756
[ with_error_inject=no ])
758
if test $with_debug != "no"
760
if test "$with_error_inject" = "yes"
762
AC_DEFINE([ERROR_INJECT_SUPPORT], [1],
763
[Enable error injection in Drizzle Server])
892
767
AC_ARG_WITH([fast-mutexes],
893
768
[AS_HELP_STRING([--with-fast-mutexes],
898
773
if test "$with_fast_mutexes" != "no"
900
AC_DEFINE([MY_PTHREAD_FASTMUTEX], [1],
901
[Define to 1 if you want to use fast mutexes])
775
if test "$with_debug" != "no"
777
AC_MSG_WARN(['--with-fast-mutexes' ignored when '--with-debug' is given])
779
AC_DEFINE([MY_PTHREAD_FASTMUTEX], [1],
780
[Define to 1 if you want to use fast mutexes])
904
AM_CONDITIONAL(BUILD_FAST_MUTEX,[test "$with_fast_mutexes" != "no"])
906
784
AC_ARG_WITH([comment],
907
785
[AS_HELP_STRING([--with-comment],
908
786
[Comment about compilation environment. @<:@default=off@:>@])],
924
802
TARGET_LINUX="false"
805
AC_MSG_CHECKING("need of special linking flags")
806
if test "$TARGET_LINUX" = "true" -a "$ac_cv_c_compiler_gnu" = "yes" -a "$all_is_static" != "yes"
808
LDFLAGS="$LDFLAGS -rdynamic"
809
AC_MSG_RESULT("-rdynamic")
811
case "$SYSTEM_TYPE$with_mysqld_ldflags " in
812
*freebsd*"-all-static "*|*dragonfly*"-all-static "*)
813
AC_MSG_RESULT("none")
815
*freebsd*|*dragonfly*)
816
MYSQLD_EXTRA_LDFLAGS="$MYSQLD_EXTRA_LDFLAGS -export-dynamic"
817
AC_MSG_RESULT("-export-dynamic")
820
AC_MSG_RESULT("none")
927
825
dnl Checks for typedefs, structures, and compiler characteristics.
831
MYSQL_NEEDS_MYSYS_NEW
832
# AC_CHECK_SIZEOF return 0 when it does not find the size of a
833
# type. We want a error instead.
834
AC_CHECK_SIZEOF(char, 1)
835
if test "$ac_cv_sizeof_char" -eq 0
837
AC_MSG_ERROR([No size for char type.])
839
AC_CHECK_SIZEOF(char*, 4)
840
AC_CHECK_SIZEOF(short, 2)
841
AC_CHECK_SIZEOF(int, 4)
842
if test "$ac_cv_sizeof_int" -eq 0
844
AC_MSG_ERROR("No size for int type.")
846
AC_CHECK_SIZEOF(long, 4)
847
if test "$ac_cv_sizeof_long" -eq 0
849
AC_MSG_ERROR("No size for long type.")
851
AC_CHECK_SIZEOF(long long, 8)
852
if test "$ac_cv_sizeof_long_long" -eq 0
854
AC_MSG_ERROR("Drizzle needs a long long type.")
933
856
# off_t is not a builtin type
934
857
AC_CHECK_SIZEOF(off_t, 4)
935
858
if test "$ac_cv_sizeof_off_t" -eq 0
941
864
dnl check if time_t is unsigned
870
# do we need #pragma interface/#pragma implementation ?
871
# yes if it's gcc 2.x, and not icc pretending to be gcc, and not cygwin
872
AC_MSG_CHECKING(the need for @%:@pragma interface/implementation)
873
# instead of trying to match SYSTEM_TYPE and CC_VERSION (that doesn't
874
# follow any standard), we'll use well-defined preprocessor macros:
875
AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
876
#if !defined(__CYGWIN__) && !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ < 3)
877
#error USE_PRAGMA_IMPLEMENTATION
879
]])],[AC_MSG_RESULT(no) ],[AC_MSG_RESULT(yes) ; CXXFLAGS="$CXXFLAGS -DUSE_PRAGMA_IMPLEMENTATION"])
947
881
# This always gives a warning. Ignore it unless you are cross compiling
949
883
#---START: Used in for client configure
950
884
# Check base type of last arg to accept
953
887
# Figure out what type of struct rlimit to use with setrlimit
954
DRIZZLE_TYPE_STRUCT_RLIMIT
888
MYSQL_TYPE_STRUCT_RLIMIT
955
889
# Find where the stack goes
956
DRIZZLE_STACK_DIRECTION
890
MYSQL_STACK_DIRECTION
957
891
# We want to skip alloca on irix unconditionally. It may work on some version..
959
893
# Do struct timespec have members tv_sec or ts_sec
961
895
# Do we have the tzname variable
963
897
# Do the c++ compiler have a bool type
965
899
AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
966
900
AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
968
DRIZZLE_PTHREAD_YIELD
901
AC_CHECK_TYPES([u_int32_t])
905
######################################################################
906
# For readline/libedit (We simply move the mimimum amount of stuff from
907
# the readline/libedit configure.in here)
971
909
dnl Checks for header files.
972
910
AC_CHECK_HEADERS(malloc.h sys/cdefs.h)
1060
998
AC_MSG_ERROR("Drizzle requires fcntl.")
1063
AC_CONFIG_LIBOBJ_DIR([mystrings])
1065
AC_CHECK_FUNCS(bsearch \
1001
AC_CHECK_FUNCS(bcmp bfill bmove bsearch bzero \
1066
1002
cuserid fchmod \
1067
1003
fdatasync finite fpresetsticky fpsetmask fsync ftruncate \
1068
getcwd getpassphrase getpwnam \
1004
getcwd getpass getpassphrase getpwnam \
1069
1005
getpwuid getrlimit getrusage getwd index initgroups isnan \
1070
1006
localtime_r gethrtime gmtime_r \
1071
locking longjmp lrand48 madvise mallinfo \
1073
mkstemp mlockall perror poll pread pthread_attr_create mmap mmap64 \
1007
locking longjmp lrand48 madvise mallinfo memcpy memmove \
1008
mkstemp mlockall perror poll pread pthread_attr_create mmap mmap64 getpagesize \
1074
1009
pthread_attr_getstacksize pthread_attr_setprio pthread_attr_setschedparam \
1075
1010
pthread_attr_setstacksize pthread_condattr_create pthread_getsequence_np \
1076
1011
pthread_key_delete pthread_rwlock_rdlock pthread_setprio \
1077
1012
pthread_setprio_np pthread_setschedparam pthread_sigmask readlink \
1078
realpath rename rwlock_init setupterm \
1013
realpath rename rint rwlock_init setupterm \
1079
1014
shmget shmat shmdt shmctl sigaction sigemptyset sigaddset \
1080
1015
sighold sigset sigthreadmask port_create sleep \
1081
snprintf socket strcasecmp strerror strsignal strpbrk \
1082
tell tempnam vidattr \
1016
snprintf socket stpcpy strcasecmp strerror strsignal strnlen strpbrk strstr \
1017
strtol strtoll strtoul strtoull tell tempnam vidattr \
1083
1018
posix_fallocate backtrace backtrace_symbols backtrace_symbols_fd)
1086
# Test whether madvise() is declared in C++ code -- it is not on some
1087
# systems, such as Solaris
1088
AC_CHECK_DECLS([madvise], [], [], [AC_INCLUDES_DEFAULT[
1090
#include <sys/types.h>
1091
#include <sys/mman.h>
1097
AM_CONDITIONAL(BUILD_THR_RWLOCK,[test "$ac_cv_func_rwlock_init" -a "$ac_cv_funn_pthread_rwlock_rdlock"])
1099
1020
# Check that isinf() is available in math.h and can be used in both C and C++
1101
1022
AC_MSG_CHECKING(for isinf in math.h)
1136
1057
# Check definition of pthread_getspecific
1137
AC_CACHE_CHECK([args to pthread_getspecific], [mysql_cv_getspecific_args],
1138
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#if !defined(_REENTRANT)
1058
AC_CACHE_CHECK("args to pthread_getspecific", mysql_cv_getspecific_args,
1059
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#if !defined(_REENTRANT)
1139
1060
#define _REENTRANT
1141
1062
#define _POSIX_PTHREAD_SEMANTICS
1142
1063
#include <pthread.h> ]], [[ void *pthread_getspecific(pthread_key_t key);
1143
pthread_getspecific((pthread_key_t) NULL); ]])],
1144
[mysql_cv_getspecific_args=POSIX],
1145
[mysql_cv_getspecific_args=other])])
1064
pthread_getspecific((pthread_key_t) NULL); ]])],[mysql_cv_getspecific_args=POSIX],[mysql_cv_getspecific_args=other]))
1146
1065
if test "$mysql_cv_getspecific_args" = "other"
1148
1067
AC_DEFINE([HAVE_NONPOSIX_PTHREAD_GETSPECIFIC], [1],
1152
1071
# Check definition of pthread_mutex_init
1153
AC_CACHE_CHECK([args to pthread_mutex_init], [mysql_cv_mutex_init_args],
1154
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1072
AC_CACHE_CHECK("args to pthread_mutex_init", mysql_cv_mutex_init_args,
1073
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1155
1074
#define _POSIX_PTHREAD_SEMANTICS
1156
1075
#include <pthread.h> ]], [[
1157
1076
pthread_mutexattr_t attr;
1158
1077
pthread_mutex_t mp;
1159
pthread_mutex_init(&mp,&attr); ]])],
1160
[mysql_cv_mutex_init_args=POSIX],
1161
[mysql_cv_mutex_init_args=other])])
1078
pthread_mutex_init(&mp,&attr); ]])],[mysql_cv_mutex_init_args=POSIX],[mysql_cv_mutex_init_args=other]))
1162
1079
if test "$mysql_cv_mutex_init_args" = "other"
1164
1081
AC_DEFINE([HAVE_NONPOSIX_PTHREAD_MUTEX_INIT], [1],
1169
1086
#---START: Used in for client configure
1170
1087
# Check definition of readdir_r
1171
AC_CACHE_CHECK([args to readdir_r], [mysql_cv_readdir_r],
1172
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1088
AC_CACHE_CHECK("args to readdir_r", mysql_cv_readdir_r,
1089
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1173
1090
#define _POSIX_PTHREAD_SEMANTICS
1174
1091
#include <pthread.h>
1175
1092
#include <dirent.h>]], [[ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);
1176
readdir_r((DIR *) NULL, (struct dirent *) NULL, (struct dirent **) NULL); ]])],
1177
[mysql_cv_readdir_r=POSIX],
1178
[mysql_cv_readdir_r=other])])
1093
readdir_r((DIR *) NULL, (struct dirent *) NULL, (struct dirent **) NULL); ]])],[mysql_cv_readdir_r=POSIX],[mysql_cv_readdir_r=other]))
1179
1094
if test "$mysql_cv_readdir_r" = "POSIX"
1181
1096
AC_DEFINE([HAVE_READDIR_R], [1], [POSIX readdir_r])
1184
1099
# Check definition of posix sigwait()
1185
AC_CACHE_CHECK([style of sigwait], [mysql_cv_sigwait],
1186
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1100
AC_CACHE_CHECK("style of sigwait", mysql_cv_sigwait,
1101
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1188
1102
#define _POSIX_PTHREAD_SEMANTICS
1189
1103
#include <pthread.h>
1104
#include <signal.h>]], [[#ifndef _AIX
1195
1107
sigwait(&set,&sig);
1198
[mysql_cv_sigwait=POSIX],
1199
[mysql_cv_sigwait=other])])
1108
#endif]])],[mysql_cv_sigwait=POSIX],[mysql_cv_sigwait=other]))
1200
1109
if test "$mysql_cv_sigwait" = "POSIX"
1202
1111
AC_DEFINE([HAVE_SIGWAIT], [1], [POSIX sigwait])
1207
1116
unset mysql_cv_sigwait
1208
1117
# Check definition of posix sigwait()
1209
AC_CACHE_CHECK([style of sigwait], [mysql_cv_sigwait],
1210
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1118
AC_CACHE_CHECK("style of sigwait", mysql_cv_sigwait,
1119
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1212
1120
#define _POSIX_PTHREAD_SEMANTICS
1213
1121
#include <pthread.h>
1122
#include <signal.h>]], [[sigset_t set;
1220
[mysql_cv_sigwait=NONPOSIX],
1221
[mysql_cv_sigwait=other])])
1124
sigwait(&set);]])],[mysql_cv_sigwait=NONPOSIX],[mysql_cv_sigwait=other]))
1222
1125
if test "$mysql_cv_sigwait" = "NONPOSIX"
1224
1127
AC_DEFINE([HAVE_NONPOSIX_SIGWAIT], [1], [sigwait with one argument])
1229
1132
# Check if pthread_attr_setscope() exists
1230
AC_CACHE_CHECK([for pthread_attr_setscope], [mysql_cv_pthread_attr_setscope],
1231
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1133
AC_CACHE_CHECK("for pthread_attr_setscope", mysql_cv_pthread_attr_setscope,
1134
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1233
1135
#define _POSIX_PTHREAD_SEMANTICS
1234
#include <pthread.h>
1236
pthread_attr_t thr_attr;
1237
pthread_attr_setscope(&thr_attr,0);
1239
[mysql_cv_pthread_attr_setscope=yes],
1240
[mysql_cv_pthread_attr_setscope=no])])
1136
#include <pthread.h>]], [[pthread_attr_t thr_attr;
1137
pthread_attr_setscope(&thr_attr,0);]])],[mysql_cv_pthread_attr_setscope=yes],[mysql_cv_pthread_attr_setscope=no]))
1241
1138
if test "$mysql_cv_pthread_attr_setscope" = "yes"
1243
1140
AC_DEFINE([HAVE_PTHREAD_ATTR_SETSCOPE], [1], [pthread_attr_setscope])
1285
1182
# functions tested above
1286
1183
#--------------------------------------------------------------------
1288
DRIZZLE_CONFIGURE_PLUGINS([none])
1185
MYSQL_CONFIGURE_PLUGINS([none])
1290
1187
AC_SUBST(mysql_plugin_dirs)
1291
1188
AC_SUBST(mysql_plugin_libs)
1292
1189
AC_SUBST(mysql_plugin_defs)
1294
# Build optimized or debug version ?
1295
# First check for gcc and g++
1296
if test "$ac_cv_c_compiler_gnu" = "yes"
1298
SYMBOLS_CFLAGS="-ggdb3"
1299
DEBUG_OPTIMIZE_CC="-O0"
1300
OPTIMIZE_CFLAGS="-O3"
1303
DEBUG_OPTIMIZE_CC=""
1304
OPTIMIZE_CFLAGS="-O"
1306
if test "$ac_cv_prog_cxx_g" = "yes"
1308
SYMBOLS_CXXFLAGS="-ggdb3"
1309
DEBUG_OPTIMIZE_CXX="-O0"
1310
OPTIMIZE_CXXFLAGS="-O3"
1312
SYMBOLS_CXXFLAGS="-g"
1313
DEBUG_OPTIMIZE_CXX=""
1314
OPTIMIZE_CXXFLAGS="-O"
1317
dnl TODO: Remove this define once we are using 2.61 across the board.
1320
# Check whether to enable assertions.
1321
AC_DEFUN([AX_HEADER_ASSERT],
1323
AC_MSG_CHECKING([whether to enable assertions])
1324
AC_ARG_ENABLE([assert],
1325
[AS_HELP_STRING([--disable-assert],
1326
[Turn off assertions])],
1327
[ac_cv_assert="no"],
1328
[ac_cv_assert="yes"])
1329
AC_MSG_RESULT([$ac_cv_assert])
1334
CFLAGS="${SYMBOLS_CFLAGS} ${CFLAGS}"
1335
CXXFLAGS="${SYMBOLS_CXXFLAGS} ${CXXFLAGS}"
1336
#CXXFLAGS="${SYMBOLS_CXXFLAGS} ${CXXFLAGS} -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS"
1338
AC_ARG_WITH([debug],
1339
[AS_HELP_STRING([--with-debug],
1340
[Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
1341
[with_debug=$withval],
1343
if test "$with_debug" = "yes"
1346
CFLAGS="$DEBUG_OPTIMIZE_CC -DDEBUG $CFLAGS ${SAVE_CFLAGS}"
1347
CXXFLAGS="$DEBUG_OPTIMIZE_CXX -DDEBUG $CXXFLAGS ${SAVE_CXXFLAGS}"
1349
# Optimized version. No debug
1350
CFLAGS="${OPTIMIZE_CFLAGS} ${CFLAGS} ${SAVE_CFLAGS}"
1351
CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS ${SAVE_CXXFLAGS}"
1354
AC_ARG_ENABLE([profiling],
1355
[AS_HELP_STRING([--enable-profiling],
1356
[Toggle profiling @<:@default=off@:>@])],
1357
[ac_profiling="$enableval"],
1358
[ac_profiling="no"])
1360
AC_ARG_ENABLE([coverage],
1361
[AS_HELP_STRING([--enable-coverage],
1362
[Toggle coverage @<:@default=off@:>@])],
1363
[ac_coverage="$enableval"],
1366
1191
AC_ARG_ENABLE([pedantic-warnings],
1367
1192
[AS_HELP_STRING([--disable-pedantic-warnings],
1368
1193
[Toggle pedanticness @<:@default=on@:>@])],
1393
1218
[ac_warn_strict_aliasing="$enableval"],
1394
1219
[ac_warn_strict_aliasing="no"])
1396
AC_ARG_ENABLE([cast-warnings],
1397
[AS_HELP_STRING([--enable-cast-warnings],
1398
[Enable warnings about use of old C-style casts @<:@default=off@:>@])],
1399
[ac_warn_cast="$enableval"],
1400
[ac_warn_cast="no"])
1402
AC_ARG_ENABLE([effective-style],
1403
[AS_HELP_STRING([--enable-effective-style],
1404
[Enable warnings violating Effective C++ Style Guidelines @<:@default=off@:>@])],
1405
[ac_warn_effc="$enableval"],
1406
[ac_warn_effc="no"])
1408
AC_ARG_ENABLE([go-crazy],
1409
[AS_HELP_STRING([--enable-go-crazy],
1410
[Enables extra little warnings that might be too much @<:@default=off@:>@])],
1411
[ac_warn_go_crazy="$enableval"],
1412
[ac_warn_go_crazy="no"])
1415
1222
if test "$GCC" = "yes"
1459
1252
W_FAIL="-Werror"
1462
if test "$ac_warn_cast" = "yes"
1464
W_CAST="-Wold-style-cast"
1467
if test "$ac_warn_effc" = "yes"
1472
if test "$ac_warn_gocrazy" = "yes"
1474
W_CRAZY="-Wshadow -Wconversion -Winvalid-pch"
1477
BASE_WARNINGS="-W -Wall -Wextra -Wunused-macros"
1478
GCC_WARNINGS="${C99_SUPPORT_HACK} ${BASE_WARNINGS} ${GCC_PEDANTIC} ${W_UNREACHABLE} ${W_FAIL} ${GPROF_PROFILING} ${GPROF_COVERAGE} ${W_CRAZY}"
1479
GXX_WARNINGS="${BASE_WARNINGS} ${GXX_PEDANTIC} ${W_UNREACHABLE} ${W_FAIL} ${GPROF_PROFILING} ${GPROF_COVERAGE} ${W_CAST} ${W_EFFC} ${W_CRAZY}"
1481
AM_CXXFLAGS="${GXX_WARNINGS} ${AM_CXXFLAGS}"
1482
AM_CFLAGS="${GCC_WARNINGS} ${AM_CFLAGS}"
1255
BASE_WARNINGS="-W -Wall -Wextra"
1256
GCC_WARNINGS="${BASE_WARNINGS} -std=gnu99 ${GCC_PEDANTIC} ${W_UNREACHABLE} ${W_FAIL}"
1257
GXX_WARNINGS="${BASE_WARNINGS} -std=gnu++98 ${GXX_PEDANTIC} ${W_UNREACHABLE} ${W_FAIL}"
1259
CXXFLAGS="$CXXFLAGS ${GXX_WARNINGS}"
1260
CFLAGS="$CFLAGS ${GCC_WARNINGS} "
1485
AC_SUBST([GLOBAL_CPPFLAGS],['-I$(top_srcdir) -I$(top_builddir)'])
1486
AC_SUBST([AM_CPPFLAGS],['${GLOBAL_CPPFLAGS}'])
1487
AC_SUBST([AM_CFLAGS])
1488
AC_SUBST([AM_CXXFLAGS])
1490
1263
# Some usefull subst
1503
1276
AC_SUBST(MAKE_BINARY_DISTRIBUTION_OPTIONS)
1505
dnl GCC Precompiled Header Support
1506
AM_CONDITIONAL([GCC_PCH],[test "x$GCC" = "xyes"])
1508
AC_CONFIG_FILES(Makefile extra/Makefile mysys/Makefile dnl
1509
mystrings/Makefile storage/Makefile dnl
1510
vio/Makefile po/Makefile.in dnl
1278
AC_CONFIG_FILES(Makefile extra/Makefile mysys/Makefile mysys/tests/Makefile dnl
1279
strings/Makefile strings/tests/Makefile storage/Makefile dnl
1511
1281
libdrizzle/Makefile client/Makefile dnl
1512
drizzled/Makefile dnl
1513
drizzled/field/Makefile dnl
1514
drizzled/serialize/Makefile dnl
1515
drizzled/functions/Makefile dnl
1516
drizzled/util/Makefile dnl
1517
drizzled/sql_builtin.cc dnl
1282
server/Makefile server/share/Makefile dnl
1283
server/sql_builtin.cc dnl
1284
dbug/Makefile include/Makefile dnl
1518
1285
support-files/Makefile dnl
1519
1286
tests/Makefile tests/install_test_db dnl
1520
drizzled/version.h plugin/Makefile dnl
1521
drizzled/drizzled_safe support-files/libdrizzle.pc dnl
1287
include/drizzle_version.h plugin/Makefile dnl
1288
server/drizzled_safe support-files/libdrizzle.pc dnl
1522
1289
support-files/drizzle.server support-files/drizzle-log-rotate)
1524
1291
AC_CONFIG_COMMANDS([default], , test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h)
1526
1293
# Ensure that table handlers gets all modifications to CFLAGS/CXXFLAGS
1527
AC_CONFIG_COMMANDS_POST(ac_configure_args="$ac_configure_args CFLAGS='$CFLAGS' CXXFLAGS='$CXXFLAGS' AM_CFLAGS='$AM_CFLAGS' AM_CXXFLAGS='$AM_CXXFLAGS'")
1294
AC_CONFIG_COMMANDS_POST(ac_configure_args="$ac_configure_args CFLAGS='$CFLAGS' CXXFLAGS='$CXXFLAGS'")
1532
echo "Configuration summary for $PACKAGE_NAME version $VERSION"
1534
echo " * Installation prefix: $prefix"
1535
echo " * System type: $SYSTEM_TYPE"
1536
echo " * Host CPU: $host_cpu"
1537
echo " * C Compiler: $CC_VERSION"
1538
echo " * C++ Compiler: $CXX"
1539
echo " * Build auth_pam: $ac_cv_header_security_pam_appl_h"
1540
echo " * Assertions enabled: $ac_cv_assert"
1541
echo " * Debug enabled: $with_debug"
1542
echo " * Profiling enabled: $ac_profiling"
1543
echo " * Coverage enabled: $ac_coverage"
1544
echo " * Warnings as failure: $ac_warn_fail"
1545
echo " * C++ cstdint location: $ac_cv_cxx_cstdint"
1546
echo " * C++ hash_map location: $ac_cv_cxx_hash_map"
1547
echo " * C++ hash namespace: $ac_cv_cxx_hash_namespace"
1548
echo " * C++ cmath location: $ac_cv_cxx_cmath"
1549
echo " * C++ cmath namespace: $ac_cv_cxx_cmath_namespace"