~drizzle-trunk/drizzle/development

575.4.7 by Monty Taylor
More header cleanup.
1
dnl -*- bash -*-
1 by brian
clean slate
2
dnl Process this file with autoconf to produce a configure script.
3
77.1.65 by Monty Taylor
We don't really require 2.61, 2.59 is actually fine.
4
AC_PREREQ(2.59)dnl		Minimum Autoconf version required.
1 by brian
clean slate
5
261.2.5 by Monty Taylor
Changed bug contact location to a url..
6
AC_INIT(drizzle, [7.0.0], [http://bugs.launchpad.net/drizzle])
214 by Brian Aker
Rename of fields (fix issue with string and decimal .h clashing).
7
AC_CONFIG_SRCDIR([drizzled/drizzled.cc])
39 by Brian Aker
Move build helper files into config
8
AC_CONFIG_AUX_DIR(config)
236.1.9 by Monty Taylor
Cleaned up configure.ac line.
9
AC_CONFIG_HEADERS([config.h])
435.1.1 by Monty Taylor
Fixed -O3 optimization for gcc.
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
28.1.33 by Monty Taylor
Added -Wall
30
AC_CANONICAL_TARGET
492.1.7 by Monty Taylor
Moved test() to its own file.
31
AM_INIT_AUTOMAKE(-Wall -Wno-portability -Werror)
1 by brian
clean slate
32
33
PROTOCOL_VERSION=10
34
DOT_FRM_VERSION=6
35
# See the libtool docs for information on how to do shared lib versions.
383.1.47 by Monty Taylor
Couple of tiny changes.
36
SHARED_LIB_MAJOR_VERSION=1
1 by brian
clean slate
37
SHARED_LIB_VERSION=$SHARED_LIB_MAJOR_VERSION:0:0
38
528 by Monty Taylor
Re-arragned a few things in configure.ac.
39
##############################################################################
40
# The below section needs to be done before AC_PROG_CC
41
##############################################################################
42
43
if test "x${CFLAGS-}" = x ; then
44
  cflags_is_set=no
45
else
46
  cflags_is_set=yes
47
fi
48
49
if test "x${CPPFLAGS-}" = x ; then
50
  cppflags_is_set=no
51
else
52
  cppflags_is_set=yes
53
fi
54
55
if test "x${LDFLAGS-}" = x ; then
56
  ldflags_is_set=no
57
else
58
  ldflags_is_set=yes
59
fi
60
612.3.1 by Monty Taylor
Turn on automake dependency tracking for solaris by default.
61
if test "x${enable_dependency_tracking}" = "x"
62
then
63
  enable_dependency_tracking=yes
64
fi
65
528 by Monty Taylor
Re-arragned a few things in configure.ac.
66
################ End of section to be done before AC_PROG_CC #################
67
68
dnl Checks for programs.
69
AC_PROG_CC
70
ifdef([AC_PROG_CC_C99],[
71
  dnl TODO: Need to fix this to use c99 instead of gnu99
72
  AC_PROG_CC_C99([],[AC_MSG_ERROR([C99 support required for compiling Drizzle])])
73
  C99_SUPPORT_HACK=""
74
],[C99_SUPPORT_HACK="-std=gnu99"])
554 by Monty
Added impl of macro missing from old systems.
75
76
ifdef([AC_USE_SYSTEM_EXTENSIONS],[
77
  AC_USE_SYSTEM_EXTENSIONS
78
],[
79
80
  AH_VERBATIM([__EXTENSIONS__],
81
[/* Enable extensions on Solaris.  */
82
#ifndef __EXTENSIONS__
83
# undef __EXTENSIONS__
84
#endif
85
#ifndef _POSIX_PTHREAD_SEMANTICS
86
# undef _POSIX_PTHREAD_SEMANTICS
87
#endif
88
#ifndef _TANDEM_SOURCE
89
# undef _TANDEM_SOURCE
90
#endif])
91
92
  AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__],
93
    [ac_cv_safe_to_define___extensions__],
94
    [AC_COMPILE_IFELSE(
95
       [AC_LANG_PROGRAM([
96
#         define __EXTENSIONS__ 1
97
          AC_INCLUDES_DEFAULT])],
98
       [ac_cv_safe_to_define___extensions__=yes],
99
       [ac_cv_safe_to_define___extensions__=no])])
100
  test $ac_cv_safe_to_define___extensions__ = yes &&
101
    AC_DEFINE([__EXTENSIONS__])
102
  AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
103
  AC_DEFINE([_TANDEM_SOURCE])
104
])
105
528 by Monty Taylor
Re-arragned a few things in configure.ac.
106
AC_PROG_CXX
107
AC_CXX_HEADER_STDCXX_98
108
if test "$ac_cv_cxx_stdcxx_98" = "no"
109
then
110
  AC_MSG_ERROR([C++ Compiler required to compile Drizzle])
111
fi
112
AC_PROG_CPP
113
AM_PROG_CC_C_O
114
520.4.37 by Monty Taylor
Added some Sun compile flags.
115
AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
116
435.1.1 by Monty Taylor
Fixed -O3 optimization for gcc.
117
dnl AC_CANONICAL_HOST thinks it's a good idea to just set CFLAGS to 
118
dnl -g -O2 if you're running gcc. We would like to use something else, thanks.
119
if test "x${CFLAGS}" = "x-g -O2"
120
then
121
  CFLAGS=
122
fi
123
if test "x${CXXFLAGS}" = "x-g -O2"
124
then
125
  CXXFLAGS=
126
fi
127
1 by brian
clean slate
128
129
# Set all version vars based on $VERSION. How do we do this more elegant ?
130
# Remember that regexps needs to quote [ and ] since this is run through m4
131
# We take some made up examples
132
#
133
#  VERSION                  5.1.40sp1-alpha     5.0.34a
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
134
#  DRIZZLE_NO_DASH_VERSION    5.1.40sp1           5.0.34a
135
#  DRIZZLE_NUMERIC_VERSION    5.1.40              5.0.34
136
#  DRIZZLE_BASE_VERSION       5.1                 5.0
137
#  DRIZZLE_VERSION_ID         50140               50034
1 by brian
clean slate
138
#
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
139
DRIZZLE_NO_DASH_VERSION=`echo $VERSION | sed -e "s|-.*$||"`
140
DRIZZLE_NUMERIC_VERSION=`echo $DRIZZLE_NO_DASH_VERSION | sed -e "s|[[a-z]][[a-z0-9]]*$||"`
141
DRIZZLE_BASE_VERSION=`echo $DRIZZLE_NUMERIC_VERSION | sed -e "s|\.[[^.]]*$||"`
142
DRIZZLE_VERSION_ID=`echo $DRIZZLE_NUMERIC_VERSION | \
1 by brian
clean slate
143
    awk -F. '{printf "%d%0.2d%0.2d", $1, $2, $3}'`
144
145
# The port should be constant for a LONG time
301 by Brian Aker
Clean up port startup
146
DRIZZLE_TCP_PORT_DEFAULT=4427
1 by brian
clean slate
147
475 by Monty Taylor
Added m4 files for deficient systems. Changed include mechanism to not need
148
sinclude(m4/dtrace.m4)
202.3.14 by Monty Taylor
Moved m4 macros to top-level m4 dir, per GNU standards (and where gettext wanted it :)
149
sinclude(m4/character_sets.m4)
520.4.39 by mordred
Made a change to gettext.m4 to help building on solaris.
150
sinclude(m4/gettext.m4)
202.3.1 by Monty Taylor
Added very initial gettextize stuff.
151
202.3.2 by Monty Taylor
Added gettext calls in to my_getopt.c and drizzle.c
152
AM_GNU_GETTEXT([external])
635.1.3 by Elan Ruusamäe
- quote AM_GNU_GETTEXT_VERSION so that gettextize doesn't have to modify configure.ac
153
AM_GNU_GETTEXT_VERSION([0.17])
287.3.25 by Monty Taylor
Make autoreconf happy.
154
384 by Monty Taylor
Expanded po subdir trap to catch the case where we're setting programs to :.
155
AM_CONDITIONAL([BUILD_GETTEXT],[test "x$MSGMERGE" != "x" -a "x$MSGMERGE" != "x:"])
1 by brian
clean slate
156
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
157
AC_SUBST(DRIZZLE_NO_DASH_VERSION)
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
158
AC_DEFINE_UNQUOTED(DRIZZLE_BASE_VERSION,["$DRIZZLE_BASE_VERSION"],
159
                  [Major and minor version])
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
160
AC_SUBST(DRIZZLE_VERSION_ID)
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
161
AC_DEFINE_UNQUOTED([DRIZZLE_VERSION_ID],[$DRIZZLE_VERSION_ID],
162
		   [Version ID that can be easily used for numeric comparison])
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
163
AC_SUBST(DRIZZLE_PREVIOUS_BASE_VERSION)
1 by brian
clean slate
164
AC_SUBST(PROTOCOL_VERSION)
165
AC_DEFINE_UNQUOTED([PROTOCOL_VERSION], [$PROTOCOL_VERSION],
166
                   [mysql client protocol version])
167
AC_SUBST(DOT_FRM_VERSION)
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
168
AC_DEFINE_UNQUOTED([FRM_VER], [$DOT_FRM_VERSION],
1 by brian
clean slate
169
                   [Version of .frm files])
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
170
AC_DEFINE_UNQUOTED([DRIZZLE_CONFIG_NAME],["drizzled"],[Name of server config section])
171
1 by brian
clean slate
172
AC_SUBST(SHARED_LIB_MAJOR_VERSION)
173
AC_SUBST(SHARED_LIB_VERSION)
174
AC_SUBST(AVAILABLE_LANGUAGES)
175
520.4.1 by Monty Taylor
Imported InnoDB plugin with changes.
176
dnl Ok. This is sort of lame, but we need to be nice to plugins Makefile.am's.
632.1.25 by Monty Taylor
Removed AM_CONDITIONAL from SEARCH_FOR_LIB. Aligned naming of AM_CONDITIONALS.
177
AM_CONDITIONAL(BUILD_DRIZZLE,[test "x" = "x"])
520.4.1 by Monty Taylor
Imported InnoDB plugin with changes.
178
179
390.1.6 by Monty Taylor
Oh dear god the changes. The changes. I'd tell you what they are, but I'd just be making stuff up. Suffice it to day it's mostly all around splitting files in libdrizzle into different files and removing interdepends. And whatever else I happened to see...
180
# General Constants
181
AC_DEFINE([IO_SIZE], [4096], [Io buffer size; Must be a power of 2 and 
182
  a multiple of 512. May be
183
  smaller what the disk page size. This influences the speed of the
184
  isam btree library. eg to big to slow.])
185
AC_DEFINE([SC_MAXWIDTH],[256], [Max width of screen (for error messages)])
186
AC_DEFINE([FN_LEN],[256	], [Max file name len ])
187
AC_DEFINE([FN_EXTLEN],[20], [Max length of extension (part of FN_LEN) ])
188
AC_DEFINE([FN_REFLEN],[512], [Max length of full path-name ])
189
AC_DEFINE([FN_EXTCHAR],['.'], [File extension character])
190
AC_DEFINE([FN_HOMELIB],['~'], [~/ is used as abbrev for home dir ])
191
AC_DEFINE([FN_CURLIB],['.'], [./ is used as abbrev for current dir ])
192
AC_DEFINE([FN_PARENTDIR],[".."], [Parent directory; Must be a string ])
1 by brian
clean slate
193
448 by Monty Taylor
Moved global defines to configure.ac.
194
AC_DEFINE([MASTER],[1],[Compile without unireg])
195
457 by Monty
Re-worked a few defines to work around old autoconf version.
196
AH_VERBATIM([QUOTE_ARG],[
197
/* Quote argument (before cpp) */
198
#ifndef QUOTE_ARG
199
# define QUOTE_ARG(x) #x
200
#endif
201
/* Quote argument, (after cpp) */
202
#ifndef STRINGIFY_ARG
203
# define STRINGIFY_ARG(x) QUOTE_ARG(x)
204
#endif
205
])
206
207
AH_VERBATIM([builtin_expect],[
208
/*
209
 * The macros below are borrowed from include/linux/compiler.h in the
210
 * Linux kernel. Use them to indicate the likelyhood of the truthfulness
211
 * of a condition. This serves two purposes - newer versions of gcc will be
212
 * able to optimize for branch predication, which could yield siginficant
213
 * performance gains in frequently executed sections of the code, and the
214
 * other reason to use them is for documentation
215
 */
216
#if !defined(__GNUC__)
217
#define __builtin_expect(x, expected_value) (x)
218
#endif
219
220
#define likely(x)  __builtin_expect((x),1)
221
#define unlikely(x)  __builtin_expect((x),0)
222
])
448 by Monty Taylor
Moved global defines to configure.ac.
223
441 by Monty Taylor
Move unconditional defines to config.h.
224
dnl  InnoDB depends on some Drizzle's internals which other plugins should not
225
dnl  need.  This is because of InnoDB's foreign key support, "safe" binlog
226
dnl  truncation, and other similar legacy features.
227
228
dnl  We define accessors for these internals unconditionally, but do not
229
dnl  expose them in mysql/plugin.h.  They are declared in ha_innodb.h for
230
dnl  InnoDB's use.
231
443 by Monty Taylor
Moved POSIX_PTHREAD flag.
232
AC_DEFINE([INNODB_COMPATIBILITY_HOOKS],[1],[TODO: Remove the need for this])
444 by Monty Taylor
Moved REENTRANT.
233
dnl TODO: Make a test for when this needs to be set.
234
AC_DEFINE([_REENTRANT],[1],[Some thread libraries require this])
443 by Monty Taylor
Moved POSIX_PTHREAD flag.
235
236
AH_VERBATIM([posix_pthread],[
237
/* We want posix threads */
238
#ifndef _POSIX_PTHREAD_SEMANTICS
239
#define _POSIX_PTHREAD_SEMANTICS
240
#endif
241
])
441 by Monty Taylor
Move unconditional defines to config.h.
242
243
1 by brian
clean slate
244
# Canonicalize the configuration name.
245
246
# Check whether --with-system-type or --without-system-type was given.
28.1.33 by Monty Taylor
Added -Wall
247
AC_ARG_WITH([system-type],
248
    [AS_HELP_STRING([--with-system-type],
249
       [Set the system type, like "sun-solaris10"])],
1 by brian
clean slate
250
    [SYSTEM_TYPE="$withval"],
251
    [SYSTEM_TYPE="$host_vendor-$host_os"])
28.1.33 by Monty Taylor
Added -Wall
252
AC_ARG_WITH([machine-type],
253
    [AS_HELP_STRING([--with-machine-type],
254
       [Set the machine type, like "powerpc"])],
1 by brian
clean slate
255
    [MACHINE_TYPE="$withval"],
256
    [MACHINE_TYPE="$host_cpu"])
257
AC_SUBST(SYSTEM_TYPE)
258
AC_DEFINE_UNQUOTED([SYSTEM_TYPE], ["$SYSTEM_TYPE"],
259
                   [Name of system, eg sun-solaris])
260
AC_SUBST(MACHINE_TYPE)
261
AC_DEFINE_UNQUOTED([MACHINE_TYPE], ["$MACHINE_TYPE"],
262
                   [Machine type name, eg sparc])
263
264
# Detect intel x86 like processor
265
BASE_MACHINE_TYPE=$MACHINE_TYPE
266
case $MACHINE_TYPE in
267
  i?86) BASE_MACHINE_TYPE=i386 ;;
268
esac
269
270
AM_SANITY_CHECK
271
# This is needed is SUBDIRS is set
272
AC_PROG_MAKE_SET
273
481.1.9 by Monty Taylor
Added autoconf tests for location of cstdint and cinttypes. Use those in C++ programs now, so that we don't have to define _STDC_LIMIT_MACROS, etc by hand. Stop, in fact, defining those by hand.
274
520.4.41 by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags.
275
case "$target_os" in
276
  *linux*)
277
  TARGET_LINUX="true"
278
  AC_SUBST(TARGET_LINUX)
279
  AC_DEFINE([TARGET_OS_LINUX], [1], [Whether we build for Linux])
280
    ;;
271 by Brian Aker
OSX fix
281
  *apple-darwin*)
520.4.41 by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags.
282
    TARGET_OSX="true"
283
    AC_SUBST(TARGET_OSX)
271 by Brian Aker
OSX fix
284
    AC_DEFINE([TARGET_OS_OSX], [1], [Whether we build for OSX])
1 by brian
clean slate
285
    ;;
520.4.41 by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags.
286
  *solaris*)
287
    TARGET_SOLARIS="true"
288
    AC_SUBST(TARGET_SOLARIS)
289
    AC_DEFINE([TARGET_OS_SOLARIS], [1], [Whether we are building for Solaris])
290
    ;;
1 by brian
clean slate
291
  *)
292
    ;;
293
esac
435.1.1 by Monty Taylor
Fixed -O3 optimization for gcc.
294
295
dnl AC_CANONICAL_HOST thinks it's a good idea to just set CFLAGS to 
296
dnl -g -O2 if you're running gcc. We would like to use something else, thanks.
297
if test "x${CFLAGS}" = "x-g -O2"
298
then
299
  CFLAGS=
300
fi
301
if test "x${CXXFLAGS}" = "x-g -O2"
302
then
303
  CXXFLAGS=
304
fi
305
520.4.41 by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags.
306
DRIZZLE_CHECK_C_VERSION
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
307
DRIZZLE_CHECK_CXX_VERSION
1 by brian
clean slate
308
590.2.23 by Monty Taylor
Fixed a few things for solaris builds.
309
AC_SYS_LARGEFILE
310
230.3.1 by Monty Taylor
Bug 252805: ./configure not detecting missing g++
311
AC_PROG_AWK
312
28.1.33 by Monty Taylor
Added -Wall
313
if test "$ac_cv_c_compiler_gnu" = "yes"
1 by brian
clean slate
314
then
315
  AS="$CC -c"
316
  AC_SUBST(AS)
317
else
318
  AC_PATH_PROG(AS, as, as)
319
fi
320
446 by Monty Taylor
Moved GNU_SOURCE define to configure.
321
dnl TODO: This needs to go away and be replaced with _ISOC99_SOURCE
520.4.41 by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags.
322
if test "$ac_cv_c_compiler_gnu" = "yes" -o "$target_os" = "linux-gnu"
446 by Monty Taylor
Moved GNU_SOURCE define to configure.
323
then
324
  AC_DEFINE([_GNU_SOURCE],[1],[Fix problem with S_ISLNK() on Linux])
325
fi
326
445 by Monty Taylor
Moved sun defines to configure.ac.
327
dnl  Solaris 9 include file <sys/feature_tests.h> refers to X/Open document
328
329
dnl  System Interfaces and Headers, Issue 5
330
331
dnl  saying we should define _XOPEN_SOURCE=500 to get POSIX.1c prototypes,
332
dnl  but apparently other systems (namely FreeBSD) don't agree.
333
334
dnl  On a newer Solaris 10, the above file recognizes also _XOPEN_SOURCE=600.
335
dnl  Furthermore, it tests that if a program requires older standard
336
dnl  (_XOPEN_SOURCE<600 or _POSIX_C_SOURCE<200112L) it cannot be
337
dnl  run on a new compiler (that defines _STDC_C99) and issues an #error.
338
dnl  It's also an #error if a program requires new standard (_XOPEN_SOURCE=600
339
dnl  or _POSIX_C_SOURCE=200112L) and a compiler does not define _STDC_C99.
340
341
dnl  To add more to this mess, Sun Studio C compiler defines _STDC_C99 while
342
dnl  C++ compiler does not!
343
455 by Monty Taylor
Rewored Sun C99 stuff in autoconf. (Trond... will this work?)
344
dnl TODO: Can _ISOC99_SOURCE be defined on all platforms and remove the 
345
dnl       Need for all of this? 
520.9.3 by mordred
zomg. Solaris actually builds all the way!!!
346
if test "$GCC" = "yes"
347
then
348
  case "$target_os" in
349
    *solaris*)
350
    CFLAGS="${CFLAGS} -D_XOPEN_SOURCE=600"
351
    CXXFLAGS="${CXXFLAGS} -D__C99FEATURES__"
352
    ;;
353
  esac
354
fi
445 by Monty Taylor
Moved sun defines to configure.ac.
355
1 by brian
clean slate
356
# We use libtool
357
AC_PROG_LIBTOOL
358
359
# Ensure that we have --preserve-dup-deps defines, otherwise we get link
360
# problems of 'mysql' with CXX=g++
361
LIBTOOL="$LIBTOOL --preserve-dup-deps"
362
AC_SUBST(LIBTOOL)dnl
363
364
AC_SUBST(NM)dnl
365
366
AC_PROG_INSTALL
367
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
368
579.1.1 by Toru Maesaka
Added tests for groupaad and useradd
369
# Look for "(group|user)add". 
370
# TODO: If the programs do not exist, inform the DBA that the user
371
#       was not created at the end of the install routine.
372
AC_CHECK_PROGS(GROUPADD, groupadd addgroup)
373
AC_CHECK_PROGS(USERADD, useradd adduser)
374
590.2.2 by Monty Taylor
Configure cleanups. Added generic search_for_lib m4 macro.
375
dnl Needed for ltmain
376
AC_PROG_RANLIB
377
378
dnl Not critical since the generated file is distributed
629.1.1 by Monty Taylor
More solaris fixes.
379
AC_CHECK_PROGS(YACC, ['bison -y'])
77.1.70 by Monty Taylor
Added a failure if you don't have bison and you're building from a .bzr branch.
380
if test -z "$YACC" && test -d ".bzr"
381
then
382
  AC_MSG_ERROR(["bison is required for Drizzle to build from a bzr branch"])
383
fi
1 by brian
clean slate
384
385
AC_PATH_PROG(uname_prog, uname, no)
386
387
# We should go through this and put all the explictly system dependent
388
# stuff in one place
389
AC_MSG_CHECKING(operating system)
390
AC_CACHE_VAL(mysql_cv_sys_os,
391
[
392
if test "$uname_prog" != "no"; then
393
  mysql_cv_sys_os="`uname`"
394
else
395
  mysql_cv_sys_os="Not Solaris"
396
fi
397
])
398
AC_MSG_RESULT($mysql_cv_sys_os)
399
400
401
# The following is required for portable results of floating point calculations
402
# on PowerPC. The same must also be done for IA-64, but this options is missing
403
# in the IA-64 gcc backend.
404
405
if test "$GCC" = "yes"
406
then
407
  case "$host_cpu" in
408
    *ppc* | *powerpc*)
287.3.28 by Monty Taylor
Expanded the move to AM_CFLAGS and AM_CXXFLAGS. Now we should be more correct.
409
      AM_CFLAGS="$CFLAGS -mno-fused-madd"
410
      AM_CXXFLAGS="$CXXFLAGS -mno-fused-madd"
1 by brian
clean slate
411
    ;;
412
  esac
413
fi
520.4.40 by mordred
Added an option to specify --with-probuf=<location>
414
# Build optimized or debug version ?
415
# First check for gcc and g++
416
SYMBOLS_FLAGS="-g"
417
DEBUG_OPTIMIZE_CC=""
418
OPTIMIZE_CFLAGS="-O"
419
DEBUG_OPTIMIZE_CXX=""
420
OPTIMIZE_CXXFLAGS="-O"
421
if test "$GCC" = "yes"
422
then
423
  SYMBOLS_FLAGS="-ggdb3"
424
  DEBUG_OPTIMIZE_CC="-O0"
425
  OPTIMIZE_CFLAGS="-O3"
426
  DEBUG_OPTIMIZE_CXX="-O0"
427
  OPTIMIZE_CXXFLAGS="-O3"
428
fi
429
if test "$SUNCC" = "yes"
430
then
520.4.41 by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags.
431
  dnl I'm cheating here and sticking C99 support in SYMBOLS_FLAGS
432
  SYMBOLS_FLAGS=""
520.4.40 by mordred
Added an option to specify --with-probuf=<location>
433
  DEBUG_OPTIMIZE_CC=""
520.4.44 by mordred
A whole bunch of solaris/sun studio compile fixes.
434
  OPTIMIZE_CFLAGS="-xO4 -xlibmil -xdepend -Xa -mt -xstrconst -D_FORTEC_"
520.4.40 by mordred
Added an option to specify --with-probuf=<location>
435
  DEBUG_OPTIMIZE_CXX=""
520.9.1 by mordred
More solaris fixes.
436
  #Put back in once isnan is figured out
437
  OPTIMIZE_CXXFLAGS="-xO4 -xlibmil -mt -D_FORTEC_ -xlang=c99 -compat=5 -library=stlport4"
520.4.40 by mordred
Added an option to specify --with-probuf=<location>
438
fi
439
440
dnl TODO: Remove this define once we are using 2.61 across the board.
441
# AX_HEADER_ASSERT
442
# ----------------
443
# Check whether to enable assertions.
444
AC_DEFUN([AX_HEADER_ASSERT],
445
[
446
  AC_MSG_CHECKING([whether to enable assertions])
447
  AC_ARG_ENABLE([assert],
448
    [AS_HELP_STRING([--disable-assert],
449
       [Turn off assertions])],
450
    [ac_cv_assert="no"],
451
    [ac_cv_assert="yes"])
452
  AC_MSG_RESULT([$ac_cv_assert])
453
])
454
455
AX_HEADER_ASSERT
456
457
CFLAGS="${SYMBOLS_FLAGS} ${CFLAGS}"
458
CXXFLAGS="${SYMBOLS_FLAGS} ${CXXFLAGS}"
459
460
AC_ARG_WITH([debug],
461
    [AS_HELP_STRING([--with-debug],
462
       [Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
463
    [with_debug=$withval],
464
    [with_debug=no])
465
if test "$with_debug" = "yes"
466
then
467
  # Medium debug.
468
  CFLAGS="$DEBUG_OPTIMIZE_CC -DDEBUG $CFLAGS ${SAVE_CFLAGS}"
469
  CXXFLAGS="$DEBUG_OPTIMIZE_CXX -DDEBUG $CXXFLAGS ${SAVE_CXXFLAGS}"
470
else
471
  # Optimized version. No debug
472
  CFLAGS="${OPTIMIZE_CFLAGS} ${CFLAGS} ${SAVE_CFLAGS}"
473
  CXXFLAGS="$OPTIMIZE_CXXFLAGS $CXXFLAGS ${SAVE_CXXFLAGS}"
474
fi
1 by brian
clean slate
475
476
AC_SUBST(CC)
477
AC_SUBST(CFLAGS)
478
AC_SUBST(CXX)
479
AC_SUBST(CXXFLAGS)
480
AC_SUBST(ASFLAGS)
481
AC_SUBST(LD)
482
AC_SUBST(INSTALL_SCRIPT)
483
53.2.1 by Monty Taylor
Added --disable-pedantic-warnings and --enable-fail.
484
1 by brian
clean slate
485
export CC CXX CFLAGS LD LDFLAGS AR ARFLAGS
486
520.4.44 by mordred
A whole bunch of solaris/sun studio compile fixes.
487
AC_CXX_STL_HASH
488
AC_CXX_CSTDINT
489
AC_CXX_CINTTYPES
490
AC_CXX_CMATH
1 by brian
clean slate
491
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
492
DRIZZLE_PROG_AR
1 by brian
clean slate
493
261.2.3 by Monty Taylor
Moved libdrizzle.ver.in to libdrizzle.ver.
494
# libdrizzle versioning when linked with GNU ld.
632.1.7 by Monty
Reworked grep change to work with old crappy autoconfs.
495
if test "x$EGREP" != "x"
496
then
497
  if test "$lt_cv_prog_gnu_ld" = "yes" -a $LD --version 2>/dev/null|${EGREP} -q GNU
498
  then
499
    LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_srcdir)/libdrizzle/libdrizzle.ver"
500
  fi
1 by brian
clean slate
501
fi
502
AC_SUBST(LD_VERSION_SCRIPT)
503
287.3.30 by Monty Taylor
Added step one of finding libprotobuf.
504
#--------------------------------------------------------------------
505
# Check for Google Proto Buffers
506
#--------------------------------------------------------------------
507
629.2.4 by Monty Taylor
Cleaned up the lib searching - now base some searches off of the prefix.
508
AC_LANG_PUSH([C++])
509
SEARCH_FOR_LIB(protobuf, printf, google/protobuf/message.h,
510
               AC_MSG_ERROR([protobuf is required for Drizzle]))
511
512
AC_PATH_PROG([PROTOC],[protoc],[no],[$PROTOBUF_PATH])
520.4.47 by Monty Taylor
Added check for protoc to protobuf checks.
513
if test "x$PROTOC" = "xno"
514
then
515
  AC_MSG_ERROR([Couldn't find protoc. Try installing Google Protocol Buffer.])
516
fi
517
287.3.30 by Monty Taylor
Added step one of finding libprotobuf.
518
AC_LANG_POP()
77.1.111 by Monty Taylor
Added --enable-tcmalloc which will enable searching for and linking with tcmalloc if you have it.
519
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
520
#--------------------------------------------------------------------
520.4.27 by Monty Taylor
Fail if we don't find uuid/uuid.h.
521
# Check for libuuid
522
#--------------------------------------------------------------------
523
590.2.13 by Monty Taylor
Reverted libuuid check code.
524
dnl Do this by hand instead of with SEARCH_FOR_LIB, because uuid is weird.
525
AC_CHECK_HEADERS(uuid/uuid.h)
526
if test "x$ac_cv_header_uuid_uuid_h" = "xno"
527
then
528
  AC_MSG_ERROR([Couldn't find uuid/uuid.h. Try installing libuuid development packages])
529
fi
530
AC_CHECK_LIB(uuid, uuid_generate)
520.4.27 by Monty Taylor
Fail if we don't find uuid/uuid.h.
531
532
#--------------------------------------------------------------------
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
533
# Check for libevent
534
#--------------------------------------------------------------------
535
590.2.2 by Monty Taylor
Configure cleanups. Added generic search_for_lib m4 macro.
536
SEARCH_FOR_LIB(event, event_loop, event.h, 
537
               AC_MSG_ERROR([libevent is required for Drizzle]))
538
134.2.1 by Antony Curtis
Changes for proper detection of libraries
539
590.2.4 by Monty Taylor
ac_cv_libevent_works needs to be named right.
540
AC_CACHE_CHECK([for bufferevent in libevent], ac_cv_libevent_works, [
573.1.1 by mozo at mozo
Fix build and indents
541
  save_CPPFLAGS="$CPPFLAGS"
134.2.1 by Antony Curtis
Changes for proper detection of libraries
542
  save_LIBS="$LIBS"
629.2.4 by Monty Taylor
Cleaned up the lib searching - now base some searches off of the prefix.
543
  CPPFLAGS="$EVENT_CFLAGS"
590.2.2 by Monty Taylor
Configure cleanups. Added generic search_for_lib m4 macro.
544
  LIBS="$EVENT_LIBS"
134.2.1 by Antony Curtis
Changes for proper detection of libraries
545
  AC_TRY_LINK([
546
#include <sys/types.h>
547
#include <sys/time.h>
548
#include <stdlib.h>
549
#include <event.h>],[
550
	struct bufferevent bev;
551
	bufferevent_settimeout(&bev, 1, 1);
590.2.4 by Monty Taylor
ac_cv_libevent_works needs to be named right.
552
  ], ac_cv_libevent_works=yes, [
590.2.2 by Monty Taylor
Configure cleanups. Added generic search_for_lib m4 macro.
553
        AC_MSG_ERROR([you need to install a more recent version of libevent,
134.2.1 by Antony Curtis
Changes for proper detection of libraries
554
	check http://www.monkey.org/~provos/libevent/])
555
  ])
556
573.1.1 by mozo at mozo
Fix build and indents
557
  CPPFLAGS="$save_CPPFLAGS"
134.2.1 by Antony Curtis
Changes for proper detection of libraries
558
  LIBS="$save_LIBS"
559
])
560
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
561
562
#--------------------------------------------------------------------
563
# Check for libpthread
564
#--------------------------------------------------------------------
565
566
AC_CHECK_HEADERS(pthread.h)
567
if test "x$ac_cv_header_pthread_h" != "xyes"
568
then
569
  AC_MSG_ERROR([Couldn't find pthread.h.])
570
fi
571
AC_CHECK_LIB(pthread, pthread_create, [], [AC_MSG_ERROR(could not find libpthread)])
572
573
#--------------------------------------------------------------------
612.2.5 by Monty Taylor
Added test for mtmalloc, if we haven't explicitly asked for tcmalloc.
574
# Check for tcmalloc/mtmalloc
77.1.111 by Monty Taylor
Added --enable-tcmalloc which will enable searching for and linking with tcmalloc if you have it.
575
#--------------------------------------------------------------------
576
577
AC_ARG_ENABLE([tcmalloc],
578
    [AS_HELP_STRING([--enable-tcmalloc],
579
       [Enable linking with tcmalloc @<:@default=off@:>@])],
236.1.14 by Monty Taylor
Merged build changes from Antony.
580
    [ac_enable_tcmalloc="$enableval"],
581
    [ac_enable_tcmalloc="no"])
77.1.111 by Monty Taylor
Added --enable-tcmalloc which will enable searching for and linking with tcmalloc if you have it.
582
612.2.5 by Monty Taylor
Added test for mtmalloc, if we haven't explicitly asked for tcmalloc.
583
if test "x$ac_enable_tcmalloc" != "xno"
77.1.111 by Monty Taylor
Added --enable-tcmalloc which will enable searching for and linking with tcmalloc if you have it.
584
then
585
  AC_CHECK_LIB(tcmalloc,malloc,[],[])
586
fi
587
612.2.5 by Monty Taylor
Added test for mtmalloc, if we haven't explicitly asked for tcmalloc.
588
if test "x$ac_cv_lib_tcmalloc_malloc" != "xyes"
589
then
590
  AC_CHECK_LIB(mtmalloc,malloc,[],[])
591
fi
592
77.1.111 by Monty Taylor
Added --enable-tcmalloc which will enable searching for and linking with tcmalloc if you have it.
593
#--------------------------------------------------------------------
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
594
# Check for libz
595
#--------------------------------------------------------------------
596
590.2.2 by Monty Taylor
Configure cleanups. Added generic search_for_lib m4 macro.
597
SEARCH_FOR_LIB(z, crc32, zlib.h, 
598
               AC_MSG_ERROR([libz is required for Drizzle]))
201.2.3 by Monty Taylor
Cleaned up some LIBS bits in the build.
599
612.2.9 by Monty Taylor
Woot. No more extra CFLAGS on the command line!
600
#--------------------------------------------------------------------
601
# Check for libncurses
602
#--------------------------------------------------------------------
603
604
635.1.4 by Elan Ruusamäe
- search for tgetent from -ltinfo too
605
SEARCH_FOR_LIB(ncurses, tgetent, ncurses/ncurses.h, [
606
	SEARCH_FOR_LIB(tinfo, tgetent, ncurses/ncurses.h,
607
		AC_MSG_ERROR([Couldn't find ncurses])
608
	)
609
	]
610
)
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
611
182.1.5 by Jim Winstead
Detect and make the Mac OS X libedit readline interface look like the
612
#--------------------------------------------------------------------
613
# Check for libreadline or compatible (libedit on Mac OS X)
614
#--------------------------------------------------------------------
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
615
612.2.9 by Monty Taylor
Woot. No more extra CFLAGS on the command line!
616
617
SEARCH_FOR_LIB(readline, rl_initialize, readline/readline.h,
618
               AC_MSG_ERROR([libreadline is required for Drizzle]),
619
               [$NCURSES_LIBS]) 
620
621
save_CPPFLAGS="$CPPFLAGS"
629.2.8 by Monty Taylor
Fixed a configure oops.
622
CPPFLAGS="$CPPFLAGS $READLINE_CFLAGS"
612.2.9 by Monty Taylor
Woot. No more extra CFLAGS on the command line!
623
AC_CHECK_HEADERS(readline/history.h)
236.1.14 by Monty Taylor
Merged build changes from Antony.
624
AC_CHECK_TYPES([HIST_ENTRY], [], [], [AC_INCLUDES_DEFAULT[
625
#ifdef HAVE_READLINE_HISTORY_H
626
#include <readline/history.h>
627
#endif
628
#include <readline/readline.h>
629
]])
630
AC_CHECK_DECLS([completion_matches], [], [], [AC_INCLUDES_DEFAULT[
631
#ifdef HAVE_READLINE_HISTORY_H
632
#include <readline/history.h>
633
#endif
634
#include <readline/readline.h>
635
]])
207.1.2 by Jim Winstead
Fix test for libreadline to test a function that exists in all usable
636
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
637
DRIZZLE_CHECK_NEW_RL_INTERFACE
612.2.9 by Monty Taylor
Woot. No more extra CFLAGS on the command line!
638
CPPFLAGS="$save_CPPFLAGS"
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
639
287.3.30 by Monty Taylor
Added step one of finding libprotobuf.
640
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
641
#--------------------------------------------------------------------
642
# Check for libpcre
643
#--------------------------------------------------------------------
644
645
AC_PATH_PROG(PKG_CONFIG, pkg-config, AC_MSG_ERROR([pkg-config wasn't found.]))
612.2.7 by Monty Taylor
Switched from pcrecpp to plain pcre - mainly so that we can build on OpenSolaris without dealing with G++ vs. SunStudio C++. This all goes away with new test framework - so I did not write pretty replacement code.
646
PKG_CHECK_MODULES(PCRE, [libpcre >= 3], [found_pcre="yes"],[found_pcre="no"])
236.1.18 by Monty Taylor
Put in actual PCRE linking test.
647
648
if test "$found_pcre" = "no"
649
then
612.2.7 by Monty Taylor
Switched from pcrecpp to plain pcre - mainly so that we can build on OpenSolaris without dealing with G++ vs. SunStudio C++. This all goes away with new test framework - so I did not write pretty replacement code.
650
  SEARCH_FOR_LIB(pcre, pcre_compile, pcre.h, 
651
                 AC_MSG_ERROR([libpcre is required for Drizzle]))
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
652
fi
653
AC_SUBST(PCRE_LIBS)
654
AC_SUBST(PCRE_CFLAGS)
655
1 by brian
clean slate
656
dnl Find paths to some shell programs
657
AC_PATH_PROG(LN, ln, ln)
658
# This must be able to take a -f flag like normal unix ln.
659
AC_PATH_PROG(LN_CP_F, ln, ln)
660
661
AC_PATH_PROG(MV, mv, mv)
662
AC_PATH_PROG(RM, rm, rm)
663
AC_PATH_PROG(CP, cp, cp)
664
AC_PATH_PROG(SED, sed, sed)
665
AC_PATH_PROG(CMP, cmp, cmp)
666
AC_PATH_PROG(CHMOD, chmod, chmod)
667
AC_PATH_PROG(HOSTNAME, hostname, hostname)
668
# Check for a GNU tar named 'gtar', or 'gnutar' (MacOS X) and
669
# fall back to 'tar' otherwise and hope that it's a GNU tar as well
670
AC_CHECK_PROGS(TAR, gnutar gtar tar)
671
672
dnl We use a path for perl so the script startup works
673
dnl We make sure to use perl, not perl5, in hopes that the RPMs will
674
dnl not depend on the perl5 binary being installed (probably a bug in RPM)
675
AC_PATH_PROG(PERL, perl, no)
676
if test "$PERL" != "no" && $PERL -e 'require 5' > /dev/null 2>&1
677
then
678
  PERL5=$PERL
679
else
680
  AC_PATH_PROG(PERL5, perl5, no)
681
  if test "$PERL5" != no
682
  then
683
    PERL=$PERL5
684
    ac_cv_path_PERL=$ac_cv_path_PERL5
685
  fi
686
fi
687
688
AC_SUBST(HOSTNAME)
689
AC_SUBST(PERL)
690
AC_SUBST(PERL5)
691
692
# icheck, used for ABI check
693
AC_PATH_PROG(ICHECK, icheck, no)
694
# "icheck" is also the name of a file system check program on Tru64.
695
# Verify the program found is really the interface checker.
696
if test "x$ICHECK" != "xno"
697
then
698
  AC_MSG_CHECKING(if $ICHECK works as expected)
699
  echo "int foo;" > conftest.h
700
  $ICHECK --canonify -o conftest.ic conftest.h 2>/dev/null
701
  if test -f "conftest.ic"
702
  then
703
    AC_MSG_RESULT(yes)
704
  else
705
    AC_MSG_RESULT(no)
706
    ICHECK=no
707
  fi
708
  rm -f conftest.ic conftest.h
709
fi
710
AC_SUBST(ICHECK)
711
712
# Lock for PS
713
AC_PATH_PROG(PS, ps, ps)
714
AC_MSG_CHECKING("how to check if pid exists")
715
PS=$ac_cv_path_PS
716
# Linux style
632.1.7 by Monty
Reworked grep change to work with old crappy autoconfs.
717
if $PS p $$ 2> /dev/null | grep `echo $0 | sed s/\-//` > /dev/null
1 by brian
clean slate
718
then
632.1.7 by Monty
Reworked grep change to work with old crappy autoconfs.
719
  FIND_PROC="$PS p \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
1 by brian
clean slate
720
# Solaris
632.1.7 by Monty
Reworked grep change to work with old crappy autoconfs.
721
elif $PS -fp $$ 2> /dev/null | grep $0 > /dev/null
1 by brian
clean slate
722
then
632.1.7 by Monty
Reworked grep change to work with old crappy autoconfs.
723
  FIND_PROC="$PS -p \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
1 by brian
clean slate
724
# BSD style
632.1.7 by Monty
Reworked grep change to work with old crappy autoconfs.
725
elif $PS -uaxww 2> /dev/null | grep $0 > /dev/null
1 by brian
clean slate
726
then
632.1.7 by Monty
Reworked grep change to work with old crappy autoconfs.
727
  FIND_PROC="$PS -uaxww | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
1 by brian
clean slate
728
# SysV style
632.1.7 by Monty
Reworked grep change to work with old crappy autoconfs.
729
elif $PS -ef 2> /dev/null | grep $0 > /dev/null
1 by brian
clean slate
730
then
632.1.7 by Monty
Reworked grep change to work with old crappy autoconfs.
731
  FIND_PROC="$PS -ef | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
1 by brian
clean slate
732
# Do anybody use this?
632.1.7 by Monty
Reworked grep change to work with old crappy autoconfs.
733
elif $PS $$ 2> /dev/null | grep $0 > /dev/null
1 by brian
clean slate
734
then
632.1.7 by Monty
Reworked grep change to work with old crappy autoconfs.
735
  FIND_PROC="$PS \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
1 by brian
clean slate
736
else
737
  case $SYSTEM_TYPE in
394 by Monty Taylor
Fix configure problem on cygwin. Thanks awfief.
738
    *freebsd*|*dragonfly*|*cygwin*)
632.1.7 by Monty
Reworked grep change to work with old crappy autoconfs.
739
      FIND_PROC="$PS p \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
1 by brian
clean slate
740
      ;;
741
    *darwin*)
632.1.7 by Monty
Reworked grep change to work with old crappy autoconfs.
742
      FIND_PROC="$PS -uaxww | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
1 by brian
clean slate
743
      ;;
744
    *)
745
      AC_MSG_ERROR([Could not find the right ps switches. Which OS is this ?. See the Installation chapter in the Reference Manual.])
236.1.39 by Monty Taylor
autoconf warning cleanups.
746
      ;;
1 by brian
clean slate
747
  esac
748
fi
749
AC_SUBST(FIND_PROC)
750
AC_MSG_RESULT("$FIND_PROC")
751
752
# Check if a pid is valid
753
AC_PATH_PROG(KILL, kill, kill)
754
AC_MSG_CHECKING("for kill switches")
755
if $ac_cv_path_KILL -0 $$
756
then
757
  CHECK_PID="$ac_cv_path_KILL -0 \$\$PID > /dev/null 2> /dev/null"
758
elif kill -s 0 $$
759
then
760
  CHECK_PID="$ac_cv_path_KILL -s 0 \$\$PID > /dev/null 2> /dev/null"
761
else
762
  AC_MSG_WARN([kill -0 to check for pid seems to fail])
763
    CHECK_PID="$ac_cv_path_KILL -s SIGCONT \$\$PID > /dev/null 2> /dev/null"
764
fi
765
AC_SUBST(CHECK_PID)
766
AC_MSG_RESULT("$CHECK_PID")
767
768
# We need an ANSI C compiler
769
AM_PROG_CC_STDC
770
771
# We need an assembler, too
772
AM_PROG_AS
773
CCASFLAGS="$CCASFLAGS $ASFLAGS"
774
775
# Check if we need noexec stack for assembler
776
AC_CHECK_NOEXECSTACK
777
778
if test "$am_cv_prog_cc_stdc" = "no"
779
then
91 by Brian Aker
Main binary now named drizzled
780
  AC_MSG_ERROR([Drizzle requires an ANSI C compiler (and a C++ compiler). Try gcc. See the Installation chapter in the Reference Manual.])
1 by brian
clean slate
781
fi
782
783
28.1.39 by Monty Taylor
Made everything use AS_HELP_STRING (except for charsets, which are dying anyway)
784
AC_ARG_WITH([server-suffix],
785
    [AS_HELP_STRING([--with-server-suffix],
786
      [Append value to the version string.])],
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
787
    [ DRIZZLE_SERVER_SUFFIX=`echo "$withval" | sed -e  's/^\(...................................\)..*$/\1/'` ],
788
    [ DRIZZLE_SERVER_SUFFIX= ]
1 by brian
clean slate
789
    )
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
790
AC_DEFINE_UNQUOTED([DRIZZLE_SERVER_SUFFIX],[$DRIZZLE_SERVER_SUFFIX],
791
                   [Append value to the version string])
1 by brian
clean slate
792
793
# Force use of a curses libs
28.1.39 by Monty Taylor
Made everything use AS_HELP_STRING (except for charsets, which are dying anyway)
794
AC_ARG_WITH([named-curses-libs],
795
    [AS_HELP_STRING([--with-named-curses-libs=ARG],
796
            [Use specified curses libraries instead of those
797
		automatically found by configure.])],
1 by brian
clean slate
798
    [ with_named_curses=$withval ],
799
    [ with_named_curses=no ]
800
    )
801
28.1.39 by Monty Taylor
Made everything use AS_HELP_STRING (except for charsets, which are dying anyway)
802
AC_ARG_WITH([tcp-port],
803
    [AS_HELP_STRING([--with-tcp-port=port-number],
165.1.1 by Elliot Murphy
new port number from IANA
804
            [Which port to use for Drizzle services @<:@default=4427@:>@])],
301 by Brian Aker
Clean up port startup
805
    [ DRIZZLE_TCP_PORT=$withval ],
806
    [ DRIZZLE_TCP_PORT=$DRIZZLE_TCP_PORT_DEFAULT
1 by brian
clean slate
807
      # if we actually defaulted (as opposed to the pathological case of
301 by Brian Aker
Clean up port startup
808
      # --with-tcp-port=<DRIZZLE_TCP_PORT_DEFAULT> which might in theory
1 by brian
clean slate
809
      # happen if whole batch of servers was built from a script), set
810
      # the default to zero to indicate that; we don't lose information
811
      # that way, because 0 obviously indicates that we can get the
301 by Brian Aker
Clean up port startup
812
      # default value from DRIZZLE_TCP_PORT. this seems really evil, but
813
      # testing for DRIZZLE_TCP_PORT==DRIZZLE_TCP_PORT_DEFAULT would make a
814
      # a port of DRIZZLE_TCP_PORT_DEFAULT magic even if the builder did not
1 by brian
clean slate
815
      # intend it to mean "use the default, in fact, look up a good default
165.1.1 by Elliot Murphy
new port number from IANA
816
      # from /etc/services if you can", but really, really meant 4427 when
817
      # they passed in 4427. When they pass in a specific value, let them
1 by brian
clean slate
818
      # have it; don't second guess user and think we know better, this will
819
      # just make people cross.  this makes the the logic work like this
820
      # (which is complicated enough):
821
      #
822
      # - if a port was set during build, use that as a default.
823
      #
824
      # - otherwise, try to look up a port in /etc/services; if that fails,
301 by Brian Aker
Clean up port startup
825
      #   use DRIZZLE_TCP_PORT_DEFAULT (at the time of this writing 4427)
1 by brian
clean slate
826
      #
301 by Brian Aker
Clean up port startup
827
      # - allow the DRIZZLE_TCP_PORT environment variable to override that.
1 by brian
clean slate
828
      #
829
      # - allow command-line parameters to override all of the above.
830
      #
301 by Brian Aker
Clean up port startup
831
      # the top-most DRIZZLE_TCP_PORT_DEFAULT is read from win/configure.js,
1 by brian
clean slate
832
      # so don't mess with that.
301 by Brian Aker
Clean up port startup
833
      DRIZZLE_TCP_PORT_DEFAULT=0 ]
1 by brian
clean slate
834
    )
301 by Brian Aker
Clean up port startup
835
AC_SUBST(DRIZZLE_TCP_PORT)
1 by brian
clean slate
836
# We might want to document the assigned port in the manual.
301 by Brian Aker
Clean up port startup
837
AC_SUBST(DRIZZLE_TCP_PORT_DEFAULT)
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
838
AC_DEFINE_UNQUOTED([DRIZZLE_PORT],[$DRIZZLE_TCP_PORT],
839
                   [Drizzle port to use])
840
AC_DEFINE_UNQUOTED([DRIZZLE_PORT_DEFAULT],[$DRIZZLE_TCP_PORT_DEFAULT],
841
		   [If we defaulted to DRIZZLE_PORT, then this will be zero])
1 by brian
clean slate
842
843
# Use this to set the place used for unix socket used to local communication.
572.2.1 by ysano
Replace --with-mysqld-user configure option with --with-drizzled-user.
844
AC_ARG_WITH([drizzled-user],
845
    [AS_HELP_STRING([--with-drizzled-user=username],
846
            [What user the drizzled daemon shall be run as.
847
		@<:@default=drizzle@:>@])],
848
    [ DRIZZLED_USER=$withval ],
849
    [ DRIZZLED_USER=drizzle ]
1 by brian
clean slate
850
    )
572.2.1 by ysano
Replace --with-mysqld-user configure option with --with-drizzled-user.
851
AC_SUBST(DRIZZLED_USER)
1 by brian
clean slate
852
853
# If we should allow LOAD DATA LOCAL
854
AC_MSG_CHECKING(If we should should enable LOAD DATA LOCAL by default)
855
AC_ARG_ENABLE(local-infile,
856
    [  --enable-local-infile   Enable LOAD DATA LOCAL INFILE (default: disabled)],
857
    [ ENABLED_LOCAL_INFILE=$enableval ],
858
    [ ENABLED_LOCAL_INFILE=no ]
859
    )
860
if test "$ENABLED_LOCAL_INFILE" = "yes"
861
then
862
  AC_MSG_RESULT([yes])
863
  AC_DEFINE([ENABLED_LOCAL_INFILE], [1],
864
            [If LOAD DATA LOCAL INFILE should be enabled by default])
865
else
866
  AC_MSG_RESULT([no])
867
fi
868
869
# Types that must be checked AFTER large file support is checked
870
AC_TYPE_SIZE_T
871
872
#--------------------------------------------------------------------
873
# Check for system header files
874
#--------------------------------------------------------------------
875
876
AC_HEADER_DIRENT
877
AC_HEADER_STDC
878
AC_HEADER_SYS_WAIT
53.2.2 by Monty Taylor
Updated everything that needs updating to compile with -std=gnu99 -pedantic
879
AC_HEADER_STDBOOL
77.1.22 by Monty Taylor
Removed refs to floatingpoint.h (which we only used for fconvert) and fconvert
880
AC_CHECK_HEADERS(fcntl.h float.h fpu_control.h ieeefp.h)
53.2.29 by Monty Taylor
Cleaned up headers a little more.
881
AC_CHECK_HEADERS(limits.h pwd.h select.h linux/config.h)
882
AC_CHECK_HEADERS(sys/fpu.h utime.h sys/utime.h )
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
883
AC_CHECK_HEADERS(synch.h sys/mman.h sys/socket.h)
520.4.41 by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags.
884
AC_CHECK_HEADERS([curses.h term.h],[],[],
885
[[#ifdef HAVE_CURSES_H
886
# include <curses.h>
887
#endif
888
]])
202.1.4 by Monty Taylor
Removed openssl refs.
889
AC_CHECK_HEADERS(termio.h termios.h sched.h alloca.h)
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
890
AC_CHECK_HEADERS(sys/prctl.h ieeefp.h)
53.2.29 by Monty Taylor
Cleaned up headers a little more.
891
AC_CHECK_HEADERS(execinfo.h)
1 by brian
clean slate
892
77.1.31 by Monty Taylor
Replaced regex lib with pcre. Reworked mysqltest to use it.
893
#--------------------------------------------------------------------
1 by brian
clean slate
894
# Check for system libraries. Adds the library to $LIBS
895
# and defines HAVE_LIBM etc
896
#--------------------------------------------------------------------
897
898
AC_CHECK_LIB(m, floor, [], AC_CHECK_LIB(m, __infinity))
899
236.1.39 by Monty Taylor
autoconf warning cleanups.
900
AC_CHECK_FUNC(setsockopt, [], [AC_CHECK_LIB(socket, setsockopt)])
901
AC_CHECK_FUNC(yp_get_default_domain, [],
902
  [AC_CHECK_LIB(nsl, yp_get_default_domain)])
903
AC_CHECK_FUNC(p2open, [], [AC_CHECK_LIB(gen, p2open)])
1 by brian
clean slate
904
# This may get things to compile even if bind-8 is installed
236.1.39 by Monty Taylor
autoconf warning cleanups.
905
AC_CHECK_FUNC(bind, [], [AC_CHECK_LIB(bind, bind)])
1 by brian
clean slate
906
# Check if crypt() exists in libc or libcrypt, sets LIBS if needed
907
AC_SEARCH_LIBS(crypt, crypt, AC_DEFINE(HAVE_CRYPT, 1, [crypt]))
908
909
# Check rt for aio_read
910
AC_CHECK_LIB(rt, aio_read)
911
912
# For the sched_yield() function on Solaris
236.1.39 by Monty Taylor
autoconf warning cleanups.
913
AC_CHECK_FUNC(sched_yield, [],
914
  [AC_CHECK_LIB(posix4, [sched_yield],
915
    [AC_DEFINE(HAVE_SCHED_YIELD) LIBS="$LIBS -lposix4"])])
1 by brian
clean slate
916
917
if test "$ac_cv_header_termio_h" = "no" -a "$ac_cv_header_termios_h" = "no"
918
then
236.1.39 by Monty Taylor
autoconf warning cleanups.
919
  AC_CHECK_FUNC(gtty, [], [AC_CHECK_LIB(compat, gtty)])
1 by brian
clean slate
920
fi
921
922
AC_CHECK_TYPES([fp_except], [], [], [
923
#include <sys/types.h>
924
#include <ieeefp.h>
925
])
926
25 by Brian Aker
Clean up of configure.in
927
my_save_LIBS="$LIBS"
928
LIBS=""
929
AC_CHECK_LIB(dl,dlopen)
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
930
AC_CHECK_FUNCS(dlopen)
177.3.1 by mark
remove ifdef HAVE_DLOPEN, make configure require dlopen()
931
if test "$ac_cv_func_dlopen" != "yes"
932
then
933
  AC_MSG_ERROR([Drizzle requires dlopen])
934
fi
201.2.3 by Monty Taylor
Cleaned up some LIBS bits in the build.
935
LIBDL_LIBS="$LIBS"
25 by Brian Aker
Clean up of configure.in
936
LIBS="$my_save_LIBS"
201.2.3 by Monty Taylor
Cleaned up some LIBS bits in the build.
937
AC_SUBST(LIBDL_LIBS)
25 by Brian Aker
Clean up of configure.in
938
939
AC_CHECK_FUNCS(strtok_r)
1 by brian
clean slate
940
201.2.4 by Monty Taylor
Re-enabled optimizations for the normal build, and added back the --with-debug option to turn them off.
941
942
1 by brian
clean slate
943
AC_ARG_WITH([fast-mutexes],
28.1.39 by Monty Taylor
Made everything use AS_HELP_STRING (except for charsets, which are dying anyway)
944
    [AS_HELP_STRING([--with-fast-mutexes],
945
	    [Compile with fast mutexes  @<:@default=off@:>@])],
946
    [with_fast_mutexes=$withval],
947
    [with_fast_mutexes=no])
1 by brian
clean slate
948
949
if test "$with_fast_mutexes" != "no"
950
then
51.3.26 by Jay Pipes
Final removal of DBUG library and cleanup of Makefiles
951
	AC_DEFINE([MY_PTHREAD_FASTMUTEX], [1], 
952
			[Define to 1 if you want to use fast mutexes])
1 by brian
clean slate
953
fi
954
236.1.56 by Monty Taylor
Made build of thr_mutex.c conditional on --with-fast-mutexes, since that's
955
AM_CONDITIONAL(BUILD_FAST_MUTEX,[test "$with_fast_mutexes" != "no"])
956
28.1.39 by Monty Taylor
Made everything use AS_HELP_STRING (except for charsets, which are dying anyway)
957
AC_ARG_WITH([comment],
958
    [AS_HELP_STRING([--with-comment],
959
            [Comment about compilation environment. @<:@default=off@:>@])],
1 by brian
clean slate
960
    [with_comment=$withval],
961
    [with_comment=no])
962
if test "$with_comment" != "no"
963
then
964
  COMPILATION_COMMENT=$with_comment
965
else
966
  COMPILATION_COMMENT="Source distribution"
967
fi
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
968
AC_DEFINE_UNQUOTED([COMPILATION_COMMENT],["$COMPILATION_COMMENT"],
969
                   [Comment about compilation environment])
1 by brian
clean slate
970
971
dnl Checks for typedefs, structures, and compiler characteristics.
972
AC_C_CONST
973
AC_C_INLINE
590.2.2 by Monty Taylor
Configure cleanups. Added generic search_for_lib m4 macro.
974
AC_C_VOLATILE
1 by brian
clean slate
975
AC_TYPE_OFF_T
976
AC_HEADER_TIME
977
AC_STRUCT_TM
978
# off_t is not a builtin type
979
AC_CHECK_SIZEOF(off_t, 4)
980
if test "$ac_cv_sizeof_off_t" -eq 0
981
then
91 by Brian Aker
Main binary now named drizzled
982
  AC_MSG_ERROR("Drizzle needs a off_t type.")
1 by brian
clean slate
983
fi
984
985
dnl
986
dnl check if time_t is unsigned
987
dnl
988
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
989
DRIZZLE_CHECK_TIME_T
1 by brian
clean slate
990
991
992
# This always gives a warning. Ignore it unless you are cross compiling
993
AC_C_BIGENDIAN
994
#---START: Used in for client configure
995
# Check base type of last arg to accept
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
996
DRIZZLE_TYPE_ACCEPT
1 by brian
clean slate
997
#---END:
998
# Figure out what type of struct rlimit to use with setrlimit
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
999
DRIZZLE_TYPE_STRUCT_RLIMIT
1 by brian
clean slate
1000
# Find where the stack goes
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
1001
DRIZZLE_STACK_DIRECTION
1 by brian
clean slate
1002
# We want to skip alloca on irix unconditionally. It may work on some version..
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
1003
DRIZZLE_FUNC_ALLOCA
1 by brian
clean slate
1004
# Do struct timespec have members tv_sec or ts_sec
236.1.24 by Monty Taylor
Renamed MYSQL_TIME to DRIZZLE_TIME.
1005
DRIZZLE_TIMESPEC_TS
1 by brian
clean slate
1006
# Do we have the tzname variable
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
1007
DRIZZLE_TZNAME
1 by brian
clean slate
1008
AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
520.4.43 by mordred
A set of Solaris fixes.
1009
AC_CHECK_TYPES([uint, ulong])
1 by brian
clean slate
1010
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
1011
DRIZZLE_PTHREAD_YIELD
1 by brian
clean slate
1012
134.2.1 by Antony Curtis
Changes for proper detection of libraries
1013
1 by brian
clean slate
1014
dnl Checks for header files.
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
1015
AC_CHECK_HEADERS(malloc.h)
1 by brian
clean slate
1016
1017
dnl Checks for library functions.
1018
AC_FUNC_ALLOCA
1019
AC_PROG_GCC_TRADITIONAL
1020
AC_TYPE_SIGNAL
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
1021
1 by brian
clean slate
1022
AC_CHECK_FUNCS(issetugid)
1023
1024
# from old readline settting:
1025
1026
MAKE_SHELL=/bin/sh
1027
AC_SUBST(MAKE_SHELL)
1028
1029
# Already-done: stdlib.h string.h unistd.h termios.h
398.1.9 by Monty Taylor
Cleaned up stuff out of global.h.
1030
AC_CHECK_HEADERS(stdarg.h dirent.h locale.h ndir.h sys/dir.h \
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
1031
 sys/ndir.h sys/select.h \
1032
 sys/mman.h termcap.h termio.h asm/termbits.h grp.h \
1033
 paths.h)
1 by brian
clean slate
1034
1035
# Already-done: strcasecmp
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
1036
AC_CHECK_FUNCS(lstat select)
1 by brian
clean slate
1037
28.1.33 by Monty Taylor
Added -Wall
1038
AC_HEADER_STAT
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
1039
DRIZZLE_SIGNAL_CHECK
1040
DRIZZLE_CHECK_GETPW_FUNCS
1041
DRIZZLE_HAVE_TIOCGWINSZ
1042
DRIZZLE_HAVE_TIOCSTAT
1043
DRIZZLE_TYPE_SIGHANDLER
1 by brian
clean slate
1044
if test "$with_named_curses" = "no"
1045
then
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
1046
  DRIZZLE_CHECK_LIB_TERMCAP
1 by brian
clean slate
1047
else
201.2.3 by Monty Taylor
Cleaned up some LIBS bits in the build.
1048
  TERMCAP_LIBS="$with_named_curses"
1 by brian
clean slate
1049
fi
201.2.3 by Monty Taylor
Cleaned up some LIBS bits in the build.
1050
AC_SUBST(TERMCAP_LIBS)
1 by brian
clean slate
1051
1052
# End of readline/libedit stuff
1053
#########################################################################
1054
1055
dnl Checks for library functions.
1056
1057
#
1058
# The following code disables intrinsic function support while we test for
1059
# library functions.  This is to avoid configure problems with Intel ecc
1060
# compiler
1061
1062
ORG_CFLAGS="$CFLAGS"
1063
if test "$GCC" != "yes"; then
1064
  AC_SYS_COMPILER_FLAG(-nolib_inline,nolib_inline,CFLAGS,[],[])
1065
fi
1066
1067
#AC_FUNC_MMAP
1068
AC_TYPE_SIGNAL
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
1069
DRIZZLE_TYPE_QSORT
1 by brian
clean slate
1070
AC_FUNC_UTIME_NULL
1071
AC_FUNC_VPRINTF
1072
77.1.24 by Monty Taylor
Removed non-fcntl code and made it a fatal configure error if it's not there.
1073
AC_CHECK_FUNCS(fcntl)
1074
if test "x$ac_cv_func_fcntl" != "xyes"
1075
then
1076
  AC_MSG_ERROR("Drizzle requires fcntl.")
1077
fi
1078
236.1.50 by Monty Taylor
Added automake conditional compilation of distributed system replacement functions.
1079
AC_CONFIG_LIBOBJ_DIR([mystrings])
1080
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
1081
AC_CHECK_FUNCS( \
77.1.24 by Monty Taylor
Removed non-fcntl code and made it a fatal configure error if it's not there.
1082
  cuserid fchmod \
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
1083
  fdatasync fpresetsticky fpsetmask fsync \
575.4.6 by Monty Taylor
Removed my_getwd.
1084
  getpassphrase getpwnam \
1085
  getpwuid getrlimit getrusage index initgroups isnan \
1 by brian
clean slate
1086
  localtime_r gethrtime gmtime_r \
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
1087
  madvise \
1088
  mkstemp mlockall poll pread pthread_attr_create mmap mmap64 \
1 by brian
clean slate
1089
  pthread_attr_getstacksize pthread_attr_setprio pthread_attr_setschedparam \
1090
  pthread_attr_setstacksize pthread_condattr_create pthread_getsequence_np \
1091
  pthread_key_delete pthread_rwlock_rdlock pthread_setprio \
1092
  pthread_setprio_np pthread_setschedparam pthread_sigmask readlink \
449 by Monty Taylor
Removed rint check - rint is part of C99.
1093
  realpath rename rwlock_init setupterm \
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
1094
  sigaction \
1095
  sigthreadmask \
1096
  snprintf strpbrk \
1097
  tell tempnam \
1098
  backtrace backtrace_symbols backtrace_symbols_fd)
1 by brian
clean slate
1099
287.3.18 by Monty Taylor
Put -fno-exceptions flag in selectively. Add back HAVE_DECL_MADVISE check so
1100
AC_LANG_PUSH(C++)
1101
# Test whether madvise() is declared in C++ code -- it is not on some
1102
# systems, such as Solaris
373.1.3 by Monty Taylor
Fixed test for HAVE_DECL_MADVISE to actually work.
1103
AC_CHECK_DECLS([madvise], [], [], [AC_INCLUDES_DEFAULT[
1104
#if HAVE_SYS_MMAN_H
287.3.18 by Monty Taylor
Put -fno-exceptions flag in selectively. Add back HAVE_DECL_MADVISE check so
1105
#include <sys/types.h>
1106
#include <sys/mman.h>
373.1.3 by Monty Taylor
Fixed test for HAVE_DECL_MADVISE to actually work.
1107
#endif
1108
]])
287.3.18 by Monty Taylor
Put -fno-exceptions flag in selectively. Add back HAVE_DECL_MADVISE check so
1109
AC_LANG_POP()
1110
1111
236.1.59 by Monty Taylor
Turn thr_rwlock.c into a conditionally built source file.
1112
AM_CONDITIONAL(BUILD_THR_RWLOCK,[test "$ac_cv_func_rwlock_init" -a "$ac_cv_funn_pthread_rwlock_rdlock"])
1113
28.1.33 by Monty Taylor
Added -Wall
1114
1 by brian
clean slate
1115
CFLAGS="$ORG_CFLAGS"
1116
1117
# Sanity check: We chould not have any fseeko symbol unless
1118
# large_file_support=yes
1119
AC_CHECK_FUNC(fseeko,
520.4.41 by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags.
1120
[if test "$large_file_support" = no -a "x$TARGET_LINUX" = "xtrue";
1 by brian
clean slate
1121
then
1122
  AC_MSG_ERROR("Found fseeko symbol but large_file_support is not enabled!")
1123
fi]
1124
)
1125
1126
# Check definition of pthread_getspecific
236.1.39 by Monty Taylor
autoconf warning cleanups.
1127
AC_CACHE_CHECK([args to pthread_getspecific], [mysql_cv_getspecific_args],
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1128
  [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1129
#if !defined(_REENTRANT)
1 by brian
clean slate
1130
#define _REENTRANT
1131
#endif
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1132
#ifndef _POSIX_PTHREAD_SEMANTICS 
1 by brian
clean slate
1133
#define _POSIX_PTHREAD_SEMANTICS 
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1134
#endif
28.1.33 by Monty Taylor
Added -Wall
1135
#include <pthread.h> ]], [[ void *pthread_getspecific(pthread_key_t key);
236.1.39 by Monty Taylor
autoconf warning cleanups.
1136
pthread_getspecific((pthread_key_t) NULL); ]])],
1137
    [mysql_cv_getspecific_args=POSIX],
1138
    [mysql_cv_getspecific_args=other])])
1 by brian
clean slate
1139
  if test "$mysql_cv_getspecific_args" = "other"
1140
  then
1141
    AC_DEFINE([HAVE_NONPOSIX_PTHREAD_GETSPECIFIC], [1],
1142
              [For some non posix threads])
1143
  fi
1144
1145
  # Check definition of pthread_mutex_init
236.1.39 by Monty Taylor
autoconf warning cleanups.
1146
  AC_CACHE_CHECK([args to pthread_mutex_init], [mysql_cv_mutex_init_args],
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1147
    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1148
#ifndef _REENTRANT
1149
#define _REENTRANT
1150
#endif
1151
#ifndef _POSIX_PTHREAD_SEMANTICS
1 by brian
clean slate
1152
#define _POSIX_PTHREAD_SEMANTICS 
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1153
#endif
28.1.33 by Monty Taylor
Added -Wall
1154
#include <pthread.h> ]], [[ 
1 by brian
clean slate
1155
  pthread_mutexattr_t attr;
1156
  pthread_mutex_t mp;
236.1.39 by Monty Taylor
autoconf warning cleanups.
1157
  pthread_mutex_init(&mp,&attr); ]])],
1158
      [mysql_cv_mutex_init_args=POSIX],
1159
      [mysql_cv_mutex_init_args=other])])
1 by brian
clean slate
1160
  if test "$mysql_cv_mutex_init_args" = "other"
1161
  then
1162
    AC_DEFINE([HAVE_NONPOSIX_PTHREAD_MUTEX_INIT], [1],
1163
              [For some non posix threads])
1164
  fi
1165
#---END:
1166
1167
#---START: Used in for client configure
1168
# Check definition of readdir_r
236.1.39 by Monty Taylor
autoconf warning cleanups.
1169
AC_CACHE_CHECK([args to readdir_r], [mysql_cv_readdir_r],
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1170
  [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1171
#ifndef _REENTRANT
1172
#define _REENTRANT
1173
#endif
1174
#ifndef _POSIX_PTHREAD_SEMANTICS 
1 by brian
clean slate
1175
#define _POSIX_PTHREAD_SEMANTICS 
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1176
#endif
1 by brian
clean slate
1177
#include <pthread.h>
28.1.33 by Monty Taylor
Added -Wall
1178
#include <dirent.h>]], [[ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);
236.1.39 by Monty Taylor
autoconf warning cleanups.
1179
readdir_r((DIR *) NULL, (struct dirent *) NULL, (struct dirent **) NULL); ]])],
1180
    [mysql_cv_readdir_r=POSIX],
1181
    [mysql_cv_readdir_r=other])])
1 by brian
clean slate
1182
if test "$mysql_cv_readdir_r" = "POSIX"
1183
then
1184
  AC_DEFINE([HAVE_READDIR_R], [1], [POSIX readdir_r])
1185
fi
1186
1187
# Check definition of posix sigwait()
236.1.39 by Monty Taylor
autoconf warning cleanups.
1188
AC_CACHE_CHECK([style of sigwait], [mysql_cv_sigwait],
1189
  [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1190
#ifndef _REENTRANT
236.1.39 by Monty Taylor
autoconf warning cleanups.
1191
#define _REENTRANT
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1192
#endif
1193
#ifndef _POSIX_PTHREAD_SEMANTICS
1 by brian
clean slate
1194
#define _POSIX_PTHREAD_SEMANTICS 
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1195
#endif
1 by brian
clean slate
1196
#include <pthread.h>
236.1.39 by Monty Taylor
autoconf warning cleanups.
1197
#include <signal.h>
1198
      ]], [[
1199
#ifndef _AIX
1 by brian
clean slate
1200
sigset_t set;
1201
int sig;
1202
sigwait(&set,&sig);
236.1.39 by Monty Taylor
autoconf warning cleanups.
1203
#endif
1204
      ]])],
1205
    [mysql_cv_sigwait=POSIX],
1206
    [mysql_cv_sigwait=other])])
1 by brian
clean slate
1207
if test "$mysql_cv_sigwait" = "POSIX"
1208
then
1209
  AC_DEFINE([HAVE_SIGWAIT], [1], [POSIX sigwait])
1210
fi
1211
1212
if test "$mysql_cv_sigwait" != "POSIX"
1213
then
1214
unset mysql_cv_sigwait
1215
# Check definition of posix sigwait()
236.1.39 by Monty Taylor
autoconf warning cleanups.
1216
AC_CACHE_CHECK([style of sigwait], [mysql_cv_sigwait],
1217
  [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1218
#ifndef _REENTRANT
236.1.39 by Monty Taylor
autoconf warning cleanups.
1219
#define _REENTRANT
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1220
#endif
1221
#ifndef _POSIX_PTHREAD_SEMANTICS
1 by brian
clean slate
1222
#define _POSIX_PTHREAD_SEMANTICS 
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1223
#endif
1 by brian
clean slate
1224
#include <pthread.h>
236.1.39 by Monty Taylor
autoconf warning cleanups.
1225
#include <signal.h>
1226
      ]], [[
1227
sigset_t set;
1 by brian
clean slate
1228
int sig;
236.1.39 by Monty Taylor
autoconf warning cleanups.
1229
sigwait(&set);
1230
      ]])],
1231
    [mysql_cv_sigwait=NONPOSIX],
1232
    [mysql_cv_sigwait=other])])
1 by brian
clean slate
1233
if test "$mysql_cv_sigwait" = "NONPOSIX"
1234
then
1235
  AC_DEFINE([HAVE_NONPOSIX_SIGWAIT], [1], [sigwait with one argument])
1236
fi
1237
fi
1238
#---END:
1239
1240
# Check if pthread_attr_setscope() exists
236.1.39 by Monty Taylor
autoconf warning cleanups.
1241
AC_CACHE_CHECK([for pthread_attr_setscope], [mysql_cv_pthread_attr_setscope],
1242
  [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1243
#ifndef _REENTRANT
236.1.39 by Monty Taylor
autoconf warning cleanups.
1244
#define _REENTRANT
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1245
#endif
1246
#ifndef _POSIX_PTHREAD_SEMANTICS
1 by brian
clean slate
1247
#define _POSIX_PTHREAD_SEMANTICS 
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
1248
#endif
236.1.39 by Monty Taylor
autoconf warning cleanups.
1249
#include <pthread.h>
1250
      ]], [[
1251
pthread_attr_t thr_attr;
1252
pthread_attr_setscope(&thr_attr,0);
1253
      ]])],
1254
    [mysql_cv_pthread_attr_setscope=yes],
1255
    [mysql_cv_pthread_attr_setscope=no])])
1 by brian
clean slate
1256
if test "$mysql_cv_pthread_attr_setscope" = "yes"
1257
then
1258
  AC_DEFINE([HAVE_PTHREAD_ATTR_SETSCOPE], [1], [pthread_attr_setscope])
1259
fi
1260
28.1.33 by Monty Taylor
Added -Wall
1261
AC_LANG_PUSH([C++])
1 by brian
clean slate
1262
AC_CHECK_HEADERS(cxxabi.h)
1263
AC_CACHE_CHECK([checking for abi::__cxa_demangle], mysql_cv_cxa_demangle,
28.1.33 by Monty Taylor
Added -Wall
1264
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <cxxabi.h>]], [[
1 by brian
clean slate
1265
  char *foo= 0; int bar= 0;
1266
  foo= abi::__cxa_demangle(foo, foo, 0, &bar);
28.1.33 by Monty Taylor
Added -Wall
1267
]])],[mysql_cv_cxa_demangle=yes],[mysql_cv_cxa_demangle=no])])
1268
AC_LANG_POP([])
1 by brian
clean slate
1269
1270
if test "x$mysql_cv_cxa_demangle" = xyes; then
1271
  AC_DEFINE(HAVE_ABI_CXA_DEMANGLE, 1,
1272
            [Define to 1 if you have the `abi::__cxa_demangle' function.])
1273
fi
1274
1275
#--------------------------------------------------------------------
1276
# Check for requested features
1277
#--------------------------------------------------------------------
1278
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
1279
DRIZZLE_CHECK_MAX_INDEXES
1280
DRIZZLE_CHECK_VIO
1 by brian
clean slate
1281
1282
#--------------------------------------------------------------------
1283
# Declare our plugin modules
1284
# Has to be done late, as the plugin may need to check for existence of
1285
# functions tested above
1286
#--------------------------------------------------------------------
1287
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
1288
DRIZZLE_CONFIGURE_PLUGINS([none])
1 by brian
clean slate
1289
1290
AC_SUBST(mysql_plugin_dirs)
1291
AC_SUBST(mysql_plugin_libs)
1292
AC_SUBST(mysql_plugin_defs)
1293
435.1.1 by Monty Taylor
Fixed -O3 optimization for gcc.
1294
189 by Brian Aker
Refactor of configure.ac. Added profile. One note... I believe this should
1295
AC_ARG_ENABLE([profiling],
1296
    [AS_HELP_STRING([--enable-profiling],
1297
       [Toggle profiling @<:@default=off@:>@])],
1298
    [ac_profiling="$enableval"],
1299
    [ac_profiling="no"])
1300
1301
AC_ARG_ENABLE([coverage],
1302
    [AS_HELP_STRING([--enable-coverage],
1303
       [Toggle coverage @<:@default=off@:>@])],
1304
    [ac_coverage="$enableval"],
1305
    [ac_coverage="no"])
1306
53.2.1 by Monty Taylor
Added --disable-pedantic-warnings and --enable-fail.
1307
AC_ARG_ENABLE([pedantic-warnings],
1308
    [AS_HELP_STRING([--disable-pedantic-warnings],
1309
       [Toggle pedanticness @<:@default=on@:>@])],
1310
    [ac_warn_pedantic="$enableval"],
1311
    [ac_warn_pedantic="yes"])
1312
1313
AC_ARG_ENABLE([fail],
77.1.112 by Monty Taylor
Fixed comment on --enable-fail -> --disable-fail.
1314
    [AS_HELP_STRING([--disable-fail],
1315
       [Turn warnings into failures @<:@default=on@:>@])],
53.2.1 by Monty Taylor
Added --disable-pedantic-warnings and --enable-fail.
1316
    [ac_warn_fail="$enableval"],
77.1.108 by Monty Taylor
Turn on -Werror again by default.
1317
    [ac_warn_fail="yes"])
53.2.1 by Monty Taylor
Added --disable-pedantic-warnings and --enable-fail.
1318
53.2.6 by Monty Taylor
Turned unreachable code warnings into a configure option.
1319
AC_ARG_ENABLE([unreachable],
1320
    [AS_HELP_STRING([--enable-unreachable],
1321
       [Enable warnings about unreachable code @<:@default=off@:>@])],
1322
    [ac_warn_unreachable="$enableval"],
1323
    [ac_warn_unreachable="no"])
1324
77.1.109 by Monty Taylor
Made --disable-pedantic-warnings only disable the pedantic warnings, rather than also removing the -std=gnu99 part.
1325
AC_ARG_ENABLE([longlong-warnings],
1326
    [AS_HELP_STRING([--enable-longlong-warnings],
1327
       [Enable warnings about longlong in C++ @<:@default=off@:>@])],
1328
    [ac_warn_longlong="$enableval"],
421 by Monty
Made including stdint.h work.
1329
    [ac_warn_longlong="no"])
77.1.109 by Monty Taylor
Made --disable-pedantic-warnings only disable the pedantic warnings, rather than also removing the -std=gnu99 part.
1330
1331
AC_ARG_ENABLE([strict-aliasing],
1332
    [AS_HELP_STRING([--enable-strict-aliasing],
1333
       [Enable warnings about stict-aliasing @<:@default=off@:>@])],
1334
    [ac_warn_strict_aliasing="$enableval"],
1335
    [ac_warn_strict_aliasing="no"])
1336
509.2.1 by Monty Taylor
Added some more warning options to configure.
1337
AC_ARG_ENABLE([cast-warnings],
1338
    [AS_HELP_STRING([--enable-cast-warnings],
1339
       [Enable warnings about use of old C-style casts @<:@default=off@:>@])],
1340
    [ac_warn_cast="$enableval"],
1341
    [ac_warn_cast="no"])
1342
1343
AC_ARG_ENABLE([effective-style],
1344
    [AS_HELP_STRING([--enable-effective-style],
1345
       [Enable warnings violating Effective C++ Style Guidelines @<:@default=off@:>@])],
1346
    [ac_warn_effc="$enableval"],
1347
    [ac_warn_effc="no"])
1348
509.2.2 by Monty Taylor
Added one more set of possible warnings.
1349
AC_ARG_ENABLE([go-crazy],
1350
    [AS_HELP_STRING([--enable-go-crazy],
1351
       [Enables extra little warnings that might be too much @<:@default=off@:>@])],
1352
    [ac_warn_go_crazy="$enableval"],
1353
    [ac_warn_go_crazy="no"])
1354
53.2.2 by Monty Taylor
Updated everything that needs updating to compile with -std=gnu99 -pedantic
1355
53.2.1 by Monty Taylor
Added --disable-pedantic-warnings and --enable-fail.
1356
if test "$GCC" = "yes"
1357
then
53.2.2 by Monty Taylor
Updated everything that needs updating to compile with -std=gnu99 -pedantic
1358
558 by Monty Taylor
Added autoconf test to turn off -Wredundant-decls if it doesn't work right.
1359
1360
  if test "$ac_warn_fail" = "yes"
1361
  then
1362
    W_FAIL="-Werror"
1363
  fi
584.2.5 by Stewart Smith
store a protobuf tabledefinition along with FRM
1364
  BASE_WARNINGS="-W -Wall -Wextra ${W_FAIL}"
558 by Monty Taylor
Added autoconf test to turn off -Wredundant-decls if it doesn't work right.
1365
77.1.109 by Monty Taylor
Made --disable-pedantic-warnings only disable the pedantic warnings, rather than also removing the -std=gnu99 part.
1366
  if test "$ac_warn_longlong" = "yes"
1367
  then
1368
    W_LONGLONG="-Wlong-long"
1369
  else
1370
    W_LONGLONG="-Wno-long-long"
1371
  fi
53.2.1 by Monty Taylor
Added --disable-pedantic-warnings and --enable-fail.
1372
77.1.109 by Monty Taylor
Made --disable-pedantic-warnings only disable the pedantic warnings, rather than also removing the -std=gnu99 part.
1373
  if test "$ac_warn_strict_aliasing" = "yes"
1374
  then
1375
    W_STRICT_ALIASING="-Wstrict-aliasing"
1376
  else
509.2.3 by Monty Taylor
Re-worked strict-aliasing again.
1377
    W_STRICT_ALIASING="-Wno-strict-aliasing"
77.1.109 by Monty Taylor
Made --disable-pedantic-warnings only disable the pedantic warnings, rather than also removing the -std=gnu99 part.
1378
  fi
53.2.1 by Monty Taylor
Added --disable-pedantic-warnings and --enable-fail.
1379
189 by Brian Aker
Refactor of configure.ac. Added profile. One note... I believe this should
1380
  if test "$ac_profiling" = "yes"
1381
  then
1382
    GPROF_PROFILING="-pg"
1383
  else
1384
    GPROF_PROFILING=" "
1385
  fi
1386
1387
  if test "$ac_coverage" = "yes"
1388
  then
1389
    GPROF_COVERAGE="-fprofile-arcs -ftest-coverage"
1390
  else
1391
    GPROF_COVERAGE=" "
1392
  fi
1393
53.2.1 by Monty Taylor
Added --disable-pedantic-warnings and --enable-fail.
1394
  if test "$ac_warn_pedantic" = "yes"
1395
  then
520.4.36 by Monty Taylor
Added autoconf check for usability of __attribute__((visibility("hidden"))).
1396
    save_CXXFLAGS="${CXXFLAGS}"
1397
    CXXFLAGS="${CXXFLAGS} ${W_FAIL} -Wredundant-decls"
1398
    AC_CACHE_CHECK([whether it is safe to use -Wredundant-decls],
1399
      [ac_cv_safe_to_use_Wredundant_decls_],
1400
      [AC_LANG_PUSH(C++)
1401
       AC_COMPILE_IFELSE(
1402
         [AC_LANG_PROGRAM([
558 by Monty Taylor
Added autoconf test to turn off -Wredundant-decls if it doesn't work right.
1403
template <typename E> struct C { void foo(); };
1404
template <typename E> void C<E>::foo() { }
1405
template <> void C<int>::foo();
520.4.36 by Monty Taylor
Added autoconf check for usability of __attribute__((visibility("hidden"))).
1406
            AC_INCLUDES_DEFAULT])],
1407
          [ac_cv_safe_to_use_Wredundant_decls_=yes],
1408
          [ac_cv_safe_to_use_Wredundant_decls_=no])
1409
        AC_LANG_POP()])
559.1.1 by Kristian Nielsen
Fix a few problems with the -Wredundant-decls configure check.
1410
    if test $ac_cv_safe_to_use_Wredundant_decls_ = yes
558 by Monty Taylor
Added autoconf test to turn off -Wredundant-decls if it doesn't work right.
1411
    then
559.1.1 by Kristian Nielsen
Fix a few problems with the -Wredundant-decls configure check.
1412
      GXX_W_REDUNDANT_DECLS="-Wredundant-decls"
558 by Monty Taylor
Added autoconf test to turn off -Wredundant-decls if it doesn't work right.
1413
    else
559.1.1 by Kristian Nielsen
Fix a few problems with the -Wredundant-decls configure check.
1414
      GXX_W_REDUNDANT_DECLS="-Wno-redundant-decls"
558 by Monty Taylor
Added autoconf test to turn off -Wredundant-decls if it doesn't work right.
1415
    fi
520.4.36 by Monty Taylor
Added autoconf check for usability of __attribute__((visibility("hidden"))).
1416
    
559.1.1 by Kristian Nielsen
Fix a few problems with the -Wredundant-decls configure check.
1417
    GCC_PEDANTIC="-pedantic -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls ${W_STRICT_ALIASING}"
1418
    GXX_PEDANTIC="-pedantic -Wundef ${GXX_W_REDUNDANT_DECLS} ${W_LONGLONG} ${W_STRICT_ALIASING}"
520.4.36 by Monty Taylor
Added autoconf check for usability of __attribute__((visibility("hidden"))).
1419
1420
    AC_CACHE_CHECK([whether __attribute__ visibility "hidden" is supported],
1421
      [ac_cv_can_use_hidden_],
1422
      [AC_LANG_PUSH(C++)
1423
       AC_COMPILE_IFELSE(
1424
         [AC_LANG_PROGRAM([
1425
          AC_INCLUDES_DEFAULT
1426
__attribute__((visibility ("hidden")))
1427
void testme() {  };],[
1428
     testme();])],  
1429
         [ac_cv_can_use_hidden_=yes],
1430
         [ac_cv_can_use_hidden_=no])
1431
       AC_LANG_POP()])
1432
    if test "$ac_cv_can_use_hidden_" = "yes"
1433
    then
1434
      AC_DEFINE(HAVE_ATTR_HIDDEN, 1,
1435
                [Define to 1 if you have support for __attribute__((visibility("hidden")))])
1436
    fi
1437
559 by Monty Taylor
Fixed syntax errors.
1438
    CXXFLAGS="${save_CXXFLAGS}"
53.2.1 by Monty Taylor
Added --disable-pedantic-warnings and --enable-fail.
1439
  fi
1440
53.2.6 by Monty Taylor
Turned unreachable code warnings into a configure option.
1441
  if test "$ac_warn_unreachable" = "yes"
1442
  then
77.1.109 by Monty Taylor
Made --disable-pedantic-warnings only disable the pedantic warnings, rather than also removing the -std=gnu99 part.
1443
    W_UNREACHABLE="-Wunreachable-code"
53.2.6 by Monty Taylor
Turned unreachable code warnings into a configure option.
1444
  fi
509.2.1 by Monty Taylor
Added some more warning options to configure.
1445
  if test "$ac_warn_cast" = "yes"
1446
  then
1447
    W_CAST="-Wold-style-cast"
1448
  fi
1449
1450
  if test "$ac_warn_effc" = "yes"
1451
  then
1452
    W_EFFC="-Weffc++"
1453
  fi
1454
509.2.2 by Monty Taylor
Added one more set of possible warnings.
1455
  if test "$ac_warn_gocrazy" = "yes"
1456
  then
1457
    W_CRAZY="-Wshadow -Wconversion -Winvalid-pch"
1458
  fi
1459
520.4.44 by mordred
A whole bunch of solaris/sun studio compile fixes.
1460
  CC_WARNINGS="${C99_SUPPORT_HACK} ${BASE_WARNINGS} ${GCC_PEDANTIC} ${W_UNREACHABLE} ${GPROF_PROFILING} ${GPROF_COVERAGE} ${W_CRAZY}"
1461
  CXX_WARNINGS="${BASE_WARNINGS} ${GXX_PEDANTIC} ${W_UNREACHABLE} ${GPROF_PROFILING} ${GPROF_COVERAGE} ${W_CAST} ${W_EFFC} ${W_CRAZY}"
77.1.109 by Monty Taylor
Made --disable-pedantic-warnings only disable the pedantic warnings, rather than also removing the -std=gnu99 part.
1462
520.4.44 by mordred
A whole bunch of solaris/sun studio compile fixes.
1463
  NO_EXCEPTIONS="-fno-exceptions"
1464
  W_EXCEPTIONS="-fexceptions"
1465
  NO_UNUSED_MACROS="-Wno-unused-macros"
1466
  NO_REDUNDANT_DECLS="-Wno-redundant-decls"
1467
  # Disable exceptions as they seams to create problems with gcc and threads.
1468
  # drizzled doesn't use run-time-type-checking, so we disable it.
1469
  AM_CXXFLAGS="${AM_CXXFLAGS} -fno-rtti"
575.1.6 by Monty Taylor
Cleaned up some headers for PCH.
1470
  CPPFLAGS="${CPPFLAGS} -fpch-deps"
53.2.1 by Monty Taylor
Added --disable-pedantic-warnings and --enable-fail.
1471
fi
520.4.37 by Monty Taylor
Added some Sun compile flags.
1472
if test "$SUNCC" = "yes"
1473
then
520.4.44 by mordred
A whole bunch of solaris/sun studio compile fixes.
1474
  CC_WARNINGS="-v -xc99=all -errtags=yes"
1475
  CXX_WARNINGS="+w +w2 -xport64 -errtags=yes -erroff=attrskipunsup -compat=5"
1476
  NO_EXCEPTIONS="-features=no%except"
1477
  W_EXCEPTIONS="-features=except"
520.4.37 by Monty Taylor
Added some Sun compile flags.
1478
fi
520.4.44 by mordred
A whole bunch of solaris/sun studio compile fixes.
1479
AM_CXXFLAGS="${CXX_WARNINGS} ${NO_EXCEPTIONS}  ${AM_CXXFLAGS}"
1480
AM_CFLAGS="${CC_WARNINGS} ${AM_CFLAGS}"
1481
1482
AC_SUBST(NO_EXCEPTIONS)
1483
AC_SUBST(W_EXCEPTIONS)
1484
AC_SUBST(NO_UNUSED_MACROS)
1485
AC_SUBST(NO_REDUNDANT_DECLS)
53.2.1 by Monty Taylor
Added --disable-pedantic-warnings and --enable-fail.
1486
212.5.43 by Monty Taylor
Removed global include dir from CPPFLAGS.
1487
AC_SUBST([GLOBAL_CPPFLAGS],['-I$(top_srcdir) -I$(top_builddir)'])
202.1.23 by Monty Taylor
Moved the includes we use everywhere to to GLOBAL_CPPFLAGS and added AM_CPPFLAGS to an AC_SUBST, so that we could take out the redundant declaration from most fof the Makefiles.
1488
AC_SUBST([AM_CPPFLAGS],['${GLOBAL_CPPFLAGS}'])
287.3.26 by Monty Taylor
Put warnings into AM_C*FLAGS so they can be overridden per lib.
1489
AC_SUBST([AM_CFLAGS])
1490
AC_SUBST([AM_CXXFLAGS])
202.1.23 by Monty Taylor
Moved the includes we use everywhere to to GLOBAL_CPPFLAGS and added AM_CPPFLAGS to an AC_SUBST, so that we could take out the redundant declaration from most fof the Makefiles.
1491
1 by brian
clean slate
1492
# Some usefull subst
1493
AC_SUBST(CC)
1494
AC_SUBST(GXX)
1495
1496
# Set configuration options for make_binary_distribution
1497
case $SYSTEM_TYPE in
1498
  *netware*)
1499
    MAKE_BINARY_DISTRIBUTION_OPTIONS="$MAKE_BINARY_DISTRIBUTION_OPTIONS --no-strip"
1500
    ;;
1501
  *)
1502
    : # no change for other platforms yet
1503
    ;;
1504
esac
1505
AC_SUBST(MAKE_BINARY_DISTRIBUTION_OPTIONS)
1506
492.1.7 by Monty Taylor
Moved test() to its own file.
1507
dnl GCC Precompiled Header Support
584.4.3 by Monty Taylor
Disabled pre-compiled headers for now.
1508
dnl re-enable later
632.1.25 by Monty Taylor
Removed AM_CONDITIONAL from SEARCH_FOR_LIB. Aligned naming of AM_CONDITIONALS.
1509
dnl AM_CONDITIONAL([BUILD_GCC_PCH],[test "$GCC" = "yes"])
1510
AM_CONDITIONAL([BUILD_GCC_PCH],[test "no" = "yes"])
492.1.7 by Monty Taylor
Moved test() to its own file.
1511
287.3.1 by Monty Taylor
Removed mysys/tests.
1512
AC_CONFIG_FILES(Makefile extra/Makefile mysys/Makefile dnl
264.1.15 by Monty Taylor
Removed a bunch of files from mystrings that aren't build or used at all.
1513
 mystrings/Makefile storage/Makefile dnl
575.2.2 by Monty Taylor
Moved vio stuff into libdrizzle.
1514
 po/Makefile.in dnl
77.1.38 by Monty Taylor
Renamed more stuff to drizzle.
1515
 libdrizzle/Makefile client/Makefile dnl
214 by Brian Aker
Rename of fields (fix issue with string and decimal .h clashing).
1516
 drizzled/Makefile dnl
1517
 drizzled/field/Makefile dnl
584.4.6 by Monty Taylor
Moved stuff into item/
1518
 drizzled/item/Makefile dnl
316 by Brian Aker
First pass of new sql_db.cc work
1519
 drizzled/serialize/Makefile dnl
489.1.8 by Monty Taylor
Split out Item_int_func and Item_func from Item_func. (don't think too hard about the second one)
1520
 drizzled/functions/Makefile dnl
574.3.2 by Lee
initial changes to break out item_strfunc into functions/str
1521
 drizzled/functions/str/Makefile dnl
574.3.12 by Lee
initial work for moving functions from item_timefunc to functions/time directory
1522
 drizzled/functions/time/Makefile dnl
492.1.7 by Monty Taylor
Moved test() to its own file.
1523
 drizzled/util/Makefile dnl
214 by Brian Aker
Rename of fields (fix issue with string and decimal .h clashing).
1524
 drizzled/sql_builtin.cc dnl
28.1.31 by Monty Taylor
Deleted tons of pointless garbage from scripts.
1525
 support-files/Makefile dnl
77.1.47 by Monty Taylor
Moved test to tests...
1526
 tests/Makefile tests/install_test_db dnl
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
1527
 plugin/Makefile dnl
214 by Brian Aker
Rename of fields (fix issue with string and decimal .h clashing).
1528
 drizzled/drizzled_safe support-files/libdrizzle.pc dnl
77.1.38 by Monty Taylor
Renamed more stuff to drizzle.
1529
 support-files/drizzle.server support-files/drizzle-log-rotate)
1 by brian
clean slate
1530
1531
AC_CONFIG_COMMANDS([default], , test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h)
1532
1533
# Ensure that table handlers gets all modifications to CFLAGS/CXXFLAGS
287.3.28 by Monty Taylor
Expanded the move to AM_CFLAGS and AM_CXXFLAGS. Now we should be more correct.
1534
AC_CONFIG_COMMANDS_POST(ac_configure_args="$ac_configure_args CFLAGS='$CFLAGS' CXXFLAGS='$CXXFLAGS' AM_CFLAGS='$AM_CFLAGS' AM_CXXFLAGS='$AM_CXXFLAGS'")
1 by brian
clean slate
1535
1536
AC_OUTPUT
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
1537
1538
echo "---"
1539
echo "Configuration summary for $PACKAGE_NAME version $VERSION"
1540
echo ""
1541
echo "   * Installation prefix:       $prefix"
1542
echo "   * System type:               $SYSTEM_TYPE"
492.2.1 by C.J. Adams-Collier
* fixed --disable-assert code (thanks Monty)
1543
echo "   * Host CPU:                  $host_cpu"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
1544
echo "   * C Compiler:                $CC_VERSION"
632.1.21 by Monty Taylor
Cleaned up compiler version checking.
1545
echo "   * C++ Compiler:              $CXX_VERSION"
492.2.1 by C.J. Adams-Collier
* fixed --disable-assert code (thanks Monty)
1546
echo "   * Build auth_pam:            $ac_cv_header_security_pam_appl_h"
1547
echo "   * Assertions enabled:        $ac_cv_assert"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
1548
echo "   * Debug enabled:             $with_debug"
1549
echo "   * Profiling enabled:         $ac_profiling"
1550
echo "   * Coverage enabled:          $ac_coverage"
1551
echo "   * Warnings as failure:       $ac_warn_fail"
492.2.1 by C.J. Adams-Collier
* fixed --disable-assert code (thanks Monty)
1552
echo "   * C++ cstdint location:      $ac_cv_cxx_cstdint"
1553
echo "   * C++ hash_map location:     $ac_cv_cxx_hash_map"
1554
echo "   * C++ hash namespace:        $ac_cv_cxx_hash_namespace"
1555
echo "   * C++ cmath location:        $ac_cv_cxx_cmath"
1556
echo "   * C++ cmath namespace:       $ac_cv_cxx_cmath_namespace"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
1557
echo ""
1558
echo "---"