~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
1999.6.1 by kalebral at gmail
update Copyright strings to a more common format to help with creating the master debian copyright file
4
dnl  Copyright (C) 2009 Sun Microsystems, Inc.
992.1.25 by Monty Taylor
Moved myisam to new plugin system.
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.
1192.3.6 by Monty Taylor
pandora-build v0.67 - Support configure-time bzr version checking.
21
dnl Version from the AC_INIT call below is overridden later
22
dnl So don't update it here
1845.1.2 by Monty Taylor
We _want_ to keep doing bzr versioning in trunk.
23
AC_INIT([drizzle7],[7],[http://bugs.launchpad.net/drizzle])
214 by Brian Aker
Rename of fields (fix issue with string and decimal .h clashing).
24
AC_CONFIG_SRCDIR([drizzled/drizzled.cc])
1273.12.1 by Monty Taylor
pandora-build v0.100 - Fixes several bugs found by cb1kenobi. Add several thoughts from folks at LCA.
25
AC_CONFIG_AUX_DIR([config])
2380.1.1 by Brian Aker
Update to use autoreconf
26
AC_CONFIG_MACRO_DIR([m4])
27
LT_INIT
435.1.1 by Monty Taylor
Fixed -O3 optimization for gcc.
28
2151.6.1 by Monty Taylor
Don't build with warnings in a tarball build.
29
PANDORA_CANONICAL_TARGET(less-warnings, require-cxx, force-gcc42, version-from-vc) 
1712.1.1 by Monty Taylor
Merged libdrizzle directly into tree.
30
2244.1.1 by Monty Taylor
Split libdrizzle into 1.0 and 2.0. Applied the C++ changes to 2.0 branch.
31
LIBDRIZZLE_LIBRARY_VERSION=3:0:0
1712.1.1 by Monty Taylor
Merged libdrizzle directly into tree.
32
#                          | | |
33
#                   +------+ | +---+
34
#                   |        |     |
35
#                current:revision:age
36
#                   |        |     |
1724.2.1 by Monty Taylor
It would _REALLY_ help if I could get this right. For once.
37
#                   |        |     +- increment if interfaces have been added
1712.1.1 by Monty Taylor
Merged libdrizzle directly into tree.
38
#                   |        |        set to zero if interfaces have been
39
#                   |        |        removed or changed
40
#                   |        +- increment if source code has changed
41
#                   |           set to zero if current is incremented
42
#                   +- increment if interfaces have been added, removed or
43
#                      changed
44
AC_SUBST(LIBDRIZZLE_LIBRARY_VERSION)
2244.1.1 by Monty Taylor
Split libdrizzle into 1.0 and 2.0. Applied the C++ changes to 2.0 branch.
45
OLDLIBDRIZZLE_LIBRARY_VERSION=2:0:1
46
#                             | | |
47
#                      +------+ | +---+
48
#                      |        |     |
49
#                   current:revision:age
50
#                      |        |     |
51
#                      |        |     +- increment if interfaces have been added
52
#                      |        |        set to zero if interfaces have been
53
#                      |        |        removed or changed
54
#                      |        +- increment if source code has changed
55
#                      |           set to zero if current is incremented
56
#                      +- increment if interfaces have been added, removed or
57
#                         changed
58
AC_SUBST(OLDLIBDRIZZLE_LIBRARY_VERSION)
1712.1.1 by Monty Taylor
Merged libdrizzle directly into tree.
59
2244.1.1 by Monty Taylor
Split libdrizzle into 1.0 and 2.0. Applied the C++ changes to 2.0 branch.
60
libdrizzleincludedir='${includedir}/libdrizzle-2.0'
61
libdrizzleinstalldir='${libdrizzleincludedir}/libdrizzle'
62
AC_SUBST(libdrizzleinstalldir)
2235.1.1 by Monty Taylor
Install into libdrizzle-1.0 location.
63
AC_SUBST(libdrizzleincludedir)
64
2244.1.1 by Monty Taylor
Split libdrizzle into 1.0 and 2.0. Applied the C++ changes to 2.0 branch.
65
oldlibdrizzleincludedir='${includedir}/libdrizzle-1.0'
66
oldlibdrizzleinstalldir='${oldlibdrizzleincludedir}/libdrizzle'
67
AC_SUBST(oldlibdrizzleinstalldir)
68
AC_SUBST(oldlibdrizzleincludedir)
69
1712.1.1 by Monty Taylor
Merged libdrizzle directly into tree.
70
# libdrizzle versioning when linked with GNU ld.
71
AS_IF([test "$lt_cv_prog_gnu_ld" = "yes"],[
1861.3.1 by Monty Taylor
Add a version script to the core.
72
  LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_srcdir)/config/drizzle.ver"
1712.1.1 by Monty Taylor
Merged libdrizzle directly into tree.
73
  ])
74
AC_SUBST(LD_VERSION_SCRIPT)
75
1192.3.51 by Monty Taylor
Fixes the default datadir location.
76
dnl Set the default datadir location to /usr/local/var/drizzle. If a
77
dnl localstatedir is explicitly given, just use that.
78
AS_IF([test "x${localstatedir}" = 'x${prefix}/var'],[
79
  localstatedir='${prefix}/var/drizzle'
80
])
1 by brian
clean slate
81
2221.1.8 by Monty Taylor
Adds ability to just build libdrizzle without needing all of the rest of the
82
AC_ARG_WITH([server],
83
    [AS_HELP_STRING([--without-server],
2244.1.1 by Monty Taylor
Split libdrizzle into 1.0 and 2.0. Applied the C++ changes to 2.0 branch.
84
      [Do not build the drizzled server.])],
2221.1.8 by Monty Taylor
Adds ability to just build libdrizzle without needing all of the rest of the
85
    [ pandora_cv_skip_requires="$withval" ]
86
    [ pandora_cv_skip_requires=no ])
87
88
AS_IF([test "x${pandora_cv_skip_requires}" != "xno"],[
89
90
  AC_PATH_PROG(GPERF, gperf)
91
  AS_IF([test "x$GPERF" = "x"],
92
    AC_MSG_ERROR("Drizzle requires gperf to build."))
93
94
  # libexecinfo provides backtrace_symbols on FreeBSD
95
  AC_SEARCH_LIBS(backtrace_symbols, [execinfo])
96
97
  AC_FUNC_STRERROR_R
98
99
  DRIZZLE_STACK_DIRECTION
100
101
  PANDORA_USE_BETTER_MALLOC
102
  AC_CHECK_FUNC(inet_ntoa, [], [AC_CHECK_LIB(nsl, inet_ntoa)])
103
104
105
  AC_ARG_WITH([server-suffix],
106
      [AS_HELP_STRING([--with-server-suffix],
107
        [Append value to the version string.])],
108
      [ DRIZZLE_SERVER_SUFFIX="$withval" ]
109
      [ DRIZZLE_SERVER_SUFFIX= ])
110
111
  AC_DEFINE_UNQUOTED([DRIZZLE_SERVER_SUFFIX],[$DRIZZLE_SERVER_SUFFIX],
112
    [Append value to the version string])
113
114
  AC_DEFINE([BUILDING_DRIZZLED],[1],
115
    [Define indicating we are building and not consuming drizzle.])
116
117
118
  AC_ARG_WITH([drizzled-user],
119
    [AS_HELP_STRING([--with-drizzled-user=username],
120
      [What user the drizzled daemon shall be run as.
121
      @<:@default=drizzle@:>@])],
122
    [ DRIZZLED_USER="$withval" ],
123
    [ DRIZZLED_USER=drizzle ])
124
  AC_SUBST(DRIZZLED_USER)
125
126
127
  AC_ARG_WITH([comment],
128
    [AS_HELP_STRING([--with-comment],
129
      [Comment about compilation environment. @<:@default=off@:>@])],
130
    [with_comment=$withval],
131
    [with_comment=no])
132
  AS_IF([test "$with_comment" != "no"],[
133
    COMPILATION_COMMENT=$with_comment
134
    ],[
135
    COMPILATION_COMMENT="Source distribution (${PANDORA_RELEASE_COMMENT})"
136
    ])
137
  AC_DEFINE_UNQUOTED([COMPILATION_COMMENT],["$COMPILATION_COMMENT"],
138
    [Comment about compilation environment])
139
])
1720 by Brian Aker
Merge of signals, plus build fix for FreeBSD. Also contains memset/constructor patch.
140
1099.1.6 by Monty Taylor
pandora-build v0.25
141
PANDORA_REQUIRE_LIBPROTOBUF
1200.1.1 by Jay Pipes
Update required protobuf library version to 2.1.0
142
PANDORA_PROTOBUF_REQUIRE_VERSION([2.1.0])
1099.1.6 by Monty Taylor
pandora-build v0.25
143
PANDORA_REQUIRE_PROTOC
77.1.111 by Monty Taylor
Added --enable-tcmalloc which will enable searching for and linking with tcmalloc if you have it.
144
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
145
AC_LANG_PUSH(C++)
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
146
PANDORA_REQUIRE_PTHREAD
1273.13.96 by Brian Aker
Merge Stewart.
147
PANDORA_REQUIRE_LIBUUID
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
148
PANDORA_REQUIRE_LIBZ
149
PANDORA_REQUIRE_LIBPCRE
150
PANDORA_REQUIRE_LIBREADLINE
151
PANDORA_REQUIRE_LIBDL
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
152
AC_LANG_POP
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
153
154
PANDORA_DRIZZLE_BUILD
2097.2.4 by Andrew Hutchings
Convert all unit tests to boost::test
155
PANDORA_HAVE_BOOST_TEST
1712.1.1 by Monty Taylor
Merged libdrizzle directly into tree.
156
PANDORA_HAVE_LIBSQLITE3
157
1 by brian
clean slate
158
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
159
1 by brian
clean slate
160
#########################################################################
161
162
1093.9.13 by Monty Taylor
pandora-build v0.42 - Started splitting out plugin system into pandora-build
163
dnl Has to be done late, as the plugin may need to check for existence of
164
dnl functions tested above
1530.2.5 by Monty Taylor
Renamed classes that were in drizzled::plugin but which were not meant
165
PANDORA_PLUGINS([drizzled/module/load_list.h])
1093.9.12 by Monty Taylor
Moved InnoDB specific code to InnoDB.
166
492.1.7 by Monty Taylor
Moved test() to its own file.
167
dnl GCC Precompiled Header Support
584.4.3 by Monty Taylor
Disabled pre-compiled headers for now.
168
dnl re-enable later
632.1.25 by Monty Taylor
Removed AM_CONDITIONAL from SEARCH_FOR_LIB. Aligned naming of AM_CONDITIONALS.
169
dnl AM_CONDITIONAL([BUILD_GCC_PCH],[test "$GCC" = "yes"])
170
AM_CONDITIONAL([BUILD_GCC_PCH],[test "no" = "yes"])
492.1.7 by Monty Taylor
Moved test() to its own file.
171
1861.3.1 by Monty Taylor
Add a version script to the core.
172
AS_IF([test "$lt_cv_prog_gnu_ld" = "yes"],[
173
  LDFLAGS="${LDFLAGS} ${LD_VERSION_SCRIPT}"
174
  ])
175
1992.6.5 by Monty Taylor
We need to inject a BOOST define for boost headers to do the right thing.
176
AS_IF([test "x${ac_gcc_profile_mode}" = "xyes" -a "x${pandora_cv_boost_profile}" = "xyes"],[
1992.6.4 by Monty Taylor
Added support for GCC Profile Mode (new in 4.5)
177
    AC_DEFINE([_GLIBCXX_PROFILE],[1],[Enable GCC Profile Mode])
178
    ])
179
1859.2.14 by Brian Aker
Add support for --with-valgrind
180
992.1.17 by Monty Taylor
Moved extra/ into root Makefile.am
181
AC_CONFIG_FILES(Makefile dnl
1192.3.67 by Monty Taylor
Added convenience Makefile for hudson compat.
182
 tests/Makefile dnl
1253.2.1 by Monty Taylor
Moved plugin versioning out of drizzled/configmake.h and into drizzled/plugin/version.h. Also fixed header include paths.
183
 drizzled/plugin/version.h dnl
2157.2.1 by Monty Taylor
Provide pkg-config files and also stick drizzle plugin files in a place
184
 support-files/drizzle7.pc dnl
2235.1.1 by Monty Taylor
Install into libdrizzle-1.0 location.
185
 support-files/libdrizzle-1.0.pc dnl
2244.1.1 by Monty Taylor
Split libdrizzle into 1.0 and 2.0. Applied the C++ changes to 2.0 branch.
186
 support-files/libdrizzle-2.0.pc dnl
1025.1.1 by Trond Norbye
Add configuration files to integrate to Solaris SMF
187
 support-files/smf/install.sh dnl
188
 support-files/smf/drizzle.xml dnl
189
 support-files/smf/drizzle)
1 by brian
clean slate
190
512.2.2 by C.J. Adams-Collier
added checks to determine which threading plugins have been enabled on
191
scheduling_plugins_available="
192
  pool_of_threads 
193
  single_thread
194
"
195
196
for sched_plugin in $scheduling_plugins_available
197
do
198
  varname="\${with_plugin_${sched_plugin}}"
199
  result=`eval "echo $varname"`
200
  if test "x$result" = "xyes"
201
  then
202
    scheduling_plugins="$sched_plugin $scheduling_plugins"
203
  fi
204
done
205
1 by brian
clean slate
206
AC_OUTPUT
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
207
208
echo "---"
1192.3.6 by Monty Taylor
pandora-build v0.67 - Support configure-time bzr version checking.
209
echo "Configuration summary for $PACKAGE_NAME version $VERSION $PANDORA_RELEASE_COMMENT"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
210
echo ""
211
echo "   * Installation prefix:       $prefix"
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
212
echo "   * System type:               $host_vendor-$host_os"
1644.1.1 by Monty Taylor
Added a configure summary entry for pandora-build version.
213
echo "   * pandora-build version:     PANDORA_CANONICAL_VERSION"
492.2.1 by C.J. Adams-Collier
* fixed --disable-assert code (thanks Monty)
214
echo "   * Host CPU:                  $host_cpu"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
215
echo "   * C Compiler:                $CC_VERSION"
632.1.21 by Monty Taylor
Cleaned up compiler version checking.
216
echo "   * C++ Compiler:              $CXX_VERSION"
492.2.1 by C.J. Adams-Collier
* fixed --disable-assert code (thanks Monty)
217
echo "   * Assertions enabled:        $ac_cv_assert"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
218
echo "   * Debug enabled:             $with_debug"
219
echo "   * Profiling enabled:         $ac_profiling"
220
echo "   * Coverage enabled:          $ac_coverage"
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
221
echo "   * Warnings as failure:       $ac_cv_warnings_as_errors"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
222
echo ""
223
echo "---"
908.1.4 by Monty Taylor
Fix to fake-out libtoolize, since AC_INIT is in bzr_version.m4 now.
224
1561.2.1 by Monty Taylor
Added note for freebsd about using gmake.
225
case "$host_os" in
226
  *freebsd*)
227
    echo "*****"
228
    echo "*"
229
    echo "*  NOTE: You are on FreeBSD. BSD make will not work."
230
    echo "*"
231
    echo "*   use 'gmake' To build Drizzle"
232
    echo "*"
1561.2.2 by Monty Taylor
Add note about gcc44 LD_LIBRARY_PATH.
233
    echo "*  And ensure that /usr/local/lib/gcc44 is in your LD_LIBRARY_PATH"
234
    echo "*" 
1561.2.1 by Monty Taylor
Added note for freebsd about using gmake.
235
    echo "*****"
236
  ;;
237
esac
238
239
908.1.4 by Monty Taylor
Fix to fake-out libtoolize, since AC_INIT is in bzr_version.m4 now.
240
dnl libtoolize scans configure.ac  and needs to see some text
241
m4_define([LIBTOOLIZE_AC_INIT], [])