~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.
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
23
AC_INIT([drizzle],[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])
435.1.1 by Monty Taylor
Fixed -O3 optimization for gcc.
26
1712.1.1 by Monty Taylor
Merged libdrizzle directly into tree.
27
PANDORA_CANONICAL_TARGET(less-warnings, warnings-always-on, require-cxx, force-gcc42, version-from-vc, skip-visibility)
28
29
LIBDRIZZLE_LIBRARY_VERSION=0:8:0
30
#                          | | |
31
#                   +------+ | +---+
32
#                   |        |     |
33
#                current:revision:age
34
#                   |        |     |
1724.2.1 by Monty Taylor
It would _REALLY_ help if I could get this right. For once.
35
#                   |        |     +- increment if interfaces have been added
1712.1.1 by Monty Taylor
Merged libdrizzle directly into tree.
36
#                   |        |        set to zero if interfaces have been
37
#                   |        |        removed or changed
38
#                   |        +- increment if source code has changed
39
#                   |           set to zero if current is incremented
40
#                   +- increment if interfaces have been added, removed or
41
#                      changed
42
AC_SUBST(LIBDRIZZLE_LIBRARY_VERSION)
43
44
# libdrizzle versioning when linked with GNU ld.
45
AS_IF([test "$lt_cv_prog_gnu_ld" = "yes"],[
46
  LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_srcdir)/libdrizzle/libdrizzle.ver"
47
  ])
48
AC_SUBST(LD_VERSION_SCRIPT)
49
873.2.41 by Monty Taylor
Fixed the ol build for ol Solaris.
50
1192.3.51 by Monty Taylor
Fixes the default datadir location.
51
dnl Set the default datadir location to /usr/local/var/drizzle. If a
52
dnl localstatedir is explicitly given, just use that.
53
AS_IF([test "x${localstatedir}" = 'x${prefix}/var'],[
54
  localstatedir='${prefix}/var/drizzle'
55
])
1 by brian
clean slate
56
873.2.4 by Monty Taylor
Fixed some configure errors.
57
AC_PATH_PROG(GPERF, gperf)
58
AS_IF([test "x$GPERF" = "x"],
917.1.5 by Monty Taylor
Added more verbose failure messages.
59
      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!!!
60
1730.7.1 by Hartmut Holzgraefe
various lcov related changes
61
AC_PATH_PROG(LCOV, lcov)
62
AC_PATH_PROG(LCOV_GENHTML, genhtml)
63
629.1.1 by Monty Taylor
More solaris fixes.
64
AC_CHECK_PROGS(YACC, ['bison -y'])
1730.7.4 by Hartmut Holzgraefe
lex/yacc check for Innobase modified
65
AS_IF([test "x$YACC" = "x" -a "$pandora_building_from_bzr" = "yes"],[
66
   AC_MSG_ERROR(["bison is required for Drizzle to build from a bzr branch"])
67
])
1730.7.1 by Hartmut Holzgraefe
various lcov related changes
68
AS_IF([test "x$YACC" = "x"],[
69
  YACC='if test -f "$@"; then echo "WARNING: no proper bison binary found, ignoring changes to $<"; exit 0; else echo "ERROR: no proper bison binary found"; exit 1; fi;'
1093.9.22 by Monty Taylor
Made bison check better.
70
])
1730.7.4 by Hartmut Holzgraefe
lex/yacc check for Innobase modified
71
1720 by Brian Aker
Merge of signals, plus build fix for FreeBSD. Also contains memset/constructor patch.
72
# libexecinfo provides backtrace_symbols on FreeBSD
73
AC_SEARCH_LIBS(backtrace_symbols, [execinfo])
74
1192.6.2 by Robert Collins
Merged in lifeless' fix for parallel lint and only linting changed files.
75
PANDORA_RUN_CPPLINT
919.2.22 by Monty Taylor
Fixed the latest stuff on Solaris.
76
1099.1.6 by Monty Taylor
pandora-build v0.25
77
PANDORA_REQUIRE_LIBPROTOBUF
1200.1.1 by Jay Pipes
Update required protobuf library version to 2.1.0
78
PANDORA_PROTOBUF_REQUIRE_VERSION([2.1.0])
1099.1.6 by Monty Taylor
pandora-build v0.25
79
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.
80
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
81
AC_LANG_PUSH(C++)
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
82
PANDORA_REQUIRE_PTHREAD
1273.13.96 by Brian Aker
Merge Stewart.
83
PANDORA_REQUIRE_LIBUUID
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
84
PANDORA_REQUIRE_LIBZ
85
PANDORA_REQUIRE_LIBPCRE
86
PANDORA_REQUIRE_LIBREADLINE
87
PANDORA_REQUIRE_LIBDL
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
88
AC_LANG_POP
779.1.15 by Monty Taylor
Added libdrizzle configure support.
89
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
90
PANDORA_USE_BETTER_MALLOC
91
92
PANDORA_DRIZZLE_BUILD
1625.1.1 by Monty Taylor
Fixed the visibility header to match the project name.
93
AC_DEFINE([BUILDING_DRIZZLED],[1],
1241.9.4 by Monty Taylor
Beginnings of what we need to do to support -fvisibility=hidden.
94
          [Define indicating we are building and not consuming drizzle.])
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
95
1491.6.7 by Monty Taylor
Made gtest optional.
96
PANDORA_HAVE_LIBGTEST
1712.1.1 by Monty Taylor
Merged libdrizzle directly into tree.
97
PANDORA_HAVE_LIBSQLITE3
98
99
AC_CHECK_FUNC(inet_ntoa, [], [AC_CHECK_LIB(nsl, inet_ntoa)])
100
1 by brian
clean slate
101
28.1.39 by Monty Taylor
Made everything use AS_HELP_STRING (except for charsets, which are dying anyway)
102
AC_ARG_WITH([server-suffix],
103
    [AS_HELP_STRING([--with-server-suffix],
104
      [Append value to the version string.])],
1192.3.41 by Monty Taylor
Removed more unused bits.
105
    [ DRIZZLE_SERVER_SUFFIX="$withval" ]
106
    [ DRIZZLE_SERVER_SUFFIX= ])
107
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
108
AC_DEFINE_UNQUOTED([DRIZZLE_SERVER_SUFFIX],[$DRIZZLE_SERVER_SUFFIX],
109
                   [Append value to the version string])
1 by brian
clean slate
110
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
111
572.2.1 by ysano
Replace --with-mysqld-user configure option with --with-drizzled-user.
112
AC_ARG_WITH([drizzled-user],
113
    [AS_HELP_STRING([--with-drizzled-user=username],
114
            [What user the drizzled daemon shall be run as.
115
		@<:@default=drizzle@:>@])],
1192.3.41 by Monty Taylor
Removed more unused bits.
116
    [ DRIZZLED_USER="$withval" ],
117
    [ DRIZZLED_USER=drizzle ])
572.2.1 by ysano
Replace --with-mysqld-user configure option with --with-drizzled-user.
118
AC_SUBST(DRIZZLED_USER)
1 by brian
clean slate
119
120
28.1.39 by Monty Taylor
Made everything use AS_HELP_STRING (except for charsets, which are dying anyway)
121
AC_ARG_WITH([comment],
122
    [AS_HELP_STRING([--with-comment],
123
            [Comment about compilation environment. @<:@default=off@:>@])],
1 by brian
clean slate
124
    [with_comment=$withval],
125
    [with_comment=no])
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
126
AS_IF([test "$with_comment" != "no"],[
1 by brian
clean slate
127
  COMPILATION_COMMENT=$with_comment
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
128
],[
1192.3.7 by Monty Taylor
Added code necessary for building plugins dynamically.
129
  COMPILATION_COMMENT="Source distribution (${PANDORA_RELEASE_COMMENT})"
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
130
])
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
131
AC_DEFINE_UNQUOTED([COMPILATION_COMMENT],["$COMPILATION_COMMENT"],
132
                   [Comment about compilation environment])
1 by brian
clean slate
133
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
134
1 by brian
clean slate
135
#########################################################################
136
137
1093.9.13 by Monty Taylor
pandora-build v0.42 - Started splitting out plugin system into pandora-build
138
dnl Has to be done late, as the plugin may need to check for existence of
139
dnl functions tested above
1530.2.5 by Monty Taylor
Renamed classes that were in drizzled::plugin but which were not meant
140
PANDORA_PLUGINS([drizzled/module/load_list.h])
1093.9.12 by Monty Taylor
Moved InnoDB specific code to InnoDB.
141
492.1.7 by Monty Taylor
Moved test() to its own file.
142
dnl GCC Precompiled Header Support
584.4.3 by Monty Taylor
Disabled pre-compiled headers for now.
143
dnl re-enable later
632.1.25 by Monty Taylor
Removed AM_CONDITIONAL from SEARCH_FOR_LIB. Aligned naming of AM_CONDITIONALS.
144
dnl AM_CONDITIONAL([BUILD_GCC_PCH],[test "$GCC" = "yes"])
145
AM_CONDITIONAL([BUILD_GCC_PCH],[test "no" = "yes"])
492.1.7 by Monty Taylor
Moved test() to its own file.
146
992.1.17 by Monty Taylor
Moved extra/ into root Makefile.am
147
AC_CONFIG_FILES(Makefile dnl
1192.3.67 by Monty Taylor
Added convenience Makefile for hudson compat.
148
 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.
149
 drizzled/plugin/version.h dnl
1712.1.1 by Monty Taylor
Merged libdrizzle directly into tree.
150
 support-files/libdrizzle.pc dnl
1025.1.1 by Trond Norbye
Add configuration files to integrate to Solaris SMF
151
 support-files/drizzle.server support-files/drizzle-log-rotate
152
 support-files/smf/install.sh dnl
1286.1.2 by Brian Aker
Added very basic RPM support.
153
 support-files/drizzle.spec dnl
1025.1.1 by Trond Norbye
Add configuration files to integrate to Solaris SMF
154
 support-files/smf/drizzle.xml dnl
155
 support-files/smf/drizzle)
1 by brian
clean slate
156
512.2.2 by C.J. Adams-Collier
added checks to determine which threading plugins have been enabled on
157
scheduling_plugins_available="
158
  pool_of_threads 
159
  single_thread
160
"
161
162
for sched_plugin in $scheduling_plugins_available
163
do
164
  varname="\${with_plugin_${sched_plugin}}"
165
  result=`eval "echo $varname"`
166
  if test "x$result" = "xyes"
167
  then
168
    scheduling_plugins="$sched_plugin $scheduling_plugins"
169
  fi
170
done
171
1 by brian
clean slate
172
AC_OUTPUT
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
173
174
echo "---"
1192.3.6 by Monty Taylor
pandora-build v0.67 - Support configure-time bzr version checking.
175
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>
176
echo ""
177
echo "   * Installation prefix:       $prefix"
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
178
echo "   * System type:               $host_vendor-$host_os"
1644.1.1 by Monty Taylor
Added a configure summary entry for pandora-build version.
179
echo "   * pandora-build version:     PANDORA_CANONICAL_VERSION"
492.2.1 by C.J. Adams-Collier
* fixed --disable-assert code (thanks Monty)
180
echo "   * Host CPU:                  $host_cpu"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
181
echo "   * C Compiler:                $CC_VERSION"
632.1.21 by Monty Taylor
Cleaned up compiler version checking.
182
echo "   * C++ Compiler:              $CXX_VERSION"
492.2.1 by C.J. Adams-Collier
* fixed --disable-assert code (thanks Monty)
183
echo "   * Assertions enabled:        $ac_cv_assert"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
184
echo "   * Debug enabled:             $with_debug"
185
echo "   * Profiling enabled:         $ac_profiling"
186
echo "   * Coverage enabled:          $ac_coverage"
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
187
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>
188
echo ""
189
echo "---"
908.1.4 by Monty Taylor
Fix to fake-out libtoolize, since AC_INIT is in bzr_version.m4 now.
190
1561.2.1 by Monty Taylor
Added note for freebsd about using gmake.
191
case "$host_os" in
192
  *freebsd*)
193
    echo "*****"
194
    echo "*"
195
    echo "*  NOTE: You are on FreeBSD. BSD make will not work."
196
    echo "*"
197
    echo "*   use 'gmake' To build Drizzle"
198
    echo "*"
1561.2.2 by Monty Taylor
Add note about gcc44 LD_LIBRARY_PATH.
199
    echo "*  And ensure that /usr/local/lib/gcc44 is in your LD_LIBRARY_PATH"
200
    echo "*" 
1561.2.1 by Monty Taylor
Added note for freebsd about using gmake.
201
    echo "*****"
202
  ;;
203
esac
204
205
908.1.4 by Monty Taylor
Fix to fake-out libtoolize, since AC_INIT is in bzr_version.m4 now.
206
dnl libtoolize scans configure.ac  and needs to see some text
207
m4_define([LIBTOOLIZE_AC_INIT], [])