~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])
39 by Brian Aker
Move build helper files into config
25
AC_CONFIG_AUX_DIR(config)
236.1.9 by Monty Taylor
Cleaned up configure.ac line.
26
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.
27
AC_CONFIG_MACRO_DIR([m4])
435.1.1 by Monty Taylor
Fixed -O3 optimization for gcc.
28
1085.3.4 by Monty Taylor
pandora-build v0.8
29
PANDORA_CANONICAL_TARGET(less-warnings, warnings-always-on, use-gnulib, require-cxx, force-gcc42)
1192.3.6 by Monty Taylor
pandora-build v0.67 - Support configure-time bzr version checking.
30
PANDORA_VC_VERSION
873.2.41 by Monty Taylor
Fixed the ol build for ol Solaris.
31
1 by brian
clean slate
32
873.2.4 by Monty Taylor
Fixed some configure errors.
33
AC_PATH_PROG(GPERF, gperf)
34
AS_IF([test "x$GPERF" = "x"],
917.1.5 by Monty Taylor
Added more verbose failure messages.
35
      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!!!
36
629.1.1 by Monty Taylor
More solaris fixes.
37
AC_CHECK_PROGS(YACC, ['bison -y'])
1192.3.3 by Monty Taylor
Fixed the bison test. It was erroneously checking an old variable name. Doh.
38
AS_IF([test "x$YACC" = "x" -a "$ac_cv_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.
39
  AC_MSG_ERROR(["bison is required for Drizzle to build from a bzr branch"])
1093.9.22 by Monty Taylor
Made bison check better.
40
])
1 by brian
clean slate
41
971.4.1 by Monty Taylor
GCC on Solaris build fixes.
42
1192.3.7 by Monty Taylor
Added code necessary for building plugins dynamically.
43
PANDORA_WITH_GETTEXT
1192.6.2 by Robert Collins
Merged in lifeless' fix for parallel lint and only linting changed files.
44
PANDORA_RUN_CPPLINT
919.2.22 by Monty Taylor
Fixed the latest stuff on Solaris.
45
1099.1.6 by Monty Taylor
pandora-build v0.25
46
PANDORA_REQUIRE_LIBPROTOBUF
1200.1.1 by Jay Pipes
Update required protobuf library version to 2.1.0
47
PANDORA_PROTOBUF_REQUIRE_VERSION([2.1.0])
1099.1.6 by Monty Taylor
pandora-build v0.25
48
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.
49
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
50
AC_LANG_PUSH(C++)
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
51
PANDORA_REQUIRE_PTHREAD
52
PANDORA_REQUIRE_LIBUUID
1093.2.1 by Monty Taylor
pandora-build v0.16
53
PANDORA_REQUIRE_LIBDRIZZLE
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
54
PANDORA_REQUIRE_LIBZ
55
PANDORA_REQUIRE_LIBPCRE
56
PANDORA_REQUIRE_LIBREADLINE
57
PANDORA_REQUIRE_LIBDL
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
58
AC_LANG_POP
779.1.15 by Monty Taylor
Added libdrizzle configure support.
59
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
60
PANDORA_USE_BETTER_MALLOC
61
62
PANDORA_DRIZZLE_BUILD
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
63
1 by brian
clean slate
64
28.1.39 by Monty Taylor
Made everything use AS_HELP_STRING (except for charsets, which are dying anyway)
65
AC_ARG_WITH([server-suffix],
66
    [AS_HELP_STRING([--with-server-suffix],
67
      [Append value to the version string.])],
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
68
    [ DRIZZLE_SERVER_SUFFIX=`echo "$withval" | sed -e  's/^\(...................................\)..*$/\1/'` ],
69
    [ DRIZZLE_SERVER_SUFFIX= ]
1 by brian
clean slate
70
    )
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
71
AC_DEFINE_UNQUOTED([DRIZZLE_SERVER_SUFFIX],[$DRIZZLE_SERVER_SUFFIX],
72
                   [Append value to the version string])
1 by brian
clean slate
73
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
74
75
# The port that was assigned by IANA.
76
DRIZZLE_TCP_PORT_DEFAULT=4427
77
1 by brian
clean slate
78
28.1.39 by Monty Taylor
Made everything use AS_HELP_STRING (except for charsets, which are dying anyway)
79
AC_ARG_WITH([tcp-port],
80
    [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.
81
            [Which port to use for Drizzle TCP services @<:@default=4427@:>@])],
971.3.51 by Eric Day
Finished up new Listen plugin interface.
82
    [ DRIZZLE_TCP_PORT=$withval ],
301 by Brian Aker
Clean up port startup
83
    [ DRIZZLE_TCP_PORT=$DRIZZLE_TCP_PORT_DEFAULT
1 by brian
clean slate
84
      # if we actually defaulted (as opposed to the pathological case of
301 by Brian Aker
Clean up port startup
85
      # --with-tcp-port=<DRIZZLE_TCP_PORT_DEFAULT> which might in theory
1 by brian
clean slate
86
      # happen if whole batch of servers was built from a script), set
87
      # the default to zero to indicate that; we don't lose information
88
      # that way, because 0 obviously indicates that we can get the
301 by Brian Aker
Clean up port startup
89
      # default value from DRIZZLE_TCP_PORT. this seems really evil, but
90
      # testing for DRIZZLE_TCP_PORT==DRIZZLE_TCP_PORT_DEFAULT would make a
91
      # a port of DRIZZLE_TCP_PORT_DEFAULT magic even if the builder did not
1 by brian
clean slate
92
      # 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
93
      # from /etc/services if you can", but really, really meant 4427 when
94
      # they passed in 4427. When they pass in a specific value, let them
1 by brian
clean slate
95
      # have it; don't second guess user and think we know better, this will
96
      # just make people cross.  this makes the the logic work like this
97
      # (which is complicated enough):
98
      #
99
      # - if a port was set during build, use that as a default.
100
      #
101
      # - otherwise, try to look up a port in /etc/services; if that fails,
301 by Brian Aker
Clean up port startup
102
      #   use DRIZZLE_TCP_PORT_DEFAULT (at the time of this writing 4427)
1 by brian
clean slate
103
      #
301 by Brian Aker
Clean up port startup
104
      # - allow the DRIZZLE_TCP_PORT environment variable to override that.
1 by brian
clean slate
105
      #
106
      # - allow command-line parameters to override all of the above.
107
      #
301 by Brian Aker
Clean up port startup
108
      # the top-most DRIZZLE_TCP_PORT_DEFAULT is read from win/configure.js,
1 by brian
clean slate
109
      # so don't mess with that.
301 by Brian Aker
Clean up port startup
110
      DRIZZLE_TCP_PORT_DEFAULT=0 ]
1 by brian
clean slate
111
    )
971.3.48 by Eric Day
New Listen interface about done, not quite compiling yet, but need a backup.
112
301 by Brian Aker
Clean up port startup
113
AC_SUBST(DRIZZLE_TCP_PORT)
114
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.
115
AC_DEFINE_UNQUOTED([DRIZZLE_TCP_PORT],[$DRIZZLE_TCP_PORT],
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
116
                   [Drizzle port to use])
971.3.48 by Eric Day
New Listen interface about done, not quite compiling yet, but need a backup.
117
AC_DEFINE_UNQUOTED([DRIZZLE_TCP_PORT_DEFAULT],[$DRIZZLE_TCP_PORT_DEFAULT],
118
                   [If we defaulted to DRIZZLE_PORT, then this will be zero])
119
1 by brian
clean slate
120
121
# 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.
122
AC_ARG_WITH([drizzled-user],
123
    [AS_HELP_STRING([--with-drizzled-user=username],
124
            [What user the drizzled daemon shall be run as.
125
		@<:@default=drizzle@:>@])],
126
    [ DRIZZLED_USER=$withval ],
127
    [ DRIZZLED_USER=drizzle ]
1 by brian
clean slate
128
    )
572.2.1 by ysano
Replace --with-mysqld-user configure option with --with-drizzled-user.
129
AC_SUBST(DRIZZLED_USER)
1 by brian
clean slate
130
131
# If we should allow LOAD DATA LOCAL
132
AC_MSG_CHECKING(If we should should enable LOAD DATA LOCAL by default)
133
AC_ARG_ENABLE(local-infile,
134
    [  --enable-local-infile   Enable LOAD DATA LOCAL INFILE (default: disabled)],
135
    [ ENABLED_LOCAL_INFILE=$enableval ],
136
    [ ENABLED_LOCAL_INFILE=no ]
137
    )
138
if test "$ENABLED_LOCAL_INFILE" = "yes"
139
then
140
  AC_MSG_RESULT([yes])
141
  AC_DEFINE([ENABLED_LOCAL_INFILE], [1],
142
            [If LOAD DATA LOCAL INFILE should be enabled by default])
143
else
144
  AC_MSG_RESULT([no])
145
fi
146
28.1.39 by Monty Taylor
Made everything use AS_HELP_STRING (except for charsets, which are dying anyway)
147
AC_ARG_WITH([comment],
148
    [AS_HELP_STRING([--with-comment],
149
            [Comment about compilation environment. @<:@default=off@:>@])],
1 by brian
clean slate
150
    [with_comment=$withval],
151
    [with_comment=no])
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
152
AS_IF([test "$with_comment" != "no"],[
1 by brian
clean slate
153
  COMPILATION_COMMENT=$with_comment
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
154
],[
1192.3.7 by Monty Taylor
Added code necessary for building plugins dynamically.
155
  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
156
])
546 by Monty Taylor
Cleaned up version.h. (And by cleaned, I mean removed)
157
AC_DEFINE_UNQUOTED([COMPILATION_COMMENT],["$COMPILATION_COMMENT"],
158
                   [Comment about compilation environment])
1 by brian
clean slate
159
1192.3.28 by Monty Taylor
pandora-build v0.72 - Moved remaining hard-coded tests into pandora-build
160
161
AC_ARG_WITH([max-indexes],
162
            AS_HELP_STRING([--with-max-indexes=N],
163
                           [Sets the maximum number of indexes per table, default 64]),
164
            [max_indexes="$withval"],
165
            [max_indexes=64])
166
AC_MSG_CHECKING([max indexes per table])
167
AC_DEFINE_UNQUOTED([MAX_INDEXES], [$max_indexes],
168
                   [Maximum number of indexes per table])
169
AC_MSG_RESULT([$max_indexes])
170
1 by brian
clean slate
171
172
#########################################################################
173
174
1093.9.13 by Monty Taylor
pandora-build v0.42 - Started splitting out plugin system into pandora-build
175
dnl Has to be done late, as the plugin may need to check for existence of
176
dnl functions tested above
1126.6.2 by Monty Taylor
Split plugin builtins defines into their own header to ease rebuild issues.
177
PANDORA_PLUGINS([drizzled/plugin/config.h])
1093.9.12 by Monty Taylor
Moved InnoDB specific code to InnoDB.
178
492.1.7 by Monty Taylor
Moved test() to its own file.
179
dnl GCC Precompiled Header Support
584.4.3 by Monty Taylor
Disabled pre-compiled headers for now.
180
dnl re-enable later
632.1.25 by Monty Taylor
Removed AM_CONDITIONAL from SEARCH_FOR_LIB. Aligned naming of AM_CONDITIONALS.
181
dnl AM_CONDITIONAL([BUILD_GCC_PCH],[test "$GCC" = "yes"])
182
AM_CONDITIONAL([BUILD_GCC_PCH],[test "no" = "yes"])
492.1.7 by Monty Taylor
Moved test() to its own file.
183
992.1.17 by Monty Taylor
Moved extra/ into root Makefile.am
184
AC_CONFIG_FILES(Makefile dnl
815.1.1 by Monty Taylor
Add timegm which is missing on Solaris.
185
 gnulib/Makefile dnl
575.2.2 by Monty Taylor
Moved vio stuff into libdrizzle.
186
 po/Makefile.in dnl
1143.2.9 by Jay Pipes
Merge Monty's fixes for moving crc32 function into a library.
187
 drizzled/hash/Makefile dnl
988.1.1 by Jay Pipes
Changes libserialize to libdrizzledmessage per ML discussion. All GPB messages are now in the drizzled::message namespace.
188
 drizzled/message/Makefile dnl
997.2.19 by Monty Taylor
Reverted back to building drizzled in drizzled.
189
 drizzled/Makefile dnl
28.1.31 by Monty Taylor
Deleted tons of pointless garbage from scripts.
190
 support-files/Makefile dnl
77.1.47 by Monty Taylor
Moved test to tests...
191
 tests/Makefile tests/install_test_db dnl
1025.1.1 by Trond Norbye
Add configuration files to integrate to Solaris SMF
192
 support-files/drizzle.server support-files/drizzle-log-rotate
193
 support-files/smf/Makefile dnl
194
 support-files/smf/install.sh dnl
195
 support-files/smf/drizzle.xml dnl
196
 support-files/smf/drizzle)
1 by brian
clean slate
197
512.2.2 by C.J. Adams-Collier
added checks to determine which threading plugins have been enabled on
198
scheduling_plugins_available="
199
  pool_of_threads 
200
  single_thread
201
"
202
203
for sched_plugin in $scheduling_plugins_available
204
do
205
  varname="\${with_plugin_${sched_plugin}}"
206
  result=`eval "echo $varname"`
207
  if test "x$result" = "xyes"
208
  then
209
    scheduling_plugins="$sched_plugin $scheduling_plugins"
210
  fi
211
done
212
1 by brian
clean slate
213
AC_OUTPUT
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
214
215
echo "---"
1192.3.6 by Monty Taylor
pandora-build v0.67 - Support configure-time bzr version checking.
216
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>
217
echo ""
218
echo "   * Installation prefix:       $prefix"
1081.1.1 by Monty Taylor
Whole boat-load of build fixes.
219
echo "   * System type:               $host_vendor-$host_os"
492.2.1 by C.J. Adams-Collier
* fixed --disable-assert code (thanks Monty)
220
echo "   * Host CPU:                  $host_cpu"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
221
echo "   * C Compiler:                $CC_VERSION"
632.1.21 by Monty Taylor
Cleaned up compiler version checking.
222
echo "   * C++ Compiler:              $CXX_VERSION"
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
223
echo "   * Build auth_pam:            $ac_cv_libpam"
492.2.1 by C.J. Adams-Collier
* fixed --disable-assert code (thanks Monty)
224
echo "   * Assertions enabled:        $ac_cv_assert"
489.2.1 by C.J. Adams-Collier
2008-10-07T1437 C.J. Adams-Collier <cjac@colliertech.org>
225
echo "   * Debug enabled:             $with_debug"
226
echo "   * Profiling enabled:         $ac_profiling"
227
echo "   * Coverage enabled:          $ac_coverage"
1085.1.3 by Monty Taylor
Split out warnings - start using the pandora build system.
228
echo "   * Warnings as failure:       $ac_cv_warnings_as_errors"
492.2.1 by C.J. Adams-Collier
* fixed --disable-assert code (thanks Monty)
229
echo "   * C++ cstdint location:      $ac_cv_cxx_cstdint"
230
echo "   * C++ hash_map location:     $ac_cv_cxx_hash_map"
231
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.
232
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>
233
echo ""
234
echo "---"
908.1.4 by Monty Taylor
Fix to fake-out libtoolize, since AC_INIT is in bzr_version.m4 now.
235
236
dnl libtoolize scans configure.ac  and needs to see some text
237
m4_define([LIBTOOLIZE_AC_INIT], [])