~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to configure.ac

  • Committer: Monty Taylor
  • Date: 2008-07-15 21:40:58 UTC
  • mfrom: (77.1.113 codestyle32)
  • mto: This revision was merged to the branch mainline in revision 176.
  • Revision ID: mordred@camelot-20080715214058-rm3phulldos9xehv
Merged from codestyle.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 
4
4
AC_PREREQ(2.59)dnl              Minimum Autoconf version required.
5
5
 
6
 
AC_INIT(drizzle, [7.0.0], [http://bugs.launchpad.net/drizzle])
7
 
AC_CONFIG_SRCDIR([drizzled/drizzled.cc])
 
6
AC_INIT
 
7
AC_CONFIG_SRCDIR([server/drizzled.cc])
8
8
AC_CONFIG_AUX_DIR(config)
9
 
AC_CONFIG_HEADERS([config.h])
10
 
 
11
 
# Save some variables and the command line options for mysqlbug
12
 
SAVE_CC="$CC"
13
 
SAVE_CXX="$CXX"
14
 
SAVE_ASFLAGS="$ASFLAGS"
15
 
SAVE_CFLAGS="$CFLAGS"
16
 
SAVE_CXXFLAGS="$CXXFLAGS"
17
 
SAVE_LDFLAGS="$LDFLAGS"
18
 
SAVE_CXXLDFLAGS="$CXXLDFLAGS"
19
 
CONF_COMMAND="$0 $ac_configure_args"
20
 
AC_SUBST(CONF_COMMAND)
21
 
AC_SUBST(SAVE_CC)
22
 
AC_SUBST(SAVE_CXX)
23
 
AC_SUBST(SAVE_ASFLAGS)
24
 
AC_SUBST(SAVE_CFLAGS)
25
 
AC_SUBST(SAVE_CXXFLAGS)
26
 
AC_SUBST(SAVE_LDFLAGS)
27
 
AC_SUBST(SAVE_CXXLDFLAGS)
28
 
AC_SUBST(CXXLDFLAGS)
29
 
 
 
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)
32
12
 
33
13
PROTOCOL_VERSION=10
34
14
DOT_FRM_VERSION=6
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
38
18
 
39
19
 
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"
43
 
then
44
 
  CFLAGS=
45
 
fi
46
 
if test "x${CXXFLAGS}" = "x-g -O2"
47
 
then
48
 
  CXXFLAGS=
49
 
fi
50
 
 
51
20
 
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
55
24
#
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
61
30
#
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}'`
67
36
 
68
37
# The port should be constant for a LONG time
69
 
DRIZZLE_TCP_PORT_DEFAULT=4427
70
 
 
71
 
sinclude(m4/dtrace.m4)
72
 
sinclude(m4/character_sets.m4)
73
 
 
74
 
AM_GNU_GETTEXT([external])
75
 
AM_GNU_GETTEXT_VERSION(0.17)
76
 
 
77
 
AM_CONDITIONAL([BUILD_GETTEXT],[test "x$MSGMERGE" != "x" -a "x$MSGMERGE" != "x:"])
78
 
 
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
 
39
 
 
40
dnl Include m4 
 
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)
 
52
 
 
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"
 
58
 
 
59
#####
 
60
#####
 
61
 
 
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)
92
75
 
93
 
# General Constants
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 ])
107
 
 
108
 
AC_DEFINE([MASTER],[1],[Compile without unireg])
109
 
 
110
 
AH_VERBATIM([QUOTE_ARG],[
111
 
/* Quote argument (before cpp) */
112
 
#ifndef QUOTE_ARG
113
 
# define QUOTE_ARG(x) #x
114
 
#endif
115
 
/* Quote argument, (after cpp) */
116
 
#ifndef STRINGIFY_ARG
117
 
# define STRINGIFY_ARG(x) QUOTE_ARG(x)
118
 
#endif
119
 
])
120
 
 
121
 
AH_VERBATIM([builtin_expect],[
122
 
/*
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
129
 
 */
130
 
#if !defined(__GNUC__)
131
 
#define __builtin_expect(x, expected_value) (x)
132
 
#endif
133
 
 
134
 
#define likely(x)  __builtin_expect((x),1)
135
 
#define unlikely(x)  __builtin_expect((x),0)
136
 
])
137
 
 
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.
141
 
 
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
144
 
dnl  InnoDB's use.
145
 
 
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])
149
 
 
150
 
AH_VERBATIM([posix_pthread],[
151
 
/* We want posix threads */
152
 
#ifndef _POSIX_PTHREAD_SEMANTICS
153
 
#define _POSIX_PTHREAD_SEMANTICS
154
 
#endif
155
 
])
156
 
 
157
76
 
158
77
# Canonicalize the configuration name.
159
78
 
181
100
  i?86) BASE_MACHINE_TYPE=i386 ;;
182
101
esac
183
102
 
 
103
# Save some variables and the command line options for mysqlbug
 
104
SAVE_CC="$CC"
 
105
SAVE_CXX="$CXX"
 
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)
 
113
AC_SUBST(SAVE_CC)
 
114
AC_SUBST(SAVE_CXX)
 
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)
 
120
AC_SUBST(CXXLDFLAGS)
 
121
 
184
122
AM_SANITY_CHECK
185
123
# This is needed is SUBDIRS is set
186
124
AC_PROG_MAKE_SET
209
147
 
210
148
################ End of section to be done before AC_PROG_CC #################
211
149
 
 
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 "
 
156
 
212
157
dnl Checks for programs.
 
158
AC_PROG_AWK
213
159
AC_PROG_CC
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])])
217
 
  C99_SUPPORT_HACK=""
218
 
],[C99_SUPPORT_HACK="-std=gnu99"])
219
160
AC_PROG_CXX
220
 
AC_CXX_HEADER_STDCXX_98
221
 
if test "$ac_cv_cxx_stdcxx_98" = "no"
222
 
then
223
 
  AC_MSG_ERROR([C++ Compiler required to compile Drizzle])
224
 
fi
225
161
AC_PROG_CPP
226
162
AM_PROG_CC_C_O
227
163
 
228
 
AC_CXX_STL_HASH
229
 
AC_CXX_CSTDINT
230
 
AC_CXX_CINTTYPES
231
 
AC_CXX_CMATH
232
 
 
233
164
# Print version of CC and CXX compiler (if they support --version)
234
165
case $SYSTEM_TYPE in
235
 
  *apple-darwin*)
236
 
    AC_DEFINE([TARGET_OS_OSX], [1], [Whether we build for OSX])
 
166
  *netware*)
 
167
CC_VERSION=`$CC -version | grep -i version`
237
168
    ;;
238
169
  *)
239
170
CC_VERSION=`$CC --version | sed 1q`
247
178
CC_VERSION=""
248
179
fi
249
180
AC_SUBST(CC_VERSION)
250
 
 
251
 
dnl AC_CANONICAL_HOST thinks it's a good idea to just set CFLAGS to 
252
 
dnl -g -O2 if you're running gcc. We would like to use something else, thanks.
253
 
if test "x${CFLAGS}" = "x-g -O2"
254
 
then
255
 
  CFLAGS=
256
 
fi
257
 
if test "x${CXXFLAGS}" = "x-g -O2"
258
 
then
259
 
  CXXFLAGS=
260
 
fi
261
 
 
262
 
DRIZZLE_CHECK_CXX_VERSION
263
 
 
264
 
AC_PROG_AWK
 
181
MYSQL_CHECK_CXX_VERSION
265
182
 
266
183
if test "$ac_cv_c_compiler_gnu" = "yes"
267
184
then
271
188
  AC_PATH_PROG(AS, as, as)
272
189
fi
273
190
 
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"
276
 
then
277
 
  AC_DEFINE([_GNU_SOURCE],[1],[Fix problem with S_ISLNK() on Linux])
278
 
fi
279
 
 
280
 
dnl  Solaris 9 include file <sys/feature_tests.h> refers to X/Open document
281
 
 
282
 
dnl  System Interfaces and Headers, Issue 5
283
 
 
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.
286
 
 
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.
293
 
 
294
 
dnl  To add more to this mess, Sun Studio C compiler defines _STDC_C99 while
295
 
dnl  C++ compiler does not!
296
 
 
297
 
dnl TODO: Can _ISOC99_SOURCE be defined on all platforms and remove the 
298
 
dnl       Need for all of this? 
299
 
case "$target_os" in
300
 
  *solaris*)
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])
305
 
  ;;
306
 
esac
307
 
 
308
 
 
 
191
# Still need ranlib for readline; local static use only so no libtool.
 
192
AC_PROG_RANLIB
309
193
# We use libtool
310
194
#AC_LIBTOOL_WIN32_DLL
311
195
AC_PROG_LIBTOOL
359
243
then
360
244
  case "$host_cpu" in
361
245
    *ppc* | *powerpc*)
362
 
      AM_CFLAGS="$CFLAGS -mno-fused-madd"
363
 
      AM_CXXFLAGS="$CXXFLAGS -mno-fused-madd"
 
246
      CFLAGS="$CFLAGS -mno-fused-madd"
 
247
      CXXFLAGS="$CXXFLAGS -mno-fused-madd"
364
248
    ;;
365
249
  esac
366
250
fi
378
262
 
379
263
if test "$GCC" = "yes"
380
264
then
 
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
 
270
  # server
 
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.])
384
274
fi
385
275
 
386
 
DRIZZLE_PROG_AR
 
276
MYSQL_PROG_AR
387
277
 
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)
391
282
fi
392
283
AC_SUBST(LD_VERSION_SCRIPT)
393
284
 
394
 
#--------------------------------------------------------------------
395
 
# Check for Google Proto Buffers
396
 
#--------------------------------------------------------------------
397
 
 
398
 
AC_LANG_PUSH([C++])
399
 
AC_CHECK_HEADERS([google/protobuf/message.h])
400
 
if test "x$ac_cv_header_google_protobuf_message_h" != "xyes"
401
 
then
402
 
  AC_MSG_ERROR([Couldn't find message.h. Try installing Google Protocol Buffer development packages])
403
 
fi
404
 
 
405
 
save_CFLAGS="$CFLAGS"
406
 
save_LIBS="$LIBS"
407
 
CFLAGS=""
408
 
LIBS="-lprotobuf"
409
 
 
410
 
AC_CACHE_CHECK([for Message in libprotobuf], ac_libprotobuf_works, [
411
 
  AC_TRY_LINK([
412
 
#include <google/protobuf/descriptor.pb.h>
413
 
  ],[
414
 
    google::protobuf::FileDescriptorProto testFdp;
415
 
  ], ac_libprotobuf_works=yes, [
416
 
        AC_ERROR([could not find Google's libprotobuf])
417
 
  ])
418
 
 
419
 
])
420
 
 
421
 
PROTOBUF_LIBS="${LIBS}"
422
 
AC_SUBST(PROTOBUF_LIBS)
423
 
CFLAGS="$save_CFLAGS"
424
 
LIBS="$save_LIBS"
425
 
AC_LANG_POP()
426
285
 
427
286
#--------------------------------------------------------------------
428
287
# Check for libevent
429
288
#--------------------------------------------------------------------
430
289
 
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 ])
437
 
 
438
 
if test "$with_libevent" = "yes"
 
290
AC_CHECK_HEADERS(event.h)
 
291
if test "x$ac_cv_header_event_h" != "xyes"
439
292
then
440
 
    AC_CHECK_HEADERS(event.h)
441
 
    if test "x$ac_cv_header_event_h" != "xyes"
442
 
    then
443
 
      AC_MSG_ERROR([Couldn't find event.h. Try installing libevent development packages])
444
 
    fi
445
 
    my_save_LIBS="$LIBS"
446
 
    LIBS=""
447
 
    AC_CHECK_LIB(event, event_loop, [], [AC_MSG_ERROR(could not find libevent)])
448
 
    LIBEVENT_LIBS="${LIBS}"
449
 
    LIBS="${my_save_LIBS}"
450
 
    LIBEVENT_CFLAGS=""
451
 
else
452
 
    AC_MSG_RESULT($withval)
453
 
    if test -f $withval/event.h -a -f $withval/libevent.a; then
454
 
       owd=`pwd`
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
459
 
       owd=`pwd`
460
 
       if cd $withval; then withval=`pwd`; cd $owd; fi
461
 
       LIBEVENT_CFLAGS="-I$withval/include"
462
 
       LIBEVENT_LIBS="-L$withval/lib -levent"
463
 
    else
464
 
       AC_MSG_ERROR([event.h or libevent.a not found in $withval])
465
 
    fi
 
293
  AC_MSG_ERROR([Couldn't find event.h. Try installing libevent development packages])
466
294
fi
467
 
 
468
 
AC_SUBST(LIBEVENT_CFLAGS)
469
 
AC_SUBST(LIBEVENT_LIBS)
470
 
 
471
 
AC_CACHE_CHECK([for bufferevent in libevent], ac_libevent_works, [
472
 
  save_CFLAGS="$CFLAGS"
473
 
  save_LIBS="$LIBS"
474
 
  CFLAGS="$LIBEVENT_CFLAGS"
475
 
  LIBS="$LIBEVENT_LIBS"
476
 
  AC_TRY_LINK([
477
 
#include <sys/types.h>
478
 
#include <sys/time.h>
479
 
#include <stdlib.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/])
486
 
  ])
487
 
 
488
 
  CFLAGS="$save_CFLAGS"
489
 
  LIBS="$save_LIBS"
490
 
])
491
 
 
 
295
AC_CHECK_LIB(event, event_loop, [], [AC_MSG_ERROR(could not find libevent)])
492
296
 
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"])
513
317
 
514
 
if test "x$ac_enable_tcmalloc" = "xyes"
 
318
if test "x$ac_warn_strict_aliasing" = "xyes"
515
319
then
516
320
  AC_CHECK_LIB(tcmalloc,malloc,[],[])
517
321
fi
520
324
# Check for libz
521
325
#--------------------------------------------------------------------
522
326
 
523
 
my_save_LIBS="$LIBS"
524
 
LIBS=""
525
327
AC_CHECK_HEADERS(zlib.h)
526
328
if test "x$ac_cv_header_zlib_h" != "xyes"
527
329
then
528
330
  AC_MSG_ERROR([Couldn't find zlib.h. Try installing zlib development packages])
529
331
fi
530
332
AC_CHECK_LIB(z, crc32, [], [AC_MSG_ERROR(could not find libz)])
531
 
ZLIB_LIBS="$LIBS"
532
 
LIBS="$my_save_LIBS"
533
 
AC_SUBST(ZLIB_LIBS)
534
 
 
535
 
 
536
 
#--------------------------------------------------------------------
537
 
# Check for libreadline or compatible (libedit on Mac OS X)
538
 
#--------------------------------------------------------------------
539
 
 
540
 
AC_CHECK_HEADERS(readline/history.h readline/readline.h)
 
333
 
 
334
 
 
335
AC_CHECK_HEADERS([readline/readline.h])
541
336
if test "x$ac_cv_header_readline_readline_h" != "xyes"
542
337
then
543
338
  AC_MSG_ERROR([Couldn't find readline/readline.h. Try installing readline development packages.])
544
339
fi
545
 
AC_CHECK_TYPES([HIST_ENTRY], [], [], [AC_INCLUDES_DEFAULT[
546
 
#ifdef HAVE_READLINE_HISTORY_H
547
 
#include <readline/history.h>
548
 
#endif
549
 
#include <readline/readline.h>
550
 
]])
551
 
AC_CHECK_DECLS([completion_matches], [], [], [AC_INCLUDES_DEFAULT[
552
 
#ifdef HAVE_READLINE_HISTORY_H
553
 
#include <readline/history.h>
554
 
#endif
555
 
#include <readline/readline.h>
556
 
]])
557
 
 
558
 
DRIZZLE_CHECK_NEW_RL_INTERFACE
559
 
 
560
 
my_save_LIBS="$LIBS"
561
 
LIBS=""
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"
567
 
LIBS="$my_save_LIBS"
568
 
AC_SUBST(READLINE_LIBS)
569
 
 
570
340
 
571
341
#--------------------------------------------------------------------
572
342
# Check for libpcre
574
344
 
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"])
578
 
 
579
 
if test "$found_pcre" = "no"
580
 
then
 
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" 
585
352
  then
 
353
    found_pcre="no"
 
354
  else
 
355
    found_pcre="yes"
 
356
    # We can't search for these well, but we sure do need them!
 
357
    PCRE_LIBS="-lpcrecpp -lpcre"
 
358
  fi
 
359
  ])
 
360
if test "x$found_pcre" != "xyes"
 
361
then
586
362
    AC_MSG_ERROR([Couldn't find pcrecpp.h. Try installing the development package associated with libpcre on your system.])
587
 
  else
588
 
    # Found headers, now see if we can link
589
 
    AC_MSG_CHECKING(for libpcrecpp)
590
 
    save_LDFLAGS="$LDFLAGS"
591
 
    LDFLAGS="-lpcrecpp -lpcre"
592
 
    AC_TRY_LINK([
593
 
#include <pcrecpp.h>
594
 
    ],
595
 
    [pcrecpp::RE_Options opt;],
596
 
    [found_pcre="yes"],
597
 
    [AC_MSG_ERROR([Couldn't link libpcrecpp])])
598
 
 
599
 
    PCRE_LIBS="$LDFLAGS"
600
 
    LDFLAGS="$save_LDFLAGS"
601
 
    AC_MSG_RESULT([yes])
602
 
  fi
603
363
fi
604
364
AC_LANG_POP([])
605
365
AC_SUBST(PCRE_LIBS)
606
366
AC_SUBST(PCRE_CFLAGS)
607
367
 
 
368
AM_PATH_GLIB_2_0
 
369
if test "x$no_glib" != "x" ; then
 
370
    AC_MSG_ERROR([Couldn't find GLib2. Try installing libglib2.0-dev or glib2-devel])
 
371
fi
 
372
 
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.
687
452
  FIND_PROC="$PS \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
688
453
else
689
454
  case $SYSTEM_TYPE in
690
 
    *freebsd*|*dragonfly*|*cygwin*)
 
455
    *freebsd*|*dragonfly*)
691
456
      FIND_PROC="$PS p \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
692
457
      ;;
693
458
    *darwin*)
695
460
      ;;
696
461
    *)
697
462
      AC_MSG_ERROR([Could not find the right ps switches. Which OS is this ?. See the Installation chapter in the Reference Manual.])
698
 
      ;;
699
463
  esac
700
464
fi
701
465
AC_SUBST(FIND_PROC)
736
500
AC_ARG_WITH([server-suffix],
737
501
    [AS_HELP_STRING([--with-server-suffix],
738
502
      [Append value to the version string.])],
739
 
    [ DRIZZLE_SERVER_SUFFIX=`echo "$withval" | sed -e  's/^\(...................................\)..*$/\1/'` ],
740
 
    [ DRIZZLE_SERVER_SUFFIX= ]
 
503
    [ MYSQL_SERVER_SUFFIX=`echo "$withval" | sed -e  's/^\(...................................\)..*$/\1/'` ],
 
504
    [ MYSQL_SERVER_SUFFIX= ]
741
505
    )
742
 
AC_SUBST(DRIZZLE_SERVER_SUFFIX)
 
506
AC_SUBST(MYSQL_SERVER_SUFFIX)
743
507
 
744
508
# Force use of a curses libs
745
509
AC_ARG_WITH([named-curses-libs],
750
514
    [ with_named_curses=no ]
751
515
    )
752
516
 
 
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 ]
 
523
    )
 
524
 
 
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" = "")
 
531
 
 
532
if test "$ASSEMBLER_TRUE" = ""
 
533
then
 
534
  AC_MSG_RESULT([yes])
 
535
else
 
536
  AC_MSG_RESULT([no])
 
537
fi
 
538
 
 
539
# Add query profiler
 
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 ])
 
546
 
 
547
if test "$ENABLED_PROFILING" = "yes"
 
548
then
 
549
  AC_DEFINE([ENABLED_PROFILING], [1],
 
550
            [If SHOW PROFILE should be enabled])
 
551
  AC_MSG_RESULT([yes]) 
 
552
else
 
553
  AC_MSG_RESULT([no])
 
554
fi
 
555
 
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.
774
577
      #
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)
777
580
      #
778
 
      # - allow the DRIZZLE_TCP_PORT environment variable to override that.
 
581
      # - allow the MYSQL_TCP_PORT environment variable to override that.
779
582
      #
780
583
      # - allow command-line parameters to override all of the above.
781
584
      #
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 ]
785
588
    )
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)
789
592
 
790
593
# Use this to set the place used for unix socket used to local communication.
791
594
AC_ARG_WITH([mysqld-user],
813
616
  AC_MSG_RESULT([no])
814
617
fi
815
618
 
816
 
AC_SYS_LARGEFILE
817
 
AC_FUNC_FSEEKO
 
619
MYSQL_SYS_LARGEFILE
818
620
 
819
621
# Types that must be checked AFTER large file support is checked
820
622
AC_TYPE_SIZE_T
832
634
AC_CHECK_HEADERS(sys/fpu.h utime.h sys/utime.h )
833
635
AC_CHECK_HEADERS(synch.h sys/mman.h sys/socket.h netinet/in.h arpa/inet.h)
834
636
AC_CHECK_HEADERS(sys/timeb.h sys/vadvise.h sys/wait.h term.h)
835
 
AC_CHECK_HEADERS(termio.h termios.h sched.h alloca.h)
 
637
AC_CHECK_HEADERS(termio.h termios.h sched.h crypt.h alloca.h)
836
638
AC_CHECK_HEADERS(sys/ioctl.h malloc.h sys/malloc.h sys/ipc.h sys/shm.h)
837
639
AC_CHECK_HEADERS(sys/prctl.h sys/resource.h sys/param.h port.h ieeefp.h)
838
640
AC_CHECK_HEADERS(execinfo.h)
845
647
#--------------------------------------------------------------------
846
648
 
847
649
AC_CHECK_LIB(m, floor, [], AC_CHECK_LIB(m, __infinity))
 
650
AC_CHECK_FUNCS(log2)
848
651
 
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]))
857
660
 
859
662
AC_CHECK_LIB(rt, aio_read)
860
663
 
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"]))
865
667
 
866
668
if test "$ac_cv_header_termio_h" = "no" -a "$ac_cv_header_termios_h" = "no"
867
669
then
868
 
  AC_CHECK_FUNC(gtty, [], [AC_CHECK_LIB(compat, gtty)])
 
670
  AC_CHECK_FUNC(gtty, , AC_CHECK_LIB(compat, gtty))
869
671
fi
870
672
 
 
673
AC_CHECK_TYPES([int8, uint8, int16, uint16, int32, uint32, int64, uint64,
 
674
                uchar, uint, ulong],[],[], [
 
675
#include <sys/types.h>
 
676
])
871
677
AC_CHECK_TYPES([fp_except], [], [], [
872
678
#include <sys/types.h>
873
679
#include <ieeefp.h>
874
680
])
875
681
 
 
682
 
876
683
my_save_LIBS="$LIBS"
877
684
LIBS=""
878
685
AC_CHECK_LIB(dl,dlopen)
 
686
LIBDL=$LIBS
 
687
LIBS="$my_save_LIBS"
 
688
AC_SUBST(LIBDL)
 
689
 
 
690
my_save_LIBS="$LIBS"
 
691
LIBS="$LIBS $LIBDL"
879
692
AC_CHECK_FUNCS(dlopen dlerror)
880
 
if test "$ac_cv_func_dlopen" != "yes"
881
 
then
882
 
  AC_MSG_ERROR([Drizzle requires dlopen])
883
 
fi
884
 
LIBDL_LIBS="$LIBS"
885
693
LIBS="$my_save_LIBS"
886
 
AC_SUBST(LIBDL_LIBS)
887
694
 
888
695
AC_CHECK_FUNCS(strtok_r)
889
696
 
890
 
 
 
697
# Build optimized or debug version ?
 
698
# First check for gcc and g++
 
699
if test "$ac_cv_c_compiler_gnu" = "yes"
 
700
then
 
701
  SYMBOLS_CFLAGS="-ggdb3"
 
702
  DEBUG_OPTIMIZE_CC="-O0"
 
703
  OPTIMIZE_CFLAGS="-O2"
 
704
else
 
705
  SYMBOLS_CFLAGS="-g"
 
706
  DEBUG_OPTIMIZE_CC=""
 
707
  OPTIMIZE_CFLAGS="-O"
 
708
fi
 
709
if test "$ac_cv_prog_cxx_g" = "yes"
 
710
then
 
711
  SYMBOLS_CXXFLAGS="-ggdb3"
 
712
  DEBUG_OPTIMIZE_CXX="-O0"
 
713
  OPTIMIZE_CXXFLAGS="-O2"
 
714
else
 
715
  SYMBOLS_CXXFLAGS="-g"
 
716
  DEBUG_OPTIMIZE_CXX=""
 
717
  OPTIMIZE_CXXFLAGS="-O"
 
718
fi
 
719
 
 
720
# If the user specified CFLAGS, we won't add any optimizations
 
721
if test -n "$SAVE_CFLAGS"
 
722
then
 
723
  OPTIMIZE_CFLAGS=""
 
724
  DEBUG_OPTIMIZE_CC=""
 
725
fi
 
726
# Ditto for CXXFLAGS
 
727
if test -n "$SAVE_CXXFLAGS"
 
728
then
 
729
  OPTIMIZE_CXXFLAGS=""
 
730
  DEBUG_OPTIMIZE_CXX=""
 
731
fi
 
732
 
 
733
CFLAGS="${SYMBOLS_CFLAGS} ${CFLAGS}"
 
734
CXXFLAGS="${SYMBOLS_CXXFLAGS} ${CXXFLAGS}"
 
735
 
 
736
AC_ARG_WITH([debug],
 
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],
 
741
    [with_debug=no])
 
742
AM_CONDITIONAL(BUILD_DBUG, test "$with_debug" != "no")
 
743
if test "$with_debug" = "yes"
 
744
then
 
745
  # Medium debug.
 
746
  AC_DEFINE([DBUG_ON], [1], [Use libdbug])
 
747
  CFLAGS="$DEBUG_OPTIMIZE_CC $CFLAGS"
 
748
  CXXFLAGS="$DEBUG_OPTIMIZE_CXX $CXXFLAGS"
 
749
else
 
750
  # Optimized version. No debug
 
751
  AC_DEFINE([DBUG_OFF], [1], [Dont use libdbug])
 
752
  CFLAGS="$OPTIMIZE_CFLAGS $CFLAGS"
 
753
  CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS"
 
754
fi
 
755
 
 
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 ])
 
762
 
 
763
if test $with_debug != "no"
 
764
then
 
765
  if test "$with_error_inject" = "yes"
 
766
  then
 
767
    AC_DEFINE([ERROR_INJECT_SUPPORT], [1],
 
768
              [Enable error injection in Drizzle Server])
 
769
  fi
 
770
fi
891
771
 
892
772
AC_ARG_WITH([fast-mutexes],
893
773
    [AS_HELP_STRING([--with-fast-mutexes],
897
777
 
898
778
if test "$with_fast_mutexes" != "no"
899
779
then
900
 
        AC_DEFINE([MY_PTHREAD_FASTMUTEX], [1], 
901
 
                        [Define to 1 if you want to use fast mutexes])
 
780
  if test "$with_debug" != "no"
 
781
  then
 
782
    AC_MSG_WARN(['--with-fast-mutexes' ignored when '--with-debug' is given])
 
783
  else
 
784
    AC_DEFINE([MY_PTHREAD_FASTMUTEX], [1], 
 
785
              [Define to 1 if you want to use fast mutexes])
 
786
  fi
902
787
fi
903
788
 
904
 
AM_CONDITIONAL(BUILD_FAST_MUTEX,[test "$with_fast_mutexes" != "no"])
905
 
 
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"
925
808
fi
926
809
 
 
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"
 
812
then
 
813
  LDFLAGS="$LDFLAGS -rdynamic"
 
814
  AC_MSG_RESULT("-rdynamic")
 
815
else
 
816
  case "$SYSTEM_TYPE$with_mysqld_ldflags " in
 
817
  *freebsd*"-all-static "*|*dragonfly*"-all-static "*)
 
818
    AC_MSG_RESULT("none")
 
819
    ;;
 
820
  *freebsd*|*dragonfly*)
 
821
    MYSQLD_EXTRA_LDFLAGS="$MYSQLD_EXTRA_LDFLAGS -export-dynamic"
 
822
    AC_MSG_RESULT("-export-dynamic")
 
823
    ;;
 
824
  *)
 
825
    AC_MSG_RESULT("none")
 
826
    ;;
 
827
  esac
 
828
fi
 
829
 
927
830
dnl Checks for typedefs, structures, and compiler characteristics.
928
831
AC_C_CONST
929
832
AC_C_INLINE
930
833
AC_TYPE_OFF_T
931
834
AC_HEADER_TIME
932
835
AC_STRUCT_TM
 
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
 
841
then
 
842
  AC_MSG_ERROR([No size for char type.])
 
843
fi
 
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
 
848
then
 
849
  AC_MSG_ERROR("No size for int type.")
 
850
fi
 
851
AC_CHECK_SIZEOF(long, 4)
 
852
if test "$ac_cv_sizeof_long" -eq 0
 
853
then
 
854
  AC_MSG_ERROR("No size for long type.")
 
855
fi
 
856
AC_CHECK_SIZEOF(long long, 8)
 
857
if test "$ac_cv_sizeof_long_long" -eq 0
 
858
then
 
859
  AC_MSG_ERROR("Drizzle needs a long long type.")
 
860
fi
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
942
870
dnl
943
871
 
944
 
DRIZZLE_CHECK_TIME_T
945
 
 
 
872
MYSQL_CHECK_TIME_T
 
873
 
 
874
 
 
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
 
883
#endif
 
884
]])],[AC_MSG_RESULT(no) ],[AC_MSG_RESULT(yes) ; CXXFLAGS="$CXXFLAGS -DUSE_PRAGMA_IMPLEMENTATION"])
946
885
 
947
886
# This always gives a warning. Ignore it unless you are cross compiling
948
887
AC_C_BIGENDIAN
949
888
#---START: Used in for client configure
950
889
# Check base type of last arg to accept
951
 
DRIZZLE_TYPE_ACCEPT
 
890
MYSQL_TYPE_ACCEPT
952
891
#---END:
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..
958
 
DRIZZLE_FUNC_ALLOCA
 
897
MYSQL_FUNC_ALLOCA
959
898
# Do struct timespec have members tv_sec or ts_sec
960
 
DRIZZLE_TIMESPEC_TS
 
899
MYSQL_TIMESPEC_TS
961
900
# Do we have the tzname variable
962
 
DRIZZLE_TZNAME
 
901
MYSQL_TZNAME
963
902
# Do the c++ compiler have a bool type
964
 
DRIZZLE_CXX_BOOL
 
903
MYSQL_CXX_BOOL
965
904
AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
966
905
AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
967
 
 
968
 
DRIZZLE_PTHREAD_YIELD
969
 
 
 
906
AC_CHECK_TYPES([u_int32_t])
 
907
 
 
908
MYSQL_PTHREAD_YIELD
 
909
 
 
910
######################################################################
 
911
# For readline/libedit (We simply move the mimimum amount of stuff from
 
912
# the readline/libedit configure.in here)
970
913
 
971
914
dnl Checks for header files.
972
915
AC_CHECK_HEADERS(malloc.h sys/cdefs.h)
994
937
AC_SUBST(MAKE_SHELL)
995
938
 
996
939
# Already-done: stdlib.h string.h unistd.h termios.h
997
 
AC_CHECK_HEADERS(stdarg.h dirent.h locale.h ndir.h sys/dir.h \
 
940
AC_CHECK_HEADERS(varargs.h stdarg.h dirent.h locale.h ndir.h sys/dir.h \
998
941
 sys/file.h sys/ndir.h sys/ptem.h sys/pte.h sys/select.h sys/stream.h \
999
942
 sys/mman.h curses.h termcap.h termio.h termbits.h asm/termbits.h grp.h \
1000
943
paths.h semaphore.h)
1003
946
AC_CHECK_FUNCS(lstat putenv select setenv setlocale strcoll tcgetattr)
1004
947
 
1005
948
AC_HEADER_STAT
1006
 
DRIZZLE_SIGNAL_CHECK
1007
 
DRIZZLE_CHECK_GETPW_FUNCS
1008
 
DRIZZLE_HAVE_TIOCGWINSZ
1009
 
DRIZZLE_HAVE_FIONREAD
1010
 
DRIZZLE_HAVE_TIOCSTAT
1011
 
DRIZZLE_STRUCT_DIRENT_D_INO
1012
 
DRIZZLE_STRUCT_DIRENT_D_NAMLEN
1013
 
DRIZZLE_TYPE_SIGHANDLER
1014
 
DRIZZLE_CHECK_MULTIBYTE
 
949
MYSQL_SIGNAL_CHECK
 
950
MYSQL_CHECK_GETPW_FUNCS
 
951
MYSQL_HAVE_TIOCGWINSZ
 
952
MYSQL_HAVE_FIONREAD
 
953
MYSQL_HAVE_TIOCSTAT
 
954
MYSQL_STRUCT_DIRENT_D_INO
 
955
MYSQL_STRUCT_DIRENT_D_NAMLEN
 
956
MYSQL_TYPE_SIGHANDLER
 
957
MYSQL_CHECK_MULTIBYTE
1015
958
if test "$with_named_curses" = "no"
1016
959
then
1017
 
  DRIZZLE_CHECK_LIB_TERMCAP
 
960
  MYSQL_CHECK_LIB_TERMCAP
1018
961
else
1019
 
  TERMCAP_LIBS="$with_named_curses"
 
962
  TERMCAP_LIB="$with_named_curses"
1020
963
fi
1021
 
AC_SUBST(TERMCAP_LIBS)
 
964
AC_SUBST(TERMCAP_LIB)
1022
965
 
1023
966
# Check if the termcap function 'tgoto' is already declared in
1024
967
# system header files or if it need to be declared locally
1050
993
 
1051
994
#AC_FUNC_MMAP
1052
995
AC_TYPE_SIGNAL
1053
 
DRIZZLE_TYPE_QSORT
 
996
MYSQL_TYPE_QSORT
1054
997
AC_FUNC_UTIME_NULL
1055
998
AC_FUNC_VPRINTF
1056
999
 
1060
1003
  AC_MSG_ERROR("Drizzle requires fcntl.")
1061
1004
fi
1062
1005
 
1063
 
AC_CONFIG_LIBOBJ_DIR([mystrings])
1064
 
 
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 \
1072
 
  memmove \
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)
1084
1024
 
1085
 
AC_LANG_PUSH(C++)
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[
1089
 
#if HAVE_SYS_MMAN_H
1090
 
#include <sys/types.h>
1091
 
#include <sys/mman.h>
1092
 
#endif
1093
 
]])
1094
 
AC_LANG_POP()
1095
 
 
1096
 
 
1097
 
AM_CONDITIONAL(BUILD_THR_RWLOCK,[test "$ac_cv_func_rwlock_init" -a "$ac_cv_funn_pthread_rwlock_rdlock"])
1098
 
 
1099
1025
# Check that isinf() is available in math.h and can be used in both C and C++
1100
1026
# code
1101
1027
AC_MSG_CHECKING(for isinf in math.h)
1134
1060
)
1135
1061
 
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
1140
1066
#endif
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"
1147
1071
  then
1148
1072
    AC_DEFINE([HAVE_NONPOSIX_PTHREAD_GETSPECIFIC], [1],
1150
1074
  fi
1151
1075
 
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"
1163
1085
  then
1164
1086
    AC_DEFINE([HAVE_NONPOSIX_PTHREAD_MUTEX_INIT], [1],
1168
1090
 
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"
1180
1100
then
1181
1101
  AC_DEFINE([HAVE_READDIR_R], [1], [POSIX readdir_r])
1182
1102
fi
1183
1103
 
1184
1104
# Check definition of posix sigwait()
1185
 
AC_CACHE_CHECK([style of sigwait], [mysql_cv_sigwait],
1186
 
  [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1187
 
#define _REENTRANT
 
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>
1190
 
#include <signal.h>
1191
 
      ]], [[
1192
 
#ifndef _AIX
 
1109
#include <signal.h>]], [[#ifndef _AIX
1193
1110
sigset_t set;
1194
1111
int sig;
1195
1112
sigwait(&set,&sig);
1196
 
#endif
1197
 
      ]])],
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"
1201
1115
then
1202
1116
  AC_DEFINE([HAVE_SIGWAIT], [1], [POSIX sigwait])
1206
1120
then
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([[
1211
 
#define _REENTRANT
 
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>
1214
 
#include <signal.h>
1215
 
      ]], [[
1216
 
sigset_t set;
 
1127
#include <signal.h>]], [[sigset_t set;
1217
1128
int sig;
1218
 
sigwait(&set);
1219
 
      ]])],
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"
1223
1131
then
1224
1132
  AC_DEFINE([HAVE_NONPOSIX_SIGWAIT], [1], [sigwait with one argument])
1227
1135
#---END:
1228
1136
 
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([[
1232
 
#define _REENTRANT
 
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>
1235
 
      ]], [[
1236
 
pthread_attr_t thr_attr;
1237
 
pthread_attr_setscope(&thr_attr,0);
1238
 
      ]])],
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"
1242
1144
then
1243
1145
  AC_DEFINE([HAVE_PTHREAD_ATTR_SETSCOPE], [1], [pthread_attr_setscope])
1275
1177
# Check for requested features
1276
1178
#--------------------------------------------------------------------
1277
1179
 
1278
 
DRIZZLE_CHECK_BIG_TABLES
1279
 
DRIZZLE_CHECK_MAX_INDEXES
1280
 
DRIZZLE_CHECK_VIO
 
1180
MYSQL_CHECK_BIG_TABLES
 
1181
MYSQL_CHECK_MAX_INDEXES
 
1182
MYSQL_CHECK_VIO
1281
1183
 
1282
1184
#--------------------------------------------------------------------
1283
1185
# Declare our plugin modules
1285
1187
# functions tested above
1286
1188
#--------------------------------------------------------------------
1287
1189
 
1288
 
DRIZZLE_CONFIGURE_PLUGINS([none])
 
1190
MYSQL_CONFIGURE_PLUGINS([none])
1289
1191
 
1290
1192
AC_SUBST(mysql_plugin_dirs)
1291
1193
AC_SUBST(mysql_plugin_libs)
1292
1194
AC_SUBST(mysql_plugin_defs)
1293
1195
 
1294
 
# Build optimized or debug version ?
1295
 
# First check for gcc and g++
1296
 
if test "$ac_cv_c_compiler_gnu" = "yes"
1297
 
then
1298
 
  SYMBOLS_CFLAGS="-ggdb3"
1299
 
  DEBUG_OPTIMIZE_CC="-O0"
1300
 
  OPTIMIZE_CFLAGS="-O3"
1301
 
else
1302
 
  SYMBOLS_CFLAGS="-g"
1303
 
  DEBUG_OPTIMIZE_CC=""
1304
 
  OPTIMIZE_CFLAGS="-O"
1305
 
fi
1306
 
if test "$ac_cv_prog_cxx_g" = "yes"
1307
 
then
1308
 
  SYMBOLS_CXXFLAGS="-ggdb3"
1309
 
  DEBUG_OPTIMIZE_CXX="-O0"
1310
 
  OPTIMIZE_CXXFLAGS="-O3"
1311
 
else
1312
 
  SYMBOLS_CXXFLAGS="-g"
1313
 
  DEBUG_OPTIMIZE_CXX=""
1314
 
  OPTIMIZE_CXXFLAGS="-O"
1315
 
fi
1316
 
 
1317
 
dnl TODO: Remove this define once we are using 2.61 across the board.
1318
 
# AX_HEADER_ASSERT
1319
 
# ----------------
1320
 
# Check whether to enable assertions.
1321
 
AC_DEFUN([AX_HEADER_ASSERT],
1322
 
[
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])
1330
 
])
1331
 
 
1332
 
AX_HEADER_ASSERT
1333
 
 
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"
1337
 
 
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],
1342
 
    [with_debug=no])
1343
 
if test "$with_debug" = "yes"
1344
 
then
1345
 
  # Medium debug.
1346
 
  CFLAGS="$DEBUG_OPTIMIZE_CC -DDEBUG $CFLAGS ${SAVE_CFLAGS}"
1347
 
  CXXFLAGS="$DEBUG_OPTIMIZE_CXX -DDEBUG $CXXFLAGS ${SAVE_CXXFLAGS}"
1348
 
else
1349
 
  # Optimized version. No debug
1350
 
  CFLAGS="${OPTIMIZE_CFLAGS} ${CFLAGS} ${SAVE_CFLAGS}"
1351
 
  CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS ${SAVE_CXXFLAGS}"
1352
 
fi
1353
 
 
1354
 
AC_ARG_ENABLE([profiling],
1355
 
    [AS_HELP_STRING([--enable-profiling],
1356
 
       [Toggle profiling @<:@default=off@:>@])],
1357
 
    [ac_profiling="$enableval"],
1358
 
    [ac_profiling="no"])
1359
 
 
1360
 
AC_ARG_ENABLE([coverage],
1361
 
    [AS_HELP_STRING([--enable-coverage],
1362
 
       [Toggle coverage @<:@default=off@:>@])],
1363
 
    [ac_coverage="$enableval"],
1364
 
    [ac_coverage="no"])
1365
 
 
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"])
1395
1225
 
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"])
1401
 
 
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"])
1407
 
 
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"])
1413
 
 
1414
1226
 
1415
1227
if test "$GCC" = "yes"
1416
1228
then
1429
1241
    W_STRICT_ALIASING="-Wno-strict-aliasing"
1430
1242
  fi
1431
1243
 
1432
 
  if test "$ac_profiling" = "yes"
1433
 
  then
1434
 
    GPROF_PROFILING="-pg"
1435
 
  else
1436
 
    GPROF_PROFILING=" "
1437
 
  fi
1438
 
 
1439
 
  if test "$ac_coverage" = "yes"
1440
 
  then
1441
 
    GPROF_COVERAGE="-fprofile-arcs -ftest-coverage"
1442
 
  else
1443
 
    GPROF_COVERAGE=" "
1444
 
  fi
1445
 
 
1446
1244
  if test "$ac_warn_pedantic" = "yes"
1447
1245
  then
1448
1246
    GCC_PEDANTIC="-pedantic -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls ${W_STRICT_ALIASING}"
1459
1257
    W_FAIL="-Werror"
1460
1258
  fi
1461
1259
 
1462
 
  if test "$ac_warn_cast" = "yes"
1463
 
  then
1464
 
    W_CAST="-Wold-style-cast"
1465
 
  fi
1466
 
 
1467
 
  if test "$ac_warn_effc" = "yes"
1468
 
  then
1469
 
    W_EFFC="-Weffc++"
1470
 
  fi
1471
 
 
1472
 
  if test "$ac_warn_gocrazy" = "yes"
1473
 
  then
1474
 
    W_CRAZY="-Wshadow -Wconversion -Winvalid-pch"
1475
 
  fi
1476
 
 
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}"
1480
 
 
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}"
 
1263
 
 
1264
  CXXFLAGS="$CXXFLAGS ${GXX_WARNINGS}"
 
1265
  CFLAGS="$CFLAGS ${GCC_WARNINGS} "
1483
1266
fi
1484
1267
 
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])
1489
 
 
1490
1268
# Some usefull subst
1491
1269
AC_SUBST(CC)
1492
1270
AC_SUBST(GXX)
1502
1280
esac
1503
1281
AC_SUBST(MAKE_BINARY_DISTRIBUTION_OPTIONS)
1504
1282
 
1505
 
dnl GCC Precompiled Header Support
1506
 
AM_CONDITIONAL([GCC_PCH],[test "x$GCC" = "xyes"])
1507
 
 
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
 
1285
 vio/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)
1523
1295
 
1524
1296
AC_CONFIG_COMMANDS([default], , test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h)
1525
1297
 
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'")
1528
1300
 
1529
1301
AC_OUTPUT
1530
 
 
1531
 
echo "---"
1532
 
echo "Configuration summary for $PACKAGE_NAME version $VERSION"
1533
 
echo ""
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"
1550
 
echo ""
1551
 
echo "---"