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)
606
366
AC_SUBST(PCRE_CFLAGS)
369
if test "x$no_glib" != "x" ; then
370
AC_MSG_ERROR([Couldn't find GLib2. Try installing libglib2.0-dev or glib2-devel])
608
373
dnl Find paths to some shell programs
609
374
AC_PATH_PROG(LN, ln, ln)
610
375
# This must be able to take a -f flag like normal unix ln.
750
514
[ with_named_curses=no ]
517
# compile with strings functions in assembler
518
AC_ARG_ENABLE([assembler],
519
[AS_HELP_STRING([--enable-assembler],
520
[Use assembler versions of some string functions if available.])],
521
[ ENABLE_ASSEMBLER=$enableval ],
522
[ ENABLE_ASSEMBLER=no ]
525
AC_MSG_CHECKING(if we should use assembler functions)
526
# For now we only support assembler on i386 and sparc systems
527
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;))
528
AM_CONDITIONAL(ASSEMBLER_sparc32, test "$ENABLE_ASSEMBLER" = "yes" -a "$BASE_MACHINE_TYPE" = "sparc")
529
AM_CONDITIONAL(ASSEMBLER_sparc64, test "$ENABLE_ASSEMBLER" = "yes" -a "$BASE_MACHINE_TYPE" = "sparcv9")
530
AM_CONDITIONAL(ASSEMBLER, test "$ASSEMBLER_x86_TRUE" = "" -o "$ASSEMBLER_sparc32_TRUE" = "")
532
if test "$ASSEMBLER_TRUE" = ""
540
AC_MSG_CHECKING(if SHOW PROFILE should be enabled.)
541
AC_ARG_ENABLE([profiling],
542
[AS_HELP_STRING([--enable-profiling],
543
[Build a version with query profiling code])],
544
[ ENABLED_PROFILING=$enableval ],
545
[ ENABLED_PROFILING=no ])
547
if test "$ENABLED_PROFILING" = "yes"
549
AC_DEFINE([ENABLED_PROFILING], [1],
550
[If SHOW PROFILE should be enabled])
753
556
AC_ARG_WITH([tcp-port],
754
557
[AS_HELP_STRING([--with-tcp-port=port-number],
755
558
[Which port to use for Drizzle services @<:@default=4427@:>@])],
756
[ DRIZZLE_TCP_PORT=$withval ],
757
[ DRIZZLE_TCP_PORT=$DRIZZLE_TCP_PORT_DEFAULT
559
[ MYSQL_TCP_PORT=$withval ],
560
[ MYSQL_TCP_PORT=$MYSQL_TCP_PORT_DEFAULT
758
561
# if we actually defaulted (as opposed to the pathological case of
759
# --with-tcp-port=<DRIZZLE_TCP_PORT_DEFAULT> which might in theory
562
# --with-tcp-port=<MYSQL_TCP_PORT_DEFAULT> which might in theory
760
563
# happen if whole batch of servers was built from a script), set
761
564
# the default to zero to indicate that; we don't lose information
762
565
# 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
566
# default value from MYSQL_TCP_PORT. this seems really evil, but
567
# testing for MYSQL_TCP_PORT==MYSQL_TCP_PORT_DEFAULT would make a
568
# a port of MYSQL_TCP_PORT_DEFAULT magic even if the builder did not
766
569
# intend it to mean "use the default, in fact, look up a good default
767
570
# from /etc/services if you can", but really, really meant 4427 when
768
571
# they passed in 4427. When they pass in a specific value, let them
773
576
# - if a port was set during build, use that as a default.
775
578
# - 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)
579
# use MYSQL_TCP_PORT_DEFAULT (at the time of this writing 4427)
778
# - allow the DRIZZLE_TCP_PORT environment variable to override that.
581
# - allow the MYSQL_TCP_PORT environment variable to override that.
780
583
# - allow command-line parameters to override all of the above.
782
# the top-most DRIZZLE_TCP_PORT_DEFAULT is read from win/configure.js,
585
# the top-most MYSQL_TCP_PORT_DEFAULT is read from win/configure.js,
783
586
# so don't mess with that.
784
DRIZZLE_TCP_PORT_DEFAULT=0 ]
587
MYSQL_TCP_PORT_DEFAULT=0 ]
786
AC_SUBST(DRIZZLE_TCP_PORT)
589
AC_SUBST(MYSQL_TCP_PORT)
787
590
# We might want to document the assigned port in the manual.
788
AC_SUBST(DRIZZLE_TCP_PORT_DEFAULT)
591
AC_SUBST(MYSQL_TCP_PORT_DEFAULT)
790
593
# Use this to set the place used for unix socket used to local communication.
791
594
AC_ARG_WITH([mysqld-user],
845
647
#--------------------------------------------------------------------
847
649
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)])
652
AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
653
AC_CHECK_FUNC(yp_get_default_domain, ,
654
AC_CHECK_LIB(nsl, yp_get_default_domain))
655
AC_CHECK_FUNC(p2open, , AC_CHECK_LIB(gen, p2open))
853
656
# This may get things to compile even if bind-8 is installed
854
AC_CHECK_FUNC(bind, [], [AC_CHECK_LIB(bind, bind)])
657
AC_CHECK_FUNC(bind, , AC_CHECK_LIB(bind, bind))
855
658
# Check if crypt() exists in libc or libcrypt, sets LIBS if needed
856
659
AC_SEARCH_LIBS(crypt, crypt, AC_DEFINE(HAVE_CRYPT, 1, [crypt]))
859
662
AC_CHECK_LIB(rt, aio_read)
861
664
# 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"])])
665
AC_CHECK_FUNC(sched_yield, , AC_CHECK_LIB(posix4, sched_yield,
666
[AC_DEFINE(HAVE_SCHED_YIELD) LIBS="$LIBS -lposix4"]))
866
668
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)])
670
AC_CHECK_FUNC(gtty, , AC_CHECK_LIB(compat, gtty))
673
AC_CHECK_TYPES([int8, uint8, int16, uint16, int32, uint32, int64, uint64,
674
uchar, uint, ulong],[],[], [
675
#include <sys/types.h>
871
677
AC_CHECK_TYPES([fp_except], [], [], [
872
678
#include <sys/types.h>
873
679
#include <ieeefp.h>
876
683
my_save_LIBS="$LIBS"
878
685
AC_CHECK_LIB(dl,dlopen)
879
692
AC_CHECK_FUNCS(dlopen dlerror)
880
if test "$ac_cv_func_dlopen" != "yes"
882
AC_MSG_ERROR([Drizzle requires dlopen])
885
693
LIBS="$my_save_LIBS"
888
695
AC_CHECK_FUNCS(strtok_r)
697
# Build optimized or debug version ?
698
# First check for gcc and g++
699
if test "$ac_cv_c_compiler_gnu" = "yes"
701
SYMBOLS_CFLAGS="-ggdb3"
702
DEBUG_OPTIMIZE_CC="-O0"
703
OPTIMIZE_CFLAGS="-O2"
709
if test "$ac_cv_prog_cxx_g" = "yes"
711
SYMBOLS_CXXFLAGS="-ggdb3"
712
DEBUG_OPTIMIZE_CXX="-O0"
713
OPTIMIZE_CXXFLAGS="-O2"
715
SYMBOLS_CXXFLAGS="-g"
716
DEBUG_OPTIMIZE_CXX=""
717
OPTIMIZE_CXXFLAGS="-O"
720
# If the user specified CFLAGS, we won't add any optimizations
721
if test -n "$SAVE_CFLAGS"
727
if test -n "$SAVE_CXXFLAGS"
730
DEBUG_OPTIMIZE_CXX=""
733
CFLAGS="${SYMBOLS_CFLAGS} ${CFLAGS}"
734
CXXFLAGS="${SYMBOLS_CXXFLAGS} ${CXXFLAGS}"
737
[AS_HELP_STRING([--with-debug],
738
[Add debug code (yes|no|full) @<:@default=no@:>@
739
Full adds memory checked, very slow.])],
740
[with_debug=$withval],
742
AM_CONDITIONAL(BUILD_DBUG, test "$with_debug" != "no")
743
if test "$with_debug" = "yes"
746
AC_DEFINE([DBUG_ON], [1], [Use libdbug])
747
CFLAGS="$DEBUG_OPTIMIZE_CC $CFLAGS"
748
CXXFLAGS="$DEBUG_OPTIMIZE_CXX $CXXFLAGS"
750
# Optimized version. No debug
751
AC_DEFINE([DBUG_OFF], [1], [Dont use libdbug])
752
CFLAGS="$OPTIMIZE_CFLAGS $CFLAGS"
753
CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS"
756
# If we should allow error injection tests
757
AC_ARG_WITH([error-inject],
758
[AS_HELP_STRING([--with-error-inject],
759
[Enable error injection in Drizzle Server @<:@default=off@:>@])],
760
[ with_error_inject=$withval ],
761
[ with_error_inject=no ])
763
if test $with_debug != "no"
765
if test "$with_error_inject" = "yes"
767
AC_DEFINE([ERROR_INJECT_SUPPORT], [1],
768
[Enable error injection in Drizzle Server])
892
772
AC_ARG_WITH([fast-mutexes],
893
773
[AS_HELP_STRING([--with-fast-mutexes],
898
778
if test "$with_fast_mutexes" != "no"
900
AC_DEFINE([MY_PTHREAD_FASTMUTEX], [1],
901
[Define to 1 if you want to use fast mutexes])
780
if test "$with_debug" != "no"
782
AC_MSG_WARN(['--with-fast-mutexes' ignored when '--with-debug' is given])
784
AC_DEFINE([MY_PTHREAD_FASTMUTEX], [1],
785
[Define to 1 if you want to use fast mutexes])
904
AM_CONDITIONAL(BUILD_FAST_MUTEX,[test "$with_fast_mutexes" != "no"])
906
789
AC_ARG_WITH([comment],
907
790
[AS_HELP_STRING([--with-comment],
908
791
[Comment about compilation environment. @<:@default=off@:>@])],
924
807
TARGET_LINUX="false"
810
AC_MSG_CHECKING("need of special linking flags")
811
if test "$TARGET_LINUX" = "true" -a "$ac_cv_c_compiler_gnu" = "yes" -a "$all_is_static" != "yes"
813
LDFLAGS="$LDFLAGS -rdynamic"
814
AC_MSG_RESULT("-rdynamic")
816
case "$SYSTEM_TYPE$with_mysqld_ldflags " in
817
*freebsd*"-all-static "*|*dragonfly*"-all-static "*)
818
AC_MSG_RESULT("none")
820
*freebsd*|*dragonfly*)
821
MYSQLD_EXTRA_LDFLAGS="$MYSQLD_EXTRA_LDFLAGS -export-dynamic"
822
AC_MSG_RESULT("-export-dynamic")
825
AC_MSG_RESULT("none")
927
830
dnl Checks for typedefs, structures, and compiler characteristics.
836
MYSQL_NEEDS_MYSYS_NEW
837
# AC_CHECK_SIZEOF return 0 when it does not find the size of a
838
# type. We want a error instead.
839
AC_CHECK_SIZEOF(char, 1)
840
if test "$ac_cv_sizeof_char" -eq 0
842
AC_MSG_ERROR([No size for char type.])
844
AC_CHECK_SIZEOF(char*, 4)
845
AC_CHECK_SIZEOF(short, 2)
846
AC_CHECK_SIZEOF(int, 4)
847
if test "$ac_cv_sizeof_int" -eq 0
849
AC_MSG_ERROR("No size for int type.")
851
AC_CHECK_SIZEOF(long, 4)
852
if test "$ac_cv_sizeof_long" -eq 0
854
AC_MSG_ERROR("No size for long type.")
856
AC_CHECK_SIZEOF(long long, 8)
857
if test "$ac_cv_sizeof_long_long" -eq 0
859
AC_MSG_ERROR("Drizzle needs a long long type.")
933
861
# off_t is not a builtin type
934
862
AC_CHECK_SIZEOF(off_t, 4)
935
863
if test "$ac_cv_sizeof_off_t" -eq 0
941
869
dnl check if time_t is unsigned
875
# do we need #pragma interface/#pragma implementation ?
876
# yes if it's gcc 2.x, and not icc pretending to be gcc, and not cygwin
877
AC_MSG_CHECKING(the need for @%:@pragma interface/implementation)
878
# instead of trying to match SYSTEM_TYPE and CC_VERSION (that doesn't
879
# follow any standard), we'll use well-defined preprocessor macros:
880
AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
881
#if !defined(__CYGWIN__) && !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ < 3)
882
#error USE_PRAGMA_IMPLEMENTATION
884
]])],[AC_MSG_RESULT(no) ],[AC_MSG_RESULT(yes) ; CXXFLAGS="$CXXFLAGS -DUSE_PRAGMA_IMPLEMENTATION"])
947
886
# This always gives a warning. Ignore it unless you are cross compiling
949
888
#---START: Used in for client configure
950
889
# Check base type of last arg to accept
953
892
# Figure out what type of struct rlimit to use with setrlimit
954
DRIZZLE_TYPE_STRUCT_RLIMIT
893
MYSQL_TYPE_STRUCT_RLIMIT
955
894
# Find where the stack goes
956
DRIZZLE_STACK_DIRECTION
895
MYSQL_STACK_DIRECTION
957
896
# We want to skip alloca on irix unconditionally. It may work on some version..
959
898
# Do struct timespec have members tv_sec or ts_sec
961
900
# Do we have the tzname variable
963
902
# Do the c++ compiler have a bool type
965
904
AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
966
905
AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
968
DRIZZLE_PTHREAD_YIELD
906
AC_CHECK_TYPES([u_int32_t])
910
######################################################################
911
# For readline/libedit (We simply move the mimimum amount of stuff from
912
# the readline/libedit configure.in here)
971
914
dnl Checks for header files.
972
915
AC_CHECK_HEADERS(malloc.h sys/cdefs.h)
1060
1003
AC_MSG_ERROR("Drizzle requires fcntl.")
1063
AC_CONFIG_LIBOBJ_DIR([mystrings])
1065
AC_CHECK_FUNCS(bsearch \
1006
AC_CHECK_FUNCS(bcmp bfill bmove bsearch bzero \
1066
1007
cuserid fchmod \
1067
1008
fdatasync finite fpresetsticky fpsetmask fsync ftruncate \
1068
getcwd getpassphrase getpwnam \
1009
getcwd getpass getpassphrase getpwnam \
1069
1010
getpwuid getrlimit getrusage getwd index initgroups isnan \
1070
1011
localtime_r gethrtime gmtime_r \
1071
locking longjmp lrand48 madvise mallinfo \
1073
mkstemp mlockall perror poll pread pthread_attr_create mmap mmap64 \
1012
locking longjmp lrand48 madvise mallinfo memcpy memmove \
1013
mkstemp mlockall perror poll pread pthread_attr_create mmap mmap64 getpagesize \
1074
1014
pthread_attr_getstacksize pthread_attr_setprio pthread_attr_setschedparam \
1075
1015
pthread_attr_setstacksize pthread_condattr_create pthread_getsequence_np \
1076
1016
pthread_key_delete pthread_rwlock_rdlock pthread_setprio \
1077
1017
pthread_setprio_np pthread_setschedparam pthread_sigmask readlink \
1078
realpath rename rwlock_init setupterm \
1018
realpath rename rint rwlock_init setupterm \
1079
1019
shmget shmat shmdt shmctl sigaction sigemptyset sigaddset \
1080
1020
sighold sigset sigthreadmask port_create sleep \
1081
snprintf socket strcasecmp strerror strsignal strpbrk \
1082
tell tempnam vidattr \
1021
snprintf socket stpcpy strcasecmp strerror strsignal strnlen strpbrk strstr \
1022
strtol strtoll strtoul strtoull tell tempnam vidattr \
1083
1023
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
1025
# Check that isinf() is available in math.h and can be used in both C and C++
1101
1027
AC_MSG_CHECKING(for isinf in math.h)
1136
1062
# 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)
1063
AC_CACHE_CHECK("args to pthread_getspecific", mysql_cv_getspecific_args,
1064
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#if !defined(_REENTRANT)
1139
1065
#define _REENTRANT
1141
1067
#define _POSIX_PTHREAD_SEMANTICS
1142
1068
#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])])
1069
pthread_getspecific((pthread_key_t) NULL); ]])],[mysql_cv_getspecific_args=POSIX],[mysql_cv_getspecific_args=other]))
1146
1070
if test "$mysql_cv_getspecific_args" = "other"
1148
1072
AC_DEFINE([HAVE_NONPOSIX_PTHREAD_GETSPECIFIC], [1],
1152
1076
# 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
1077
AC_CACHE_CHECK("args to pthread_mutex_init", mysql_cv_mutex_init_args,
1078
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1155
1079
#define _POSIX_PTHREAD_SEMANTICS
1156
1080
#include <pthread.h> ]], [[
1157
1081
pthread_mutexattr_t attr;
1158
1082
pthread_mutex_t mp;
1159
pthread_mutex_init(&mp,&attr); ]])],
1160
[mysql_cv_mutex_init_args=POSIX],
1161
[mysql_cv_mutex_init_args=other])])
1083
pthread_mutex_init(&mp,&attr); ]])],[mysql_cv_mutex_init_args=POSIX],[mysql_cv_mutex_init_args=other]))
1162
1084
if test "$mysql_cv_mutex_init_args" = "other"
1164
1086
AC_DEFINE([HAVE_NONPOSIX_PTHREAD_MUTEX_INIT], [1],
1169
1091
#---START: Used in for client configure
1170
1092
# 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
1093
AC_CACHE_CHECK("args to readdir_r", mysql_cv_readdir_r,
1094
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1173
1095
#define _POSIX_PTHREAD_SEMANTICS
1174
1096
#include <pthread.h>
1175
1097
#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])])
1098
readdir_r((DIR *) NULL, (struct dirent *) NULL, (struct dirent **) NULL); ]])],[mysql_cv_readdir_r=POSIX],[mysql_cv_readdir_r=other]))
1179
1099
if test "$mysql_cv_readdir_r" = "POSIX"
1181
1101
AC_DEFINE([HAVE_READDIR_R], [1], [POSIX readdir_r])
1184
1104
# Check definition of posix sigwait()
1185
AC_CACHE_CHECK([style of sigwait], [mysql_cv_sigwait],
1186
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1105
AC_CACHE_CHECK("style of sigwait", mysql_cv_sigwait,
1106
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1188
1107
#define _POSIX_PTHREAD_SEMANTICS
1189
1108
#include <pthread.h>
1109
#include <signal.h>]], [[#ifndef _AIX
1195
1112
sigwait(&set,&sig);
1198
[mysql_cv_sigwait=POSIX],
1199
[mysql_cv_sigwait=other])])
1113
#endif]])],[mysql_cv_sigwait=POSIX],[mysql_cv_sigwait=other]))
1200
1114
if test "$mysql_cv_sigwait" = "POSIX"
1202
1116
AC_DEFINE([HAVE_SIGWAIT], [1], [POSIX sigwait])
1207
1121
unset mysql_cv_sigwait
1208
1122
# Check definition of posix sigwait()
1209
AC_CACHE_CHECK([style of sigwait], [mysql_cv_sigwait],
1210
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1123
AC_CACHE_CHECK("style of sigwait", mysql_cv_sigwait,
1124
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1212
1125
#define _POSIX_PTHREAD_SEMANTICS
1213
1126
#include <pthread.h>
1127
#include <signal.h>]], [[sigset_t set;
1220
[mysql_cv_sigwait=NONPOSIX],
1221
[mysql_cv_sigwait=other])])
1129
sigwait(&set);]])],[mysql_cv_sigwait=NONPOSIX],[mysql_cv_sigwait=other]))
1222
1130
if test "$mysql_cv_sigwait" = "NONPOSIX"
1224
1132
AC_DEFINE([HAVE_NONPOSIX_SIGWAIT], [1], [sigwait with one argument])
1229
1137
# 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([[
1138
AC_CACHE_CHECK("for pthread_attr_setscope", mysql_cv_pthread_attr_setscope,
1139
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _REENTRANT
1233
1140
#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])])
1141
#include <pthread.h>]], [[pthread_attr_t thr_attr;
1142
pthread_attr_setscope(&thr_attr,0);]])],[mysql_cv_pthread_attr_setscope=yes],[mysql_cv_pthread_attr_setscope=no]))
1241
1143
if test "$mysql_cv_pthread_attr_setscope" = "yes"
1243
1145
AC_DEFINE([HAVE_PTHREAD_ATTR_SETSCOPE], [1], [pthread_attr_setscope])
1285
1187
# functions tested above
1286
1188
#--------------------------------------------------------------------
1288
DRIZZLE_CONFIGURE_PLUGINS([none])
1190
MYSQL_CONFIGURE_PLUGINS([none])
1290
1192
AC_SUBST(mysql_plugin_dirs)
1291
1193
AC_SUBST(mysql_plugin_libs)
1292
1194
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
1196
AC_ARG_ENABLE([pedantic-warnings],
1367
1197
[AS_HELP_STRING([--disable-pedantic-warnings],
1368
1198
[Toggle pedanticness @<:@default=on@:>@])],
1393
1223
[ac_warn_strict_aliasing="$enableval"],
1394
1224
[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
1227
if test "$GCC" = "yes"
1459
1257
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}"
1260
BASE_WARNINGS="-W -Wall -Wextra"
1261
GCC_WARNINGS="${BASE_WARNINGS} -std=gnu99 ${GCC_PEDANTIC} ${W_UNREACHABLE} ${W_FAIL}"
1262
GXX_WARNINGS="${BASE_WARNINGS} -std=gnu++98 ${GXX_PEDANTIC} ${W_UNREACHABLE} ${W_FAIL}"
1264
CXXFLAGS="$CXXFLAGS ${GXX_WARNINGS}"
1265
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
1268
# Some usefull subst
1503
1281
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
1283
AC_CONFIG_FILES(Makefile extra/Makefile mysys/Makefile mysys/tests/Makefile dnl
1284
strings/Makefile strings/tests/Makefile storage/Makefile dnl
1511
1286
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
1287
server/Makefile server/share/Makefile dnl
1288
server/sql_builtin.cc dnl
1289
dbug/Makefile include/Makefile dnl
1518
1290
support-files/Makefile dnl
1519
1291
tests/Makefile tests/install_test_db dnl
1520
drizzled/version.h plugin/Makefile dnl
1521
drizzled/drizzled_safe support-files/libdrizzle.pc dnl
1292
include/drizzle_version.h plugin/Makefile dnl
1293
server/drizzled_safe support-files/libdrizzle.pc dnl
1522
1294
support-files/drizzle.server support-files/drizzle-log-rotate)
1524
1296
AC_CONFIG_COMMANDS([default], , test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h)
1526
1298
# 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'")
1299
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"