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