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