~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
992.1.25 by Monty Taylor
Moved myisam to new plugin system.
4
dnl  Copyright (C) 2009 Sun Microsystems
5
dnl
6
dnl  This program is free software; you can redistribute it and/or modify
7
dnl  it under the terms of the GNU General Public License as published by
8
dnl  the Free Software Foundation; version 2 of the License.
9
dnl
10
dnl  This program is distributed in the hope that it will be useful,
11
dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
12
dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
dnl  GNU General Public License for more details.
14
dnl
15
dnl  You should have received a copy of the GNU General Public License
16
dnl  along with this program; if not, write to the Free Software
17
dnl  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
19
77.1.65 by Monty Taylor
We don't really require 2.61, 2.59 is actually fine.
20
AC_PREREQ(2.59)dnl		Minimum Autoconf version required.
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
21
AC_INIT([drizzle],[RELEASE_VERSION],[http://bugs.launchpad.net/drizzle])
214 by Brian Aker
Rename of fields (fix issue with string and decimal .h clashing).
22
AC_CONFIG_SRCDIR([drizzled/drizzled.cc])
39 by Brian Aker
Move build helper files into config
23
AC_CONFIG_AUX_DIR(config)
236.1.9 by Monty Taylor
Cleaned up configure.ac line.
24
AC_CONFIG_HEADERS([config.h])
908.1.4 by Monty Taylor
Fix to fake-out libtoolize, since AC_INIT is in bzr_version.m4 now.
25
AC_CONFIG_MACRO_DIR([m4])
435.1.1 by Monty Taylor
Fixed -O3 optimization for gcc.
26
1085.3.4 by Monty Taylor
pandora-build v0.8
27
PANDORA_CANONICAL_TARGET(less-warnings, warnings-always-on, use-gnulib, require-cxx, force-gcc42)
873.2.41 by Monty Taylor
Fixed the ol build for ol Solaris.
28
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
29
# Version with no dots
30
AC_DEFINE([DRIZZLE_VERSION_ID],[RELEASE_ID],
31
	  [Version ID that can be easily used for numeric comparison])
1 by brian
clean slate
32
859.1.4 by Monty Taylor
Hack to allow use of hash_map in gcc 4.3.
33
AC_DEFINE([_BACKWARD_BACKWARD_WARNING_H],[1],[Hack to disable deprecation warning in gcc])
34
971.3.48 by Eric Day
New Listen interface about done, not quite compiling yet, but need a backup.
35
# The port that was assigned by IANA.
301 by Brian Aker
Clean up port startup
36
DRIZZLE_TCP_PORT_DEFAULT=4427
1 by brian
clean slate
37
722.1.3 by Monty Taylor
Cleaned up a few build things.
38
# Set this for plugins to use
39
ac_build_drizzle="yes"
441 by Monty Taylor
Move unconditional defines to config.h.
40
41
1 by brian
clean slate
42
# Canonicalize the configuration name.
43
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
44
AC_DEFINE_UNQUOTED([HOST_VENDOR], ["$host_vendor"],[Vendor of Build System])
45
AC_DEFINE_UNQUOTED([HOST_OS], ["$host_os"], [OS of Build System])
46
AC_DEFINE_UNQUOTED([HOST_CPU], ["$host_cpu"], [CPU of Build System])
1 by brian
clean slate
47
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
48
AC_DEFINE_UNQUOTED([TARGET_VENDOR], ["$target_vendor"],[Vendor of Target System])
49
AC_DEFINE_UNQUOTED([TARGET_OS], ["$target_os"], [OS of Target System])
50
AC_DEFINE_UNQUOTED([TARGET_CPU], ["$target_cpu"], [CPU of Target System])
1 by brian
clean slate
51
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.
52
520.4.41 by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags.
53
case "$target_os" in
54
  *linux*)
55
  TARGET_LINUX="true"
56
  AC_SUBST(TARGET_LINUX)
57
  AC_DEFINE([TARGET_OS_LINUX], [1], [Whether we build for Linux])
58
    ;;
1054.2.24 by Monty Taylor
Fixed the check for building on OSX.
59
  *darwin*)
520.4.41 by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags.
60
    TARGET_OSX="true"
61
    AC_SUBST(TARGET_OSX)
271 by Brian Aker
OSX fix
62
    AC_DEFINE([TARGET_OS_OSX], [1], [Whether we build for OSX])
1 by brian
clean slate
63
    ;;
520.4.41 by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags.
64
  *solaris*)
65
    TARGET_SOLARIS="true"
66
    AC_SUBST(TARGET_SOLARIS)
67
    AC_DEFINE([TARGET_OS_SOLARIS], [1], [Whether we are building for Solaris])
68
    ;;
1 by brian
clean slate
69
  *)
70
    ;;
71
esac
435.1.1 by Monty Taylor
Fixed -O3 optimization for gcc.
72
873.2.4 by Monty Taylor
Fixed some configure errors.
73
AC_PATH_PROG(GPERF, gperf)
74
AS_IF([test "x$GPERF" = "x"],
917.1.5 by Monty Taylor
Added more verbose failure messages.
75
      AC_MSG_ERROR("Drizzle requires gperf to build."))
779.4.5 by Monty Taylor
Replaced gen_lex_hash with gperf. Yay for no more building tools to build source!!!
76
840.1.3 by Monty Taylor
Fixed gperf checking to fail properly.
77
AC_PATH_PROG(LCOV, lcov)
78
AC_PATH_PROG(GENHTML, genhtml)
779.1.25 by Monty Taylor
Put in LCOV checks. Put output in subdir.
79
873.2.4 by Monty Taylor
Fixed some configure errors.
80
AM_CONDITIONAL(HAVE_LCOV,[test "x$LCOV" != "x"])
779.1.25 by Monty Taylor
Put in LCOV checks. Put output in subdir.
81
629.1.1 by Monty Taylor
More solaris fixes.
82
AC_CHECK_PROGS(YACC, ['bison -y'])
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
83
if test -z "$YACC" && test "$building_from_bzr" = "yes"
77.1.70 by Monty Taylor
Added a failure if you don't have bison and you're building from a .bzr branch.
84
then
85
  AC_MSG_ERROR(["bison is required for Drizzle to build from a bzr branch"])
86
fi
1 by brian
clean slate
87
971.4.1 by Monty Taylor
GCC on Solaris build fixes.
88
919.2.22 by Monty Taylor
Fixed the latest stuff on Solaris.
89
AM_GNU_GETTEXT(external, need-formatstring-macros)
90
if test "x$MSGMERGE" = "x" -o "x$MSGMERGE" = "x:"
91
then
92
  AM_PATH_PROG_WITH_TEST(GMSGMERGE, gmsgmerge,
93
    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
94
  MSGMERGE="${GMSGMERGE}"
95
fi
96
AM_CONDITIONAL([BUILD_GETTEXT],[test "x$MSGMERGE" != "x" -a "x$MSGMERGE" != "x:"])
97
98
520.4.44 by mordred
A whole bunch of solaris/sun studio compile fixes.
99
AC_CXX_STL_HASH
100
AC_CXX_CSTDINT
101
AC_CXX_CINTTYPES
1 by brian
clean slate
102
287.3.30 by Monty Taylor
Added step one of finding libprotobuf.
103
#--------------------------------------------------------------------
1022.2.40 by Monty Taylor
Moved pthread check so that the protobuf check works right for real.
104
# Check for libpthread
105
#--------------------------------------------------------------------
106
107
ACX_PTHREAD(,AC_MSG_ERROR(could not find libpthread))
108
LIBS="${PTHREAD_LIBS} ${LIBS}"
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
109
AM_CFLAGS="${PTHREAD_CFLAGS} ${AM_CFLAGS}"
1022.2.40 by Monty Taylor
Moved pthread check so that the protobuf check works right for real.
110
CC="$PTHREAD_CC"
111
112
#--------------------------------------------------------------------
287.3.30 by Monty Taylor
Added step one of finding libprotobuf.
113
# Check for Google Proto Buffers
114
#--------------------------------------------------------------------
115
629.2.4 by Monty Taylor
Cleaned up the lib searching - now base some searches off of the prefix.
116
AC_LANG_PUSH([C++])
1068 by Brian Aker
Fixes proto 2.1 issue
117
AC_LIB_HAVE_LINKFLAGS(protobuf,pthread,
779.2.1 by Monty Taylor
Added new pthread m4 file. Changing lib checks to use AC_LIB_HAVE_LINKFLAGS
118
[#include <google/protobuf/descriptor.h>
119
],
992.1.5 by Monty Taylor
Added ability to make a searched-for lib use -isystem so we can do that for protobuf.
120
[google::protobuf::FileDescriptor* file;],system)
779.2.1 by Monty Taylor
Added new pthread m4 file. Changing lib checks to use AC_LIB_HAVE_LINKFLAGS
121
AS_IF([test x$ac_cv_libprotobuf = xno],
917.1.5 by Monty Taylor
Added more verbose failure messages.
122
      AC_MSG_ERROR([protobuf is required for Drizzle. On Debian this can be found in libprotobuf-dev. On RedHat this can be found in protobuf-devel.]))
629.2.4 by Monty Taylor
Cleaned up the lib searching - now base some searches off of the prefix.
123
910.2.2 by Monty Taylor
Split out protobuf version check from the check for protobuf version so that we can give better error message.
124
AC_CACHE_CHECK([if protobuf is recent enough], [drizzle_cv_protobuf_recent],
125
  [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
126
#include <google/protobuf/descriptor.h>
127
#if GOOGLE_PROTOBUF_VERSION < 2000002
128
# error Your version of Protobuf is too old
129
#endif
130
    ]])],
131
    [drizzle_cv_protobuf_recent=yes],
132
    [drizzle_cv_protobuf_recent=no])])
133
if test "$drizzle_cv_protobuf_recent" = "no"
134
then
135
  AC_MSG_ERROR([Your version of Google Protocol Buffers is too old. Drizzle requires at least version 2.0.2])
136
fi
137
779.2.1 by Monty Taylor
Added new pthread m4 file. Changing lib checks to use AC_LIB_HAVE_LINKFLAGS
138
AC_PATH_PROG([PROTOC],[protoc],[no],[$LIBPROTOBUF_PREFIX/bin:$PATH])
520.4.47 by Monty Taylor
Added check for protoc to protobuf checks.
139
if test "x$PROTOC" = "xno"
140
then
917.1.5 by Monty Taylor
Added more verbose failure messages.
141
  AC_MSG_ERROR([Couldn't find the protoc compiler. On Debian this can be found in protobuf-compiler. On RedHat this can be found in protobuf-compiler.])
520.4.47 by Monty Taylor
Added check for protoc to protobuf checks.
142
fi
143
287.3.30 by Monty Taylor
Added step one of finding libprotobuf.
144
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.
145
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
146
#--------------------------------------------------------------------
520.4.27 by Monty Taylor
Fail if we don't find uuid/uuid.h.
147
# Check for libuuid
148
#--------------------------------------------------------------------
149
779.2.1 by Monty Taylor
Added new pthread m4 file. Changing lib checks to use AC_LIB_HAVE_LINKFLAGS
150
dnl Do this by hand. Need to check for uuid/uuid.h, but uuid may or may
151
dnl not be a lib is weird.
152
590.2.13 by Monty Taylor
Reverted libuuid check code.
153
AC_CHECK_HEADERS(uuid/uuid.h)
154
if test "x$ac_cv_header_uuid_uuid_h" = "xno"
155
then
917.1.5 by Monty Taylor
Added more verbose failure messages.
156
  AC_MSG_ERROR([Couldn't find uuid/uuid.h. On Debian this can be found in uuid-dev. On Redhat this can be found in e2fsprogs-devel.])
590.2.13 by Monty Taylor
Reverted libuuid check code.
157
fi
779.2.3 by Monty Taylor
Added stdlib.h depend for readline.
158
AC_LIB_HAVE_LINKFLAGS(uuid,,
159
[
160
#include <uuid/uuid.h>
161
],
162
[
163
  uuid_t uout;
164
  uuid_generate(uout);
165
])
166
134.2.1 by Antony Curtis
Changes for proper detection of libraries
167
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
168
169
170
#--------------------------------------------------------------------
612.2.5 by Monty Taylor
Added test for mtmalloc, if we haven't explicitly asked for tcmalloc.
171
# 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.
172
#--------------------------------------------------------------------
173
1093.2.1 by Monty Taylor
pandora-build v0.16
174
PANDORA_HAVE_BETTER_MALLOC
175
LIBS="${LIBS} ${BETTER_MALLOC_LIBS}"
779.2.1 by Monty Taylor
Added new pthread m4 file. Changing lib checks to use AC_LIB_HAVE_LINKFLAGS
176
77.1.111 by Monty Taylor
Added --enable-tcmalloc which will enable searching for and linking with tcmalloc if you have it.
177
#--------------------------------------------------------------------
779.1.15 by Monty Taylor
Added libdrizzle configure support.
178
# Check for libdrizzle
179
#--------------------------------------------------------------------
180
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
181
AC_LANG_PUSH(C++)
1093.2.1 by Monty Taylor
pandora-build v0.16
182
PANDORA_REQUIRE_LIBDRIZZLE
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
183
AC_LANG_POP
779.1.15 by Monty Taylor
Added libdrizzle configure support.
184
185
186
#--------------------------------------------------------------------
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
187
# Check for libz
188
#--------------------------------------------------------------------
189
779.2.1 by Monty Taylor
Added new pthread m4 file. Changing lib checks to use AC_LIB_HAVE_LINKFLAGS
190
AC_LIB_HAVE_LINKFLAGS(z,,
191
[#include <zlib.h>],
192
[
193
  crc32(0, Z_NULL, 0);
194
])
195
AS_IF([test x$ac_cv_libz = xno],
917.1.5 by Monty Taylor
Added more verbose failure messages.
196
      AC_MSG_ERROR([libz is required for Drizzle. On Debian this can be found in zlib1g-dev. On RedHat this can be found in zlib-devel.]))
201.2.3 by Monty Taylor
Cleaned up some LIBS bits in the build.
197
612.2.9 by Monty Taylor
Woot. No more extra CFLAGS on the command line!
198
#--------------------------------------------------------------------
910.5.2 by Monty Taylor
Applied atomic patch to current tree.
199
# Check for TBB
200
#--------------------------------------------------------------------
201
202
AC_LANG_PUSH(C++)
203
AC_LIB_HAVE_LINKFLAGS(tbb,,
204
[#include <tbb/atomic.h>
205
 #include <stdint.h>
206
],
207
[
208
  tbb::atomic<uint64_t> x;
209
  tbb::atomic<uint8_t> y;
210
  x=0;
211
  y=0;
212
  x++;
213
  y++;
214
])
215
AC_LANG_POP()
216
217
#--------------------------------------------------------------------
182.1.5 by Jim Winstead
Detect and make the Mac OS X libedit readline interface look like the
218
# Check for libreadline or compatible (libedit on Mac OS X)
219
#--------------------------------------------------------------------
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
220
779.2.5 by Monty Taylor
Split out readline.
221
save_LIBS="${LIBS}"
222
LIBS=""
779.2.4 by Monty Taylor
Updated some more build stuff.
223
VL_LIB_READLINE
873.2.4 by Monty Taylor
Fixed some configure errors.
224
AS_IF([test "x$vl_cv_lib_readline" = "xno"],
917.1.5 by Monty Taylor
Added more verbose failure messages.
225
      AC_MSG_ERROR([libreadline is required for Drizzle. On Debian this can be found in libreadline5-dev. On RedHat this can be found in readline-devel.]))
779.2.5 by Monty Taylor
Split out readline.
226
READLINE_LIBS="${LIBS}"
227
LIBS="${save_LIBS}"
228
AC_SUBST(READLINE_LIBS)
207.1.2 by Jim Winstead
Fix test for libreadline to test a function that exists in all usable
229
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
230
DRIZZLE_CHECK_NEW_RL_INTERFACE
287.3.30 by Monty Taylor
Added step one of finding libprotobuf.
231
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
232
#--------------------------------------------------------------------
233
# Check for libpcre
234
#--------------------------------------------------------------------
235
971.5.2 by Eric Day
Fixed more autoconf bugs.
236
AC_LIB_HAVE_LINKFLAGS(pcre,,
237
[#include <pcre.h>],
238
[
239
  pcre *re= NULL;
240
  pcre_version();
241
])
971.5.1 by Eric Day
Fix for bug #372367, pcre header detection.
242
AS_IF([test "x$ac_cv_libpcre" = "xno"],
243
[
914.1.1 by Monty Taylor
Quick OpenSolaris build fix.
244
  unset ac_cv_libpcre
971.5.2 by Eric Day
Fixed more autoconf bugs.
245
  unset HAVE_LIBPCRE
246
  unset LIBPCRE
247
  unset LIBPCRE_PREFIX
248
  unset LTLIBPCRE
249
  AC_LIB_HAVE_LINKFLAGS(pcre,,
250
  [#include <pcre/pcre.h>],
251
  [
252
    pcre *re= NULL;
253
    pcre_version();
254
  ])
914.1.1 by Monty Taylor
Quick OpenSolaris build fix.
255
  AS_IF([test "x$ac_cv_libpcre" = "xno"],
971.5.1 by Eric Day
Fix for bug #372367, pcre header detection.
256
  [
257
    AC_MSG_ERROR([libpcre is required for Drizzle. On Debian this can be found in libpcre3-dev. On RedHat this can be found in pcre-devel.])
258
  ],[
259
    AC_DEFINE(PCRE_HEADER,[<pcre/pcre.h>],[Location of pcre header])
260
  ])
914.1.1 by Monty Taylor
Quick OpenSolaris build fix.
261
],[
262
  AC_DEFINE(PCRE_HEADER,[<pcre.h>],[Location of pcre header])
263
])
779.2.9 by Monty Taylor
Put back in pkg-config check- pcre.h is in /usr/include for older versions and
264
77.1.63 by Monty Taylor
Fail also if we can't find libevent or pthread.h.
265
1 by brian
clean slate
266
AC_PATH_PROG(PERL, perl, no)
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
267
1 by brian
clean slate
268
28.1.39 by Monty Taylor
Made everything use AS_HELP_STRING (except for charsets, which are dying anyway)
269
AC_ARG_WITH([server-suffix],
270
    [AS_HELP_STRING([--with-server-suffix],
271
      [Append value to the version string.])],
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
272
    [ DRIZZLE_SERVER_SUFFIX=`echo "$withval" | sed -e  's/^\(...................................\)..*$/\1/'` ],
273
    [ DRIZZLE_SERVER_SUFFIX= ]
1 by brian
clean slate
274
    )
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
275
AC_DEFINE_UNQUOTED([DRIZZLE_SERVER_SUFFIX],[$DRIZZLE_SERVER_SUFFIX],
276
                   [Append value to the version string])
1 by brian
clean slate
277
278
# 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)
279
AC_ARG_WITH([named-curses-libs],
280
    [AS_HELP_STRING([--with-named-curses-libs=ARG],
281
            [Use specified curses libraries instead of those
282
		automatically found by configure.])],
1 by brian
clean slate
283
    [ with_named_curses=$withval ],
284
    [ with_named_curses=no ]
285
    )
286
28.1.39 by Monty Taylor
Made everything use AS_HELP_STRING (except for charsets, which are dying anyway)
287
AC_ARG_WITH([tcp-port],
288
    [AS_HELP_STRING([--with-tcp-port=port-number],
971.3.48 by Eric Day
New Listen interface about done, not quite compiling yet, but need a backup.
289
            [Which port to use for Drizzle TCP services @<:@default=4427@:>@])],
971.3.51 by Eric Day
Finished up new Listen plugin interface.
290
    [ DRIZZLE_TCP_PORT=$withval ],
301 by Brian Aker
Clean up port startup
291
    [ DRIZZLE_TCP_PORT=$DRIZZLE_TCP_PORT_DEFAULT
1 by brian
clean slate
292
      # if we actually defaulted (as opposed to the pathological case of
301 by Brian Aker
Clean up port startup
293
      # --with-tcp-port=<DRIZZLE_TCP_PORT_DEFAULT> which might in theory
1 by brian
clean slate
294
      # happen if whole batch of servers was built from a script), set
295
      # the default to zero to indicate that; we don't lose information
296
      # that way, because 0 obviously indicates that we can get the
301 by Brian Aker
Clean up port startup
297
      # default value from DRIZZLE_TCP_PORT. this seems really evil, but
298
      # testing for DRIZZLE_TCP_PORT==DRIZZLE_TCP_PORT_DEFAULT would make a
299
      # a port of DRIZZLE_TCP_PORT_DEFAULT magic even if the builder did not
1 by brian
clean slate
300
      # 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
301
      # from /etc/services if you can", but really, really meant 4427 when
302
      # they passed in 4427. When they pass in a specific value, let them
1 by brian
clean slate
303
      # have it; don't second guess user and think we know better, this will
304
      # just make people cross.  this makes the the logic work like this
305
      # (which is complicated enough):
306
      #
307
      # - if a port was set during build, use that as a default.
308
      #
309
      # - otherwise, try to look up a port in /etc/services; if that fails,
301 by Brian Aker
Clean up port startup
310
      #   use DRIZZLE_TCP_PORT_DEFAULT (at the time of this writing 4427)
1 by brian
clean slate
311
      #
301 by Brian Aker
Clean up port startup
312
      # - allow the DRIZZLE_TCP_PORT environment variable to override that.
1 by brian
clean slate
313
      #
314
      # - allow command-line parameters to override all of the above.
315
      #
301 by Brian Aker
Clean up port startup
316
      # the top-most DRIZZLE_TCP_PORT_DEFAULT is read from win/configure.js,
1 by brian
clean slate
317
      # so don't mess with that.
301 by Brian Aker
Clean up port startup
318
      DRIZZLE_TCP_PORT_DEFAULT=0 ]
1 by brian
clean slate
319
    )
971.3.48 by Eric Day
New Listen interface about done, not quite compiling yet, but need a backup.
320
301 by Brian Aker
Clean up port startup
321
AC_SUBST(DRIZZLE_TCP_PORT)
322
AC_SUBST(DRIZZLE_TCP_PORT_DEFAULT)
971.3.48 by Eric Day
New Listen interface about done, not quite compiling yet, but need a backup.
323
AC_DEFINE_UNQUOTED([DRIZZLE_TCP_PORT],[$DRIZZLE_TCP_PORT],
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
324
                   [Drizzle port to use])
971.3.48 by Eric Day
New Listen interface about done, not quite compiling yet, but need a backup.
325
AC_DEFINE_UNQUOTED([DRIZZLE_TCP_PORT_DEFAULT],[$DRIZZLE_TCP_PORT_DEFAULT],
326
                   [If we defaulted to DRIZZLE_PORT, then this will be zero])
327
1 by brian
clean slate
328
329
# 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.
330
AC_ARG_WITH([drizzled-user],
331
    [AS_HELP_STRING([--with-drizzled-user=username],
332
            [What user the drizzled daemon shall be run as.
333
		@<:@default=drizzle@:>@])],
334
    [ DRIZZLED_USER=$withval ],
335
    [ DRIZZLED_USER=drizzle ]
1 by brian
clean slate
336
    )
572.2.1 by ysano
Replace --with-mysqld-user configure option with --with-drizzled-user.
337
AC_SUBST(DRIZZLED_USER)
1 by brian
clean slate
338
339
# If we should allow LOAD DATA LOCAL
340
AC_MSG_CHECKING(If we should should enable LOAD DATA LOCAL by default)
341
AC_ARG_ENABLE(local-infile,
342
    [  --enable-local-infile   Enable LOAD DATA LOCAL INFILE (default: disabled)],
343
    [ ENABLED_LOCAL_INFILE=$enableval ],
344
    [ ENABLED_LOCAL_INFILE=no ]
345
    )
346
if test "$ENABLED_LOCAL_INFILE" = "yes"
347
then
348
  AC_MSG_RESULT([yes])
349
  AC_DEFINE([ENABLED_LOCAL_INFILE], [1],
350
            [If LOAD DATA LOCAL INFILE should be enabled by default])
351
else
352
  AC_MSG_RESULT([no])
353
fi
354
355
#--------------------------------------------------------------------
356
# Check for system header files
357
#--------------------------------------------------------------------
358
359
AC_HEADER_DIRENT
360
AC_HEADER_STDC
361
AC_HEADER_SYS_WAIT
53.2.2 by Monty Taylor
Updated everything that needs updating to compile with -std=gnu99 -pedantic
362
AC_HEADER_STDBOOL
77.1.22 by Monty Taylor
Removed refs to floatingpoint.h (which we only used for fconvert) and fconvert
363
AC_CHECK_HEADERS(fcntl.h float.h fpu_control.h ieeefp.h)
53.2.29 by Monty Taylor
Cleaned up headers a little more.
364
AC_CHECK_HEADERS(limits.h pwd.h select.h linux/config.h)
365
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.
366
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.
367
AC_CHECK_HEADERS([curses.h term.h],[],[],
368
[[#ifdef HAVE_CURSES_H
369
# include <curses.h>
370
#endif
371
]])
202.1.4 by Monty Taylor
Removed openssl refs.
372
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.
373
AC_CHECK_HEADERS(sys/prctl.h ieeefp.h)
53.2.29 by Monty Taylor
Cleaned up headers a little more.
374
AC_CHECK_HEADERS(execinfo.h)
1 by brian
clean slate
375
77.1.31 by Monty Taylor
Replaced regex lib with pcre. Reworked mysqltest to use it.
376
#--------------------------------------------------------------------
1 by brian
clean slate
377
# Check for system libraries. Adds the library to $LIBS
378
# and defines HAVE_LIBM etc
379
#--------------------------------------------------------------------
380
381
AC_CHECK_LIB(m, floor, [], AC_CHECK_LIB(m, __infinity))
382
236.1.39 by Monty Taylor
autoconf warning cleanups.
383
AC_CHECK_FUNC(setsockopt, [], [AC_CHECK_LIB(socket, setsockopt)])
384
AC_CHECK_FUNC(yp_get_default_domain, [],
385
  [AC_CHECK_LIB(nsl, yp_get_default_domain)])
386
AC_CHECK_FUNC(p2open, [], [AC_CHECK_LIB(gen, p2open)])
1 by brian
clean slate
387
# This may get things to compile even if bind-8 is installed
236.1.39 by Monty Taylor
autoconf warning cleanups.
388
AC_CHECK_FUNC(bind, [], [AC_CHECK_LIB(bind, bind)])
1 by brian
clean slate
389
# Check if crypt() exists in libc or libcrypt, sets LIBS if needed
390
AC_SEARCH_LIBS(crypt, crypt, AC_DEFINE(HAVE_CRYPT, 1, [crypt]))
391
392
# Check rt for aio_read
393
AC_CHECK_LIB(rt, aio_read)
394
395
# For the sched_yield() function on Solaris
236.1.39 by Monty Taylor
autoconf warning cleanups.
396
AC_CHECK_FUNC(sched_yield, [],
397
  [AC_CHECK_LIB(posix4, [sched_yield],
997.2.8 by Monty Taylor
Fixed a few loose ends.
398
    [AC_DEFINE(HAVE_SCHED_YIELD, 1, [Have sched_yield function]) LIBS="$LIBS -lposix4"])])
1 by brian
clean slate
399
400
if test "$ac_cv_header_termio_h" = "no" -a "$ac_cv_header_termios_h" = "no"
401
then
236.1.39 by Monty Taylor
autoconf warning cleanups.
402
  AC_CHECK_FUNC(gtty, [], [AC_CHECK_LIB(compat, gtty)])
1 by brian
clean slate
403
fi
404
405
AC_CHECK_TYPES([fp_except], [], [], [
406
#include <sys/types.h>
407
#include <ieeefp.h>
408
])
409
25 by Brian Aker
Clean up of configure.in
410
my_save_LIBS="$LIBS"
411
LIBS=""
412
AC_CHECK_LIB(dl,dlopen)
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
413
AC_CHECK_FUNCS(dlopen)
177.3.1 by mark
remove ifdef HAVE_DLOPEN, make configure require dlopen()
414
if test "$ac_cv_func_dlopen" != "yes"
415
then
416
  AC_MSG_ERROR([Drizzle requires dlopen])
417
fi
201.2.3 by Monty Taylor
Cleaned up some LIBS bits in the build.
418
LIBDL_LIBS="$LIBS"
25 by Brian Aker
Clean up of configure.in
419
LIBS="$my_save_LIBS"
201.2.3 by Monty Taylor
Cleaned up some LIBS bits in the build.
420
AC_SUBST(LIBDL_LIBS)
25 by Brian Aker
Clean up of configure.in
421
201.2.4 by Monty Taylor
Re-enabled optimizations for the normal build, and added back the --with-debug option to turn them off.
422
840.1.6 by Monty Taylor
Added back atomic builtins check.
423
AC_ARG_WITH([atomic-ops],
840.1.12 by Monty Taylor
Updated AC_HELP_STRING to AS_HELP_STRING
424
    [AS_HELP_STRING([--with-atomic-ops=rwlocks|smp|up],
425
       [Implement atomic operations using pthread rwlocks or atomic CPU
426
        instructions for multi-processor or uniprocessor
427
        configuration. By default gcc built-in sync functions are used,
428
        if available and 'smp' configuration otherwise.])],
429
    [with_atomic_ops="$withval"],
430
    [with_atomic_ops=smp])
840.1.6 by Monty Taylor
Added back atomic builtins check.
431
432
case "$with_atomic_ops" in
433
  "up") AC_DEFINE([MY_ATOMIC_MODE_DUMMY], [1],
434
                  [Assume single-CPU mode, no concurrency]) ;;
435
  "rwlocks") AC_DEFINE([MY_ATOMIC_MODE_RWLOCKS], [1],
436
                  [Use pthread rwlocks for atomic ops]) ;;
910.5.2 by Monty Taylor
Applied atomic patch to current tree.
437
  "smp") 
840.1.6 by Monty Taylor
Added back atomic builtins check.
438
    AC_CACHE_CHECK(
439
      [whether the compiler provides atomic builtins],
440
      [ac_cv_gcc_atomic_builtins],
942.1.5 by Monty Taylor
Replace AC_TRY_* with AC_*_IFELSE
441
      [AC_RUN_IFELSE(
442
        [AC_LANG_PROGRAM([],[[
840.1.6 by Monty Taylor
Added back atomic builtins check.
443
          int foo= -10; int bar= 10;
444
          if (!__sync_fetch_and_add(&foo, bar) || foo)
445
            return -1;
446
          bar= __sync_lock_test_and_set(&foo, bar);
447
          if (bar || foo != 10)
448
            return -1;
449
          bar= __sync_val_compare_and_swap(&bar, foo, 15);
450
          if (bar)
451
            return -1;
452
          return 0;
942.1.5 by Monty Taylor
Replace AC_TRY_* with AC_*_IFELSE
453
        ]])],
840.1.6 by Monty Taylor
Added back atomic builtins check.
454
       [ac_cv_gcc_atomic_builtins=yes],
455
       [ac_cv_gcc_atomic_builtins=no])])
456
457
    if test "x$ac_cv_gcc_atomic_builtins" = "xyes"; then
458
      AC_DEFINE(HAVE_GCC_ATOMIC_BUILTINS, 1,
459
                [Define to 1 if compiler provides atomic builtins.])
460
    fi
461
   ;;
462
   *) AC_MSG_ERROR(["$with_atomic_ops" is not a valid value for --with-atomic-ops]) ;;
463
esac
464
465
28.1.39 by Monty Taylor
Made everything use AS_HELP_STRING (except for charsets, which are dying anyway)
466
AC_ARG_WITH([comment],
467
    [AS_HELP_STRING([--with-comment],
468
            [Comment about compilation environment. @<:@default=off@:>@])],
1 by brian
clean slate
469
    [with_comment=$withval],
470
    [with_comment=no])
471
if test "$with_comment" != "no"
472
then
473
  COMPILATION_COMMENT=$with_comment
474
else
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
475
  COMPILATION_COMMENT="Source distribution (RELEASE_COMMENT)"
1 by brian
clean slate
476
fi
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
477
AC_DEFINE_UNQUOTED([COMPILATION_COMMENT],["$COMPILATION_COMMENT"],
478
                   [Comment about compilation environment])
1 by brian
clean slate
479
480
dnl Checks for typedefs, structures, and compiler characteristics.
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
481
1 by brian
clean slate
482
AC_STRUCT_TM
483
# off_t is not a builtin type
484
AC_CHECK_SIZEOF(off_t, 4)
485
if test "$ac_cv_sizeof_off_t" -eq 0
486
then
91 by Brian Aker
Main binary now named drizzled
487
  AC_MSG_ERROR("Drizzle needs a off_t type.")
1 by brian
clean slate
488
fi
968.2.1 by Monty Taylor
Build fix making 64-bit atomic<> work on 32-bit systems.
489
AC_CHECK_SIZEOF(size_t)
490
AC_DEFINE_UNQUOTED([SIZEOF_SIZE_T],[$ac_cv_sizeof_size_t],[Size of size_t as computed by sizeof()])
491
AC_CHECK_SIZEOF(long long)
492
AC_DEFINE_UNQUOTED(SIZEOF_LONG_LONG,[$ac_cv_sizeof_long_long],[Size of long long as computed by sizeof()])
1 by brian
clean slate
493
494
dnl
495
dnl check if time_t is unsigned
496
dnl
497
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
498
DRIZZLE_CHECK_TIME_T
1 by brian
clean slate
499
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
500
DRIZZLE_STACK_DIRECTION
942.1.8 by Monty Taylor
Removed more unused macros/things we don't need to check because they are posix.
501
1 by brian
clean slate
502
AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
520.4.43 by mordred
A set of Solaris fixes.
503
AC_CHECK_TYPES([uint, ulong])
1 by brian
clean slate
504
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
505
DRIZZLE_PTHREAD_YIELD
1 by brian
clean slate
506
134.2.1 by Antony Curtis
Changes for proper detection of libraries
507
1 by brian
clean slate
508
dnl Checks for header files.
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
509
AC_CHECK_HEADERS(malloc.h)
1 by brian
clean slate
510
511
dnl Checks for library functions.
512
AC_FUNC_ALLOCA
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
513
1 by brian
clean slate
514
AC_CHECK_FUNCS(issetugid)
515
516
# Already-done: stdlib.h string.h unistd.h termios.h
398.1.9 by Monty Taylor
Cleaned up stuff out of global.h.
517
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.
518
 sys/ndir.h sys/select.h \
519
 sys/mman.h termcap.h termio.h asm/termbits.h grp.h \
520
 paths.h)
1 by brian
clean slate
521
522
# Already-done: strcasecmp
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
523
AC_CHECK_FUNCS(lstat select)
1 by brian
clean slate
524
28.1.33 by Monty Taylor
Added -Wall
525
AC_HEADER_STAT
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
526
DRIZZLE_HAVE_TIOCGWINSZ
527
DRIZZLE_HAVE_TIOCSTAT
1 by brian
clean slate
528
529
#########################################################################
530
531
dnl Checks for library functions.
532
533
AC_FUNC_UTIME_NULL
534
AC_FUNC_VPRINTF
535
77.1.24 by Monty Taylor
Removed non-fcntl code and made it a fatal configure error if it's not there.
536
AC_CHECK_FUNCS(fcntl)
537
if test "x$ac_cv_func_fcntl" != "xyes"
538
then
539
  AC_MSG_ERROR("Drizzle requires fcntl.")
540
fi
541
815.1.6 by Monty Taylor
Some tweaks to get timegm working on Solaris.
542
AC_CONFIG_LIBOBJ_DIR([gnulib])
236.1.50 by Monty Taylor
Added automake conditional compilation of distributed system replacement functions.
543
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
544
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.
545
  cuserid fchmod \
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
546
  fdatasync fpresetsticky fpsetmask fsync \
575.4.6 by Monty Taylor
Removed my_getwd.
547
  getpassphrase getpwnam \
548
  getpwuid getrlimit getrusage index initgroups isnan \
1 by brian
clean slate
549
  localtime_r gethrtime gmtime_r \
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
550
  madvise \
551
  mkstemp mlockall poll pread pthread_attr_create mmap mmap64 \
1 by brian
clean slate
552
  pthread_attr_getstacksize pthread_attr_setprio pthread_attr_setschedparam \
553
  pthread_attr_setstacksize pthread_condattr_create pthread_getsequence_np \
554
  pthread_key_delete pthread_rwlock_rdlock pthread_setprio \
555
  pthread_setprio_np pthread_setschedparam pthread_sigmask readlink \
449 by Monty Taylor
Removed rint check - rint is part of C99.
556
  realpath rename rwlock_init setupterm \
572.1.4 by Monty Taylor
Removed a bunch of unusued tests and defines from autoconf.
557
  sigaction \
558
  sigthreadmask \
559
  snprintf strpbrk \
560
  tell tempnam \
561
  backtrace backtrace_symbols backtrace_symbols_fd)
1 by brian
clean slate
562
287.3.18 by Monty Taylor
Put -fno-exceptions flag in selectively. Add back HAVE_DECL_MADVISE check so
563
AC_LANG_PUSH(C++)
564
# Test whether madvise() is declared in C++ code -- it is not on some
565
# systems, such as Solaris
373.1.3 by Monty Taylor
Fixed test for HAVE_DECL_MADVISE to actually work.
566
AC_CHECK_DECLS([madvise], [], [], [AC_INCLUDES_DEFAULT[
567
#if HAVE_SYS_MMAN_H
287.3.18 by Monty Taylor
Put -fno-exceptions flag in selectively. Add back HAVE_DECL_MADVISE check so
568
#include <sys/types.h>
569
#include <sys/mman.h>
373.1.3 by Monty Taylor
Fixed test for HAVE_DECL_MADVISE to actually work.
570
#endif
571
]])
287.3.18 by Monty Taylor
Put -fno-exceptions flag in selectively. Add back HAVE_DECL_MADVISE check so
572
AC_LANG_POP()
573
574
236.1.59 by Monty Taylor
Turn thr_rwlock.c into a conditionally built source file.
575
AM_CONDITIONAL(BUILD_THR_RWLOCK,[test "$ac_cv_func_rwlock_init" -a "$ac_cv_funn_pthread_rwlock_rdlock"])
576
28.1.33 by Monty Taylor
Added -Wall
577
1 by brian
clean slate
578
# Sanity check: We chould not have any fseeko symbol unless
579
# large_file_support=yes
580
AC_CHECK_FUNC(fseeko,
520.4.41 by mordred
Fixed configure.ac to work cleanly on Solaris - and define some good compile flags.
581
[if test "$large_file_support" = no -a "x$TARGET_LINUX" = "xtrue";
1 by brian
clean slate
582
then
583
  AC_MSG_ERROR("Found fseeko symbol but large_file_support is not enabled!")
584
fi]
585
)
586
587
# Check definition of pthread_getspecific
236.1.39 by Monty Taylor
autoconf warning cleanups.
588
AC_CACHE_CHECK([args to pthread_getspecific], [mysql_cv_getspecific_args],
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
589
  [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
590
#if !defined(_REENTRANT)
1 by brian
clean slate
591
#define _REENTRANT
592
#endif
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
593
#ifndef _POSIX_PTHREAD_SEMANTICS 
1 by brian
clean slate
594
#define _POSIX_PTHREAD_SEMANTICS 
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
595
#endif
942.1.5 by Monty Taylor
Replace AC_TRY_* with AC_*_IFELSE
596
#include <pthread.h>
597
   ]], [[
598
void *pthread_getspecific(pthread_key_t key);
599
pthread_getspecific((pthread_key_t) NULL);
600
   ]])],
236.1.39 by Monty Taylor
autoconf warning cleanups.
601
    [mysql_cv_getspecific_args=POSIX],
602
    [mysql_cv_getspecific_args=other])])
1 by brian
clean slate
603
  if test "$mysql_cv_getspecific_args" = "other"
604
  then
605
    AC_DEFINE([HAVE_NONPOSIX_PTHREAD_GETSPECIFIC], [1],
606
              [For some non posix threads])
607
  fi
608
609
  # Check definition of pthread_mutex_init
236.1.39 by Monty Taylor
autoconf warning cleanups.
610
  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.
611
    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
612
#ifndef _REENTRANT
613
#define _REENTRANT
614
#endif
615
#ifndef _POSIX_PTHREAD_SEMANTICS
1 by brian
clean slate
616
#define _POSIX_PTHREAD_SEMANTICS 
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
617
#endif
28.1.33 by Monty Taylor
Added -Wall
618
#include <pthread.h> ]], [[ 
1 by brian
clean slate
619
  pthread_mutexattr_t attr;
620
  pthread_mutex_t mp;
236.1.39 by Monty Taylor
autoconf warning cleanups.
621
  pthread_mutex_init(&mp,&attr); ]])],
622
      [mysql_cv_mutex_init_args=POSIX],
623
      [mysql_cv_mutex_init_args=other])])
1 by brian
clean slate
624
  if test "$mysql_cv_mutex_init_args" = "other"
625
  then
626
    AC_DEFINE([HAVE_NONPOSIX_PTHREAD_MUTEX_INIT], [1],
627
              [For some non posix threads])
628
  fi
629
#---END:
630
631
#---START: Used in for client configure
632
# Check definition of readdir_r
236.1.39 by Monty Taylor
autoconf warning cleanups.
633
AC_CACHE_CHECK([args to readdir_r], [mysql_cv_readdir_r],
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
634
  [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
635
#ifndef _REENTRANT
636
#define _REENTRANT
637
#endif
638
#ifndef _POSIX_PTHREAD_SEMANTICS 
1 by brian
clean slate
639
#define _POSIX_PTHREAD_SEMANTICS 
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
640
#endif
1 by brian
clean slate
641
#include <pthread.h>
28.1.33 by Monty Taylor
Added -Wall
642
#include <dirent.h>]], [[ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);
236.1.39 by Monty Taylor
autoconf warning cleanups.
643
readdir_r((DIR *) NULL, (struct dirent *) NULL, (struct dirent **) NULL); ]])],
644
    [mysql_cv_readdir_r=POSIX],
645
    [mysql_cv_readdir_r=other])])
1 by brian
clean slate
646
if test "$mysql_cv_readdir_r" = "POSIX"
647
then
648
  AC_DEFINE([HAVE_READDIR_R], [1], [POSIX readdir_r])
649
fi
650
651
# Check definition of posix sigwait()
236.1.39 by Monty Taylor
autoconf warning cleanups.
652
AC_CACHE_CHECK([style of sigwait], [mysql_cv_sigwait],
653
  [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
654
#ifndef _REENTRANT
236.1.39 by Monty Taylor
autoconf warning cleanups.
655
#define _REENTRANT
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
656
#endif
657
#ifndef _POSIX_PTHREAD_SEMANTICS
1 by brian
clean slate
658
#define _POSIX_PTHREAD_SEMANTICS 
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
659
#endif
1 by brian
clean slate
660
#include <pthread.h>
236.1.39 by Monty Taylor
autoconf warning cleanups.
661
#include <signal.h>
662
      ]], [[
663
#ifndef _AIX
1 by brian
clean slate
664
sigset_t set;
665
int sig;
666
sigwait(&set,&sig);
236.1.39 by Monty Taylor
autoconf warning cleanups.
667
#endif
668
      ]])],
669
    [mysql_cv_sigwait=POSIX],
670
    [mysql_cv_sigwait=other])])
1 by brian
clean slate
671
if test "$mysql_cv_sigwait" = "POSIX"
672
then
673
  AC_DEFINE([HAVE_SIGWAIT], [1], [POSIX sigwait])
674
fi
675
676
if test "$mysql_cv_sigwait" != "POSIX"
677
then
678
unset mysql_cv_sigwait
679
# Check definition of posix sigwait()
236.1.39 by Monty Taylor
autoconf warning cleanups.
680
AC_CACHE_CHECK([style of sigwait], [mysql_cv_sigwait],
681
  [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
682
#ifndef _REENTRANT
236.1.39 by Monty Taylor
autoconf warning cleanups.
683
#define _REENTRANT
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
684
#endif
685
#ifndef _POSIX_PTHREAD_SEMANTICS
1 by brian
clean slate
686
#define _POSIX_PTHREAD_SEMANTICS 
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
687
#endif
1 by brian
clean slate
688
#include <pthread.h>
236.1.39 by Monty Taylor
autoconf warning cleanups.
689
#include <signal.h>
690
      ]], [[
691
sigset_t set;
1 by brian
clean slate
692
int sig;
236.1.39 by Monty Taylor
autoconf warning cleanups.
693
sigwait(&set);
694
      ]])],
695
    [mysql_cv_sigwait=NONPOSIX],
696
    [mysql_cv_sigwait=other])])
1 by brian
clean slate
697
if test "$mysql_cv_sigwait" = "NONPOSIX"
698
then
699
  AC_DEFINE([HAVE_NONPOSIX_SIGWAIT], [1], [sigwait with one argument])
700
fi
701
fi
702
#---END:
703
704
# Check if pthread_attr_setscope() exists
236.1.39 by Monty Taylor
autoconf warning cleanups.
705
AC_CACHE_CHECK([for pthread_attr_setscope], [mysql_cv_pthread_attr_setscope],
706
  [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
707
#ifndef _REENTRANT
236.1.39 by Monty Taylor
autoconf warning cleanups.
708
#define _REENTRANT
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
709
#endif
710
#ifndef _POSIX_PTHREAD_SEMANTICS
1 by brian
clean slate
711
#define _POSIX_PTHREAD_SEMANTICS 
632.1.11 by Monty Taylor
Fixed Sun Studio warnings in mysys.
712
#endif
236.1.39 by Monty Taylor
autoconf warning cleanups.
713
#include <pthread.h>
714
      ]], [[
715
pthread_attr_t thr_attr;
716
pthread_attr_setscope(&thr_attr,0);
717
      ]])],
718
    [mysql_cv_pthread_attr_setscope=yes],
719
    [mysql_cv_pthread_attr_setscope=no])])
1 by brian
clean slate
720
if test "$mysql_cv_pthread_attr_setscope" = "yes"
721
then
722
  AC_DEFINE([HAVE_PTHREAD_ATTR_SETSCOPE], [1], [pthread_attr_setscope])
723
fi
724
28.1.33 by Monty Taylor
Added -Wall
725
AC_LANG_PUSH([C++])
1 by brian
clean slate
726
AC_CHECK_HEADERS(cxxabi.h)
727
AC_CACHE_CHECK([checking for abi::__cxa_demangle], mysql_cv_cxa_demangle,
28.1.33 by Monty Taylor
Added -Wall
728
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <cxxabi.h>]], [[
1 by brian
clean slate
729
  char *foo= 0; int bar= 0;
730
  foo= abi::__cxa_demangle(foo, foo, 0, &bar);
28.1.33 by Monty Taylor
Added -Wall
731
]])],[mysql_cv_cxa_demangle=yes],[mysql_cv_cxa_demangle=no])])
732
AC_LANG_POP([])
1 by brian
clean slate
733
734
if test "x$mysql_cv_cxa_demangle" = xyes; then
735
  AC_DEFINE(HAVE_ABI_CXA_DEMANGLE, 1,
736
            [Define to 1 if you have the `abi::__cxa_demangle' function.])
737
fi
738
739
#--------------------------------------------------------------------
740
# Check for requested features
741
#--------------------------------------------------------------------
742
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
743
DRIZZLE_CHECK_MAX_INDEXES
1 by brian
clean slate
744
745
#--------------------------------------------------------------------
746
# Declare our plugin modules
747
# Has to be done late, as the plugin may need to check for existence of
748
# functions tested above
749
#--------------------------------------------------------------------
750
992.1.21 by Monty Taylor
First pass at replacing plugin.m4.
751
m4_include(config/plugin.ac)
752
dnl Add code here to read set plugin lists and  set drizzled_default_plugin_list
753
AC_DEFINE_UNQUOTED([DRIZZLED_PLUGIN_LIST],[$drizzled_default_plugin_list],
754
                   [List of plugins that should be loaded on startup if no
755
                    value is given for --plugin-load])
1 by brian
clean slate
756
992.1.22 by Monty Taylor
Moved towards having register_plugins.py make builtin plugins, so we can have a first step.
757
drizzled_builtin_list=`echo $drizzled_builtin_list | sed 's/, *$//'`
758
AC_DEFINE_UNQUOTED([DRIZZLED_BUILTIN_LIST],[$drizzled_builtin_list],
759
                   [List of plugins to be loaded in sql_builtin.cc])
997.2.19 by Monty Taylor
Reverted back to building drizzled in drizzled.
760
AC_SUBST(drizzled_plugin_libs)
761
762
AC_SUBST(mysql_plugin_dirs)
763
AC_SUBST(mysql_plugin_libs)
764
drizzled_plugin_defs=`echo $drizzled_plugin_defs | sed 's/, *$//'`
765
AC_SUBST(drizzled_plugin_defs)
766
AC_SUBST(DRIZZLED_PLUGIN_DEP_LIBS)
992.1.22 by Monty Taylor
Moved towards having register_plugins.py make builtin plugins, so we can have a first step.
767
992.1.4 by Monty Taylor
Fixed quick configure bug. /* isn't a valid comment in shell script, thanks.
768
dnl Must be done once we turn on warnings and such
971.4.1 by Monty Taylor
GCC on Solaris build fixes.
769
AC_CACHE_CHECK(
770
  [whether __attribute__ visibility "hidden" is supported],
992.1.4 by Monty Taylor
Fixed quick configure bug. /* isn't a valid comment in shell script, thanks.
771
  [ac_cv_can_use_hidden_],[
772
    AC_LANG_PUSH(C++)
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
773
    save_CXXFLAGS="${CXXFLAGS}"
774
    CXXFLAGS="${AM_CXXFLAGS}"
992.1.7 by Monty Taylor
Sometimes it helps to actually set -Werror before the check you've marked as needing to happen after -Werror.
775
    AC_LINK_IFELSE([
992.1.4 by Monty Taylor
Fixed quick configure bug. /* isn't a valid comment in shell script, thanks.
776
      AC_LANG_PROGRAM(
777
        [[
971.4.1 by Monty Taylor
GCC on Solaris build fixes.
778
__attribute__((visibility ("hidden")))
992.1.21 by Monty Taylor
First pass at replacing plugin.m4.
779
void testme() {  }
992.1.18 by Monty Taylor
Moved client build into root Makefile.
780
        ]],[[testme()]]
992.1.4 by Monty Taylor
Fixed quick configure bug. /* isn't a valid comment in shell script, thanks.
781
      )],  
782
      [ac_cv_can_use_hidden_=yes],
783
      [ac_cv_can_use_hidden_=no])
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
784
    CXXFLAGS="${save_CXXFLAGS}"
992.1.4 by Monty Taylor
Fixed quick configure bug. /* isn't a valid comment in shell script, thanks.
785
    AC_LANG_POP()])
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
786
AS_IF([test "$ac_cv_can_use_hidden_" = "yes"],[
971.4.1 by Monty Taylor
GCC on Solaris build fixes.
787
  AC_DEFINE(HAVE_ATTR_HIDDEN, 1,
788
  [Define to 1 if you have support for __attribute__((visibility("hidden")))])
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
789
])
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.
790
1 by brian
clean slate
791
722.1.4 by Monty Taylor
Removed all the setting of DEFS everywhere. Use configmake.h to get the values
792
AC_SUBST(pkgplugindir,"\$(pkglibdir)/plugin")
793
492.1.7 by Monty Taylor
Moved test() to its own file.
794
dnl GCC Precompiled Header Support
584.4.3 by Monty Taylor
Disabled pre-compiled headers for now.
795
dnl re-enable later
632.1.25 by Monty Taylor
Removed AM_CONDITIONAL from SEARCH_FOR_LIB. Aligned naming of AM_CONDITIONALS.
796
dnl AM_CONDITIONAL([BUILD_GCC_PCH],[test "$GCC" = "yes"])
797
AM_CONDITIONAL([BUILD_GCC_PCH],[test "no" = "yes"])
492.1.7 by Monty Taylor
Moved test() to its own file.
798
992.1.17 by Monty Taylor
Moved extra/ into root Makefile.am
799
AC_CONFIG_FILES(Makefile dnl
815.1.1 by Monty Taylor
Add timegm which is missing on Solaris.
800
 gnulib/Makefile dnl
575.2.2 by Monty Taylor
Moved vio stuff into libdrizzle.
801
 po/Makefile.in dnl
988.1.1 by Jay Pipes
Changes libserialize to libdrizzledmessage per ML discussion. All GPB messages are now in the drizzled::message namespace.
802
 drizzled/message/Makefile dnl
997.2.19 by Monty Taylor
Reverted back to building drizzled in drizzled.
803
 drizzled/Makefile dnl
28.1.31 by Monty Taylor
Deleted tons of pointless garbage from scripts.
804
 support-files/Makefile dnl
77.1.47 by Monty Taylor
Moved test to tests...
805
 tests/Makefile tests/install_test_db dnl
1025.1.1 by Trond Norbye
Add configuration files to integrate to Solaris SMF
806
 support-files/drizzle.server support-files/drizzle-log-rotate
807
 support-files/smf/Makefile dnl
808
 support-files/smf/install.sh dnl
809
 support-files/smf/drizzle.xml dnl
810
 support-files/smf/drizzle)
1 by brian
clean slate
811
512.2.2 by C.J. Adams-Collier
added checks to determine which threading plugins have been enabled on
812
scheduling_plugins_available="
813
  pool_of_threads 
814
  single_thread
815
"
816
817
for sched_plugin in $scheduling_plugins_available
818
do
819
  varname="\${with_plugin_${sched_plugin}}"
820
  result=`eval "echo $varname"`
821
  if test "x$result" = "xyes"
822
  then
823
    scheduling_plugins="$sched_plugin $scheduling_plugins"
824
  fi
825
done
826
1 by brian
clean slate
827
AC_OUTPUT
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
828
829
echo "---"
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
830
echo "Configuration summary for $PACKAGE_NAME version $VERSION RELEASE_COMMENT"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
831
echo ""
832
echo "   * Installation prefix:       $prefix"
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
833
echo "   * System type:               $host_vendor-$host_os"
492.2.1 by C.J. Adams-Collier
* fixed --disable-assert code (thanks Monty)
834
echo "   * Host CPU:                  $host_cpu"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
835
echo "   * C Compiler:                $CC_VERSION"
632.1.21 by Monty Taylor
Cleaned up compiler version checking.
836
echo "   * C++ Compiler:              $CXX_VERSION"
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
837
echo "   * Build auth_pam:            $ac_cv_libpam"
492.2.1 by C.J. Adams-Collier
* fixed --disable-assert code (thanks Monty)
838
echo "   * Assertions enabled:        $ac_cv_assert"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
839
echo "   * Debug enabled:             $with_debug"
840
echo "   * Profiling enabled:         $ac_profiling"
841
echo "   * Coverage enabled:          $ac_coverage"
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
842
echo "   * Warnings as failure:       $ac_cv_warnings_as_errors"
492.2.1 by C.J. Adams-Collier
* fixed --disable-assert code (thanks Monty)
843
echo "   * C++ cstdint location:      $ac_cv_cxx_cstdint"
844
echo "   * C++ hash_map location:     $ac_cv_cxx_hash_map"
845
echo "   * C++ hash namespace:        $ac_cv_cxx_hash_namespace"
919.2.19 by Monty Taylor
Added check for shared_ptr in advance of actually thinking about using it. I think this should cover all platforms we care about... but let's doublecheck.
846
echo "   * C++ shared_ptr namespace:  $ac_cv_shared_ptr_namespace"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
847
echo ""
848
echo "---"
908.1.4 by Monty Taylor
Fix to fake-out libtoolize, since AC_INIT is in bzr_version.m4 now.
849
850
dnl libtoolize scans configure.ac  and needs to see some text
851
m4_define([LIBTOOLIZE_AC_INIT], [])