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