Merge lp:~mordred/gearmand/update-build into lp:gearmand/1.0
- update-build
- Merge into 1.0
Proposed by
Monty Taylor
Status: | Merged |
---|---|
Merge reported by: | Brian Aker |
Merged at revision: | not available |
Proposed branch: | lp:~mordred/gearmand/update-build |
Merge into: | lp:gearmand/1.0 |
Diff against target: |
5832 lines (+3766/-372) 108 files modified
.quickly (+5/-0) bin/arguments.cc (+3/-1) bin/arguments.h (+3/-0) bin/client.h (+2/-1) bin/function.cc (+4/-3) bin/worker.h (+2/-1) config/autorun.sh (+3/-3) config/lcov.am (+42/-0) config/pandora-plugin (+752/-0) configure.ac (+1/-1) libgearman-server/byte.h (+2/-1) libgearman-server/plugins/protocol/http/protocol.cc (+2/-1) libgearman-server/plugins/queue/drizzle/include.am (+3/-0) libgearman-server/plugins/queue/drizzle/queue.cc (+14/-1) libgearman-server/plugins/queue/libmemcached/queue.cc (+1/-1) libgearman-server/plugins/queue/postgres/queue.cc (+6/-1) libgearman-server/plugins/queue/sqlite/queue.cc (+12/-2) libgearman-server/plugins/queue/tokyocabinet/queue.cc (+6/-1) libgearman/client.cc (+27/-26) libgearman/connection.cc (+22/-21) libgearman/job.cc (+3/-3) libgearman/task.cc (+1/-1) libgearman/universal.cc (+4/-4) libgearman/worker.cc (+15/-14) libtest/test.h (+4/-0) m4/iconv.m4 (+214/-0) m4/pandora_64bit.m4 (+5/-5) m4/pandora_bison.m4 (+33/-0) m4/pandora_canonical.m4 (+16/-14) m4/pandora_check_compiler_version.m4 (+2/-2) m4/pandora_check_cxx_standard.m4 (+3/-3) m4/pandora_cinttypes.m4 (+5/-0) m4/pandora_compile_stdcxx_0x.m4 (+103/-0) m4/pandora_cstdint.m4 (+5/-0) m4/pandora_cxx_demangle.m4 (+2/-2) m4/pandora_drizzle_build.m4 (+18/-47) m4/pandora_enable_dtrace.m4 (+37/-20) m4/pandora_ensure_gcc_version.m4 (+41/-18) m4/pandora_extensions.m4 (+2/-2) m4/pandora_fdatasync.m4 (+2/-2) m4/pandora_flex.m4 (+33/-0) m4/pandora_have_better_malloc.m4 (+2/-4) m4/pandora_have_boost.m4 (+93/-0) m4/pandora_have_gcc_atomics.m4 (+2/-2) m4/pandora_have_libaio.m4 (+56/-0) m4/pandora_have_libavahi.m4 (+3/-3) m4/pandora_have_libbdb.m4 (+3/-3) m4/pandora_have_libboost_date_time.m4 (+46/-0) m4/pandora_have_libboost_filesystem.m4 (+48/-0) m4/pandora_have_libboost_iostreams.m4 (+49/-0) m4/pandora_have_libboost_options.m4 (+47/-0) m4/pandora_have_libboost_regex.m4 (+54/-0) m4/pandora_have_libboost_test.m4 (+45/-0) m4/pandora_have_libboost_thread.m4 (+54/-0) m4/pandora_have_libcassandra.m4 (+1/-1) m4/pandora_have_libcurl.m4 (+62/-0) m4/pandora_have_libdl.m4 (+3/-3) m4/pandora_have_libdrizzle.m4 (+13/-4) m4/pandora_have_libevent.m4 (+3/-3) m4/pandora_have_libgearman.m4 (+3/-3) m4/pandora_have_libgtest.m4 (+47/-0) m4/pandora_have_libhaildb.m4 (+43/-0) m4/pandora_have_libhashkit.m4 (+42/-0) m4/pandora_have_libldap.m4 (+73/-0) m4/pandora_have_libmemcached.m4 (+21/-45) m4/pandora_have_libmysqlclient.m4 (+5/-5) m4/pandora_have_libndbclient.m4 (+80/-0) m4/pandora_have_libpcre.m4 (+73/-0) m4/pandora_have_libpq.m4 (+3/-3) m4/pandora_have_libpqxx.m4 (+44/-0) m4/pandora_have_libreadline.m4 (+3/-3) m4/pandora_have_libsqlite3.m4 (+3/-3) m4/pandora_have_libtokyocabinet.m4 (+3/-3) m4/pandora_have_libuuid.m4 (+3/-3) m4/pandora_have_libvbucket.m4 (+40/-0) m4/pandora_have_libxml2.m4 (+3/-3) m4/pandora_have_libz.m4 (+3/-3) m4/pandora_have_protobuf.m4 (+6/-4) m4/pandora_have_sasl.m4 (+133/-0) m4/pandora_have_thrift.m4 (+1/-1) m4/pandora_header_assert.m4 (+2/-2) m4/pandora_header_stdcxx_98.m4 (+83/-0) m4/pandora_intltool.m4 (+225/-0) m4/pandora_libtool.m4 (+3/-3) m4/pandora_optimize.m4 (+6/-10) m4/pandora_platform.m4 (+30/-3) m4/pandora_plugins.m4 (+14/-5) m4/pandora_print_callstack.m4 (+2/-2) m4/pandora_pthread.m4 (+1/-1) m4/pandora_python3_devel.m4 (+9/-9) m4/pandora_sasl.m4 (+5/-5) m4/pandora_shared_ptr.m4 (+2/-2) m4/pandora_stl_hash.m4 (+6/-1) m4/pandora_vc_build.m4 (+53/-9) m4/pandora_version.m4 (+2/-2) m4/pandora_visibility.m4 (+14/-4) m4/pandora_warnings.m4 (+1/-1) m4/pandora_with_lua.m4 (+55/-0) m4/pandora_with_memcached.m4 (+3/-3) m4/pandora_with_php.m4 (+1/-1) m4/pandora_with_python.m4 (+1/-1) m4/pandora_with_python3.m4 (+1/-1) m4/pandora_with_valgrind.m4 (+17/-0) m4/po.m4 (+449/-0) m4/progtest.m4 (+92/-0) util/instance.h (+5/-1) util/operation.h (+6/-1) util/pidfile.cc (+2/-1) |
To merge this branch: | bzr merge lp:~mordred/gearmand/update-build |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Gearman-developers | Pending | ||
Review via email: mp+57985@code.launchpad.net |
Commit message
Description of the change
Updated the pandora-build stuff. This should properly die on too old libmemcached, find new libdrizzle and fix the various c++ warnings.
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file '.quickly' |
2 | --- .quickly 1970-01-01 00:00:00 +0000 |
3 | +++ .quickly 2011-04-16 05:39:23 +0000 |
4 | @@ -0,0 +1,5 @@ |
5 | +project = gearmand |
6 | +version = 0.4.2 |
7 | +template = pandora-build |
8 | +project-type = application |
9 | +pandora-version = 0.176 |
10 | |
11 | === modified file 'bin/arguments.cc' |
12 | --- bin/arguments.cc 2011-04-13 04:12:34 +0000 |
13 | +++ bin/arguments.cc 2011-04-16 05:39:23 +0000 |
14 | @@ -26,6 +26,7 @@ |
15 | { |
16 | |
17 | Args::Args(int p_argc, char *p_argv[]) : |
18 | + _functions(), |
19 | _host(NULL), |
20 | _port(0), |
21 | _count(0), |
22 | @@ -41,7 +42,8 @@ |
23 | _priority(GEARMAN_JOB_PRIORITY_NORMAL), |
24 | _timeout(-1), |
25 | argv(p_argv), |
26 | - _error(0) |
27 | + _error(0), |
28 | + _pid_file("") |
29 | { |
30 | init(p_argc); |
31 | } |
32 | |
33 | === modified file 'bin/arguments.h' |
34 | --- bin/arguments.h 2011-03-03 07:48:59 +0000 |
35 | +++ bin/arguments.h 2011-04-16 05:39:23 +0000 |
36 | @@ -162,6 +162,9 @@ |
37 | { |
38 | _functions.push_back(Function(name)); |
39 | } |
40 | + |
41 | + Args(const Args&); |
42 | + Args& operator=(const Args&); |
43 | }; |
44 | |
45 | } // namespace gearman_client |
46 | |
47 | === modified file 'bin/client.h' |
48 | --- bin/client.h 2011-03-08 20:32:44 +0000 |
49 | +++ bin/client.h 2011-04-16 05:39:23 +0000 |
50 | @@ -40,7 +40,8 @@ |
51 | class Client |
52 | { |
53 | public: |
54 | - Client() |
55 | + Client() : |
56 | + _client() |
57 | { |
58 | if (gearman_client_create(&_client) == NULL) |
59 | { |
60 | |
61 | === modified file 'bin/function.cc' |
62 | --- bin/function.cc 2011-03-03 07:48:59 +0000 |
63 | +++ bin/function.cc 2011-04-16 05:39:23 +0000 |
64 | @@ -14,10 +14,11 @@ |
65 | |
66 | namespace gearman_client |
67 | { |
68 | -Function::Function(const char *name_arg) |
69 | +Function::Function(const char *name_arg) : |
70 | + _name(), |
71 | + _task(), |
72 | + _buffer() |
73 | { |
74 | - memset(&_task, 0, sizeof(gearman_task_st)); |
75 | - |
76 | // copy the name into the _name vector |
77 | size_t length= strlen(name_arg); |
78 | _name.resize(length +1); |
79 | |
80 | === modified file 'bin/worker.h' |
81 | --- bin/worker.h 2011-03-08 20:32:44 +0000 |
82 | +++ bin/worker.h 2011-04-16 05:39:23 +0000 |
83 | @@ -40,7 +40,8 @@ |
84 | class Worker |
85 | { |
86 | public: |
87 | - Worker() |
88 | + Worker() : |
89 | + _worker() |
90 | { |
91 | if (gearman_worker_create(&_worker) == NULL) |
92 | { |
93 | |
94 | === modified file 'config/autorun.sh' |
95 | --- config/autorun.sh 2009-12-18 18:02:39 +0000 |
96 | +++ config/autorun.sh 2011-04-16 05:39:23 +0000 |
97 | @@ -1,7 +1,7 @@ |
98 | #!/bin/sh |
99 | # |
100 | -# Copyright (c) 2006 Jan Kneschke |
101 | -# Copyright (c) 2009 Sun Microsystems |
102 | +# Copyright (C) 2006 Jan Kneschke |
103 | +# Copyright (C) 2009 Sun Microsystems, Inc. |
104 | # All rights reserved. |
105 | # |
106 | # Redistribution and use in source and binary forms, with or without |
107 | @@ -35,7 +35,7 @@ |
108 | LIBTOOLIZE_FLAGS=" --automake --copy --force" |
109 | # --add-missing instructs automake to install missing auxiliary files |
110 | # and --force to overwrite them if they already exist |
111 | -AUTOMAKE_FLAGS="--add-missing --copy --force" |
112 | +AUTOMAKE_FLAGS="--add-missing --copy --force --foreign" |
113 | ACLOCAL_FLAGS="-I m4" |
114 | |
115 | ARGV0=$0 |
116 | |
117 | === added file 'config/lcov.am' |
118 | --- config/lcov.am 1970-01-01 00:00:00 +0000 |
119 | +++ config/lcov.am 2011-04-16 05:39:23 +0000 |
120 | @@ -0,0 +1,42 @@ |
121 | +# Copyright (C) 2010 Hartmut Holzgraefe |
122 | +# |
123 | +# This program is free software; you can redistribute it and/or modify |
124 | +# it under the terms of the GNU General Public License as published by |
125 | +# the Free Software Foundation; version 2 of the License. |
126 | +# |
127 | +# This program is distributed in the hope that it will be useful, |
128 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
129 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
130 | +# GNU General Public License for more details. |
131 | +# |
132 | +# You should have received a copy of the GNU General Public License |
133 | +# along with this program; if not, write to the Free Software |
134 | +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
135 | + |
136 | +LCOV = lcov |
137 | +LCOV_GENHTML = genhtml |
138 | + |
139 | +lcov: lcov-html |
140 | + |
141 | +lcov-test: lcov-clean-data test |
142 | + |
143 | +drizzle_lcov.info: lcov-test |
144 | + @echo "Generating $@" |
145 | + $(LCOV) --directory . --capture --base-directory . --output-file $@ |
146 | + $(LCOV) --remove $@ '/usr/include/*' --output-file $@ |
147 | + $(LCOV) --remove $@ '/usr/local/include/*' --output-file $@ |
148 | + @echo |
149 | + |
150 | +lcov-html: drizzle_lcov.info |
151 | + @echo "Generating lcov HTML" |
152 | + @$(LCOV_GENHTML) --legend --output-directory lcov_html/ --title "Drizzle Code Coverage" $< |
153 | + |
154 | +lcov-clean: |
155 | + rm -f drizzle_lcov.info |
156 | + rm -rf lcov_data/ |
157 | + rm -rf lcov_html/ |
158 | + |
159 | +lcov-clean-data: |
160 | + @find . -name \*.gcda -o -name \*.da -o -name \*.bbg? | xargs rm -f |
161 | + |
162 | + |
163 | |
164 | === added file 'config/pandora-plugin' |
165 | --- config/pandora-plugin 1970-01-01 00:00:00 +0000 |
166 | +++ config/pandora-plugin 2011-04-16 05:39:23 +0000 |
167 | @@ -0,0 +1,752 @@ |
168 | +#!/usr/bin/python |
169 | + |
170 | +# Copyright (C) 2009 Sun Microsystems, Inc. |
171 | +# Copyright (C) 2010, 2011 Monty Taylor |
172 | +# |
173 | +# This program is free software; you can redistribute it and/or modify |
174 | +# it under the terms of the GNU General Public License as published by |
175 | +# the Free Software Foundation; version 2 of the License. |
176 | +# |
177 | +# This program is distributed in the hope that it will be useful, |
178 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
179 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
180 | +# GNU General Public License for more details. |
181 | +# |
182 | +# You should have received a copy of the GNU General Public License |
183 | +# along with this program; if not, write to the Free Software |
184 | +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
185 | + |
186 | +pandora_plugin_file = 'config/pandora-plugin.ini' |
187 | + |
188 | +# Find plugins in the tree and add them to the build system |
189 | + |
190 | +import ConfigParser, os, sys |
191 | +import datetime, time |
192 | +import subprocess |
193 | + |
194 | +plugin_am_file=None |
195 | +plugin_ac_file=None |
196 | +plugin_doc_index=None |
197 | + |
198 | +class ChangeProtectedFile(object): |
199 | + |
200 | + def __init__(self, fname): |
201 | + self.bogus_file= False |
202 | + self.real_fname= fname |
203 | + self.new_fname= "%s.new" % fname |
204 | + try: |
205 | + self.new_file= open(self.new_fname,'w+') |
206 | + except IOError: |
207 | + self.bogus_file= True |
208 | + |
209 | + def write(self, text): |
210 | + if not self.bogus_file: |
211 | + self.new_file.write(text) |
212 | + |
213 | + # We've written all of this out into .new files, now we only copy them |
214 | + # over the old ones if they are different, so that we don't cause |
215 | + # unnecessary recompiles |
216 | + def close(self): |
217 | + """Return True if the file had changed.""" |
218 | + if self.bogus_file: |
219 | + return |
220 | + self.new_file.seek(0) |
221 | + new_content = self.new_file.read() |
222 | + self.new_file.close() |
223 | + try: |
224 | + old_file = file(self.real_fname, 'r') |
225 | + old_content = old_file.read() |
226 | + old_file.close() |
227 | + except IOError: |
228 | + old_content = None |
229 | + if new_content != old_content: |
230 | + if old_content != None: |
231 | + os.unlink(self.real_fname) |
232 | + os.rename(self.new_fname, self.real_fname) |
233 | + return True |
234 | + else: |
235 | + try: |
236 | + os.unlink(self.new_fname) |
237 | + except: |
238 | + pass |
239 | + |
240 | + |
241 | +def write_external_configure(plugin, plugin_file): |
242 | + """Write the initial bits of the configure.ac file""" |
243 | + if not os.path.exists('m4'): |
244 | + os.mkdir('m4') |
245 | + plugin_file.write(""" |
246 | +AC_PREREQ(2.59)dnl Minimum Autoconf version required. |
247 | +AC_INIT([%(name)s],[%(version)s],[%(url)s]) |
248 | +AC_CONFIG_SRCDIR([%(main_source)s]) |
249 | +AC_CONFIG_AUX_DIR(config) |
250 | + |
251 | +PANDORA_CANONICAL_TARGET(less-warnings, warnings-always-on, require-cxx, force-gcc42,skip-visibility) |
252 | + |
253 | +PANDORA_REQUIRE_LIBPROTOBUF |
254 | +PANDORA_PROTOBUF_REQUIRE_VERSION([2.1.0]) |
255 | +PANDORA_REQUIRE_PROTOC |
256 | + |
257 | +AC_LANG_PUSH(C++) |
258 | +PANDORA_REQUIRE_PTHREAD |
259 | +PANDORA_REQUIRE_LIBDL |
260 | +AC_LANG_POP |
261 | + |
262 | +PANDORA_USE_BETTER_MALLOC |
263 | + |
264 | +PANDORA_DRIZZLE_BUILD |
265 | +""" % plugin) |
266 | + |
267 | + write_plugin_ac(plugin, plugin_file) |
268 | + |
269 | + plugin_file.write(""" |
270 | +AC_CONFIG_FILES(Makefile) |
271 | + |
272 | +AC_OUTPUT |
273 | + |
274 | +echo "---" |
275 | +echo "Configuration summary for $PACKAGE_NAME version $VERSION $PANDORA_RELEASE_COMMENT" |
276 | +echo "" |
277 | +echo " * Installation prefix: $prefix" |
278 | +echo " * System type: $host_vendor-$host_os" |
279 | +echo " * Host CPU: $host_cpu" |
280 | +echo " * C Compiler: $CC_VERSION" |
281 | +echo " * C++ Compiler: $CXX_VERSION" |
282 | +echo " * Debug enabled: $with_debug" |
283 | +echo " * Warnings as failure: $ac_cv_warnings_as_errors" |
284 | +echo " * C++ cstdint location: $ac_cv_cxx_cstdint" |
285 | +echo " * C++ hash_map location: $ac_cv_cxx_hash_map" |
286 | +echo " * C++ hash namespace: $ac_cv_cxx_hash_namespace" |
287 | +echo " * C++ shared_ptr namespace: $ac_cv_shared_ptr_namespace" |
288 | +echo "" |
289 | +echo "---" |
290 | + |
291 | + """ % plugin) |
292 | + |
293 | +def write_external_makefile(plugin, plugin_file): |
294 | + |
295 | + plugin_file.write(""" |
296 | +ACLOCAL_AMFLAGS = -I m4 --force |
297 | +VERSION=$(PANDORA_RELEASE_VERSION) |
298 | + |
299 | +pkgplugindir=%(pkgplugindir)s |
300 | +EXTRA_DIST = plugin.ini |
301 | + |
302 | +noinst_HEADERS= |
303 | +nobase_include_HEADERS= |
304 | +nobase_pkginclude_HEADERS= |
305 | +check_PROGRAMS= |
306 | +noinst_LTLIBRARIES= |
307 | +bin_PROGRAMS= |
308 | + |
309 | + |
310 | +""" % plugin) |
311 | + if plugin['headers'] != "": |
312 | + plugin_file.write("noinst_HEADERS += %(headers)s\n" % plugin) |
313 | + if plugin['install_headers'] != "": |
314 | + plugin_file.write("nobase_pkginclude_HEADERS += %(install_headers)s\n" % plugin) |
315 | + if plugin['testsuite']: |
316 | + if plugin.has_key('testsuitedir') and plugin['testsuitedir'] != "": |
317 | + plugin_file.write("EXTRA_DIST += %(testsuitedir)s\n" % plugin) |
318 | + plugin_file.write(""" |
319 | +pkgplugin_LTLIBRARIES=%(libname)s.la |
320 | +%(libname)s_la_LDFLAGS=-avoid-version -rpath $(pkgplugindir) $(AM_LDFLAGS) %(ldflags)s $(GCOV_LIBS) |
321 | +%(libname)s_la_LIBADD=%(libs)s |
322 | +%(libname)s_la_DEPENDENCIES=%(libs)s |
323 | +%(libname)s_la_CPPFLAGS=$(AM_CPPFLAGS) -DPANDORA_DYNAMIC_PLUGIN -DPANDORA_MODULE_NAME=%(module_name)s -DPANDORA_MODULE_AUTHOR='%(author)s' -DPANDORA_MODULE_TITLE='%(title)s' -DPANDORA_MODULE_VERSION='%(version)s' -DPANDORA_MODULE_LICENSE=%(license)s %(cppflags)s |
324 | +%(libname)s_la_CXXFLAGS=$(AM_CXXFLAGS) %(cxxflags)s |
325 | +%(libname)s_la_CFLAGS=$(AM_CFLAGS) %(cflags)s |
326 | +%(libname)s_la_SOURCES=%(sources)s |
327 | +check_PROGRAMS += %(tests)s |
328 | +""" % plugin) |
329 | + plugin_am_file=os.path.join(plugin['rel_path'],'plugin.am') |
330 | + if os.path.exists(plugin_am_file): |
331 | + plugin_file.write('include %s\n' % plugin_am_file) |
332 | + |
333 | +def write_external_plugin(): |
334 | + """Return True if the plugin had changed.""" |
335 | + plugin = read_plugin_ini('.') |
336 | + expand_plugin_ini(plugin) |
337 | + plugin_file = ChangeProtectedFile('configure.ac') |
338 | + write_external_configure(plugin, plugin_file) |
339 | + result = plugin_file.close() |
340 | + plugin_file = ChangeProtectedFile('Makefile.am') |
341 | + write_external_makefile(plugin, plugin_file) |
342 | + # Write some stub configure.ac and Makefile.am files that include the above |
343 | + result = plugin_file.close() or result |
344 | + return result |
345 | + |
346 | +def write_plugin(plugin, plugin_ini_list): |
347 | + # Since this function is recursive, make sure we're not already in it. |
348 | + if plugin.has_key('writing_status'): |
349 | + if plugin['writing_status'] == 'done': |
350 | + return |
351 | + else: |
352 | + print "Dependency loop detected with %s" % plugin['name'] |
353 | + exit(1) |
354 | + |
355 | + plugin['writing_status'] = 'dependencies' |
356 | + |
357 | + # Write all dependencies first to get around annoying automake bug |
358 | + for dependency in plugin['dependency_list']: |
359 | + found = False |
360 | + for find_plugin in plugin_ini_list: |
361 | + if find_plugin['module_name'] == dependency: |
362 | + found = True |
363 | + write_plugin(find_plugin, plugin_ini_list) |
364 | + break |
365 | + if found is False: |
366 | + print "Could not find dependency %s: %s" % (plugin['name'], dependency) |
367 | + exit(1) |
368 | + |
369 | + write_plugin_ac(plugin, plugin_ac_file) |
370 | + write_plugin_am(plugin, plugin_am_file) |
371 | + write_plugin_docs(plugin, plugin_doc_index, plugin_am_file) |
372 | + plugin['writing_status'] = 'done' |
373 | + |
374 | +def write_plugin_docs(plugin, doc_index, plugin_am): |
375 | + if plugin['docs'] is not None and os.path.isdir("docs/plugins"): |
376 | + if not os.path.exists(os.path.join("docs/plugins",plugin["name"])): |
377 | + os.symlink(os.path.abspath(plugin["docs"]), os.path.join("docs/plugins",plugin["name"])) |
378 | + doc_index.write(""" |
379 | + %(name)s/index""" % plugin) |
380 | + plugin_am.write(""" |
381 | +EXTRA_DIST+=${top_srcdir}/docs/plugins/%(name)s/*.rst |
382 | +""" % plugin) |
383 | + |
384 | +def write_plugin_ac(plugin, plugin_ac): |
385 | + # |
386 | + # Write plugin config instructions into plugin.ac file. |
387 | + # |
388 | + plugin_ac_file=os.path.join(plugin['rel_path'],'plugin.ac') |
389 | + plugin_m4_dir=os.path.join(plugin['rel_path'],'m4') |
390 | + plugin_m4_files=[] |
391 | + if os.path.exists(plugin_m4_dir) and os.path.isdir(plugin_m4_dir): |
392 | + for m4_file in os.listdir(plugin_m4_dir): |
393 | + if os.path.splitext(m4_file)[-1] == '.m4': |
394 | + plugin_m4_files.append(os.path.join(plugin['rel_path'], m4_file)) |
395 | + plugin_ac.write(""" |
396 | +dnl Config for %(title)s |
397 | +""" % plugin) |
398 | + for m4_file in plugin_m4_files: |
399 | + plugin_ac.write('m4_sinclude([%s])\n' % m4_file) |
400 | + plugin['plugin_dep_libs']=" ".join(["\${top_builddir}/%s" % f for f in plugin['libs'].split()]) |
401 | + |
402 | + plugin_ac.write(""" |
403 | +AC_ARG_WITH([%(name_with_dashes)s-plugin],[ |
404 | +dnl indented wierd to make the help output correct |
405 | +AS_HELP_STRING([--with-%(name_with_dashes)s-plugin],[Build %(title)s. @<:@default=%(enabled)s@:>@]) |
406 | +AS_HELP_STRING([--without-%(name_with_dashes)s-plugin],[Disable building %(title)s]) |
407 | + ],[ |
408 | + with_%(name)s_plugin="$withval" |
409 | + AS_IF([test "x$with_%(name)s_plugin" = "xyes"],[ |
410 | + requested_%(name)s_plugin="yes" |
411 | + ],[ |
412 | + requested_%(name)s_plugin="no" |
413 | + ]) |
414 | + ],[ |
415 | + with_%(name)s_plugin="%(enabled)s" |
416 | + requested_%(name)s_plugin="no" |
417 | + ]) |
418 | +AC_ARG_WITH([static-%(name_with_dashes)s-plugin],[ |
419 | +AS_HELP_STRING([--with-static-%(name_with_dashes)s-plugin],[Build Archive Storage Engine. @<:@default=%(static_yesno)s@:>@]) |
420 | +AS_HELP_STRING([--without-static-%(name_with_dashes)s-plugin],[Disable building Archive Storage Engine]) |
421 | + ],[ |
422 | + with_static_%(name)s_plugin=${withval} |
423 | + ],[ |
424 | + with_static_%(name)s_plugin=%(static_yesno)s |
425 | +]) |
426 | +AS_IF([test "x${with_static_%(name)s_plugin}" = "xyes" -o "x${with_all_static}" = "xyes"],[ |
427 | + shared_%(name)s_plugin=no |
428 | + ],[ |
429 | + shared_%(name)s_plugin=yes |
430 | +]) |
431 | +AC_ARG_ENABLE([%(name_with_dashes)s-plugin],[ |
432 | +dnl indented wierd to make the help output correct |
433 | +AS_HELP_STRING([--enable-%(name_with_dashes)s-plugin],[Enable loading %(title)s by default. @<:@default=%(default_yesno)s@:>@]) |
434 | +AS_HELP_STRING([--disable-%(name_with_dashes)s-plugin],[Disable loading %(title)s by default.]) |
435 | + ], |
436 | + [enable_%(name)s_plugin="$enableval"], |
437 | + [enable_%(name)s_plugin=%(default_yesno)s]) |
438 | + |
439 | +""" % plugin) |
440 | + if os.path.exists(plugin_ac_file): |
441 | + plugin_ac.write('m4_sinclude([%s])\n' % plugin_ac_file) |
442 | + # The plugin author has specified some check to make to determine |
443 | + # if the plugin can be built. If the plugin is turned on and this |
444 | + # check fails, then configure should error out. If the plugin is not |
445 | + # turned on, then the normal conditional build stuff should just let |
446 | + # it silently not build |
447 | + if plugin['has_build_conditional']: |
448 | + plugin_ac.write(""" |
449 | +AS_IF([test %(build_conditional)s], |
450 | + [], dnl build_conditional can only negate |
451 | + [ |
452 | + AS_IF([test "x${requested_%(name)s_plugin}" = "xyes"], |
453 | + [AC_MSG_ERROR([Plugin %(name)s was explicitly requested, yet failed build dependency checks. Aborting!])]) |
454 | + with_%(name)s_plugin=no |
455 | + ]) |
456 | + |
457 | +""" % plugin) |
458 | + if not plugin['unconditional']: |
459 | + plugin_ac.write(""" |
460 | +AM_CONDITIONAL([%(static_build_conditional_tag)s], |
461 | + [test %(build_conditional)s -a ! %(shared_build)s]) |
462 | +AM_CONDITIONAL([%(shared_build_conditional_tag)s], |
463 | + [test %(build_conditional)s -a %(shared_build)s]) |
464 | +AM_CONDITIONAL([%(build_conditional_tag)s], |
465 | + [test %(build_conditional)s]) |
466 | + """ % plugin) |
467 | + |
468 | + plugin_ac.write(""" |
469 | +AS_IF([test "x$with_%(name)s_plugin" = "xyes"],[ |
470 | +""" % plugin) |
471 | + if plugin['testsuite']: |
472 | + plugin_ac.write(""" |
473 | + pandora_plugin_test_list="%(name)s,${pandora_plugin_test_list}" |
474 | + """ % plugin) |
475 | + plugin_ac.write(""" |
476 | + AS_IF([test "x${with_static_%(name)s_plugin}" = "xyes" -o "x${with_all_static}" = "xyes"],[ |
477 | + |
478 | + AS_IF([test "x$enable_%(name)s_plugin" = "xyes"],[ |
479 | + pandora_builtin_load_list="%(module_name)s,${pandora_builtin_load_list}" |
480 | + pandora_builtin_load_symbols_list="_drizzled_%(module_name)s_plugin_,${pandora_builtin_load_symbols_list}" |
481 | + PANDORA_PLUGIN_DEP_LIBS="${PANDORA_PLUGIN_DEP_LIBS} %(plugin_dep_libs)s" |
482 | + ]) |
483 | + pandora_builtin_list="%(module_name)s,${pandora_builtin_list}" |
484 | + pandora_builtin_symbols_list="_drizzled_%(module_name)s_plugin_,${pandora_builtin_symbols_list}" |
485 | + pandora_plugin_libs="${pandora_plugin_libs} \${top_builddir}/%(root_plugin_dir)s/%(libname)s.la" |
486 | + ],[ |
487 | + AS_IF([test "x$enable_%(name)s_plugin" = "xyes"],[ |
488 | + pandora_default_plugin_list="%(name)s,${pandora_default_plugin_list}" |
489 | + ]) |
490 | + ]) |
491 | + """ % plugin) |
492 | + plugin_ac.write("])\n") |
493 | + |
494 | +def fix_file_paths(plugin, files): |
495 | + # TODO: determine path to plugin dir relative to top_srcdir... append it to |
496 | + # source files if they don't already have it |
497 | + new_files="" |
498 | + if plugin['plugin_dir'] != ".": |
499 | + for file in files.split(): |
500 | + if not file.startswith(plugin['rel_path']): |
501 | + file= os.path.join(plugin['rel_path'], file) |
502 | + new_files= "%s %s" % (new_files, file) |
503 | + else: |
504 | + new_files= " ".join(plugin['sources'].split()) |
505 | + if new_files != "": |
506 | + return new_files |
507 | + return files |
508 | + |
509 | +def expand_plugin_ini(plugin): |
510 | + if plugin['name'] == "**OUT-OF-TREE**": |
511 | + print "Out of tree plugins require the name field to be specified in plugin.ini" |
512 | + sys.exit(1) |
513 | + |
514 | + if plugin['plugin_dir'] == ".": |
515 | + plugin['rel_path']= plugin['plugin_dir'] |
516 | + plugin['unconditional']=True |
517 | + else: |
518 | + plugin['rel_path']= plugin['plugin_dir'][len(config['top_srcdir'])+len(os.path.sep):] |
519 | + plugin['unconditional']=False |
520 | + |
521 | + plugin['sources']= fix_file_paths(plugin, plugin['sources']) |
522 | + plugin['main_source']= plugin['sources'].split()[0] |
523 | + plugin['headers']= fix_file_paths(plugin, plugin['headers']) |
524 | + plugin['install_headers']= fix_file_paths(plugin, plugin['install_headers']) |
525 | + plugin['tests']= fix_file_paths(plugin, plugin['tests']) |
526 | + |
527 | + # Make a yes/no version for autoconf help messages |
528 | + if plugin['load_by_default']: |
529 | + plugin['default_yesno']="yes" |
530 | + else: |
531 | + plugin['default_yesno']="no" |
532 | + |
533 | + if plugin.has_key('extra_dist'): |
534 | + plugin['extra_dist']=" ".join([os.path.join(plugin['rel_path'],f) for f in plugin['extra_dist'].split()]) |
535 | + |
536 | + |
537 | + if plugin['static']: |
538 | + plugin['static_yesno']="yes" |
539 | + else: |
540 | + plugin['static_yesno']="no" |
541 | + plugin['build_conditional_tag']= "BUILD_%s_PLUGIN" % plugin['name'].upper() |
542 | + plugin['shared_build_conditional_tag']= "BUILD_%s_PLUGIN_SHARED" % plugin['name'].upper() |
543 | + plugin['static_build_conditional_tag']= "BUILD_%s_PLUGIN_STATIC" % plugin['name'].upper() |
544 | + plugin['name_with_dashes']= plugin['name'].replace('_','-') |
545 | + if plugin.has_key('build_conditional'): |
546 | + plugin['has_build_conditional']=True |
547 | + plugin['build_conditional']='"x${with_%(name)s_plugin}" = "xyes" -a %(build_conditional)s' % plugin |
548 | + else: |
549 | + plugin['has_build_conditional']=False |
550 | + plugin['build_conditional']='"x${with_%(name)s_plugin}" = "xyes"' %plugin |
551 | + plugin['shared_build']='"x${shared_%(name)s_plugin}" = "xyes"' %plugin |
552 | + |
553 | + if plugin['install']: |
554 | + plugin['library_type']= 'pkgplugin' |
555 | + else: |
556 | + plugin['library_type']= 'noinst' |
557 | + |
558 | +def find_testsuite(plugin_dir): |
559 | + for testdir in ['drizzle-tests','tests']: |
560 | + if os.path.isdir(os.path.join(plugin_dir,testdir)): |
561 | + return testdir |
562 | + if os.path.isdir(os.path.join('tests','suite',os.path.basename(plugin_dir))): |
563 | + return "" |
564 | + return None |
565 | + |
566 | +def find_docs(plugin_dir): |
567 | + if os.path.isfile(os.path.join(plugin_dir, "docs", "index.rst")): |
568 | + return os.path.join(plugin_dir, "docs") |
569 | + |
570 | +def read_plugin_ini(plugin_dir): |
571 | + sources_default="" |
572 | + if plugin_dir == ".": |
573 | + plugin_name="**OUT-OF-TREE**" |
574 | + module_name="**OUT-OF-TREE**" |
575 | + else: |
576 | + sources_default="%s.cc" % os.path.basename(plugin_dir) |
577 | + plugin_name = plugin_dir[plugin_dir.index(config['root_plugin_dir']) + len(config['root_plugin_dir']) + 1:] |
578 | + module_name = plugin_name.replace("/", config['module_name_separator']).replace("\\", config['module_name_separator']) |
579 | + plugin_name = plugin_name.replace("/", config['plugin_name_separator']).replace("\\", config['plugin_name_separator']) |
580 | + |
581 | + |
582 | + plugin_file= os.path.join(plugin_dir,config['plugin_ini_fname']) |
583 | + plugin_defaults= dict(sources=sources_default, |
584 | + headers="", |
585 | + install_headers="", |
586 | + cflags="", |
587 | + cppflags="", |
588 | + cxxflags="", |
589 | + libs="", |
590 | + ldflags="", |
591 | + author="", |
592 | + title="", |
593 | + description="", |
594 | + license="PLUGIN_LICENSE_GPL", |
595 | + name=plugin_name, |
596 | + module_name=module_name, |
597 | + load_by_default=config['default_load_by_default'], |
598 | + disabled="False", |
599 | + static="False", |
600 | + dependencies="", |
601 | + dependency_aliases="", |
602 | + tests="", |
603 | + install=config['default_install']) |
604 | + parser=ConfigParser.ConfigParser(defaults= plugin_defaults) |
605 | + parser.read(plugin_file) |
606 | + plugin=dict(parser.items('plugin')) |
607 | + plugin['plugin_dir'] = plugin_dir |
608 | + if plugin_dir == '.': |
609 | + if not plugin.has_key('url'): |
610 | + print "External Plugins are required to specifiy a url" |
611 | + plugin['url']= 'http://launchpad.net/%(name)s' % plugin |
612 | + sys.exit(1) |
613 | + if plugin_dir == '.' and not plugin.has_key('version'): |
614 | + print "External Plugins are required to specifiy a version" |
615 | + sys.exit(1) |
616 | + if not plugin.has_key('version'): |
617 | + plugin['version'] = config['default_plugin_version'] |
618 | + if plugin.has_key('load_by_default'): |
619 | + plugin['load_by_default']=parser.getboolean('plugin','load_by_default') |
620 | + if plugin.has_key('disabled'): |
621 | + plugin['disabled']=parser.getboolean('plugin','disabled') |
622 | + if plugin['disabled']: |
623 | + plugin['enabled']="no" |
624 | + else: |
625 | + plugin['enabled']="yes" |
626 | + if plugin.has_key('static'): |
627 | + try: |
628 | + plugin['static']= parser.getboolean('plugin','static') |
629 | + except: |
630 | + if plugin['static'][:5] == os.sys.platform[:5]: |
631 | + plugin['static']= True |
632 | + else: |
633 | + plugin['static']= False |
634 | + if plugin.has_key('install'): |
635 | + plugin['install']= parser.getboolean('plugin','install') |
636 | + if plugin.has_key('testsuite'): |
637 | + if plugin['testsuite'] == 'disable': |
638 | + plugin['testsuite']= False |
639 | + plugin['dist_testsuite']= find_testsuite(plugin_dir) |
640 | + else: |
641 | + plugin_testsuite= find_testsuite(plugin_dir) |
642 | + plugin['testsuitedir']=plugin_testsuite |
643 | + if plugin_testsuite is not None: |
644 | + plugin['testsuite']=True |
645 | + else: |
646 | + plugin['testsuite']=False |
647 | + plugin['docs']= find_docs(plugin_dir) |
648 | + |
649 | + plugin['cflags']+= ' ' + config['extra_cflags'] |
650 | + plugin['cppflags']+= ' ' + config['extra_cppflags'] |
651 | + plugin['cxxflags']+= ' ' + config['extra_cxxflags'] |
652 | + |
653 | + plugin['libname']= "lib%s%s%s" % (config['plugin_prefix'], |
654 | + plugin['name'], |
655 | + config['plugin_suffix']) |
656 | + if config['force_lowercase_libname']: |
657 | + plugin['libname']= plugin['libname'].lower() |
658 | + |
659 | + plugin['root_plugin_dir']= config['root_plugin_dir'] |
660 | + plugin['plugin_prefix']= config['plugin_prefix'] |
661 | + plugin['plugin_suffix']= config['plugin_suffix'] |
662 | + plugin['pkgplugindir']= config['pkgplugindir'] |
663 | + |
664 | + # Dependencies must have a module but dependency aliases are simply added |
665 | + # to the variable passed during compile. |
666 | + plugin['dependency_list'] = plugin['dependencies'].split() |
667 | + dependency_aliases = plugin['dependency_aliases'].split() |
668 | + plugin['dependencies'] = ','.join(plugin['dependency_list'] + |
669 | + plugin['dependency_aliases'].split()) |
670 | + dependency_libs = ["%s/lib%s%s.la" % (config['root_plugin_dir'], |
671 | + dependency.lower().replace('::', '_'), |
672 | + config['plugin_suffix']) |
673 | + for dependency in plugin['dependency_list']] |
674 | + plugin['libs'] = " ".join(plugin['libs'].split() + dependency_libs); |
675 | + |
676 | +# Libtool is going to expand: |
677 | +# -DPANDORA_MODULE_AUTHOR='"Padraig O'"'"'Sullivan"' |
678 | +# to: |
679 | +# "-DPANDORA_MODULE_AUTHOR=\"Padraig O'Sullivan\"" |
680 | +# So we have to replace internal ''s to '"'"' |
681 | + for key in ('author','title','description','version'): |
682 | + plugin[key]=plugin[key].replace('"','\\"') |
683 | + plugin[key]=plugin[key].replace("'","'\"'\"'") |
684 | + return plugin |
685 | + |
686 | + |
687 | +def write_plugin_am(plugin, plugin_am): |
688 | + """Write an automake fragment for this plugin. |
689 | + |
690 | + :param plugin: The plugin dict. |
691 | + :param plugin_am: The file to write to. |
692 | + """ |
693 | + # The .plugin.ini.stamp avoids changing the datestamp on plugin.ini which can |
694 | + # confuse VCS systems. |
695 | + plugin_am.write(""" |
696 | +EXTRA_DIST += %(rel_path)s/plugin.ini |
697 | + |
698 | +# Prevent errors when a plugin dir is removed |
699 | +%(rel_path)s/plugin.ini: |
700 | + |
701 | +""" % plugin) |
702 | + if plugin.has_key('extra_dist') and plugin['extra_dist'] != "": |
703 | + plugin_am.write("EXTRA_DIST += %(extra_dist)s\n" % plugin) |
704 | + if plugin['headers'] != "": |
705 | + plugin_am.write("noinst_HEADERS += %(headers)s\n" % plugin) |
706 | + if plugin['install_headers'] != "": |
707 | + plugin_am.write("nobase_pkginclude_HEADERS += %(install_headers)s\n" % plugin) |
708 | + if plugin['testsuite']: |
709 | + if plugin.has_key('testsuitedir') and plugin['testsuitedir'] != "": |
710 | + plugin_am.write("EXTRA_DIST += %(rel_path)s/%(testsuitedir)s\n" % plugin) |
711 | + if plugin.has_key('dist_testsuite') and plugin['dist_testsuite'] != "": |
712 | + plugin_am.write("EXTRA_DIST += %(rel_path)s/%(dist_testsuite)s\n" % plugin) |
713 | + if plugin['docs'] is not None: |
714 | + plugin_am.write("EXTRA_DIST += ${top_srcdir}/%(rel_path)s/docs/*.rst\n" % plugin) |
715 | + plugin_am.write(""" |
716 | +%(root_plugin_dir)s_%(plugin_prefix)s%(name)s_dir=${top_srcdir}/%(rel_path)s |
717 | +# Include sources in EXTRA_DIST because we might not build this, but we |
718 | +# still want the sources to wind up in a tarball |
719 | +EXTRA_DIST += %(rel_path)s/plugin.ini %(sources)s |
720 | +if %(static_build_conditional_tag)s |
721 | + noinst_LTLIBRARIES+=%(root_plugin_dir)s/%(libname)s.la |
722 | + %(root_plugin_dir)s_%(libname)s_la_LIBADD=%(libs)s |
723 | + %(root_plugin_dir)s_%(libname)s_la_DEPENDENCIES=%(libs)s |
724 | + %(root_plugin_dir)s_%(libname)s_la_LDFLAGS=$(AM_LDFLAGS) %(ldflags)s $(GCOV_LIBS) |
725 | + %(root_plugin_dir)s_%(libname)s_la_CPPFLAGS=$(AM_CPPFLAGS) -DPANDORA_MODULE_NAME=%(module_name)s -DPANDORA_MODULE_AUTHOR='%(author)s' -DPANDORA_MODULE_TITLE='%(title)s' -DPANDORA_MODULE_VERSION='%(version)s' -DPANDORA_MODULE_LICENSE=%(license)s -DPANDORA_MODULE_DEPENDENCIES='%(dependencies)s' %(cppflags)s |
726 | + %(root_plugin_dir)s_%(libname)s_la_CXXFLAGS=$(AM_CXXFLAGS) %(cxxflags)s |
727 | + %(root_plugin_dir)s_%(libname)s_la_CFLAGS=$(AM_CFLAGS) %(cflags)s |
728 | + %(root_plugin_dir)s_%(libname)s_la_SOURCES=%(sources)s |
729 | + check_PROGRAMS += %(tests)s |
730 | + PANDORA_DYNAMIC_LDADDS+=${top_builddir}/%(root_plugin_dir)s/%(libname)s.la |
731 | +endif |
732 | +EXTRA_DIST += %(rel_path)s/plugin.ini |
733 | +if %(shared_build_conditional_tag)s |
734 | + %(library_type)s_LTLIBRARIES+=%(root_plugin_dir)s/%(libname)s.la |
735 | + %(root_plugin_dir)s_%(libname)s_la_LDFLAGS=-avoid-version -rpath $(pkgplugindir) $(AM_LDFLAGS) %(ldflags)s $(GCOV_LIBS) |
736 | + %(root_plugin_dir)s_%(libname)s_la_LIBADD=%(libs)s |
737 | + %(root_plugin_dir)s_%(libname)s_la_DEPENDENCIES=%(libs)s |
738 | + %(root_plugin_dir)s_%(libname)s_la_CPPFLAGS=$(AM_CPPFLAGS) -DPANDORA_DYNAMIC_PLUGIN -DPANDORA_MODULE_NAME=%(module_name)s -DPANDORA_MODULE_AUTHOR='%(author)s' -DPANDORA_MODULE_TITLE='%(title)s' -DPANDORA_MODULE_VERSION='%(version)s' -DPANDORA_MODULE_LICENSE=%(license)s -DPANDORA_MODULE_DEPENDENCIES='%(dependencies)s' %(cppflags)s |
739 | + %(root_plugin_dir)s_%(libname)s_la_CXXFLAGS=$(AM_CXXFLAGS) %(cxxflags)s |
740 | + %(root_plugin_dir)s_%(libname)s_la_CFLAGS=$(AM_CFLAGS) %(cflags)s |
741 | + %(root_plugin_dir)s_%(libname)s_la_SOURCES=%(sources)s |
742 | + check_PROGRAMS += %(tests)s |
743 | +endif |
744 | +""" % plugin) |
745 | + plugin_am_file=os.path.join(plugin['rel_path'],'plugin.am') |
746 | + if os.path.exists(plugin_am_file): |
747 | + plugin_am.write('include %s\n' % plugin_am_file) |
748 | + |
749 | +# |
750 | +# MAIN STARTS HERE: |
751 | +# |
752 | + |
753 | +# Parse the pandora-plugin config file |
754 | + |
755 | +config_defaults= dict( |
756 | + top_srcdir='.', |
757 | + top_builddir='.', |
758 | + plugin_ini_fname='plugin.ini', |
759 | + plugin_prefix='', |
760 | + plugin_suffix='', |
761 | + extra_cflags='', |
762 | + extra_cppflags='', |
763 | + extra_cxxflags='', |
764 | + root_plugin_dir='', |
765 | + pkgplugindir='', |
766 | + default_install='True', |
767 | + default_plugin_version='', |
768 | + default_load_by_default='False', |
769 | + force_lowercase_libname='True', |
770 | + plugin_name_separator='_', |
771 | + module_name_separator='::' |
772 | +) |
773 | + |
774 | +config_parser = ConfigParser.ConfigParser(defaults=config_defaults) |
775 | +config_parser.read(pandora_plugin_file) |
776 | +config = dict(config_parser.items('pandora-plugin')) |
777 | +config['force_lowercase_libname']=config_parser.getboolean('pandora-plugin','force_lowercase_libname') |
778 | + |
779 | +# I'm 3 seconds away from writing a comprehensive build solution |
780 | +if not os.path.exists('config/pandora_vc_revinfo'): |
781 | + if os.path.exists('.bzr'): |
782 | + bzr_revno= subprocess.Popen(["bzr", "revno"], stdout=subprocess.PIPE).communicate()[0].strip() |
783 | + rev_date= datetime.date.fromtimestamp(time.time()) |
784 | + config['default_plugin_version'] = "%d.%02d.%s" % (rev_date.year, rev_date.month, bzr_revno) |
785 | + else: |
786 | + config['default_plugin_version']=datetime.date.fromtimestamp(time.time()).isoformat() |
787 | +else: |
788 | + # need to read config/pandora_vc_revno |
789 | + pandora_vc_revno=open('config/pandora_vc_revinfo','r').read().split() |
790 | + rev_date="" |
791 | + bzr_revno="" |
792 | + for revno_line in pandora_vc_revno: |
793 | + (revno_key,revno_val)= revno_line.split("=") |
794 | + if revno_key == 'PANDORA_VC_REVNO': |
795 | + bzr_revno=revno_val.strip() |
796 | + elif revno_key == 'PANDORA_RELEASE_DATE': |
797 | + rev_date=revno_val.strip() |
798 | + |
799 | + config['default_plugin_version'] = "%s.%s" % (rev_date, bzr_revno) |
800 | + |
801 | +actions=[] |
802 | +for arg in sys.argv: |
803 | + if arg.startswith('--top_srcdir='): |
804 | + config['top_srcdir']=arg[12:] |
805 | + elif arg.startswith('--top_builddir='): |
806 | + config['top_builddir']=arg[14:] |
807 | + elif arg == "--force-all": |
808 | + actions=['plugin-list','pandora-plugin.am','write'] |
809 | + break |
810 | + else: |
811 | + actions.append(arg) |
812 | +if len(actions) == 0: |
813 | + actions.append('write') |
814 | + |
815 | +plugin_list=[] |
816 | + |
817 | +def accumulate_plugins(arg, dirname, fnames): |
818 | + # plugin_ini_fname is a name in dirname indicating dirname is a plugin. |
819 | + if config['plugin_ini_fname'] in fnames: |
820 | + arg.append(dirname) |
821 | + |
822 | +os.path.walk(os.path.join(config['top_srcdir'], |
823 | + config['root_plugin_dir']), |
824 | + accumulate_plugins, |
825 | + plugin_list) |
826 | + |
827 | +if not os.path.exists("config/pandora-plugin.am") or "write" in actions: |
828 | + plugin_am_file = ChangeProtectedFile(os.path.join('config', 'pandora-plugin.am')) |
829 | + plugin_am_file.write(""" |
830 | +# always the current list, generated every build so keep this lean. |
831 | +# pandora-plugin.list: datestamp preserved list |
832 | +${srcdir}/config/pandora-plugin.list: .plugin.scan |
833 | +.plugin.scan: |
834 | + @cd ${top_srcdir} && python config/pandora-plugin plugin-list |
835 | + |
836 | +# Plugins affect configure; so to prevent configure running twice in a tarball |
837 | +# build (once up front, once with the right list of plugins, we ship the |
838 | +# generated list of plugins and the housekeeping material for that list so it |
839 | +# is likewise not updated. |
840 | +EXTRA_DIST += \ |
841 | + config/pandora-plugin.am \ |
842 | + config/pandora-plugin.ac \ |
843 | + config/pandora-plugin \ |
844 | + config/pandora-plugin.ini |
845 | + |
846 | + |
847 | +# Seed the list of plugin LDADDS which plugins may extend. |
848 | +PANDORA_DYNAMIC_LDADDS= |
849 | + |
850 | +# plugin.stamp: graph dominator for creating all per pandora-plugin.ac/am |
851 | +# files. This is invoked when the code to generate such files has altered.""") |
852 | + |
853 | +if not os.path.exists("config/pandora-plugin.ac") or "write" in actions: |
854 | + plugin_ac_file = ChangeProtectedFile(os.path.join('config', 'pandora-plugin.ac')) |
855 | + plugin_ac_file.write("dnl Generated file, run make to rebuild\n") |
856 | + plugin_ac_file.write(""" |
857 | +AC_ARG_WITH([all-static],[ |
858 | +AS_HELP_STRING([--with-all-static],[Link all plugins staticly into the server @<:@default=no@:>@]) |
859 | +],[ |
860 | + with_all_static="$withval" |
861 | + ],[ |
862 | + with_all_static=no |
863 | +]) |
864 | + """) |
865 | + |
866 | +if os.path.exists("docs/plugins"): |
867 | + if not os.path.exists("docs/plugins/list.rst") or "write" in actions: |
868 | + plugin_doc_index = ChangeProtectedFile("docs/plugins/list.rst") |
869 | + plugin_doc_index.write(""" |
870 | +Plugin Documentation |
871 | +==================== |
872 | + |
873 | +.. toctree:: |
874 | + :maxdepth: 2 |
875 | +""") |
876 | + |
877 | + |
878 | +if os.path.exists('plugin.ini'): |
879 | + # Are we in a plugin dir which wants to have a self-sufficient build system? |
880 | + plugin_list=['.'] |
881 | + |
882 | + write_external_plugin() |
883 | +else: |
884 | + plugin_list_file = ChangeProtectedFile(os.path.join('config', 'pandora-plugin.list')) |
885 | + for p in plugin_list: |
886 | + plugin_list_file.write(p) |
887 | + plugin_list_file.write("\n") |
888 | + plugin_list.sort() |
889 | + plugin_list_file.close() |
890 | + |
891 | +if not os.path.exists("config/pandora-plugin.am") or 'write' in actions: |
892 | + plugin_am_file.write("\n${top_srcdir}/config/pandora-plugin.am: ${top_srcdir}/config/pandora-plugin.list ${top_srcdir}/config/pandora-plugin ") |
893 | + for plugin_dir in plugin_list: |
894 | + plugin_am_file.write("\\\n\t%s/plugin.ini " % plugin_dir) |
895 | + plugin_am_file.write("\n\tcd ${top_srcdir} && python config/pandora-plugin write\n") |
896 | + plugin_ini_list=[] |
897 | + |
898 | + # Load all plugin.ini files first so we can do dependency tracking. |
899 | + for plugin_dir in plugin_list: |
900 | + plugin = read_plugin_ini(plugin_dir) |
901 | + expand_plugin_ini(plugin) |
902 | + plugin_ini_list.append(plugin) |
903 | + |
904 | + # Check for duplicates |
905 | + plugin_name_list = [plugin['libname'] for plugin in plugin_ini_list] |
906 | + for plugin in plugin_ini_list: |
907 | + if plugin_name_list.count(plugin['libname']) != 1: |
908 | + print "Duplicate module name %s" % plugin['libname'] |
909 | + exit(1) |
910 | + |
911 | + for plugin in plugin_ini_list: |
912 | + write_plugin(plugin, plugin_ini_list) |
913 | + |
914 | +if plugin_am_file is not None: |
915 | + plugin_am_file.close() |
916 | +if plugin_ac_file is not None: |
917 | + plugin_ac_file.close() |
918 | +if plugin_doc_index is not None: |
919 | + plugin_doc_index.close() |
920 | |
921 | === modified file 'configure.ac' |
922 | --- configure.ac 2011-04-08 03:55:42 +0000 |
923 | +++ configure.ac 2011-04-16 05:39:23 +0000 |
924 | @@ -12,7 +12,7 @@ |
925 | AC_CONFIG_AUX_DIR(config) |
926 | AC_CONFIG_MACRO_DIR(m4) |
927 | |
928 | -PANDORA_CANONICAL_TARGET(require-cxx) |
929 | +PANDORA_CANONICAL_TARGET(require-cxx, no-vc-changelog) |
930 | |
931 | GEARMAN_LIBRARY_VERSION=5:1:1 |
932 | # | | | |
933 | |
934 | === modified file 'libgearman-server/byte.h' |
935 | --- libgearman-server/byte.h 2011-03-16 22:23:41 +0000 |
936 | +++ libgearman-server/byte.h 2011-04-16 05:39:23 +0000 |
937 | @@ -43,7 +43,8 @@ |
938 | |
939 | class Byte { |
940 | public: |
941 | - Byte () |
942 | + Byte () : |
943 | + _array() |
944 | { } |
945 | |
946 | Byte (size_t arg): |
947 | |
948 | === modified file 'libgearman-server/plugins/protocol/http/protocol.cc' |
949 | --- libgearman-server/plugins/protocol/http/protocol.cc 2011-03-16 22:23:41 +0000 |
950 | +++ libgearman-server/plugins/protocol/http/protocol.cc 2011-04-16 05:39:23 +0000 |
951 | @@ -44,7 +44,8 @@ |
952 | HTTP::HTTP() : |
953 | Plugin("HTTP"), |
954 | _background(false), |
955 | - _keep_alive(false) |
956 | + _keep_alive(false), |
957 | + global_port("") |
958 | { |
959 | command_line_options().add_options() |
960 | ("http-port", boost::program_options::value(&global_port)->default_value(GEARMAN_PROTOCOL_HTTP_DEFAULT_PORT), "Port to listen on."); |
961 | |
962 | === modified file 'libgearman-server/plugins/queue/drizzle/include.am' |
963 | --- libgearman-server/plugins/queue/drizzle/include.am 2011-03-16 22:23:41 +0000 |
964 | +++ libgearman-server/plugins/queue/drizzle/include.am 2011-04-16 05:39:23 +0000 |
965 | @@ -17,5 +17,8 @@ |
966 | libgearman-server/plugins/queue/drizzle/queue.cc |
967 | |
968 | libgearman_server_libgearman_server_la_LIBADD+= $(LTLIBDRIZZLE) |
969 | +libgearman_server_libgearman_server_la_CXXFLAGS= \ |
970 | + $(AM_CXXFLAGS) \ |
971 | + $(LIBDRIZZLE_CFLAGS) |
972 | endif |
973 | |
974 | |
975 | === modified file 'libgearman-server/plugins/queue/drizzle/queue.cc' |
976 | --- libgearman-server/plugins/queue/drizzle/queue.cc 2011-04-05 23:59:40 +0000 |
977 | +++ libgearman-server/plugins/queue/drizzle/queue.cc 2011-04-16 05:39:23 +0000 |
978 | @@ -82,13 +82,26 @@ |
979 | bool mysql_protocol; |
980 | in_port_t port; |
981 | private: |
982 | + Drizzle(const Drizzle&); |
983 | + Drizzle& operator=(const Drizzle&); |
984 | }; |
985 | |
986 | |
987 | Drizzle::Drizzle () : |
988 | Queue("libdrizzle"), |
989 | drizzle(NULL), |
990 | - con(NULL) |
991 | + con(NULL), |
992 | + _result(), |
993 | + _query(), |
994 | + host(""), |
995 | + username(""), |
996 | + password(""), |
997 | + uds(""), |
998 | + user(""), |
999 | + schema(""), |
1000 | + table(""), |
1001 | + mysql_protocol(false), |
1002 | + port(0) |
1003 | { |
1004 | command_line_options().add_options() |
1005 | ("libdrizzle-host", boost::program_options::value(&host), "Host of server.") |
1006 | |
1007 | === modified file 'libgearman-server/plugins/queue/libmemcached/queue.cc' |
1008 | --- libgearman-server/plugins/queue/libmemcached/queue.cc 2011-04-05 23:59:40 +0000 |
1009 | +++ libgearman-server/plugins/queue/libmemcached/queue.cc 2011-04-16 05:39:23 +0000 |
1010 | @@ -79,7 +79,7 @@ |
1011 | } |
1012 | |
1013 | } // namespace queue |
1014 | -} // namespace plugin |
1015 | +} // namespace plugins |
1016 | } // namespace gearmand |
1017 | |
1018 | /* Queue callback functions. */ |
1019 | |
1020 | === modified file 'libgearman-server/plugins/queue/postgres/queue.cc' |
1021 | --- libgearman-server/plugins/queue/postgres/queue.cc 2011-04-05 23:59:40 +0000 |
1022 | +++ libgearman-server/plugins/queue/postgres/queue.cc 2011-04-16 05:39:23 +0000 |
1023 | @@ -57,11 +57,16 @@ |
1024 | std::string table; |
1025 | std::vector<char> query_buffer; |
1026 | private: |
1027 | + Postgres(const Postgres&); |
1028 | + Postgres& operator=(const Postgres&); |
1029 | }; |
1030 | |
1031 | Postgres::Postgres() : |
1032 | Queue("Postgres"), |
1033 | - con(NULL) |
1034 | + con(NULL), |
1035 | + postgres_connect_string(""), |
1036 | + table(""), |
1037 | + query_buffer() |
1038 | { |
1039 | command_line_options().add_options() |
1040 | ("libpq-conninfo", boost::program_options::value(&postgres_connect_string)->default_value(""), "PostgreSQL connection information string.") |
1041 | |
1042 | === modified file 'libgearman-server/plugins/queue/sqlite/queue.cc' |
1043 | --- libgearman-server/plugins/queue/sqlite/queue.cc 2011-04-14 05:40:29 +0000 |
1044 | +++ libgearman-server/plugins/queue/sqlite/queue.cc 2011-04-16 05:39:23 +0000 |
1045 | @@ -40,7 +40,9 @@ |
1046 | namespace plugins { |
1047 | namespace queue { |
1048 | |
1049 | -class Sqlite : public gearmand::plugins::Queue { |
1050 | +class Sqlite : |
1051 | + public gearmand::plugins::Queue |
1052 | +{ |
1053 | public: |
1054 | Sqlite(); |
1055 | ~Sqlite(); |
1056 | @@ -65,10 +67,18 @@ |
1057 | private: |
1058 | std::string _insert_query; |
1059 | std::string _delete_query; |
1060 | + Sqlite(const Sqlite&); |
1061 | + Sqlite& operator=(const Sqlite&); |
1062 | }; |
1063 | |
1064 | Sqlite::Sqlite() : |
1065 | - Queue("sqlite") |
1066 | + Queue("sqlite"), |
1067 | + schema(""), |
1068 | + table(""), |
1069 | + db(NULL), |
1070 | + in_trans(0), |
1071 | + _insert_query(""), |
1072 | + _delete_query("") |
1073 | { |
1074 | command_line_options().add_options() |
1075 | ("libsqlite3-db", boost::program_options::value(&schema), "Database file to use.") |
1076 | |
1077 | === modified file 'libgearman-server/plugins/queue/tokyocabinet/queue.cc' |
1078 | --- libgearman-server/plugins/queue/tokyocabinet/queue.cc 2011-04-05 23:59:40 +0000 |
1079 | +++ libgearman-server/plugins/queue/tokyocabinet/queue.cc 2011-04-16 05:39:23 +0000 |
1080 | @@ -37,10 +37,15 @@ |
1081 | std::string filename; |
1082 | bool optimize; |
1083 | private: |
1084 | + TokyoCabinet(const TokyoCabinet&); |
1085 | + TokyoCabinet& operator=(const TokyoCabinet&); |
1086 | }; |
1087 | |
1088 | TokyoCabinet::TokyoCabinet() : |
1089 | - Queue("tokyocabinet") |
1090 | + Queue("tokyocabinet"), |
1091 | + db(NULL), |
1092 | + filename(NULL), |
1093 | + optimize(false) |
1094 | { |
1095 | command_line_options().add_options() |
1096 | ("libtokyocabinet-file", boost::program_options::value(&filename), "File name of the database. [see: man tcadb, tcadbopen() for name guidelines]") |
1097 | |
1098 | === modified file 'libgearman/client.cc' |
1099 | --- libgearman/client.cc 2011-04-13 04:12:34 +0000 |
1100 | +++ libgearman/client.cc 2011-04-16 05:39:23 +0000 |
1101 | @@ -204,19 +204,19 @@ |
1102 | memset(&options, 0, sizeof(int32_t)); |
1103 | |
1104 | if (client->options.allocated) |
1105 | - options|= (int)GEARMAN_CLIENT_ALLOCATED; |
1106 | + options|= int(GEARMAN_CLIENT_ALLOCATED); |
1107 | if (client->options.non_blocking) |
1108 | - options|= (int)GEARMAN_CLIENT_NON_BLOCKING; |
1109 | + options|= int(GEARMAN_CLIENT_NON_BLOCKING); |
1110 | if (client->options.task_in_use) |
1111 | - options|= (int)GEARMAN_CLIENT_TASK_IN_USE; |
1112 | + options|= int(GEARMAN_CLIENT_TASK_IN_USE); |
1113 | if (client->options.unbuffered_result) |
1114 | - options|= (int)GEARMAN_CLIENT_UNBUFFERED_RESULT; |
1115 | + options|= int(GEARMAN_CLIENT_UNBUFFERED_RESULT); |
1116 | if (client->options.no_new) |
1117 | - options|= (int)GEARMAN_CLIENT_NO_NEW; |
1118 | + options|= int(GEARMAN_CLIENT_NO_NEW); |
1119 | if (client->options.free_tasks) |
1120 | - options|= (int)GEARMAN_CLIENT_FREE_TASKS; |
1121 | + options|= int(GEARMAN_CLIENT_FREE_TASKS); |
1122 | |
1123 | - return (gearman_client_options_t)options; |
1124 | + return gearman_client_options_t(options); |
1125 | } |
1126 | |
1127 | void gearman_client_set_options(gearman_client_st *client, |
1128 | @@ -297,7 +297,7 @@ |
1129 | |
1130 | void *gearman_client_context(const gearman_client_st *client) |
1131 | { |
1132 | - return (void *)(client->context); |
1133 | + return static_cast<void *>(client->context); |
1134 | } |
1135 | |
1136 | void gearman_client_set_context(gearman_client_st *client, void *context) |
1137 | @@ -922,14 +922,14 @@ |
1138 | GEARMAN_SERVER_ERROR, |
1139 | "gearman_client_run_tasks", |
1140 | "%s:%.*s", |
1141 | - (char *)(client->con->packet.arg[0]), |
1142 | - (int)(client->con->packet.arg_size[1]), |
1143 | - (char *)(client->con->packet.arg[1])); |
1144 | + static_cast<char *>(client->con->packet.arg[0]), |
1145 | + int(client->con->packet.arg_size[1]), |
1146 | + static_cast<char *>(client->con->packet.arg[1])); |
1147 | |
1148 | return GEARMAN_SERVER_ERROR; |
1149 | } |
1150 | else if (strncmp(client->task->job_handle, |
1151 | - (char *)(client->con->packet.arg[0]), |
1152 | + static_cast<char *>(client->con->packet.arg[0]), |
1153 | client->con->packet.arg_size[0]) || |
1154 | (client->con->packet.command != GEARMAN_COMMAND_WORK_FAIL && |
1155 | strlen(client->task->job_handle) != client->con->packet.arg_size[0] - 1) || |
1156 | @@ -1094,7 +1094,7 @@ |
1157 | static gearman_return_t _client_add_server(const char *host, in_port_t port, |
1158 | void *context) |
1159 | { |
1160 | - return gearman_client_add_server((gearman_client_st *)context, host, port); |
1161 | + return gearman_client_add_server(static_cast<gearman_client_st *>(context), host, port); |
1162 | } |
1163 | |
1164 | static gearman_task_st *_client_add_task(gearman_client_st *client, |
1165 | @@ -1150,7 +1150,8 @@ |
1166 | if (command == GEARMAN_COMMAND_SUBMIT_JOB_EPOCH) |
1167 | { |
1168 | char time_string[30]; |
1169 | - int length= snprintf(time_string, sizeof(time_string), "%lld", (long long)when); |
1170 | + int length= snprintf(time_string, sizeof(time_string), "%lld", |
1171 | + static_cast<long long>(when)); |
1172 | args[2]= time_string; |
1173 | args_size[2]= length +1; |
1174 | args[3]= workload; |
1175 | @@ -1300,8 +1301,8 @@ |
1176 | if (task->recv->command == GEARMAN_COMMAND_JOB_CREATED) |
1177 | { |
1178 | snprintf(task->job_handle, GEARMAN_JOB_HANDLE_SIZE, "%.*s", |
1179 | - (int)(task->recv->arg_size[0]), |
1180 | - (char *)(task->recv->arg[0])); |
1181 | + int(task->recv->arg_size[0]), |
1182 | + static_cast<char *>(task->recv->arg[0])); |
1183 | |
1184 | case GEARMAN_TASK_STATE_CREATED: |
1185 | if (client->created_fn != NULL) |
1186 | @@ -1353,12 +1354,12 @@ |
1187 | { |
1188 | if (task->recv->command == GEARMAN_COMMAND_STATUS_RES) |
1189 | { |
1190 | - if (atoi((char *)task->recv->arg[1]) == 0) |
1191 | + if (atoi(static_cast<char *>(task->recv->arg[1])) == 0) |
1192 | task->options.is_known= false; |
1193 | else |
1194 | task->options.is_known= true; |
1195 | |
1196 | - if (atoi((char *)task->recv->arg[2]) == 0) |
1197 | + if (atoi(static_cast<char *>(task->recv->arg[2])) == 0) |
1198 | task->options.is_running= false; |
1199 | else |
1200 | task->options.is_running= true; |
1201 | @@ -1370,11 +1371,11 @@ |
1202 | x= 1; |
1203 | } |
1204 | |
1205 | - task->numerator= (uint32_t)atoi((char *)task->recv->arg[x]); |
1206 | + task->numerator= uint32_t(atoi(static_cast<char *>(task->recv->arg[x]))); |
1207 | snprintf(status_buffer, 11, "%.*s", |
1208 | - (int)(task->recv->arg_size[x + 1]), |
1209 | - (char *)(task->recv->arg[x + 1])); |
1210 | - task->denominator= (uint32_t)atoi(status_buffer); |
1211 | + int(task->recv->arg_size[x + 1]), |
1212 | + static_cast<char *>(task->recv->arg[x + 1])); |
1213 | + task->denominator= uint32_t(atoi(status_buffer)); |
1214 | |
1215 | case GEARMAN_TASK_STATE_STATUS: |
1216 | if (client->status_fn != NULL) |
1217 | @@ -1507,7 +1508,7 @@ |
1218 | client->do_data_size= 0; |
1219 | } |
1220 | |
1221 | - return (void *)workload; |
1222 | + return const_cast<void *>(workload); |
1223 | } |
1224 | |
1225 | static gearman_return_t _client_do_background(gearman_client_st *client, |
1226 | @@ -1557,7 +1558,7 @@ |
1227 | |
1228 | static gearman_return_t _client_do_data(gearman_task_st *task) |
1229 | { |
1230 | - gearman_client_st *client= (gearman_client_st *)gearman_task_context(task); |
1231 | + gearman_client_st *client= const_cast<gearman_client_st *>(static_cast<const gearman_client_st *>(gearman_task_context(task))); |
1232 | |
1233 | if (client->do_ret != GEARMAN_SUCCESS) |
1234 | { |
1235 | @@ -1581,7 +1582,7 @@ |
1236 | |
1237 | static gearman_return_t _client_do_status(gearman_task_st *task) |
1238 | { |
1239 | - gearman_client_st *client= (gearman_client_st *)gearman_task_context(task); |
1240 | + gearman_client_st *client= const_cast<gearman_client_st *>(static_cast<const gearman_client_st *>(gearman_task_context(task))); |
1241 | |
1242 | if (client->do_ret != GEARMAN_SUCCESS) |
1243 | { |
1244 | @@ -1595,7 +1596,7 @@ |
1245 | |
1246 | static gearman_return_t _client_do_fail(gearman_task_st *task) |
1247 | { |
1248 | - gearman_client_st *client= (gearman_client_st *)gearman_task_context(task); |
1249 | + gearman_client_st *client= const_cast<gearman_client_st *>(static_cast<const gearman_client_st *>(gearman_task_context(task))); |
1250 | |
1251 | client->do_ret= GEARMAN_WORK_FAIL; |
1252 | return GEARMAN_SUCCESS; |
1253 | |
1254 | === modified file 'libgearman/connection.cc' |
1255 | --- libgearman/connection.cc 2011-04-14 05:40:29 +0000 |
1256 | +++ libgearman/connection.cc 2011-04-16 05:39:23 +0000 |
1257 | @@ -252,7 +252,7 @@ |
1258 | NI_MAXHOST); |
1259 | connection->host[NI_MAXHOST - 1]= 0; |
1260 | |
1261 | - connection->port= (in_port_t)(port == 0 ? GEARMAN_DEFAULT_TCP_PORT : port); |
1262 | + connection->port= in_port_t(port == 0 ? GEARMAN_DEFAULT_TCP_PORT : port); |
1263 | } |
1264 | |
1265 | void gearman_connection_close(gearman_connection_st *connection) |
1266 | @@ -416,14 +416,14 @@ |
1267 | if (connection->send_buffer_size < GEARMAN_SEND_BUFFER_SIZE) |
1268 | { |
1269 | memcpy(connection->send_buffer, |
1270 | - (char *)packet->data + connection->send_data_offset, |
1271 | + static_cast<char *>(const_cast<void *>(packet->data)) + connection->send_data_offset, |
1272 | connection->send_buffer_size); |
1273 | connection->send_data_size= 0; |
1274 | connection->send_data_offset= 0; |
1275 | break; |
1276 | } |
1277 | |
1278 | - connection->send_buffer_ptr= (char *)packet->data + connection->send_data_offset; |
1279 | + connection->send_buffer_ptr= static_cast<char *>(const_cast<void *>(packet->data)) + connection->send_data_offset; |
1280 | connection->send_state= GEARMAN_CON_SEND_UNIVERSAL_FLUSH_DATA; |
1281 | |
1282 | case GEARMAN_CON_SEND_UNIVERSAL_FLUSH: |
1283 | @@ -473,7 +473,7 @@ |
1284 | return GEARMAN_DATA_TOO_LARGE; |
1285 | } |
1286 | |
1287 | - connection->send_buffer_ptr= (char *)data; |
1288 | + connection->send_buffer_ptr= static_cast<char *>(const_cast<void *>(data)); |
1289 | connection->send_buffer_size= data_size; |
1290 | |
1291 | *ret_ptr= gearman_connection_flush(connection); |
1292 | @@ -500,7 +500,7 @@ |
1293 | connection->addrinfo= NULL; |
1294 | } |
1295 | |
1296 | - snprintf(port_str, NI_MAXSERV, "%hu", (uint16_t)connection->port); |
1297 | + snprintf(port_str, NI_MAXSERV, "%hu", uint16_t(connection->port)); |
1298 | |
1299 | memset(&ai, 0, sizeof(struct addrinfo)); |
1300 | ai.ai_socktype= SOCK_STREAM; |
1301 | @@ -663,10 +663,10 @@ |
1302 | return GEARMAN_ERRNO; |
1303 | } |
1304 | |
1305 | - connection->send_buffer_size-= (size_t)write_size; |
1306 | + connection->send_buffer_size-= size_t(write_size); |
1307 | if (connection->send_state == GEARMAN_CON_SEND_UNIVERSAL_FLUSH_DATA) |
1308 | { |
1309 | - connection->send_data_offset+= (size_t)write_size; |
1310 | + connection->send_data_offset+= size_t(write_size); |
1311 | if (connection->send_data_offset == connection->send_data_size) |
1312 | { |
1313 | connection->send_data_size= 0; |
1314 | @@ -776,7 +776,7 @@ |
1315 | else |
1316 | { |
1317 | packet->data= packet->universal->workload_malloc_fn(packet->data_size, |
1318 | - (void *)packet->universal->workload_malloc_context); |
1319 | + static_cast<void *>(packet->universal->workload_malloc_context)); |
1320 | } |
1321 | if (packet->data == NULL) |
1322 | { |
1323 | @@ -792,7 +792,7 @@ |
1324 | while (connection->recv_data_size != 0) |
1325 | { |
1326 | (void)gearman_connection_recv_data(connection, |
1327 | - ((uint8_t *)(packet->data)) + |
1328 | + static_cast<uint8_t *>(const_cast<void *>(packet->data)) + |
1329 | connection->recv_data_offset, |
1330 | packet->data_size - |
1331 | connection->recv_data_offset, ret_ptr); |
1332 | @@ -844,7 +844,8 @@ |
1333 | |
1334 | if (data_size != recv_size) |
1335 | { |
1336 | - recv_size+= gearman_connection_read(connection, ((uint8_t *)data) + recv_size, |
1337 | + recv_size+= gearman_connection_read(connection, |
1338 | + static_cast<uint8_t *>(const_cast<void *>(data)) + recv_size, |
1339 | data_size - recv_size, ret_ptr); |
1340 | connection->recv_data_offset+= recv_size; |
1341 | } |
1342 | @@ -928,7 +929,7 @@ |
1343 | } |
1344 | |
1345 | *ret_ptr= GEARMAN_SUCCESS; |
1346 | - return (size_t)read_size; |
1347 | + return size_t(read_size); |
1348 | } |
1349 | |
1350 | gearman_return_t gearman_connection_set_events(gearman_connection_st *connection, short events) |
1351 | @@ -943,7 +944,7 @@ |
1352 | if (connection->universal->event_watch_fn != NULL) |
1353 | { |
1354 | ret= connection->universal->event_watch_fn(connection, connection->events, |
1355 | - (void *)connection->universal->event_watch_context); |
1356 | + static_cast<void *>(connection->universal->event_watch_context)); |
1357 | if (ret != GEARMAN_SUCCESS) |
1358 | { |
1359 | gearman_connection_close(connection); |
1360 | @@ -971,7 +972,7 @@ |
1361 | connection->universal->event_watch_fn != NULL) |
1362 | { |
1363 | ret= connection->universal->event_watch_fn(connection, connection->events, |
1364 | - (void *)connection->universal->event_watch_context); |
1365 | + static_cast<void *>(connection->universal->event_watch_context)); |
1366 | if (ret != GEARMAN_SUCCESS) |
1367 | { |
1368 | gearman_connection_close(connection); |
1369 | @@ -979,7 +980,7 @@ |
1370 | } |
1371 | } |
1372 | |
1373 | - connection->events&= (short)~revents; |
1374 | + connection->events&= short(~revents); |
1375 | |
1376 | return GEARMAN_SUCCESS; |
1377 | } |
1378 | @@ -996,7 +997,7 @@ |
1379 | |
1380 | ret= 1; |
1381 | ret= setsockopt(connection->fd, IPPROTO_TCP, TCP_NODELAY, &ret, |
1382 | - (socklen_t)sizeof(int)); |
1383 | + socklen_t(sizeof(int))); |
1384 | if (ret == -1 && errno != EOPNOTSUPP) |
1385 | { |
1386 | gearman_perror(connection->universal, "setsockopt(TCP_NODELAY)"); |
1387 | @@ -1006,7 +1007,7 @@ |
1388 | linger.l_onoff= 1; |
1389 | linger.l_linger= GEARMAN_DEFAULT_SOCKET_TIMEOUT; |
1390 | ret= setsockopt(connection->fd, SOL_SOCKET, SO_LINGER, &linger, |
1391 | - (socklen_t)sizeof(struct linger)); |
1392 | + socklen_t(sizeof(struct linger))); |
1393 | if (ret == -1) |
1394 | { |
1395 | gearman_perror(connection->universal, "setsockopt(SO_LINGER)"); |
1396 | @@ -1016,7 +1017,7 @@ |
1397 | waittime.tv_sec= GEARMAN_DEFAULT_SOCKET_TIMEOUT; |
1398 | waittime.tv_usec= 0; |
1399 | ret= setsockopt(connection->fd, SOL_SOCKET, SO_SNDTIMEO, &waittime, |
1400 | - (socklen_t)sizeof(struct timeval)); |
1401 | + socklen_t(sizeof(struct timeval))); |
1402 | if (ret == -1 && errno != ENOPROTOOPT) |
1403 | { |
1404 | gearman_perror(connection->universal, "setsockopt(SO_SNDTIMEO)"); |
1405 | @@ -1024,7 +1025,7 @@ |
1406 | } |
1407 | |
1408 | ret= setsockopt(connection->fd, SOL_SOCKET, SO_RCVTIMEO, &waittime, |
1409 | - (socklen_t)sizeof(struct timeval)); |
1410 | + socklen_t(sizeof(struct timeval))); |
1411 | if (ret == -1 && errno != ENOPROTOOPT) |
1412 | { |
1413 | gearman_perror(connection->universal, "setsockopt(SO_RCVTIMEO)"); |
1414 | @@ -1032,7 +1033,7 @@ |
1415 | } |
1416 | |
1417 | ret= GEARMAN_DEFAULT_SOCKET_SEND_SIZE; |
1418 | - ret= setsockopt(connection->fd, SOL_SOCKET, SO_SNDBUF, &ret, (socklen_t)sizeof(int)); |
1419 | + ret= setsockopt(connection->fd, SOL_SOCKET, SO_SNDBUF, &ret, socklen_t(sizeof(int))); |
1420 | if (ret == -1) |
1421 | { |
1422 | gearman_perror(connection->universal, "setsockopt(SO_SNDBUF)"); |
1423 | @@ -1042,7 +1043,7 @@ |
1424 | #if defined(__MACH__) && defined(__APPLE__) || defined(__FreeBSD__) |
1425 | { |
1426 | ret= 1; |
1427 | - setsockopt(connection->fd, SOL_SOCKET, SO_NOSIGPIPE, (void *)&ret, sizeof(int)); |
1428 | + setsockopt(connection->fd, SOL_SOCKET, SO_NOSIGPIPE, static_cast<void *>(&ret), sizeof(int)); |
1429 | |
1430 | // This is not considered a fatal error |
1431 | if (ret == -1) |
1432 | @@ -1053,7 +1054,7 @@ |
1433 | #endif |
1434 | |
1435 | ret= GEARMAN_DEFAULT_SOCKET_RECV_SIZE; |
1436 | - ret= setsockopt(connection->fd, SOL_SOCKET, SO_RCVBUF, &ret, (socklen_t)sizeof(int)); |
1437 | + ret= setsockopt(connection->fd, SOL_SOCKET, SO_RCVBUF, &ret, socklen_t(sizeof(int))); |
1438 | if (ret == -1) |
1439 | { |
1440 | gearman_perror(connection->universal, "setsockopt(SO_RCVBUF)"); |
1441 | |
1442 | === modified file 'libgearman/job.cc' |
1443 | --- libgearman/job.cc 2011-04-13 04:12:34 +0000 |
1444 | +++ libgearman/job.cc 2011-04-16 05:39:23 +0000 |
1445 | @@ -288,18 +288,18 @@ |
1446 | |
1447 | const char *gearman_job_handle(const gearman_job_st *job) |
1448 | { |
1449 | - return (const char *)job->assigned.arg[0]; |
1450 | + return static_cast<const char *>(job->assigned.arg[0]); |
1451 | } |
1452 | |
1453 | const char *gearman_job_function_name(const gearman_job_st *job) |
1454 | { |
1455 | - return (const char *)job->assigned.arg[1]; |
1456 | + return static_cast<const char *>(job->assigned.arg[1]); |
1457 | } |
1458 | |
1459 | const char *gearman_job_unique(const gearman_job_st *job) |
1460 | { |
1461 | if (job->assigned.command == GEARMAN_COMMAND_JOB_ASSIGN_UNIQ) |
1462 | - return (const char *)job->assigned.arg[2]; |
1463 | + return static_cast<const char *>(job->assigned.arg[2]); |
1464 | return ""; |
1465 | } |
1466 | |
1467 | |
1468 | === modified file 'libgearman/task.cc' |
1469 | --- libgearman/task.cc 2011-04-13 04:12:34 +0000 |
1470 | +++ libgearman/task.cc 2011-04-16 05:39:23 +0000 |
1471 | @@ -110,7 +110,7 @@ |
1472 | if (task != &(task->client->do_task) && task->context != NULL && |
1473 | task->client->task_context_free_fn != NULL) |
1474 | { |
1475 | - task->client->task_context_free_fn(task, (void *)task->context); |
1476 | + task->client->task_context_free_fn(task, static_cast<void *>(task->context)); |
1477 | } |
1478 | |
1479 | if (task->client->task_list == task) |
1480 | |
1481 | === modified file 'libgearman/universal.cc' |
1482 | --- libgearman/universal.cc 2011-04-14 05:40:29 +0000 |
1483 | +++ libgearman/universal.cc 2011-04-16 05:39:23 +0000 |
1484 | @@ -404,7 +404,7 @@ |
1485 | } |
1486 | |
1487 | size= strlen(gearman_strerror(rc)); |
1488 | - ptr= (char *)memcpy(log_buffer, gearman_strerror(rc), size); |
1489 | + ptr= static_cast<char *>(memcpy(log_buffer, gearman_strerror(rc), size)); |
1490 | ptr+= size; |
1491 | |
1492 | ptr[0]= '>'; |
1493 | @@ -412,7 +412,7 @@ |
1494 | ptr++; |
1495 | |
1496 | size= strlen(function); |
1497 | - ptr= (char *)memcpy(ptr, (void*)function, size); |
1498 | + ptr= static_cast<char *>(memcpy(ptr, static_cast<void*>(const_cast<char *>(function)), size)); |
1499 | ptr+= size; |
1500 | |
1501 | ptr[0]= ':'; |
1502 | @@ -420,7 +420,7 @@ |
1503 | ptr++; |
1504 | |
1505 | va_start(args, format); |
1506 | - size+= (size_t)vsnprintf(ptr, GEARMAN_MAX_ERROR_SIZE - size, format, args); |
1507 | + size+= size_t(vsnprintf(ptr, GEARMAN_MAX_ERROR_SIZE - size, format, args)); |
1508 | va_end(args); |
1509 | |
1510 | if (universal->log_fn == NULL) |
1511 | @@ -433,7 +433,7 @@ |
1512 | else |
1513 | { |
1514 | universal->log_fn(log_buffer, GEARMAN_VERBOSE_FATAL, |
1515 | - (void *)universal->log_context); |
1516 | + static_cast<void *>(universal->log_context)); |
1517 | } |
1518 | } |
1519 | |
1520 | |
1521 | === modified file 'libgearman/worker.cc' |
1522 | --- libgearman/worker.cc 2011-04-14 05:40:29 +0000 |
1523 | +++ libgearman/worker.cc 2011-04-16 05:39:23 +0000 |
1524 | @@ -187,7 +187,7 @@ |
1525 | else |
1526 | { |
1527 | (&worker->universal)->workload_free_fn(worker->work_result, |
1528 | - (void *)(&worker->universal)->workload_free_context); |
1529 | + static_cast<void *>((&worker->universal)->workload_free_context)); |
1530 | } |
1531 | } |
1532 | |
1533 | @@ -219,25 +219,25 @@ |
1534 | memset(&options, 0, sizeof(gearman_worker_options_t)); |
1535 | |
1536 | if (worker->options.allocated) |
1537 | - options|= (int)GEARMAN_WORKER_ALLOCATED; |
1538 | + options|= int(GEARMAN_WORKER_ALLOCATED); |
1539 | if (worker->options.non_blocking) |
1540 | - options|= (int)GEARMAN_WORKER_NON_BLOCKING; |
1541 | + options|= int(GEARMAN_WORKER_NON_BLOCKING); |
1542 | if (worker->options.packet_init) |
1543 | - options|= (int)GEARMAN_WORKER_PACKET_INIT; |
1544 | + options|= int(GEARMAN_WORKER_PACKET_INIT); |
1545 | if (worker->options.grab_job_in_use) |
1546 | - options|= (int)GEARMAN_WORKER_GRAB_JOB_IN_USE; |
1547 | + options|= int(GEARMAN_WORKER_GRAB_JOB_IN_USE); |
1548 | if (worker->options.pre_sleep_in_use) |
1549 | - options|= (int)GEARMAN_WORKER_PRE_SLEEP_IN_USE; |
1550 | + options|= int(GEARMAN_WORKER_PRE_SLEEP_IN_USE); |
1551 | if (worker->options.work_job_in_use) |
1552 | - options|= (int)GEARMAN_WORKER_WORK_JOB_IN_USE; |
1553 | + options|= int(GEARMAN_WORKER_WORK_JOB_IN_USE); |
1554 | if (worker->options.change) |
1555 | - options|= (int)GEARMAN_WORKER_CHANGE; |
1556 | + options|= int(GEARMAN_WORKER_CHANGE); |
1557 | if (worker->options.grab_uniq) |
1558 | - options|= (int)GEARMAN_WORKER_GRAB_UNIQ; |
1559 | + options|= int(GEARMAN_WORKER_GRAB_UNIQ); |
1560 | if (worker->options.timeout_return) |
1561 | - options|= (int)GEARMAN_WORKER_TIMEOUT_RETURN; |
1562 | + options|= int(GEARMAN_WORKER_TIMEOUT_RETURN); |
1563 | |
1564 | - return (gearman_worker_options_t)options; |
1565 | + return gearman_worker_options_t(options); |
1566 | } |
1567 | |
1568 | void gearman_worker_set_options(gearman_worker_st *worker, |
1569 | @@ -713,7 +713,7 @@ |
1570 | else |
1571 | { |
1572 | if ((&worker->universal)->timeout > 0) |
1573 | - usleep((unsigned int)(&worker->universal)->timeout * 1000); |
1574 | + usleep(static_cast<unsigned int>((&worker->universal)->timeout) * 1000); |
1575 | |
1576 | if (worker->options.timeout_return) |
1577 | { |
1578 | @@ -841,7 +841,7 @@ |
1579 | |
1580 | case GEARMAN_WORKER_WORK_UNIVERSAL_FUNCTION: |
1581 | worker->work_result= worker->work_function->worker_fn(&(worker->work_job), |
1582 | - (void *)worker->work_function->context, |
1583 | + static_cast<void *>(worker->work_function->context), |
1584 | &(worker->work_result_size), &ret); |
1585 | if (ret == GEARMAN_WORK_FAIL) |
1586 | { |
1587 | @@ -1020,7 +1020,8 @@ |
1588 | static gearman_return_t _worker_add_server(const char *host, in_port_t port, |
1589 | void *context) |
1590 | { |
1591 | - return gearman_worker_add_server((gearman_worker_st *)context, host, port); |
1592 | + return gearman_worker_add_server(static_cast<gearman_worker_st *>(context), |
1593 | + host, port); |
1594 | } |
1595 | |
1596 | static gearman_return_t _worker_function_create(gearman_worker_st *worker, |
1597 | |
1598 | === modified file 'libtest/test.h' |
1599 | --- libtest/test.h 2011-03-28 00:28:55 +0000 |
1600 | +++ libtest/test.h 2011-04-16 05:39:23 +0000 |
1601 | @@ -116,6 +116,10 @@ |
1602 | |
1603 | virtual ~world_st() |
1604 | { } |
1605 | + |
1606 | +private: |
1607 | + world_st(const world_st&); |
1608 | + world_st& operator=(const world_st&); |
1609 | }; |
1610 | |
1611 | |
1612 | |
1613 | === added file 'm4/iconv.m4' |
1614 | --- m4/iconv.m4 1970-01-01 00:00:00 +0000 |
1615 | +++ m4/iconv.m4 2011-04-16 05:39:23 +0000 |
1616 | @@ -0,0 +1,214 @@ |
1617 | +# iconv.m4 serial 11 (gettext-0.18.1) |
1618 | +dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. |
1619 | +dnl This file is free software; the Free Software Foundation |
1620 | +dnl gives unlimited permission to copy and/or distribute it, |
1621 | +dnl with or without modifications, as long as this notice is preserved. |
1622 | + |
1623 | +dnl From Bruno Haible. |
1624 | + |
1625 | +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], |
1626 | +[ |
1627 | + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. |
1628 | + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) |
1629 | + AC_REQUIRE([AC_LIB_RPATH]) |
1630 | + |
1631 | + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV |
1632 | + dnl accordingly. |
1633 | + AC_LIB_LINKFLAGS_BODY([iconv]) |
1634 | +]) |
1635 | + |
1636 | +AC_DEFUN([AM_ICONV_LINK], |
1637 | +[ |
1638 | + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and |
1639 | + dnl those with the standalone portable GNU libiconv installed). |
1640 | + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
1641 | + |
1642 | + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV |
1643 | + dnl accordingly. |
1644 | + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) |
1645 | + |
1646 | + dnl Add $INCICONV to CPPFLAGS before performing the following checks, |
1647 | + dnl because if the user has installed libiconv and not disabled its use |
1648 | + dnl via --without-libiconv-prefix, he wants to use it. The first |
1649 | + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. |
1650 | + am_save_CPPFLAGS="$CPPFLAGS" |
1651 | + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) |
1652 | + |
1653 | + AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ |
1654 | + am_cv_func_iconv="no, consider installing GNU libiconv" |
1655 | + am_cv_lib_iconv=no |
1656 | + AC_TRY_LINK([#include <stdlib.h> |
1657 | +#include <iconv.h>], |
1658 | + [iconv_t cd = iconv_open("",""); |
1659 | + iconv(cd,NULL,NULL,NULL,NULL); |
1660 | + iconv_close(cd);], |
1661 | + [am_cv_func_iconv=yes]) |
1662 | + if test "$am_cv_func_iconv" != yes; then |
1663 | + am_save_LIBS="$LIBS" |
1664 | + LIBS="$LIBS $LIBICONV" |
1665 | + AC_TRY_LINK([#include <stdlib.h> |
1666 | +#include <iconv.h>], |
1667 | + [iconv_t cd = iconv_open("",""); |
1668 | + iconv(cd,NULL,NULL,NULL,NULL); |
1669 | + iconv_close(cd);], |
1670 | + [am_cv_lib_iconv=yes] |
1671 | + [am_cv_func_iconv=yes]) |
1672 | + LIBS="$am_save_LIBS" |
1673 | + fi |
1674 | + ]) |
1675 | + if test "$am_cv_func_iconv" = yes; then |
1676 | + AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ |
1677 | + dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. |
1678 | + am_save_LIBS="$LIBS" |
1679 | + if test $am_cv_lib_iconv = yes; then |
1680 | + LIBS="$LIBS $LIBICONV" |
1681 | + fi |
1682 | + AC_TRY_RUN([ |
1683 | +#include <iconv.h> |
1684 | +#include <string.h> |
1685 | +int main () |
1686 | +{ |
1687 | + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful |
1688 | + returns. */ |
1689 | + { |
1690 | + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); |
1691 | + if (cd_utf8_to_88591 != (iconv_t)(-1)) |
1692 | + { |
1693 | + static const char input[] = "\342\202\254"; /* EURO SIGN */ |
1694 | + char buf[10]; |
1695 | + const char *inptr = input; |
1696 | + size_t inbytesleft = strlen (input); |
1697 | + char *outptr = buf; |
1698 | + size_t outbytesleft = sizeof (buf); |
1699 | + size_t res = iconv (cd_utf8_to_88591, |
1700 | + (char **) &inptr, &inbytesleft, |
1701 | + &outptr, &outbytesleft); |
1702 | + if (res == 0) |
1703 | + return 1; |
1704 | + } |
1705 | + } |
1706 | + /* Test against Solaris 10 bug: Failures are not distinguishable from |
1707 | + successful returns. */ |
1708 | + { |
1709 | + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); |
1710 | + if (cd_ascii_to_88591 != (iconv_t)(-1)) |
1711 | + { |
1712 | + static const char input[] = "\263"; |
1713 | + char buf[10]; |
1714 | + const char *inptr = input; |
1715 | + size_t inbytesleft = strlen (input); |
1716 | + char *outptr = buf; |
1717 | + size_t outbytesleft = sizeof (buf); |
1718 | + size_t res = iconv (cd_ascii_to_88591, |
1719 | + (char **) &inptr, &inbytesleft, |
1720 | + &outptr, &outbytesleft); |
1721 | + if (res == 0) |
1722 | + return 1; |
1723 | + } |
1724 | + } |
1725 | +#if 0 /* This bug could be worked around by the caller. */ |
1726 | + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ |
1727 | + { |
1728 | + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); |
1729 | + if (cd_88591_to_utf8 != (iconv_t)(-1)) |
1730 | + { |
1731 | + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; |
1732 | + char buf[50]; |
1733 | + const char *inptr = input; |
1734 | + size_t inbytesleft = strlen (input); |
1735 | + char *outptr = buf; |
1736 | + size_t outbytesleft = sizeof (buf); |
1737 | + size_t res = iconv (cd_88591_to_utf8, |
1738 | + (char **) &inptr, &inbytesleft, |
1739 | + &outptr, &outbytesleft); |
1740 | + if ((int)res > 0) |
1741 | + return 1; |
1742 | + } |
1743 | + } |
1744 | +#endif |
1745 | + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is |
1746 | + provided. */ |
1747 | + if (/* Try standardized names. */ |
1748 | + iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) |
1749 | + /* Try IRIX, OSF/1 names. */ |
1750 | + && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) |
1751 | + /* Try AIX names. */ |
1752 | + && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) |
1753 | + /* Try HP-UX names. */ |
1754 | + && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) |
1755 | + return 1; |
1756 | + return 0; |
1757 | +}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], |
1758 | + [case "$host_os" in |
1759 | + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; |
1760 | + *) am_cv_func_iconv_works="guessing yes" ;; |
1761 | + esac]) |
1762 | + LIBS="$am_save_LIBS" |
1763 | + ]) |
1764 | + case "$am_cv_func_iconv_works" in |
1765 | + *no) am_func_iconv=no am_cv_lib_iconv=no ;; |
1766 | + *) am_func_iconv=yes ;; |
1767 | + esac |
1768 | + else |
1769 | + am_func_iconv=no am_cv_lib_iconv=no |
1770 | + fi |
1771 | + if test "$am_func_iconv" = yes; then |
1772 | + AC_DEFINE([HAVE_ICONV], [1], |
1773 | + [Define if you have the iconv() function and it works.]) |
1774 | + fi |
1775 | + if test "$am_cv_lib_iconv" = yes; then |
1776 | + AC_MSG_CHECKING([how to link with libiconv]) |
1777 | + AC_MSG_RESULT([$LIBICONV]) |
1778 | + else |
1779 | + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV |
1780 | + dnl either. |
1781 | + CPPFLAGS="$am_save_CPPFLAGS" |
1782 | + LIBICONV= |
1783 | + LTLIBICONV= |
1784 | + fi |
1785 | + AC_SUBST([LIBICONV]) |
1786 | + AC_SUBST([LTLIBICONV]) |
1787 | +]) |
1788 | + |
1789 | +dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to |
1790 | +dnl avoid warnings like |
1791 | +dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". |
1792 | +dnl This is tricky because of the way 'aclocal' is implemented: |
1793 | +dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. |
1794 | +dnl Otherwise aclocal's initial scan pass would miss the macro definition. |
1795 | +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. |
1796 | +dnl Otherwise aclocal would emit many "Use of uninitialized value $1" |
1797 | +dnl warnings. |
1798 | +m4_define([gl_iconv_AC_DEFUN], |
1799 | + m4_version_prereq([2.64], |
1800 | + [[AC_DEFUN_ONCE( |
1801 | + [$1], [$2])]], |
1802 | + [[AC_DEFUN( |
1803 | + [$1], [$2])]])) |
1804 | +gl_iconv_AC_DEFUN([AM_ICONV], |
1805 | +[ |
1806 | + AM_ICONV_LINK |
1807 | + if test "$am_cv_func_iconv" = yes; then |
1808 | + AC_MSG_CHECKING([for iconv declaration]) |
1809 | + AC_CACHE_VAL([am_cv_proto_iconv], [ |
1810 | + AC_TRY_COMPILE([ |
1811 | +#include <stdlib.h> |
1812 | +#include <iconv.h> |
1813 | +extern |
1814 | +#ifdef __cplusplus |
1815 | +"C" |
1816 | +#endif |
1817 | +#if defined(__STDC__) || defined(__cplusplus) |
1818 | +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); |
1819 | +#else |
1820 | +size_t iconv(); |
1821 | +#endif |
1822 | +], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) |
1823 | + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) |
1824 | + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` |
1825 | + AC_MSG_RESULT([ |
1826 | + $am_cv_proto_iconv]) |
1827 | + AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], |
1828 | + [Define as const if the declaration of iconv() needs const.]) |
1829 | + fi |
1830 | +]) |
1831 | |
1832 | === modified file 'm4/pandora_64bit.m4' |
1833 | --- m4/pandora_64bit.m4 2009-09-29 04:30:01 +0000 |
1834 | +++ m4/pandora_64bit.m4 2011-04-16 05:39:23 +0000 |
1835 | @@ -1,5 +1,5 @@ |
1836 | -dnl Copyright (C) 2009 Sun Microsystems |
1837 | -dnl This file is free software; Sun Microsystems |
1838 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
1839 | +dnl This file is free software; Sun Microsystems, Inc. |
1840 | dnl gives unlimited permission to copy and/or distribute it, |
1841 | dnl with or without modifications, as long as this notice is preserved. |
1842 | |
1843 | @@ -20,9 +20,9 @@ |
1844 | [isainfo_b=`${ISAINFO} -b`], |
1845 | [isainfo_b="x"]) |
1846 | |
1847 | - AS_IF([test "$isainfo_b" != "x"],[ |
1848 | + AS_IF([test "$isainfo_b" != "x" -a "$isainfo_b" != "32"],[ |
1849 | |
1850 | - isainfo_k=`${ISAINFO} -k` |
1851 | + isainfo_k=`${ISAINFO} -k` |
1852 | DTRACEFLAGS="${DTRACEFLAGS} -${isainfo_b}" |
1853 | |
1854 | AS_IF([test "x$ac_enable_64bit" = "xyes"],[ |
1855 | @@ -32,7 +32,7 @@ |
1856 | ]) |
1857 | |
1858 | AS_IF([test "x$libdir" = "x\${exec_prefix}/lib"],[ |
1859 | - dnl The user hasn't overridden the default libdir, so we'll |
1860 | + dnl The user hasn't overridden the default libdir, so we'll |
1861 | dnl the dir suffix to match solaris 32/64-bit policy |
1862 | libdir="${libdir}/${isainfo_k}" |
1863 | ]) |
1864 | |
1865 | === added file 'm4/pandora_bison.m4' |
1866 | --- m4/pandora_bison.m4 1970-01-01 00:00:00 +0000 |
1867 | +++ m4/pandora_bison.m4 2011-04-16 05:39:23 +0000 |
1868 | @@ -0,0 +1,33 @@ |
1869 | +dnl Copyright (C) 2010 Monty Taylor |
1870 | +dnl Copyright (C) 2010 Hartmut Holzgraefe |
1871 | +dnl This file is free software; Monty Taylor and Hartmut Holzgraefe |
1872 | +dnl give unlimited permission to copy and/or distribute it, |
1873 | +dnl with or without modifications, as long as this notice is preserved. |
1874 | + |
1875 | +AC_DEFUN([_PANDORA_SEARCH_BISON],[ |
1876 | + |
1877 | + dnl -------------------------------------------------------------------- |
1878 | + dnl Check for bison |
1879 | + dnl -------------------------------------------------------------------- |
1880 | + |
1881 | + AC_CHECK_PROGS([YACC], ['bison -y'], [:]) |
1882 | + AS_IF([test "x$YACC" = "x:"],[ |
1883 | + pandora_have_bison=no |
1884 | + 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;' |
1885 | + ],[ |
1886 | + pandora_have_bison=yes |
1887 | + ]) |
1888 | + |
1889 | + AM_CONDITIONAL(HAVE_BISON, [test "x${pandora_have_bison}" = "xyes"]) |
1890 | +]) |
1891 | + |
1892 | +AC_DEFUN([PANDORA_HAVE_BISON],[ |
1893 | + AC_REQUIRE([_PANDORA_SEARCH_BISON]) |
1894 | +]) |
1895 | + |
1896 | +AC_DEFUN([PANDORA_REQUIRE_BISON],[ |
1897 | + AC_REQUIRE([PANDORA_HAVE_BISON]) |
1898 | + AS_IF([test "x${pandora_have_bison}" = "xno" -a "$pandora_building_from_bzr" = "yes"], |
1899 | + PANDORA_MSG_ERROR(["bison is required for ${PACKAGE} to build from a bzr branch"]) |
1900 | + ) |
1901 | +]) |
1902 | |
1903 | === modified file 'm4/pandora_canonical.m4' |
1904 | --- m4/pandora_canonical.m4 2011-03-03 07:48:59 +0000 |
1905 | +++ m4/pandora_canonical.m4 2011-04-16 05:39:23 +0000 |
1906 | @@ -4,7 +4,15 @@ |
1907 | dnl with or without modifications, as long as this notice is preserved. |
1908 | |
1909 | dnl Which version of the canonical setup we're using |
1910 | -AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.171]) |
1911 | +AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.177]) |
1912 | + |
1913 | +AC_DEFUN([PANDORA_MSG_ERROR],[ |
1914 | + AS_IF([test "x${pandora_cv_skip_requires}" != "xno"],[ |
1915 | + AC_MSG_ERROR($1) |
1916 | + ],[ |
1917 | + AC_MSG_WARN($1) |
1918 | + ]) |
1919 | +]) |
1920 | |
1921 | AC_DEFUN([PANDORA_FORCE_DEPEND_TRACKING],[ |
1922 | AC_ARG_ENABLE([fat-binaries], |
1923 | @@ -25,7 +33,7 @@ |
1924 | |
1925 | AC_DEFUN([PANDORA_BLOCK_BAD_OPTIONS],[ |
1926 | AS_IF([test "x${prefix}" = "x"],[ |
1927 | - AC_MSG_ERROR([--prefix requires an argument]) |
1928 | + PANDORA_MSG_ERROR([--prefix requires an argument]) |
1929 | ]) |
1930 | ]) |
1931 | |
1932 | @@ -115,7 +123,7 @@ |
1933 | vc_changelog=yes |
1934 | ]) |
1935 | m4_if(PCT_VERSION_FROM_VC,yes,[ |
1936 | - PANDORA_VC_VERSION |
1937 | + PANDORA_VC_INFO_HEADER |
1938 | ],[ |
1939 | PANDORA_TEST_VC_DIR |
1940 | |
1941 | @@ -151,7 +159,7 @@ |
1942 | PANDORA_CHECK_CXX_STANDARD |
1943 | m4_if(PCT_REQUIRE_CXX, [yes], [ |
1944 | AS_IF([test "$ac_cv_cxx_stdcxx_98" = "no"],[ |
1945 | - AC_MSG_ERROR([No working C++ Compiler has been found. ${PACKAGE} requires a C++ compiler that can handle C++98]) |
1946 | + PANDORA_MSG_ERROR([No working C++ Compiler has been found. ${PACKAGE} requires a C++ compiler that can handle C++98]) |
1947 | ]) |
1948 | ]) |
1949 | PANDORA_CXX_CSTDINT |
1950 | @@ -182,12 +190,12 @@ |
1951 | # off_t is not a builtin type |
1952 | AC_CHECK_SIZEOF(off_t, 4) |
1953 | AS_IF([test "$ac_cv_sizeof_off_t" -eq 0],[ |
1954 | - AC_MSG_ERROR("${PACKAGE} needs an off_t type.") |
1955 | + PANDORA_MSG_ERROR("${PACKAGE} needs an off_t type.") |
1956 | ]) |
1957 | |
1958 | AC_CHECK_SIZEOF(size_t) |
1959 | AS_IF([test "$ac_cv_sizeof_size_t" -eq 0],[ |
1960 | - AC_MSG_ERROR("${PACKAGE} needs an size_t type.") |
1961 | + PANDORA_MSG_ERROR("${PACKAGE} needs an size_t type.") |
1962 | ]) |
1963 | |
1964 | AC_DEFINE_UNQUOTED([SIZEOF_SIZE_T],[$ac_cv_sizeof_size_t],[Size of size_t as computed by sizeof()]) |
1965 | @@ -268,6 +276,7 @@ |
1966 | |
1967 | AC_LIB_PREFIX |
1968 | PANDORA_HAVE_BETTER_MALLOC |
1969 | + PANDORA_WITH_VALGRIND |
1970 | |
1971 | AC_CHECK_PROGS([DOXYGEN], [doxygen]) |
1972 | AC_CHECK_PROGS([PERL], [perl]) |
1973 | @@ -328,6 +337,7 @@ |
1974 | #error "You should include config.h as your first include file" |
1975 | #endif |
1976 | |
1977 | +#include <config/top.h> |
1978 | ]) |
1979 | mkdir -p config |
1980 | cat > config/top.h.stamp <<EOF_CONFIG_TOP |
1981 | @@ -374,14 +384,6 @@ |
1982 | #define SOCKET_ERROR -1 |
1983 | #define closesocket(a) close(a) |
1984 | #define get_socket_errno() errno |
1985 | -#endif // TARGET_OS_WINDOWS |
1986 | - |
1987 | -#ifndef HAVE_MSG_NOSIGNAL |
1988 | -#define MSG_NOSIGNAL 0 |
1989 | -#endif |
1990 | - |
1991 | -#ifndef HAVE_MSG_DONTWAIT |
1992 | -#define MSG_DONTWAIT 0 |
1993 | #endif |
1994 | |
1995 | #if defined(__cplusplus) |
1996 | |
1997 | === modified file 'm4/pandora_check_compiler_version.m4' |
1998 | --- m4/pandora_check_compiler_version.m4 2009-07-08 07:19:19 +0000 |
1999 | +++ m4/pandora_check_compiler_version.m4 2011-04-16 05:39:23 +0000 |
2000 | @@ -1,5 +1,5 @@ |
2001 | -dnl Copyright (C) 2009 Sun Microsystems |
2002 | -dnl This file is free software; Sun Microsystems |
2003 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
2004 | +dnl This file is free software; Sun Microsystems, Inc. |
2005 | dnl gives unlimited permission to copy and/or distribute it, |
2006 | dnl with or without modifications, as long as this notice is preserved. |
2007 | |
2008 | |
2009 | === modified file 'm4/pandora_check_cxx_standard.m4' |
2010 | --- m4/pandora_check_cxx_standard.m4 2009-12-18 18:02:39 +0000 |
2011 | +++ m4/pandora_check_cxx_standard.m4 2011-04-16 05:39:23 +0000 |
2012 | @@ -1,10 +1,10 @@ |
2013 | -dnl Copyright (C) 2009 Sun Microsystems |
2014 | -dnl This file is free software; Sun Microsystems |
2015 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
2016 | +dnl This file is free software; Sun Microsystems, Inc. |
2017 | dnl gives unlimited permission to copy and/or distribute it, |
2018 | dnl with or without modifications, as long as this notice is preserved. |
2019 | |
2020 | AC_DEFUN([PANDORA_CHECK_CXX_STANDARD],[ |
2021 | - AC_REQUIRE([AC_CXX_COMPILE_STDCXX_0X]) |
2022 | + dnl AC_REQUIRE([AC_CXX_COMPILE_STDCXX_0X]) |
2023 | AS_IF([test "$GCC" = "yes"], |
2024 | [AS_IF([test "$ac_cv_cxx_compile_cxx0x_native" = "yes"],[], |
2025 | [AS_IF([test "$ac_cv_cxx_compile_cxx0x_gxx" = "yes"], |
2026 | |
2027 | === modified file 'm4/pandora_cinttypes.m4' |
2028 | --- m4/pandora_cinttypes.m4 2009-12-18 18:02:39 +0000 |
2029 | +++ m4/pandora_cinttypes.m4 2011-04-16 05:39:23 +0000 |
2030 | @@ -1,3 +1,8 @@ |
2031 | +# Copyright (C) 2008 Sun Microsystems, Inc. |
2032 | +# This file is free software; Sun Microsystems, Inc. |
2033 | +# gives unlimited permission to copy and/or distribute it, |
2034 | +# with or without modifications, as long as this notice is preserved. |
2035 | + |
2036 | # We check two things: where the include file is for cinttypes. We |
2037 | # include AC_TRY_COMPILE for all the combinations we've seen in the |
2038 | # wild. We define one of HAVE_CINTTYPES or HAVE_TR1_CINTTYPES or |
2039 | |
2040 | === added file 'm4/pandora_compile_stdcxx_0x.m4' |
2041 | --- m4/pandora_compile_stdcxx_0x.m4 1970-01-01 00:00:00 +0000 |
2042 | +++ m4/pandora_compile_stdcxx_0x.m4 2011-04-16 05:39:23 +0000 |
2043 | @@ -0,0 +1,103 @@ |
2044 | +# =========================================================================== |
2045 | +# http://autoconf-archive.cryp.to/ac_cxx_compile_stdcxx_0x.html |
2046 | +# =========================================================================== |
2047 | +# |
2048 | +# SYNOPSIS |
2049 | +# |
2050 | +# AC_CXX_COMPILE_STDCXX_0X |
2051 | +# |
2052 | +# DESCRIPTION |
2053 | +# |
2054 | +# Check for baseline language coverage in the compiler for the C++0x |
2055 | +# standard. |
2056 | +# |
2057 | +# LICENSE |
2058 | +# |
2059 | +# Copyright (C) 2008 Benjamin Kosnik <bkoz@redhat.com> |
2060 | +# |
2061 | +# Copying and distribution of this file, with or without modification, are |
2062 | +# permitted in any medium without royalty provided the copyright notice |
2063 | +# and this notice are preserved. |
2064 | + |
2065 | +AC_DEFUN([AC_CXX_COMPILE_STDCXX_0X], [ |
2066 | + AC_CACHE_CHECK(if g++ supports C++0x features without additional flags, |
2067 | + ac_cv_cxx_compile_cxx0x_native, |
2068 | + [AC_LANG_SAVE |
2069 | + AC_LANG_CPLUSPLUS |
2070 | + AC_TRY_COMPILE([ |
2071 | + template <typename T> |
2072 | + struct check |
2073 | + { |
2074 | + static_assert(sizeof(int) <= sizeof(T), "not big enough"); |
2075 | + }; |
2076 | + |
2077 | + typedef check<check<bool>> right_angle_brackets; |
2078 | + |
2079 | + int a; |
2080 | + decltype(a) b; |
2081 | + |
2082 | + typedef check<int> check_type; |
2083 | + check_type c; |
2084 | + check_type&& cr = c;],, |
2085 | + ac_cv_cxx_compile_cxx0x_native=yes, ac_cv_cxx_compile_cxx0x_native=no) |
2086 | + AC_LANG_RESTORE |
2087 | + ]) |
2088 | + |
2089 | + AC_CACHE_CHECK(if g++ supports C++0x features with -std=c++0x, |
2090 | + ac_cv_cxx_compile_cxx0x_cxx, |
2091 | + [AC_LANG_SAVE |
2092 | + AC_LANG_CPLUSPLUS |
2093 | + ac_save_CXXFLAGS="$CXXFLAGS" |
2094 | + CXXFLAGS="$CXXFLAGS -std=c++0x" |
2095 | + AC_TRY_COMPILE([ |
2096 | + template <typename T> |
2097 | + struct check |
2098 | + { |
2099 | + static_assert(sizeof(int) <= sizeof(T), "not big enough"); |
2100 | + }; |
2101 | + |
2102 | + typedef check<check<bool>> right_angle_brackets; |
2103 | + |
2104 | + int a; |
2105 | + decltype(a) b; |
2106 | + |
2107 | + typedef check<int> check_type; |
2108 | + check_type c; |
2109 | + check_type&& cr = c;],, |
2110 | + ac_cv_cxx_compile_cxx0x_cxx=yes, ac_cv_cxx_compile_cxx0x_cxx=no) |
2111 | + CXXFLAGS="$ac_save_CXXFLAGS" |
2112 | + AC_LANG_RESTORE |
2113 | + ]) |
2114 | + |
2115 | + AC_CACHE_CHECK(if g++ supports C++0x features with -std=gnu++0x, |
2116 | + ac_cv_cxx_compile_cxx0x_gxx, |
2117 | + [AC_LANG_SAVE |
2118 | + AC_LANG_CPLUSPLUS |
2119 | + ac_save_CXXFLAGS="$CXXFLAGS" |
2120 | + CXXFLAGS="$CXXFLAGS -std=gnu++0x" |
2121 | + AC_TRY_COMPILE([ |
2122 | + template <typename T> |
2123 | + struct check |
2124 | + { |
2125 | + static_assert(sizeof(int) <= sizeof(T), "not big enough"); |
2126 | + }; |
2127 | + |
2128 | + typedef check<check<bool>> right_angle_brackets; |
2129 | + |
2130 | + int a; |
2131 | + decltype(a) b; |
2132 | + |
2133 | + typedef check<int> check_type; |
2134 | + check_type c; |
2135 | + check_type&& cr = c;],, |
2136 | + ac_cv_cxx_compile_cxx0x_gxx=yes, ac_cv_cxx_compile_cxx0x_gxx=no) |
2137 | + CXXFLAGS="$ac_save_CXXFLAGS" |
2138 | + AC_LANG_RESTORE |
2139 | + ]) |
2140 | + |
2141 | + if test "$ac_cv_cxx_compile_cxx0x_native" = yes || |
2142 | + test "$ac_cv_cxx_compile_cxx0x_cxx" = yes || |
2143 | + test "$ac_cv_cxx_compile_cxx0x_gxx" = yes; then |
2144 | + AC_DEFINE(HAVE_STDCXX_0X,,[Define if g++ supports C++0x features. ]) |
2145 | + fi |
2146 | +]) |
2147 | |
2148 | === modified file 'm4/pandora_cstdint.m4' |
2149 | --- m4/pandora_cstdint.m4 2009-12-18 18:02:39 +0000 |
2150 | +++ m4/pandora_cstdint.m4 2011-04-16 05:39:23 +0000 |
2151 | @@ -1,3 +1,8 @@ |
2152 | +# Copyright (C) 2008 Sun Microsystems, Inc. |
2153 | +# This file is free software; Sun Microsystems, Inc. |
2154 | +# gives unlimited permission to copy and/or distribute it, |
2155 | +# with or without modifications, as long as this notice is preserved. |
2156 | + |
2157 | # We check two things: where the include file is for cstdint. We |
2158 | # include AC_TRY_COMPILE for all the combinations we've seen in the |
2159 | # wild. We define one of HAVE_CSTDINT or HAVE_TR1_CSTDINT or |
2160 | |
2161 | === modified file 'm4/pandora_cxx_demangle.m4' |
2162 | --- m4/pandora_cxx_demangle.m4 2009-12-18 18:02:39 +0000 |
2163 | +++ m4/pandora_cxx_demangle.m4 2011-04-16 05:39:23 +0000 |
2164 | @@ -1,5 +1,5 @@ |
2165 | -dnl Copyright (C) 2009 Sun Microsystems |
2166 | -dnl This file is free software; Sun Microsystems |
2167 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
2168 | +dnl This file is free software; Sun Microsystems, Inc. |
2169 | dnl gives unlimited permission to copy and/or distribute it, |
2170 | dnl with or without modifications, as long as this notice is preserved. |
2171 | |
2172 | |
2173 | === modified file 'm4/pandora_drizzle_build.m4' |
2174 | --- m4/pandora_drizzle_build.m4 2010-04-06 00:33:06 +0000 |
2175 | +++ m4/pandora_drizzle_build.m4 2011-04-16 05:39:23 +0000 |
2176 | @@ -1,5 +1,5 @@ |
2177 | -dnl Copyright (C) 2009 Sun Microsystems |
2178 | -dnl This file is free software; Sun Microsystems |
2179 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
2180 | +dnl This file is free software; Sun Microsystems, Inc. |
2181 | dnl gives unlimited permission to copy and/or distribute it, |
2182 | dnl with or without modifications, as long as this notice is preserved. |
2183 | |
2184 | @@ -9,11 +9,6 @@ |
2185 | |
2186 | AC_DEFUN([PANDORA_DRIZZLE_BUILD],[ |
2187 | |
2188 | - PANDORA_HAVE_CXX_UNORDERED |
2189 | - |
2190 | - PANDORA_CXX_CSTDINT |
2191 | - PANDORA_CXX_CINTTYPES |
2192 | - |
2193 | AC_STRUCT_TM |
2194 | |
2195 | AC_FUNC_ALLOCA |
2196 | @@ -38,7 +33,7 @@ |
2197 | AC_CHECK_HEADERS(sys/types.h sys/fpu.h fpu_control.h ieeefp.h) |
2198 | AC_CHECK_HEADERS(select.h sys/select.h) |
2199 | AC_CHECK_HEADERS(utime.h sys/utime.h ) |
2200 | - AC_CHECK_HEADERS(synch.h sys/mman.h sys/socket.h) |
2201 | + AC_CHECK_HEADERS(synch.h sys/mman.h) |
2202 | AC_CHECK_HEADERS(sched.h) |
2203 | AC_CHECK_HEADERS(sys/prctl.h) |
2204 | AC_CHECK_HEADERS(execinfo.h) |
2205 | @@ -68,44 +63,20 @@ |
2206 | ]]) |
2207 | AC_CHECK_TYPES([uint, ulong]) |
2208 | |
2209 | + PANDORA_REQUIRE_BISON |
2210 | + |
2211 | PANDORA_CXX_DEMANGLE |
2212 | - PANDORA_REQUIRE_BOOST([1.32]) |
2213 | - |
2214 | - |
2215 | - AH_TOP([ |
2216 | -#ifndef __CONFIG_H__ |
2217 | -#define __CONFIG_H__ |
2218 | - |
2219 | -#include "config/top.h" |
2220 | -]) |
2221 | - mkdir -p config |
2222 | - cat > config/top.h.stamp <<EOF_CONFIG_TOP |
2223 | - |
2224 | -#if defined(i386) && !defined(__i386__) |
2225 | -#define __i386__ |
2226 | -#endif |
2227 | - |
2228 | -#if defined(_FILE_OFFSET_BITS) |
2229 | -# undef _FILE_OFFSET_BITS |
2230 | -#endif |
2231 | -EOF_CONFIG_TOP |
2232 | - diff config/top.h.stamp config/top.h >/dev/null 2>&1 || mv config/top.h.stamp config/top.h |
2233 | - rm -f config/top.h.stamp |
2234 | - |
2235 | - |
2236 | - AH_BOTTOM([ |
2237 | -#if defined(__cplusplus) |
2238 | -# include CSTDINT_H |
2239 | -# include CINTTYPES_H |
2240 | -#else |
2241 | -# include <stdint.h> |
2242 | -# include <inttypes.h> |
2243 | -#endif |
2244 | - |
2245 | -#if !defined(HAVE_ULONG) && !defined(__USE_MISC) |
2246 | -typedef unsigned long int ulong; |
2247 | -#endif |
2248 | - |
2249 | -#endif /* __CONFIG_H__ */ |
2250 | - ]) |
2251 | + PANDORA_REQUIRE_BOOST([1.38]) |
2252 | + PANDORA_REQUIRE_BOOST_PROGRAM_OPTIONS |
2253 | + PANDORA_REQUIRE_BOOST_THREAD |
2254 | + PANDORA_REQUIRE_BOOST_REGEX |
2255 | + PANDORA_REQUIRE_BOOST_DATE_TIME |
2256 | + PANDORA_REQUIRE_BOOST_FILESYSTEM |
2257 | + PANDORA_REQUIRE_BOOST_IOSTREAMS |
2258 | + |
2259 | + LIBDRIZZLE_CPPFLAGS="-I\${top_builddir}/libdrizzle-2.0 -I\${top_srcdir}/libdrizzle-2.0" |
2260 | + OLDLIBDRIZZLE_CPPFLAGS="-I\${top_builddir}/libdrizzle-1.0 -I\${top_srcdir}/libdrizzle-1.0" |
2261 | + AC_SUBST([LIBDRIZZLE_CPPFLAGS]) |
2262 | + AC_SUBST([OLDLIBDRIZZLE_CPPFLAGS]) |
2263 | + |
2264 | ]) |
2265 | |
2266 | === modified file 'm4/pandora_enable_dtrace.m4' |
2267 | --- m4/pandora_enable_dtrace.m4 2009-09-29 04:30:01 +0000 |
2268 | +++ m4/pandora_enable_dtrace.m4 2011-04-16 05:39:23 +0000 |
2269 | @@ -1,5 +1,5 @@ |
2270 | -dnl Copyright (C) 2009 Sun Microsystems |
2271 | -dnl This file is free software; Sun Microsystems |
2272 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
2273 | +dnl This file is free software; Sun Microsystems, Inc. |
2274 | dnl gives unlimited permission to copy and/or distribute it, |
2275 | dnl with or without modifications, as long as this notice is preserved. |
2276 | |
2277 | @@ -8,32 +8,49 @@ |
2278 | dnl --------------------------------------------------------------------------- |
2279 | AC_DEFUN([PANDORA_ENABLE_DTRACE],[ |
2280 | AC_ARG_ENABLE([dtrace], |
2281 | - [AS_HELP_STRING([--enable-dtrace], |
2282 | - [Build with support for the DTRACE. @<:@default=off@:>@])], |
2283 | - [ac_cv_enable_dtrace="yes"], |
2284 | - [ac_cv_enable_dtrace="no"]) |
2285 | + [AS_HELP_STRING([--disable-dtrace], |
2286 | + [Build with support for the DTRACE. @<:@default=on@:>@])], |
2287 | + [ac_cv_enable_dtrace="$enableval"], |
2288 | + [ac_cv_enable_dtrace="yes"]) |
2289 | |
2290 | AS_IF([test "$ac_cv_enable_dtrace" = "yes"],[ |
2291 | AC_CHECK_PROGS([DTRACE], [dtrace]) |
2292 | - AS_IF([test "x$ac_cv_prog_DTRACE" = "xdtrace"],[ |
2293 | - AC_DEFINE([HAVE_DTRACE], [1], [Enables DTRACE Support]) |
2294 | - AC_MSG_CHECKING([if dtrace should instrument object files]) |
2295 | - dnl DTrace on MacOSX does not use -G option |
2296 | - cat >conftest.d <<_ACEOF |
2297 | -provider Example { |
2298 | - probe increment(int); |
2299 | -}; |
2300 | -_ACEOF |
2301 | - $DTRACE -G -o conftest.d.o -s conftest.d 2>/dev/zero |
2302 | - AS_IF([test $? -eq 0],[ac_cv_dtrace_needs_objects=yes], |
2303 | + AC_CHECK_HEADERS(sys/sdt.h) |
2304 | + |
2305 | + AS_IF([test "x$ac_cv_prog_DTRACE" = "xdtrace" -a "x${ac_cv_header_sys_sdt_h}" = "xyes"],[ |
2306 | + |
2307 | + AC_CACHE_CHECK([if dtrace works],[ac_cv_dtrace_works],[ |
2308 | + cat >conftest.d <<_ACEOF |
2309 | +provider Example { |
2310 | + probe increment(int); |
2311 | +}; |
2312 | +_ACEOF |
2313 | + $DTRACE -h -o conftest.h -s conftest.d 2>/dev/zero |
2314 | + AS_IF([test $? -eq 0],[ac_cv_dtrace_works=yes], |
2315 | + [ac_cv_dtrace_works=no]) |
2316 | + rm -f conftest.h conftest.d |
2317 | + ]) |
2318 | + AS_IF([test "x$ac_cv_dtrace_works" = "xyes"],[ |
2319 | + AC_DEFINE([HAVE_DTRACE], [1], [Enables DTRACE Support]) |
2320 | + ]) |
2321 | + AC_CACHE_CHECK([if dtrace should instrument object files], |
2322 | + [ac_cv_dtrace_needs_objects],[ |
2323 | + dnl DTrace on MacOSX does not use -G option |
2324 | + cat >conftest.d <<_ACEOF |
2325 | +provider Example { |
2326 | + probe increment(int); |
2327 | +}; |
2328 | +_ACEOF |
2329 | + $DTRACE -G -o conftest.d.o -s conftest.d 2>/dev/zero |
2330 | + AS_IF([test $? -eq 0],[ac_cv_dtrace_needs_objects=yes], |
2331 | [ac_cv_dtrace_needs_objects=no]) |
2332 | - rm -f conftest.d.o conftest.d |
2333 | - AC_MSG_RESULT($ac_cv_dtrace_needs_objects) |
2334 | + rm -f conftest.d.o conftest.d |
2335 | + ]) |
2336 | AC_SUBST(DTRACEFLAGS) dnl TODO: test for -G on OSX |
2337 | ac_cv_have_dtrace=yes |
2338 | ])]) |
2339 | |
2340 | -AM_CONDITIONAL([HAVE_DTRACE], [test "x$ac_cv_have_dtrace" = "xyes"]) |
2341 | +AM_CONDITIONAL([HAVE_DTRACE], [test "x$ac_cv_dtrace_works" = "xyes"]) |
2342 | AM_CONDITIONAL([DTRACE_NEEDS_OBJECTS], |
2343 | [test "x$ac_cv_dtrace_needs_objects" = "xyes"]) |
2344 | |
2345 | |
2346 | === modified file 'm4/pandora_ensure_gcc_version.m4' |
2347 | --- m4/pandora_ensure_gcc_version.m4 2009-09-29 04:30:01 +0000 |
2348 | +++ m4/pandora_ensure_gcc_version.m4 2011-04-16 05:39:23 +0000 |
2349 | @@ -1,8 +1,22 @@ |
2350 | -dnl Copyright (C) 2009 Sun Microsystems |
2351 | -dnl This file is free software; Sun Microsystems |
2352 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
2353 | +dnl This file is free software; Sun Microsystems, Inc. |
2354 | dnl gives unlimited permission to copy and/or distribute it, |
2355 | dnl with or without modifications, as long as this notice is preserved. |
2356 | |
2357 | +AC_DEFUN([_PANDORA_TRY_GCC],[ |
2358 | + pushdef([Name],[translit([$1],[./-], [___])]) |
2359 | + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], |
2360 | + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) |
2361 | + AC_CHECK_PROGS([CC]NAME,[gcc$1]) |
2362 | + AC_CHECK_PROGS([CXX]NAME,[g++$1]) |
2363 | + AS_IF([test "x${CC]NAME[}" != "x" -a "x${ac_cv_env_CC_set}" = "x"], |
2364 | + [CC="${CC]NAME[}"]) |
2365 | + AS_IF([test "x${CXX]NAME[}" != "x" -a "x${ac_cv_env_CCX_set}" = "x"], |
2366 | + [CXX="${CXX]NAME[}"]) |
2367 | + AS_IF([test "x${CC]NAME[}" != "x" -a "x${ac_cv_env_CPP_set}" = "x"], |
2368 | + [CPP="${CC]NAME[} -E"]) |
2369 | +]) |
2370 | + |
2371 | dnl If the user is on a Mac and didn't ask for a specific compiler |
2372 | dnl You're gonna get 4.2. |
2373 | AC_DEFUN([PANDORA_MAC_GCC42], |
2374 | @@ -10,30 +24,39 @@ |
2375 | AS_IF([test "$host_vendor" = "apple" -a "x${ac_cv_env_CC_set}" = "x"],[ |
2376 | host_os_version=`echo ${host_os} | perl -ple 's/^\D+//g;s,\..*,,'` |
2377 | AS_IF([test "$host_os_version" -lt 10],[ |
2378 | - AS_IF([test -f /usr/bin/gcc-4.2], |
2379 | - [ |
2380 | - CPP="/usr/bin/gcc-4.2 -E" |
2381 | - CC=/usr/bin/gcc-4.2 |
2382 | - CXX=/usr/bin/g++-4.2 |
2383 | - ]) |
2384 | + _PANDORA_TRY_GCC([-4.2]) |
2385 | ]) |
2386 | ]) |
2387 | ]) |
2388 | ]) |
2389 | |
2390 | +dnl If the user is on CentOS or RHEL and didn't ask for a specific compiler |
2391 | +dnl You're gonna get 4.4 (forward compatible with 4.5) |
2392 | +AC_DEFUN([PANDORA_RH_GCC44], |
2393 | + [AS_IF([test "$GCC" = "yes"],[ |
2394 | + AS_IF([test "x${ac_cv_env_CC_set}" = "x"],[ |
2395 | + _PANDORA_TRY_GCC([44]) |
2396 | + _PANDORA_TRY_GCC([45]) |
2397 | + ]) |
2398 | + ]) |
2399 | +]) |
2400 | + |
2401 | dnl |
2402 | AC_DEFUN([PANDORA_ENSURE_GCC_VERSION],[ |
2403 | AC_REQUIRE([PANDORA_MAC_GCC42]) |
2404 | - AC_CACHE_CHECK([if GCC is recent enough], [ac_cv_gcc_recent], |
2405 | - [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
2406 | -#if !defined(__GNUC__) || (__GNUC__ < 4) || ((__GNUC__ >= 4) && (__GNUC_MINOR__ < 1)) |
2407 | + AC_REQUIRE([PANDORA_RH_GCC44]) |
2408 | + AS_IF([test "$GCC" = "yes"],[ |
2409 | + AC_CACHE_CHECK([if GCC is recent enough], [ac_cv_gcc_recent], |
2410 | + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
2411 | +#if !defined(__GNUC__) || (__GNUC__ < 4) || ((__GNUC__ >= 4) && (__GNUC_MINOR__ < 2)) |
2412 | # error GCC is Too Old! |
2413 | #endif |
2414 | - ]])], |
2415 | - [ac_cv_gcc_recent=yes], |
2416 | - [ac_cv_gcc_recent=no])]) |
2417 | - AS_IF([test "$ac_cv_gcc_recent" = "no" -a "$host_vendor" = "apple"], |
2418 | - AC_MSG_ERROR([Your version of GCC is too old. At least version 4.2 is required on OSX. You may need to install a version of XCode >= 3.1.2])) |
2419 | - AS_IF([test "$ac_cv_gcc_recent" = "no"], |
2420 | - AC_MSG_ERROR([Your version of GCC is too old. At least version 4.1 is required])) |
2421 | + ]])], |
2422 | + [ac_cv_gcc_recent=yes], |
2423 | + [ac_cv_gcc_recent=no])]) |
2424 | + AS_IF([test "$ac_cv_gcc_recent" = "no" -a "$host_vendor" = "apple"], |
2425 | + PANDORA_MSG_ERROR([Your version of GCC is too old. At least version 4.2 is required on OSX. You may need to install a version of XCode >= 3.1.2])) |
2426 | + AS_IF([test "$ac_cv_gcc_recent" = "no"], |
2427 | + PANDORA_MSG_ERROR([Your version of GCC is too old. At least version 4.2 is required. On RHEL/CentOS systems this is found in the gcc44 and gcc44-c++ packages.])) |
2428 | + ]) |
2429 | ]) |
2430 | |
2431 | === modified file 'm4/pandora_extensions.m4' |
2432 | --- m4/pandora_extensions.m4 2009-09-29 04:30:01 +0000 |
2433 | +++ m4/pandora_extensions.m4 2011-04-16 05:39:23 +0000 |
2434 | @@ -1,5 +1,5 @@ |
2435 | -dnl Copyright (C) 2009 Sun Microsystems |
2436 | -dnl This file is free software; Sun Microsystems |
2437 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
2438 | +dnl This file is free software; Sun Microsystems, Inc. |
2439 | dnl gives unlimited permission to copy and/or distribute it, |
2440 | dnl with or without modifications, as long as this notice is preserved. |
2441 | |
2442 | |
2443 | === modified file 'm4/pandora_fdatasync.m4' |
2444 | --- m4/pandora_fdatasync.m4 2010-04-06 00:33:06 +0000 |
2445 | +++ m4/pandora_fdatasync.m4 2011-04-16 05:39:23 +0000 |
2446 | @@ -1,5 +1,5 @@ |
2447 | -dnl Copyright (C) 2009 Sun Microsystems |
2448 | -dnl This file is free software; Sun Microsystems |
2449 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
2450 | +dnl This file is free software; Sun Microsystems, Inc. |
2451 | dnl gives unlimited permission to copy and/or distribute it, |
2452 | dnl with or without modifications, as long as this notice is preserved. |
2453 | |
2454 | |
2455 | === added file 'm4/pandora_flex.m4' |
2456 | --- m4/pandora_flex.m4 1970-01-01 00:00:00 +0000 |
2457 | +++ m4/pandora_flex.m4 2011-04-16 05:39:23 +0000 |
2458 | @@ -0,0 +1,33 @@ |
2459 | +dnl Copyright (C) 2010 Monty Taylor |
2460 | +dnl Copyright (C) 2010 Hartmut Holzgraefe |
2461 | +dnl This file is free software; Monty Taylor and Hartmut Holzgraefe |
2462 | +dnl give unlimited permission to copy and/or distribute it, |
2463 | +dnl with or without modifications, as long as this notice is preserved. |
2464 | + |
2465 | +AC_DEFUN([_PANDORA_SEARCH_FLEX],[ |
2466 | + |
2467 | + dnl -------------------------------------------------------------------- |
2468 | + dnl Check for flex |
2469 | + dnl -------------------------------------------------------------------- |
2470 | + |
2471 | + AC_CHECK_PROGS([LEX], ['flex'], [:]) |
2472 | + AS_IF([test "x$LEX" = "x:"],[ |
2473 | + pandora_have_flex=no |
2474 | + LEX='if test -f "$@"; then echo "WARNING: no proper flex binary found, ignoring changes to $<"; exit 0; else echo "ERROR: no proper flex binary found"; exit 1; fi;' |
2475 | + ],[ |
2476 | + pandora_have_flex=yes |
2477 | + ]) |
2478 | + |
2479 | + AM_CONDITIONAL(HAVE_FLEX, [test "x${pandora_have_flex}" = "xyes"]) |
2480 | +]) |
2481 | + |
2482 | +AC_DEFUN([PANDORA_HAVE_FLEX],[ |
2483 | + AC_REQUIRE([_PANDORA_SEARCH_FLEX]) |
2484 | +]) |
2485 | + |
2486 | +AC_DEFUN([PANDORA_REQUIRE_FLEX],[ |
2487 | + AC_REQUIRE([PANDORA_HAVE_FLEX]) |
2488 | + AS_IF([test "x${pandora_have_flex}" = "xno" -a "$pandora_building_from_bzr" = "yes"], |
2489 | + PANDORA_MSG_ERROR(["flex is required for ${PACKAGE} to build from a bzr branch"]) |
2490 | + ) |
2491 | +]) |
2492 | |
2493 | === modified file 'm4/pandora_have_better_malloc.m4' |
2494 | --- m4/pandora_have_better_malloc.m4 2010-01-13 10:48:24 +0000 |
2495 | +++ m4/pandora_have_better_malloc.m4 2011-04-16 05:39:23 +0000 |
2496 | @@ -1,11 +1,9 @@ |
2497 | -dnl Copyright (C) 2009 Sun Microsystems |
2498 | -dnl This file is free software; Sun Microsystems |
2499 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
2500 | +dnl This file is free software; Sun Microsystems, Inc. |
2501 | dnl gives unlimited permission to copy and/or distribute it, |
2502 | dnl with or without modifications, as long as this notice is preserved. |
2503 | |
2504 | AC_DEFUN([PANDORA_HAVE_BETTER_MALLOC],[ |
2505 | - AC_REQUIRE([AC_FUNC_MALLOC]) |
2506 | - AC_REQUIRE([AC_FUNC_REALLOC]) |
2507 | AC_REQUIRE([AC_LIB_PREFIX]) |
2508 | |
2509 | AC_ARG_ENABLE([umem], |
2510 | |
2511 | === added file 'm4/pandora_have_boost.m4' |
2512 | --- m4/pandora_have_boost.m4 1970-01-01 00:00:00 +0000 |
2513 | +++ m4/pandora_have_boost.m4 2011-04-16 05:39:23 +0000 |
2514 | @@ -0,0 +1,93 @@ |
2515 | +dnl Copyright (C) 2010 Monty Taylor |
2516 | +dnl This file is free software; Monty Taylor |
2517 | +dnl gives unlimited permission to copy and/or distribute it, |
2518 | +dnl with or without modifications, as long as this notice is preserved. |
2519 | + |
2520 | +AC_DEFUN([_PANDORA_SEARCH_BOOST],[ |
2521 | + AC_REQUIRE([AC_LIB_PREFIX]) |
2522 | + |
2523 | + dnl -------------------------------------------------------------------- |
2524 | + dnl Check for boost |
2525 | + dnl -------------------------------------------------------------------- |
2526 | + |
2527 | + AC_ARG_ENABLE([boost], |
2528 | + [AS_HELP_STRING([--disable-boost], |
2529 | + [Build with boost support @<:@default=on@:>@])], |
2530 | + [ac_enable_boost="$enableval"], |
2531 | + [ac_enable_boost="yes"]) |
2532 | + |
2533 | + AS_IF([test "x$ac_enable_boost" = "xyes"],[ |
2534 | + dnl link against libc because we're just looking for headers here |
2535 | + AC_LANG_PUSH(C++) |
2536 | + AC_LIB_HAVE_LINKFLAGS(c,, |
2537 | + [#include <boost/pool/pool.hpp>], |
2538 | + [boost::pool<> test_pool(1);], |
2539 | + [system]) |
2540 | + AC_LANG_POP() |
2541 | + ],[ |
2542 | + ac_cv_boost="no" |
2543 | + ]) |
2544 | + |
2545 | + |
2546 | + AS_IF([test "x$1" != "x"],[ |
2547 | + AC_CACHE_CHECK([if boost is recent enough], |
2548 | + [pandora_cv_recent_boost],[ |
2549 | + pandora_need_boost_version=`echo "$1" | perl -nle '/(\d+)\.(\d+)/; printf "%d%0.3d00", $[]1, $[]2 ;'` |
2550 | + AS_IF([test "x${pandora_need_boost_version}" = "x000000"],[ |
2551 | + pandora_cv_recent_boost=yes |
2552 | + ],[ |
2553 | + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
2554 | +#include <boost/version.hpp> |
2555 | + |
2556 | +#if BOOST_VERSION < ${pandora_need_boost_version} |
2557 | +# error boost too old! |
2558 | +#endif |
2559 | + ]],[[]]) |
2560 | + ],[ |
2561 | + pandora_cv_recent_boost=yes |
2562 | + ],[ |
2563 | + pandora_cv_recent_boost=no |
2564 | + ]) |
2565 | + ]) |
2566 | + ]) |
2567 | + AS_IF([test "x${pandora_cv_recent_boost}" = "xno"],[ |
2568 | + ac_cv_boost=no |
2569 | + ]) |
2570 | + ]) |
2571 | + |
2572 | + AS_IF([test "x${ac_gcc_profile_mode}" = "xyes"],[ |
2573 | + AC_CACHE_CHECK([if boost is recent enough for GCC Profile Mode], |
2574 | + [pandora_cv_boost_profile],[ |
2575 | + pandora_need_boost_version=104300 |
2576 | + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
2577 | +#include <boost/version.hpp> |
2578 | + |
2579 | +#if BOOST_VERSION < ${pandora_need_boost_version} |
2580 | +# error boost too old! |
2581 | +#endif |
2582 | + ]],[[]]) |
2583 | + ],[ |
2584 | + pandora_cv_boost_profile=yes |
2585 | + ],[ |
2586 | + pandora_cv_boost_profile=no |
2587 | + ]) |
2588 | + ]) |
2589 | + AS_IF([test "x${pandora_cv_boost_profile}" = "xyes"],[ |
2590 | + AC_DEFINE([BOOST_DETAIL_NO_CONTAINER_FWD],[1],[Disable forward decl of stl in boost]) |
2591 | + ]) |
2592 | + ]) |
2593 | + |
2594 | + AM_CONDITIONAL(HAVE_BOOST, [test "x${ac_cv_boost}" = "xyes"]) |
2595 | + |
2596 | +]) |
2597 | + |
2598 | +AC_DEFUN([PANDORA_HAVE_BOOST],[ |
2599 | + _PANDORA_SEARCH_BOOST($1) |
2600 | +]) |
2601 | + |
2602 | +AC_DEFUN([PANDORA_REQUIRE_BOOST],[ |
2603 | + PANDORA_HAVE_BOOST($1) |
2604 | + AS_IF([test x$ac_cv_boost = xno], |
2605 | + PANDORA_MSG_ERROR([boost is required for ${PACKAGE}])) |
2606 | +]) |
2607 | + |
2608 | |
2609 | === modified file 'm4/pandora_have_gcc_atomics.m4' |
2610 | --- m4/pandora_have_gcc_atomics.m4 2010-04-06 00:33:06 +0000 |
2611 | +++ m4/pandora_have_gcc_atomics.m4 2011-04-16 05:39:23 +0000 |
2612 | @@ -1,5 +1,5 @@ |
2613 | -dnl Copyright (C) 2009 Sun Microsystems |
2614 | -dnl This file is free software; Sun Microsystems |
2615 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
2616 | +dnl This file is free software; Sun Microsystems, Inc. |
2617 | dnl gives unlimited permission to copy and/or distribute it, |
2618 | dnl with or without modifications, as long as this notice is preserved. |
2619 | |
2620 | |
2621 | === added file 'm4/pandora_have_libaio.m4' |
2622 | --- m4/pandora_have_libaio.m4 1970-01-01 00:00:00 +0000 |
2623 | +++ m4/pandora_have_libaio.m4 2011-04-16 05:39:23 +0000 |
2624 | @@ -0,0 +1,56 @@ |
2625 | +dnl Copyright (C) 2011 Andrew Hutchings |
2626 | +dnl This file is free software; Sun Microsystems, Inc. |
2627 | +dnl gives unlimited permission to copy and/or distribute it, |
2628 | +dnl with or without modifications, as long as this notice is preserved. |
2629 | + |
2630 | +#-------------------------------------------------------------------- |
2631 | +# Check for libaio |
2632 | +#-------------------------------------------------------------------- |
2633 | + |
2634 | + |
2635 | +AC_DEFUN([_PANDORA_SEARCH_LIBAIO],[ |
2636 | + AC_REQUIRE([AC_LIB_PREFIX]) |
2637 | + |
2638 | + AC_CHECK_HEADERS(libaio.h) |
2639 | + AC_LIB_HAVE_LINKFLAGS(aio,, |
2640 | + [ |
2641 | + #include <libaio.h> |
2642 | + ], |
2643 | + [ |
2644 | + int aio_cmd= IO_CMD_PREAD; |
2645 | + ]) |
2646 | + |
2647 | + AM_CONDITIONAL(HAVE_LIBAIO, [test "x${ac_cv_libaio}" = "xyes"]) |
2648 | + |
2649 | + AS_IF([test "x${ac_cv_libaio}" = "xyes"],[ |
2650 | + AC_DEFINE([LINUX_NATIVE_AIO], [1], [Enabel libaio support in InnoDB]) |
2651 | + ]) |
2652 | +]) |
2653 | + |
2654 | +AC_DEFUN([_PANDORA_HAVE_LIBAIO],[ |
2655 | + |
2656 | + AC_ARG_ENABLE([libaio], |
2657 | + [AS_HELP_STRING([--disable-libaio], |
2658 | + [Build with libaio support @<:@default=on@:>@])], |
2659 | + [ac_enable_libaio="$enableval"], |
2660 | + [ac_enable_libaio="yes"]) |
2661 | + |
2662 | + _PANDORA_SEARCH_LIBAIO |
2663 | +]) |
2664 | + |
2665 | + |
2666 | +AC_DEFUN([PANDORA_HAVE_LIBAIO],[ |
2667 | + AC_REQUIRE([_PANDORA_HAVE_LIBAIO]) |
2668 | +]) |
2669 | + |
2670 | +AC_DEFUN([_PANDORA_REQUIRE_LIBAIO],[ |
2671 | + ac_enable_libaio="yes" |
2672 | + _PANDORA_SEARCH_LIBAIO |
2673 | + AS_IF([test "x$ac_cv_header_libaio_h" = "xno"],[ |
2674 | + PANDORA_MSG_ERROR([Couldn't find libaio.h. On Debian this can be found in libaio-dev. On Redhat this can be found in libaio-devel.]) |
2675 | + ]) |
2676 | +]) |
2677 | + |
2678 | +AC_DEFUN([PANDORA_REQUIRE_LIBAIO],[ |
2679 | + AC_REQUIRE([_PANDORA_REQUIRE_LIBAIO]) |
2680 | +]) |
2681 | |
2682 | === modified file 'm4/pandora_have_libavahi.m4' |
2683 | --- m4/pandora_have_libavahi.m4 2009-12-18 18:02:39 +0000 |
2684 | +++ m4/pandora_have_libavahi.m4 2011-04-16 05:39:23 +0000 |
2685 | @@ -1,5 +1,5 @@ |
2686 | -dnl Copyright (C) 2009 Sun Microsystems |
2687 | -dnl This file is free software; Sun Microsystems |
2688 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
2689 | +dnl This file is free software; Sun Microsystems, Inc. |
2690 | dnl gives unlimited permission to copy and/or distribute it, |
2691 | dnl with or without modifications, as long as this notice is preserved. |
2692 | |
2693 | @@ -37,5 +37,5 @@ |
2694 | AC_DEFUN([PANDORA_REQUIRE_LIBAVAHI],[ |
2695 | AC_REQUIRE([_PANDORA_SEARCH_LIBAVAHI]) |
2696 | AS_IF([test "x${ac_cv_libavahi}" = "xno"], |
2697 | - AC_MSG_ERROR([libavahi is required for ${PACKAGE}])) |
2698 | + PANDORA_MSG_ERROR([libavahi is required for ${PACKAGE}])) |
2699 | ]) |
2700 | |
2701 | === modified file 'm4/pandora_have_libbdb.m4' |
2702 | --- m4/pandora_have_libbdb.m4 2009-12-18 18:02:39 +0000 |
2703 | +++ m4/pandora_have_libbdb.m4 2011-04-16 05:39:23 +0000 |
2704 | @@ -1,5 +1,5 @@ |
2705 | -dnl Copyright (C) 2009 Sun Microsystems |
2706 | -dnl This file is free software; Sun Microsystems |
2707 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
2708 | +dnl This file is free software; Sun Microsystems, Inc. |
2709 | dnl gives unlimited permission to copy and/or distribute it, |
2710 | dnl with or without modifications, as long as this notice is preserved. |
2711 | |
2712 | @@ -36,5 +36,5 @@ |
2713 | AC_DEFUN([PANDORA_REQUIRE_LIBBDB],[ |
2714 | AC_REQUIRE([_PANDORA_SEARCH_LIBBDB]) |
2715 | AS_IF([test "x${ac_cv_libbdb}" = "xno"], |
2716 | - AC_MSG_ERROR([libbdb is required for ${PACKAGE}])) |
2717 | + PANDORA_MSG_ERROR([libbdb is required for ${PACKAGE}])) |
2718 | ]) |
2719 | |
2720 | === added file 'm4/pandora_have_libboost_date_time.m4' |
2721 | --- m4/pandora_have_libboost_date_time.m4 1970-01-01 00:00:00 +0000 |
2722 | +++ m4/pandora_have_libboost_date_time.m4 2011-04-16 05:39:23 +0000 |
2723 | @@ -0,0 +1,46 @@ |
2724 | +dnl Copyright (C) 2010 Monty Taylor |
2725 | +dnl This file is free software; Monty Taylor |
2726 | +dnl gives unlimited permission to copy and/or distribute it, |
2727 | +dnl with or without modifications, as long as this notice is preserved. |
2728 | + |
2729 | +AC_DEFUN([_PANDORA_SEARCH_BOOST_DATE_TIME],[ |
2730 | + AC_REQUIRE([AC_LIB_PREFIX]) |
2731 | + AC_REQUIRE([ACX_PTHREAD]) |
2732 | + |
2733 | + dnl -------------------------------------------------------------------- |
2734 | + dnl Check for Boost.Date_Time |
2735 | + dnl -------------------------------------------------------------------- |
2736 | + |
2737 | + AC_LANG_PUSH(C++) |
2738 | + AC_LIB_HAVE_LINKFLAGS(boost_date_time-mt,,[ |
2739 | + #include <boost/date_time.hpp> |
2740 | + ],[ |
2741 | + boost::gregorian::date weekstart(2002,2,1); |
2742 | + ]) |
2743 | + AS_IF([test "x${ac_cv_libboost_date_time_mt}" = "xno"],[ |
2744 | + AC_LIB_HAVE_LINKFLAGS(boost_date_time,,[ |
2745 | + #include <boost/date_time.hpp> |
2746 | + ],[ |
2747 | + boost::gregorian::date weekstart(2002,2,1); |
2748 | + ]) |
2749 | + ]) |
2750 | + AC_LANG_POP() |
2751 | + |
2752 | + AM_CONDITIONAL(HAVE_BOOST_DATE_TIME, |
2753 | + [test "x${ac_cv_libboost_date_time}" = "xyes" -o "x${ac_cv_libboost_date_time_mt}" = "xyes"]) |
2754 | + BOOST_LIBS="${BOOST_LIBS} ${LTLIBBOOST_DATE_TIME_MT} ${LTLIBBOOST_DATE_TIME}" |
2755 | + AC_SUBST(BOOST_LIBS) |
2756 | +]) |
2757 | + |
2758 | +AC_DEFUN([PANDORA_HAVE_BOOST_DATE_TIME],[ |
2759 | + PANDORA_HAVE_BOOST($1) |
2760 | + _PANDORA_SEARCH_BOOST_DATE_TIME($1) |
2761 | +]) |
2762 | + |
2763 | +AC_DEFUN([PANDORA_REQUIRE_BOOST_DATE_TIME],[ |
2764 | + PANDORA_REQUIRE_BOOST($1) |
2765 | + _PANDORA_SEARCH_BOOST_DATE_TIME($1) |
2766 | + AS_IF([test "x${ac_cv_libboost_date_time}" = "xno" -a "x${ac_cv_libboost_date_time_mt}" = "xno"], |
2767 | + PANDORA_MSG_ERROR([Boost.Date_Time is required for ${PACKAGE}])) |
2768 | +]) |
2769 | + |
2770 | |
2771 | === added file 'm4/pandora_have_libboost_filesystem.m4' |
2772 | --- m4/pandora_have_libboost_filesystem.m4 1970-01-01 00:00:00 +0000 |
2773 | +++ m4/pandora_have_libboost_filesystem.m4 2011-04-16 05:39:23 +0000 |
2774 | @@ -0,0 +1,48 @@ |
2775 | +dnl Copyright (C) 2010 Monty Taylor |
2776 | +dnl This file is free software; Monty Taylor |
2777 | +dnl gives unlimited permission to copy and/or distribute it, |
2778 | +dnl with or without modifications, as long as this notice is preserved. |
2779 | + |
2780 | +AC_DEFUN([_PANDORA_SEARCH_BOOST_FILESYSTEM],[ |
2781 | + AC_REQUIRE([AC_LIB_PREFIX]) |
2782 | + |
2783 | + dnl -------------------------------------------------------------------- |
2784 | + dnl Check for Boost.Filesystem |
2785 | + dnl -------------------------------------------------------------------- |
2786 | + |
2787 | + AC_LANG_PUSH(C++) |
2788 | + AC_DEFINE([BOOST_FILESYSTEM_DEPRECATED], [1], |
2789 | + [Use the v2 interface until we can stop using old versions]) |
2790 | + |
2791 | + AC_LIB_HAVE_LINKFLAGS(boost_filesystem-mt,boost_system-mt,[ |
2792 | + #include <boost/filesystem.hpp> |
2793 | + ],[ |
2794 | + boost::filesystem::path my_path("some_dir/file.txt"); |
2795 | + ]) |
2796 | + AS_IF([test "x${ac_cv_libboost_filesystem_mt}" = "xno"],[ |
2797 | + AC_LIB_HAVE_LINKFLAGS(boost_filesystem,boost_system,[ |
2798 | + #include <boost/filesystem.hpp> |
2799 | + ],[ |
2800 | + boost::filesystem::path my_path("some_dir/file.txt"); |
2801 | + ]) |
2802 | + ]) |
2803 | + AC_LANG_POP() |
2804 | + |
2805 | + AM_CONDITIONAL(HAVE_BOOST_FILESYSTEM, |
2806 | + [test "x${ac_cv_libboost_filesystem}" = "xyes" -o "x${ac_cv_libboost_filesystem_mt}" = "xyes"]) |
2807 | + BOOST_LIBS="${BOOST_LIBS} ${LTLIBBOOST_FILESYSTEM_MT} ${LTLIBBOOST_FILESYSTEM}" |
2808 | + AC_SUBST(BOOST_LIBS) |
2809 | +]) |
2810 | + |
2811 | +AC_DEFUN([PANDORA_HAVE_BOOST_FILESYSTEM],[ |
2812 | + PANDORA_HAVE_BOOST($1) |
2813 | + _PANDORA_SEARCH_BOOST_FILESYSTEM($1) |
2814 | +]) |
2815 | + |
2816 | +AC_DEFUN([PANDORA_REQUIRE_BOOST_FILESYSTEM],[ |
2817 | + PANDORA_REQUIRE_BOOST($1) |
2818 | + _PANDORA_SEARCH_BOOST_FILESYSTEM($1) |
2819 | + AS_IF([test "x${ac_cv_libboost_filesystem}" = "xno" -a "x${ac_cv_libboost_filesystem_mt}" = "xno"], |
2820 | + PANDORA_MSG_ERROR([Boost.Filesystem is required for ${PACKAGE}])) |
2821 | +]) |
2822 | + |
2823 | |
2824 | === added file 'm4/pandora_have_libboost_iostreams.m4' |
2825 | --- m4/pandora_have_libboost_iostreams.m4 1970-01-01 00:00:00 +0000 |
2826 | +++ m4/pandora_have_libboost_iostreams.m4 2011-04-16 05:39:23 +0000 |
2827 | @@ -0,0 +1,49 @@ |
2828 | +dnl Copyright (C) 2010 Andrew Hutchings |
2829 | +dnl This file is free software; Andrew Hutchings |
2830 | +dnl gives unlimited permission to copy and/or distribute it, |
2831 | +dnl with or without modifications, as long as this notice is preserved. |
2832 | + |
2833 | +AC_DEFUN([_PANDORA_SEARCH_BOOST_IOSTREAMS],[ |
2834 | + AC_REQUIRE([AC_LIB_PREFIX]) |
2835 | + |
2836 | + dnl -------------------------------------------------------------------- |
2837 | + dnl Check for Boost.Iostreams |
2838 | + dnl -------------------------------------------------------------------- |
2839 | + |
2840 | + AC_LANG_PUSH(C++) |
2841 | + AC_LIB_HAVE_LINKFLAGS(boost_iostreams-mt,,[ |
2842 | + #include <boost/iostreams/stream.hpp> |
2843 | + #include <boost/iostreams/device/array.hpp> |
2844 | + ],[ |
2845 | + const char* input= "hello world"; |
2846 | + boost::iostreams::stream<boost::iostreams::array_source> in(input, strlen(input)); |
2847 | + ]) |
2848 | + AS_IF([test "x${ac_cv_libboost_iostreams_mt}" = "xno"],[ |
2849 | + AC_LIB_HAVE_LINKFLAGS(boost_iostreams,,[ |
2850 | + #include <boost/iostreams/stream.hpp> |
2851 | + #include <boost/iostreams/device/array.hpp> |
2852 | + ],[ |
2853 | + const char* input= "hello world"; |
2854 | + boost::iostreams::stream<boost::iostreams::array_source> in(input, strlen(input)); |
2855 | + ]) |
2856 | + ]) |
2857 | + AC_LANG_POP() |
2858 | + |
2859 | + AM_CONDITIONAL(HAVE_BOOST_IOSTREAMS, |
2860 | + [test "x${ac_cv_libboost_iostreams}" = "xyes" -o "x${ac_cv_libboost_iostreams_mt}" = "xyes"]) |
2861 | + BOOST_LIBS="${BOOST_LIBS} ${LTLIBBOOST_IOSTREAMS_MT} ${LTLIBBOOST_IOSTREAMS}" |
2862 | + AC_SUBST(BOOST_LIBS) |
2863 | +]) |
2864 | + |
2865 | +AC_DEFUN([PANDORA_HAVE_BOOST_IOSTREAMS],[ |
2866 | + PANDORA_HAVE_BOOST($1) |
2867 | + _PANDORA_SEARCH_BOOST_IOSTREAMS($1) |
2868 | +]) |
2869 | + |
2870 | +AC_DEFUN([PANDORA_REQUIRE_BOOST_IOSTREAMS],[ |
2871 | + PANDORA_REQUIRE_BOOST($1) |
2872 | + _PANDORA_SEARCH_BOOST_IOSTREAMS($1) |
2873 | + AS_IF([test "x${ac_cv_libboost_iostreams}" = "xno" -a "x${ac_cv_libboost_iostreams_mt}" = "xno"], |
2874 | + PANDORA_MSG_ERROR([Boost.Iostreams is required for ${PACKAGE}])) |
2875 | +]) |
2876 | + |
2877 | |
2878 | === added file 'm4/pandora_have_libboost_options.m4' |
2879 | --- m4/pandora_have_libboost_options.m4 1970-01-01 00:00:00 +0000 |
2880 | +++ m4/pandora_have_libboost_options.m4 2011-04-16 05:39:23 +0000 |
2881 | @@ -0,0 +1,47 @@ |
2882 | +dnl Copyright (C) 2010 Monty Taylor |
2883 | +dnl This file is free software; Monty Taylor |
2884 | +dnl gives unlimited permission to copy and/or distribute it, |
2885 | +dnl with or without modifications, as long as this notice is preserved. |
2886 | + |
2887 | +AC_DEFUN([_PANDORA_SEARCH_BOOST_PROGRAM_OPTIONS],[ |
2888 | + AC_REQUIRE([AC_LIB_PREFIX]) |
2889 | + |
2890 | + dnl -------------------------------------------------------------------- |
2891 | + dnl Check for boost::program_options |
2892 | + dnl -------------------------------------------------------------------- |
2893 | + |
2894 | + AC_LANG_PUSH(C++) |
2895 | + AC_LIB_HAVE_LINKFLAGS(boost_program_options-mt,,[ |
2896 | + #include <boost/program_options.hpp> |
2897 | + ],[ |
2898 | + boost::program_options::options_description d; |
2899 | + d.add_options()("a","some option"); |
2900 | + ]) |
2901 | + AS_IF([test "x${ac_cv_libboost_program_options_mt}" = "xno"],[ |
2902 | + AC_LIB_HAVE_LINKFLAGS(boost_program_options,,[ |
2903 | + #include <boost/program_options.hpp> |
2904 | + ],[ |
2905 | + boost::program_options::options_description d; |
2906 | + d.add_options()("a","some option"); |
2907 | + ]) |
2908 | + ]) |
2909 | + AC_LANG_POP() |
2910 | + |
2911 | + AM_CONDITIONAL(HAVE_BOOST_PROGRAM_OPTIONS, |
2912 | + [test "x${ac_cv_libboost_program_options}" = "xyes" -o "x${ac_cv_libboost_program_options_mt}" = "xyes"]) |
2913 | + BOOST_LIBS="${BOOST_LIBS} ${LTLIBBOOST_PROGRAM_OPTIONS} ${LTLIBBOOST_PROGRAM_OPTIONS_MT}" |
2914 | + AC_SUBST(BOOST_LIBS) |
2915 | +]) |
2916 | + |
2917 | +AC_DEFUN([PANDORA_HAVE_BOOST_PROGRAM_OPTIONS],[ |
2918 | + PANDORA_HAVE_BOOST($1) |
2919 | + _PANDORA_SEARCH_BOOST_PROGRAM_OPTIONS($1) |
2920 | +]) |
2921 | + |
2922 | +AC_DEFUN([PANDORA_REQUIRE_BOOST_PROGRAM_OPTIONS],[ |
2923 | + PANDORA_REQUIRE_BOOST($1) |
2924 | + _PANDORA_SEARCH_BOOST_PROGRAM_OPTIONS($1) |
2925 | + AS_IF([test "x${ac_cv_libboost_program_options}" = "xno" -a "x${ac_cv_libboost_program_options_mt}" = "xno"], |
2926 | + PANDORA_MSG_ERROR([boost::program_options is required for ${PACKAGE}])) |
2927 | +]) |
2928 | + |
2929 | |
2930 | === added file 'm4/pandora_have_libboost_regex.m4' |
2931 | --- m4/pandora_have_libboost_regex.m4 1970-01-01 00:00:00 +0000 |
2932 | +++ m4/pandora_have_libboost_regex.m4 2011-04-16 05:39:23 +0000 |
2933 | @@ -0,0 +1,54 @@ |
2934 | +dnl Copyright (C) 2010 Andrew Hutchings |
2935 | +dnl This file is free software; Andrew Hutchings |
2936 | +dnl gives unlimited permission to copy and/or distribute it, |
2937 | +dnl with or without modifications, as long as this notice is preserved. |
2938 | + |
2939 | +AC_DEFUN([_PANDORA_SEARCH_BOOST_REGEX],[ |
2940 | + AC_REQUIRE([AC_LIB_PREFIX]) |
2941 | + AC_REQUIRE([ACX_PTHREAD]) |
2942 | + |
2943 | + dnl -------------------------------------------------------------------- |
2944 | + dnl Check for boost::regex |
2945 | + dnl -------------------------------------------------------------------- |
2946 | + |
2947 | + save_CFLAGS="${CFLAGS}" |
2948 | + save_CXXFLAGS="${CXXFLAGS}" |
2949 | + CFLAGS="${PTHREAD_CFLAGS} ${CFLAGS}" |
2950 | + CXXFLAGS="${PTHREAD_CFLAGS} ${CXXFLAGS}" |
2951 | + |
2952 | + AC_LANG_PUSH(C++) |
2953 | + AC_LIB_HAVE_LINKFLAGS(boost_regex-mt,,[ |
2954 | + #include <boost/regex.hpp> |
2955 | + ],[ |
2956 | + boost::regex test_regex("drizzle"); |
2957 | + ]) |
2958 | + AS_IF([test "x${ac_cv_libboost_regex_mt}" = "xno"],[ |
2959 | + AC_LIB_HAVE_LINKFLAGS(boost_regex,,[ |
2960 | + #include <boost/regex.hpp> |
2961 | + ],[ |
2962 | + boost::regex test_regex("drizzle"); |
2963 | + ]) |
2964 | + ]) |
2965 | + AC_LANG_POP() |
2966 | + CFLAGS="${save_CFLAGS}" |
2967 | + CXXFLAGS="${save_CXXFLAGS}" |
2968 | + |
2969 | + |
2970 | + AM_CONDITIONAL(HAVE_BOOST_REGEX, |
2971 | + [test "x${ac_cv_libboost_regex}" = "xyes" -o "x${ac_cv_libboost_regex_mt}" = "xyes"]) |
2972 | + BOOST_LIBS="${BOOST_LIBS} ${LTLIBBOOST_REGEX_MT} ${LTLIBBOOST_REGEX}" |
2973 | + AC_SUBST(BOOST_LIBS) |
2974 | +]) |
2975 | + |
2976 | +AC_DEFUN([PANDORA_HAVE_BOOST_REGEX],[ |
2977 | + PANDORA_HAVE_BOOST($1) |
2978 | + _PANDORA_SEARCH_BOOST_REGEX($1) |
2979 | +]) |
2980 | + |
2981 | +AC_DEFUN([PANDORA_REQUIRE_BOOST_REGEX],[ |
2982 | + PANDORA_REQUIRE_BOOST($1) |
2983 | + _PANDORA_SEARCH_BOOST_REGEX($1) |
2984 | + AS_IF([test "x${ac_cv_libboost_regex}" = "xno" -a "x${ac_cv_libboost_regex_mt}" = "xno"], |
2985 | + PANDORA_MSG_ERROR([boost::regex is required for ${PACKAGE}])) |
2986 | +]) |
2987 | + |
2988 | |
2989 | === added file 'm4/pandora_have_libboost_test.m4' |
2990 | --- m4/pandora_have_libboost_test.m4 1970-01-01 00:00:00 +0000 |
2991 | +++ m4/pandora_have_libboost_test.m4 2011-04-16 05:39:23 +0000 |
2992 | @@ -0,0 +1,45 @@ |
2993 | +dnl Copyright (C) 2011 Andrew Hutchings |
2994 | +dnl This file is free software; Andrew Hutchings |
2995 | +dnl gives unlimited permission to copy and/or distribute it, |
2996 | +dnl with or without modifications, as long as this notice is preserved. |
2997 | + |
2998 | +AC_DEFUN([_PANDORA_SEARCH_BOOST_TEST],[ |
2999 | + AC_REQUIRE([AC_LIB_PREFIX]) |
3000 | + |
3001 | + dnl -------------------------------------------------------------------- |
3002 | + dnl Check for boost::test |
3003 | + dnl -------------------------------------------------------------------- |
3004 | + |
3005 | + AC_LANG_PUSH(C++) |
3006 | + AC_LIB_HAVE_LINKFLAGS(boost_unit_test_framework-mt,,[ |
3007 | + #include <boost/test/unit_test.hpp> |
3008 | + ],[ |
3009 | + boost::unit_test::unit_test_log.set_threshold_level(boost::unit_test::log_messages); |
3010 | + ]) |
3011 | + AS_IF([test "x${ac_cv_libboost_unit_test_framework_mt}" = "xno"],[ |
3012 | + AC_LIB_HAVE_LINKFLAGS(boost_unit_test_framework,,[ |
3013 | + #include <boost/test/unit_test.hpp> |
3014 | + ],[ |
3015 | + boost::unit_test::unit_test_log.set_threshold_level(boost::unit_test::log_messages); |
3016 | + ]) |
3017 | + ]) |
3018 | + AC_LANG_POP() |
3019 | + |
3020 | + AM_CONDITIONAL(HAVE_BOOST_TEST, |
3021 | + [test "x${ac_cv_libboost_unit_test_framework}" = "xyes" -o "x${ac_cv_libboost_unit_test_framework_mt}" = "xyes"]) |
3022 | + BOOST_LIBS="${BOOST_LIBS} ${LTLIBBOOST_TEST_MT} ${LTLIBBOOST_TEST}" |
3023 | + AC_SUBST(BOOST_LIBS) |
3024 | +]) |
3025 | + |
3026 | +AC_DEFUN([PANDORA_HAVE_BOOST_TEST],[ |
3027 | + PANDORA_HAVE_BOOST($1) |
3028 | + _PANDORA_SEARCH_BOOST_TEST($1) |
3029 | +]) |
3030 | + |
3031 | +AC_DEFUN([PANDORA_REQUIRE_BOOST_TEST],[ |
3032 | + PANDORA_REQUIRE_BOOST($1) |
3033 | + _PANDORA_SEARCH_BOOST_TEST($1) |
3034 | + AS_IF([test "x${ac_cv_libboost_unit_test_framework}" = "xno" -a "x${ac_cv_libboost_unit_test_framework_mt}" = "xno"], |
3035 | + PANDORA_MSG_ERROR([boost::test is required for ${PACKAGE}])) |
3036 | +]) |
3037 | + |
3038 | |
3039 | === added file 'm4/pandora_have_libboost_thread.m4' |
3040 | --- m4/pandora_have_libboost_thread.m4 1970-01-01 00:00:00 +0000 |
3041 | +++ m4/pandora_have_libboost_thread.m4 2011-04-16 05:39:23 +0000 |
3042 | @@ -0,0 +1,54 @@ |
3043 | +dnl Copyright (C) 2010 Monty Taylor |
3044 | +dnl This file is free software; Monty Taylor |
3045 | +dnl gives unlimited permission to copy and/or distribute it, |
3046 | +dnl with or without modifications, as long as this notice is preserved. |
3047 | + |
3048 | +AC_DEFUN([_PANDORA_SEARCH_BOOST_THREAD],[ |
3049 | + AC_REQUIRE([AC_LIB_PREFIX]) |
3050 | + AC_REQUIRE([ACX_PTHREAD]) |
3051 | + |
3052 | + dnl -------------------------------------------------------------------- |
3053 | + dnl Check for boost::thread |
3054 | + dnl -------------------------------------------------------------------- |
3055 | + |
3056 | + save_CFLAGS="${CFLAGS}" |
3057 | + save_CXXFLAGS="${CXXFLAGS}" |
3058 | + CFLAGS="${PTHREAD_CFLAGS} ${CFLAGS}" |
3059 | + CXXFLAGS="${PTHREAD_CFLAGS} ${CXXFLAGS}" |
3060 | + |
3061 | + AC_LANG_PUSH(C++) |
3062 | + AC_LIB_HAVE_LINKFLAGS(boost_thread-mt,,[ |
3063 | + #include <boost/thread.hpp> |
3064 | + ],[ |
3065 | + boost::thread id; |
3066 | + ]) |
3067 | + AS_IF([test "x${ac_cv_libboost_thread_mt}" = "xno"],[ |
3068 | + AC_LIB_HAVE_LINKFLAGS(boost_thread,,[ |
3069 | + #include <boost/thread.hpp> |
3070 | + ],[ |
3071 | + boost::thread id; |
3072 | + ]) |
3073 | + ]) |
3074 | + AC_LANG_POP() |
3075 | + CFLAGS="${save_CFLAGS}" |
3076 | + CXXFLAGS="${save_CXXFLAGS}" |
3077 | + |
3078 | + |
3079 | + AM_CONDITIONAL(HAVE_BOOST_THREAD, |
3080 | + [test "x${ac_cv_libboost_thread}" = "xyes" -o "x${ac_cv_libboost_thread_mt}" = "xyes"]) |
3081 | + BOOST_LIBS="${BOOST_LIBS} ${LTLIBBOOST_THREAD_MT} ${LTLIBBOOST_THREAD}" |
3082 | + AC_SUBST(BOOST_LIBS) |
3083 | +]) |
3084 | + |
3085 | +AC_DEFUN([PANDORA_HAVE_BOOST_THREAD],[ |
3086 | + PANDORA_HAVE_BOOST($1) |
3087 | + _PANDORA_SEARCH_BOOST_THREAD($1) |
3088 | +]) |
3089 | + |
3090 | +AC_DEFUN([PANDORA_REQUIRE_BOOST_THREAD],[ |
3091 | + PANDORA_REQUIRE_BOOST($1) |
3092 | + _PANDORA_SEARCH_BOOST_THREAD($1) |
3093 | + AS_IF([test "x${ac_cv_libboost_thread}" = "xno" -a "x${ac_cv_libboost_thread_mt}" = "xno"], |
3094 | + PANDORA_MSG_ERROR([boost::thread is required for ${PACKAGE}])) |
3095 | +]) |
3096 | + |
3097 | |
3098 | === modified file 'm4/pandora_have_libcassandra.m4' |
3099 | --- m4/pandora_have_libcassandra.m4 2010-04-06 00:33:06 +0000 |
3100 | +++ m4/pandora_have_libcassandra.m4 2011-04-16 05:39:23 +0000 |
3101 | @@ -39,6 +39,6 @@ |
3102 | AC_DEFUN([PANDORA_REQUIRE_LIBCASSANDRA],[ |
3103 | AC_REQUIRE([PANDORA_HAVE_LIBCASSANDRA]) |
3104 | AS_IF([test "x$ac_cv_libcassandra" = "xno"],[ |
3105 | - AC_MSG_ERROR([libcassandra is required for ${PACKAGE}]) |
3106 | + PANDORA_MSG_ERROR([libcassandra is required for ${PACKAGE}]) |
3107 | ]) |
3108 | ]) |
3109 | |
3110 | === added file 'm4/pandora_have_libcurl.m4' |
3111 | --- m4/pandora_have_libcurl.m4 1970-01-01 00:00:00 +0000 |
3112 | +++ m4/pandora_have_libcurl.m4 2011-04-16 05:39:23 +0000 |
3113 | @@ -0,0 +1,62 @@ |
3114 | +dnl Copyright (C) 2010 Monty Taylor |
3115 | +dnl This file is free software; Monty Taylor |
3116 | +dnl gives unlimited permission to copy and/or distribute it, |
3117 | +dnl with or without modifications, as long as this notice is preserved. |
3118 | + |
3119 | +AC_DEFUN([_PANDORA_SEARCH_LIBCURL],[ |
3120 | + AC_REQUIRE([AC_LIB_PREFIX]) |
3121 | + |
3122 | + dnl -------------------------------------------------------------------- |
3123 | + dnl Check for libcurl |
3124 | + dnl -------------------------------------------------------------------- |
3125 | + |
3126 | + AC_ARG_ENABLE([libcurl], |
3127 | + [AS_HELP_STRING([--disable-libcurl], |
3128 | + [Build with libcurl support @<:@default=on@:>@])], |
3129 | + [ac_enable_libcurl="$enableval"], |
3130 | + [ac_enable_libcurl="yes"]) |
3131 | + |
3132 | + AS_IF([test "x$ac_enable_libcurl" = "xyes"],[ |
3133 | + AC_LIB_HAVE_LINKFLAGS(curl,, |
3134 | + [#include <curl/curl.h>], |
3135 | + [ |
3136 | + CURL *handle; |
3137 | + handle=curl_easy_init(); |
3138 | + ]) |
3139 | + ],[ |
3140 | + ac_cv_libcurl="no" |
3141 | + ]) |
3142 | + |
3143 | + AC_CACHE_CHECK([if libcurl has CURLOPT_USERNAME], |
3144 | + [pandora_cv_curl_have_username],[ |
3145 | + AC_COMPILE_IFELSE([ |
3146 | + AC_LANG_PROGRAM( |
3147 | + [[ |
3148 | + CURL *handle; |
3149 | + handle=curl_easy_init(); |
3150 | + rv= curl_easy_setopt(curl_handle, CURLOPT_USERNAME, "foo"); |
3151 | + ]])], |
3152 | + [pandora_cv_curl_have_username=yes], |
3153 | + [pandora_cv_curl_have_username=no]) |
3154 | + ]) |
3155 | + |
3156 | + AM_CONDITIONAL(HAVE_LIBCURL,[test "x${ac_cv_libcurl}" = "xyes"]) |
3157 | + AS_IF([test "x$pandora_cv_curl_have_username" = "xyes"], |
3158 | + AC_DEFINE([HAVE_CURLOPT_USERNAME],[1], |
3159 | + [Does libcurl provide the CURLOPT_USERNAME constant])) |
3160 | + |
3161 | +]) |
3162 | + |
3163 | +AC_DEFUN([PANDORA_HAVE_LIBCURL],[ |
3164 | + AC_REQUIRE([_PANDORA_SEARCH_LIBCURL]) |
3165 | + AS_IF([test "x${ac_cv_libcurl}" = "xno"],[ |
3166 | + AC_MSG_WARN([libcurl development lib not found. On Debian this is found in libcurl4-gnutls-dev. On RHEL5/Fedora11 it's in curl-devel. On RHEL6/Fedora12 it's in libcurl-devel.]) |
3167 | + ]) |
3168 | +]) |
3169 | + |
3170 | +AC_DEFUN([PANDORA_REQUIRE_LIBCURL],[ |
3171 | + PANDORA_HAVE_LIBCURL($1) |
3172 | + AS_IF([test "x${ac_cv_libcurl}" = "xno"],[ |
3173 | + PANDORA_MSG_ERROR([libcurl is required for ${PACKAGE}]) |
3174 | + ]) |
3175 | +]) |
3176 | |
3177 | === modified file 'm4/pandora_have_libdl.m4' |
3178 | --- m4/pandora_have_libdl.m4 2010-01-13 10:48:24 +0000 |
3179 | +++ m4/pandora_have_libdl.m4 2011-04-16 05:39:23 +0000 |
3180 | @@ -1,5 +1,5 @@ |
3181 | -dnl Copyright (C) 2009 Sun Microsystems |
3182 | -dnl This file is free software; Sun Microsystems |
3183 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
3184 | +dnl This file is free software; Sun Microsystems, Inc. |
3185 | dnl gives unlimited permission to copy and/or distribute it, |
3186 | dnl with or without modifications, as long as this notice is preserved. |
3187 | |
3188 | @@ -42,7 +42,7 @@ |
3189 | _PANDORA_SEARCH_LIBDL |
3190 | |
3191 | AS_IF([test "$ac_cv_func_dlopen" != "yes"],[ |
3192 | - AC_MSG_ERROR([libdl/dlopen() is required for ${PACKAGE}. On Debian this can be found in libc6-dev. On RedHat this can be found in glibc-devel.]) |
3193 | + PANDORA_MSG_ERROR([libdl/dlopen() is required for ${PACKAGE}. On Debian this can be found in libc6-dev. On RedHat this can be found in glibc-devel.]) |
3194 | ]) |
3195 | ]) |
3196 | |
3197 | |
3198 | === modified file 'm4/pandora_have_libdrizzle.m4' |
3199 | --- m4/pandora_have_libdrizzle.m4 2010-04-06 00:33:06 +0000 |
3200 | +++ m4/pandora_have_libdrizzle.m4 2011-04-16 05:39:23 +0000 |
3201 | @@ -1,5 +1,5 @@ |
3202 | -dnl Copyright (C) 2009 Sun Microsystems |
3203 | -dnl This file is free software; Sun Microsystems |
3204 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
3205 | +dnl This file is free software; Sun Microsystems, Inc. |
3206 | dnl gives unlimited permission to copy and/or distribute it, |
3207 | dnl with or without modifications, as long as this notice is preserved. |
3208 | |
3209 | @@ -27,6 +27,15 @@ |
3210 | ac_cv_libdrizzle="no" |
3211 | ]) |
3212 | |
3213 | + AS_IF([test "${ac_cv_libdrizzle}" = "no" -a "${ac_enable_libdrizzle}" = "yes"],[ |
3214 | + |
3215 | + PKG_CHECK_MODULES([LIBDRIZZLE], [libdrizzle-1.0], [ |
3216 | + ac_cv_libdrizzle=yes |
3217 | + LTLIBDRIZZLE=${LIBDRIZZLE_LIBS} |
3218 | + LIBDRIZZLE=${LIBDRIZZLE_LIBS} |
3219 | + ],[test x = y]) |
3220 | + ]) |
3221 | + |
3222 | AM_CONDITIONAL(HAVE_LIBDRIZZLE, [test "x${ac_cv_libdrizzle}" = "xyes"]) |
3223 | ]) |
3224 | |
3225 | @@ -37,7 +46,7 @@ |
3226 | AC_DEFUN([PANDORA_REQUIRE_LIBDRIZZLE],[ |
3227 | AC_REQUIRE([PANDORA_HAVE_LIBDRIZZLE]) |
3228 | AS_IF([test "x${ac_cv_libdrizzle}" = "xno"],[ |
3229 | - AC_MSG_ERROR([libdrizzle is required for ${PACKAGE}]) |
3230 | + PANDORA_MSG_ERROR([libdrizzle is required for ${PACKAGE}]) |
3231 | ],[ |
3232 | dnl We need at least 0.8 on Solaris non-sparc |
3233 | AS_IF([test "$target_cpu" != "sparc" -a "x${TARGET_SOLARIS}" = "xtrue"],[ |
3234 | @@ -56,6 +65,6 @@ |
3235 | [pandora_cv_libdrizzle_recent=yes], |
3236 | [pandora_cv_libdrizzle_recent=no])]) |
3237 | AS_IF([test "$pandora_cv_libdrizzle_recent" = "no"],[ |
3238 | - AC_MSG_ERROR([Your version of libdrizzle is too old. ${PACKAGE} requires at least version 0.8]) |
3239 | + PANDORA_MSG_ERROR([Your version of libdrizzle is too old. ${PACKAGE} requires at least version 0.8]) |
3240 | ]) |
3241 | ]) |
3242 | |
3243 | === modified file 'm4/pandora_have_libevent.m4' |
3244 | --- m4/pandora_have_libevent.m4 2009-12-18 18:02:39 +0000 |
3245 | +++ m4/pandora_have_libevent.m4 2011-04-16 05:39:23 +0000 |
3246 | @@ -1,5 +1,5 @@ |
3247 | -dnl Copyright (C) 2009 Sun Microsystems |
3248 | -dnl This file is free software; Sun Microsystems |
3249 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
3250 | +dnl This file is free software; Sun Microsystems, Inc. |
3251 | dnl gives unlimited permission to copy and/or distribute it, |
3252 | dnl with or without modifications, as long as this notice is preserved. |
3253 | |
3254 | @@ -57,7 +57,7 @@ |
3255 | _PANDORA_SEARCH_LIBEVENT |
3256 | |
3257 | AS_IF([test x$ac_cv_libevent = xno],[ |
3258 | - AC_MSG_ERROR([libevent is required for ${PACKAGE}. On Debian this can be found in libevent-dev. On RedHat this can be found in libevent-devel.]) |
3259 | + PANDORA_MSG_ERROR([libevent is required for ${PACKAGE}. On Debian this can be found in libevent-dev. On RedHat this can be found in libevent-devel.]) |
3260 | ]) |
3261 | ]) |
3262 | |
3263 | |
3264 | === modified file 'm4/pandora_have_libgearman.m4' |
3265 | --- m4/pandora_have_libgearman.m4 2009-12-18 19:25:00 +0000 |
3266 | +++ m4/pandora_have_libgearman.m4 2011-04-16 05:39:23 +0000 |
3267 | @@ -1,5 +1,5 @@ |
3268 | -dnl Copyright (C) 2009 Sun Microsystems |
3269 | -dnl This file is free software; Sun Microsystems |
3270 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
3271 | +dnl This file is free software; Sun Microsystems, Inc. |
3272 | dnl gives unlimited permission to copy and/or distribute it, |
3273 | dnl with or without modifications, as long as this notice is preserved. |
3274 | |
3275 | @@ -37,5 +37,5 @@ |
3276 | AC_DEFUN([PANDORA_REQUIRE_LIBGEARMAN],[ |
3277 | AC_REQUIRE([PANDORA_HAVE_LIBGEARMAN]) |
3278 | AS_IF([test "x${ac_cv_libgearman}" = "xno"], |
3279 | - AC_MSG_ERROR([At least version 0.10 of libgearman is required for ${PACKAGE}])) |
3280 | + PANDORA_MSG_ERROR([At least version 0.10 of libgearman is required for ${PACKAGE}])) |
3281 | ]) |
3282 | |
3283 | === added file 'm4/pandora_have_libgtest.m4' |
3284 | --- m4/pandora_have_libgtest.m4 1970-01-01 00:00:00 +0000 |
3285 | +++ m4/pandora_have_libgtest.m4 2011-04-16 05:39:23 +0000 |
3286 | @@ -0,0 +1,47 @@ |
3287 | +dnl Copyright (C) 2010 Monty Taylor |
3288 | +dnl This file is free software; Monty Taylor |
3289 | +dnl gives unlimited permission to copy and/or distribute it, |
3290 | +dnl with or without modifications, as long as this notice is preserved. |
3291 | + |
3292 | +AC_DEFUN([_PANDORA_SEARCH_LIBGTEST],[ |
3293 | + AC_REQUIRE([AC_LIB_PREFIX]) |
3294 | + |
3295 | + dnl -------------------------------------------------------------------- |
3296 | + dnl Check for libgtest |
3297 | + dnl -------------------------------------------------------------------- |
3298 | + |
3299 | + AC_ARG_ENABLE([libgtest], |
3300 | + [AS_HELP_STRING([--disable-libgtest], |
3301 | + [Build with libgtest support @<:@default=on@:>@])], |
3302 | + [ac_enable_libgtest="$enableval"], |
3303 | + [ac_enable_libgtest="yes"]) |
3304 | + |
3305 | + AS_IF([test "x$ac_enable_libgtest" = "xyes"],[ |
3306 | + AC_LANG_PUSH(C++) |
3307 | + save_CXXFLAGS="${CXXFLAGS}" |
3308 | + CXXFLAGS="${AM_CXXFLAGS} ${CXXFLAGS}" |
3309 | + AC_LIB_HAVE_LINKFLAGS(gtest,,[ |
3310 | + #include <gtest/gtest.h> |
3311 | +TEST(pandora_test_libgtest, PandoraTest) |
3312 | +{ |
3313 | + ASSERT_EQ(1, 1); |
3314 | +} |
3315 | + ],[]) |
3316 | + CXXFLAGS="${save_CXXFLAGS}" |
3317 | + AC_LANG_POP() |
3318 | + ],[ |
3319 | + ac_cv_libgtest="no" |
3320 | + ]) |
3321 | + |
3322 | + AM_CONDITIONAL(HAVE_LIBGTEST, [test "x${ac_cv_libgtest}" = "xyes"]) |
3323 | +]) |
3324 | + |
3325 | +AC_DEFUN([PANDORA_HAVE_LIBGTEST],[ |
3326 | + AC_REQUIRE([_PANDORA_SEARCH_LIBGTEST]) |
3327 | +]) |
3328 | + |
3329 | +AC_DEFUN([PANDORA_REQUIRE_LIBGTEST],[ |
3330 | + AC_REQUIRE([_PANDORA_SEARCH_LIBGTEST]) |
3331 | + AS_IF([test "x${ac_cv_libgtest}" = "xno"], |
3332 | + PANDORA_MSG_ERROR([libgtest is required for ${PACKAGE}])) |
3333 | +]) |
3334 | |
3335 | === added file 'm4/pandora_have_libhaildb.m4' |
3336 | --- m4/pandora_have_libhaildb.m4 1970-01-01 00:00:00 +0000 |
3337 | +++ m4/pandora_have_libhaildb.m4 2011-04-16 05:39:23 +0000 |
3338 | @@ -0,0 +1,43 @@ |
3339 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
3340 | +dnl This file is free software; Sun Microsystems, Inc. |
3341 | +dnl gives unlimited permission to copy and/or distribute it, |
3342 | +dnl with or without modifications, as long as this notice is preserved. |
3343 | + |
3344 | +AC_DEFUN([_PANDORA_SEARCH_LIBHAILDB],[ |
3345 | + AC_REQUIRE([AC_LIB_PREFIX]) |
3346 | + |
3347 | + dnl -------------------------------------------------------------------- |
3348 | + dnl Check for libhaildb |
3349 | + dnl -------------------------------------------------------------------- |
3350 | + |
3351 | + AC_ARG_ENABLE([libhaildb], |
3352 | + [AS_HELP_STRING([--disable-libhaildb], |
3353 | + [Build with libhaildb support @<:@default=on@:>@])], |
3354 | + [ac_enable_libhaildb="$enableval"], |
3355 | + [ac_enable_libhaildb="yes"]) |
3356 | + |
3357 | + |
3358 | + AS_IF([test "x$ac_enable_libhaildb" = "xyes"],[ |
3359 | + AC_LIB_HAVE_LINKFLAGS(haildb,,[ |
3360 | + #include <haildb.h> |
3361 | + ],[ |
3362 | + ib_update_table_statistics(NULL); |
3363 | + ]) |
3364 | + AS_IF([test "x${ac_cv_libhaildb}" = "xyes"],[ |
3365 | + AC_DEFINE([HAVE_HAILDB_H],[1],[Do we have haildb.h]) |
3366 | + ]) |
3367 | + ],[ |
3368 | + ac_cv_libhaildb="no" |
3369 | + ]) |
3370 | + AM_CONDITIONAL(HAVE_LIBHAILDB, [test "x${ac_cv_libhaildb}" = "xyes"]) |
3371 | +]) |
3372 | + |
3373 | +AC_DEFUN([PANDORA_HAVE_LIBHAILDB],[ |
3374 | + AC_REQUIRE([_PANDORA_SEARCH_LIBHAILDB]) |
3375 | +]) |
3376 | + |
3377 | +AC_DEFUN([PANDORA_REQUIRE_LIBHAILDB],[ |
3378 | + AC_REQUIRE([PANDORA_HAVE_LIBHAILDB]) |
3379 | + AS_IF([test "x${ac_cv_libhaildb}" = "xno"], |
3380 | + PANDORA_MSG_ERROR([libhaildb 2.3.2 or later is required for ${PACKAGE}])) |
3381 | +]) |
3382 | |
3383 | === added file 'm4/pandora_have_libhashkit.m4' |
3384 | --- m4/pandora_have_libhashkit.m4 1970-01-01 00:00:00 +0000 |
3385 | +++ m4/pandora_have_libhashkit.m4 2011-04-16 05:39:23 +0000 |
3386 | @@ -0,0 +1,42 @@ |
3387 | +dnl Copyright (C) 2010 NorthScale |
3388 | +dnl This file is free software; NorthScale |
3389 | +dnl gives unlimited permission to copy and/or distribute it, |
3390 | +dnl with or without modifications, as long as this notice is preserved. |
3391 | + |
3392 | +AC_DEFUN([_PANDORA_SEARCH_LIBHASHKIT],[ |
3393 | + AC_REQUIRE([AC_LIB_PREFIX]) |
3394 | + |
3395 | + dnl -------------------------------------------------------------------- |
3396 | + dnl Check for libhashkit |
3397 | + dnl -------------------------------------------------------------------- |
3398 | + |
3399 | + AC_ARG_ENABLE([libhashkit], |
3400 | + [AS_HELP_STRING([--disable-libhashkit], |
3401 | + [Build with libhashkit support @<:@default=on@:>@])], |
3402 | + [ac_enable_libhashkit="$enableval"], |
3403 | + [ac_enable_libhashkit="yes"]) |
3404 | + |
3405 | + AS_IF([test "x$ac_enable_libhashkit" = "xyes"],[ |
3406 | + AC_LIB_HAVE_LINKFLAGS(hashkit,,[ |
3407 | + #include <libhashkit/hashkit.h> |
3408 | + ],[ |
3409 | + hashkit_st foo; |
3410 | + hashkit_st *kit = hashkit_create(&foo); |
3411 | + hashkit_free(kit); |
3412 | + ]) |
3413 | + ],[ |
3414 | + ac_cv_libhashkit="no" |
3415 | + ]) |
3416 | + |
3417 | + AM_CONDITIONAL(HAVE_LIBHASHKIT, [test "x${ac_cv_libhashkit}" = "xyes"]) |
3418 | +]) |
3419 | + |
3420 | +AC_DEFUN([PANDORA_HAVE_LIBHASHKIT],[ |
3421 | + AC_REQUIRE([_PANDORA_SEARCH_LIBHASHKIT]) |
3422 | +]) |
3423 | + |
3424 | +AC_DEFUN([PANDORA_REQUIRE_LIBHASHKIT],[ |
3425 | + AC_REQUIRE([PANDORA_HAVE_LIBHASHKIT]) |
3426 | + AS_IF([test x$ac_cv_libhashkit = xno], |
3427 | + PANDORA_MSG_ERROR([libhashkit is required for ${PACKAGE}])) |
3428 | +]) |
3429 | |
3430 | === added file 'm4/pandora_have_libldap.m4' |
3431 | --- m4/pandora_have_libldap.m4 1970-01-01 00:00:00 +0000 |
3432 | +++ m4/pandora_have_libldap.m4 2011-04-16 05:39:23 +0000 |
3433 | @@ -0,0 +1,73 @@ |
3434 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
3435 | +dnl This file is free software; Sun Microsystems, Inc. |
3436 | +dnl gives unlimited permission to copy and/or distribute it, |
3437 | +dnl with or without modifications, as long as this notice is preserved. |
3438 | + |
3439 | +#-------------------------------------------------------------------- |
3440 | +# Check for libldap |
3441 | +#-------------------------------------------------------------------- |
3442 | + |
3443 | + |
3444 | +AC_DEFUN([_PANDORA_SEARCH_LIBLDAP],[ |
3445 | + AC_REQUIRE([AC_LIB_PREFIX]) |
3446 | + |
3447 | + AC_LIB_HAVE_LINKFLAGS(ldap,, |
3448 | + [#include <ldap.h>], |
3449 | + [ |
3450 | + LDAP *ldap; |
3451 | + ldap_initialize(&ldap, "ldap://localhost/"); |
3452 | + ]) |
3453 | + AS_IF([test "x$ac_cv_libldap" = "xno"], |
3454 | + [ |
3455 | + unset ac_cv_libldap |
3456 | + unset HAVE_LIBLDAP |
3457 | + unset LIBLDAP |
3458 | + unset LIBLDAP_PREFIX |
3459 | + unset LTLIBLDAP |
3460 | + AC_LIB_HAVE_LINKFLAGS(ldap,, |
3461 | + [#include <ldap/ldap.h>], |
3462 | + [ |
3463 | + LDAP *ldap; |
3464 | + ldap_initialize(&ldap, "ldap://localhost/"); |
3465 | + ]) |
3466 | + AS_IF([test "x$ac_cv_libldap" = "xyes"], [ |
3467 | + ac_cv_ldap_location="<ldap/ldap.h>" |
3468 | + ]) |
3469 | + ],[ |
3470 | + ac_cv_ldap_location="<ldap.h>" |
3471 | + ]) |
3472 | + |
3473 | + AM_CONDITIONAL(HAVE_LIBLDAP, [test "x${ac_cv_libldap}" = "xyes"]) |
3474 | +]) |
3475 | + |
3476 | +AC_DEFUN([_PANDORA_HAVE_LIBLDAP],[ |
3477 | + |
3478 | + AC_ARG_ENABLE([libldap], |
3479 | + [AS_HELP_STRING([--disable-libldap], |
3480 | + [Build with libldap support @<:@default=on@:>@])], |
3481 | + [ac_enable_libldap="$enableval"], |
3482 | + [ac_enable_libldap="yes"]) |
3483 | + |
3484 | + _PANDORA_SEARCH_LIBLDAP |
3485 | +]) |
3486 | + |
3487 | + |
3488 | +AC_DEFUN([PANDORA_HAVE_LIBLDAP],[ |
3489 | + AC_REQUIRE([_PANDORA_HAVE_LIBLDAP]) |
3490 | +]) |
3491 | + |
3492 | +AC_DEFUN([_PANDORA_REQUIRE_LIBLDAP],[ |
3493 | + ac_enable_libldap="yes" |
3494 | + _PANDORA_SEARCH_LIBLDAP |
3495 | + |
3496 | + AS_IF([test x$ac_cv_libldap = xno],[ |
3497 | + PANDORA_MSG_ERROR([libldap is required for ${PACKAGE}. On Debian this can be found in libldap2-dev. On RedHat this can be found in openldap-devel.]) |
3498 | + ],[ |
3499 | + AC_DEFINE_UNQUOTED(LDAP_HEADER,[${ac_cv_ldap_location}], |
3500 | + [Location of ldap header]) |
3501 | + ]) |
3502 | +]) |
3503 | + |
3504 | +AC_DEFUN([PANDORA_REQUIRE_LIBLDAP],[ |
3505 | + AC_REQUIRE([_PANDORA_REQUIRE_LIBLDAP]) |
3506 | +]) |
3507 | |
3508 | === modified file 'm4/pandora_have_libmemcached.m4' |
3509 | --- m4/pandora_have_libmemcached.m4 2011-02-14 23:35:15 +0000 |
3510 | +++ m4/pandora_have_libmemcached.m4 2011-04-16 05:39:23 +0000 |
3511 | @@ -1,5 +1,5 @@ |
3512 | -dnl Copyright (C) 2009 Sun Microsystems |
3513 | -dnl This file is free software; Sun Microsystems |
3514 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
3515 | +dnl This file is free software; Sun Microsystems, Inc. |
3516 | dnl gives unlimited permission to copy and/or distribute it, |
3517 | dnl with or without modifications, as long as this notice is preserved. |
3518 | |
3519 | @@ -11,15 +11,27 @@ |
3520 | dnl -------------------------------------------------------------------- |
3521 | |
3522 | AC_ARG_ENABLE([libmemcached], |
3523 | - [AS_HELP_STRING([--enable-libmemcached], |
3524 | - [Build with libmemcached support @<:@default=off@:>@])], |
3525 | + [AS_HELP_STRING([--disable-libmemcached], |
3526 | + [Build with libmemcached support @<:@default=on@:>@])], |
3527 | [ac_enable_libmemcached="$enableval"], |
3528 | - [ac_enable_libmemcached="no"]) |
3529 | + [ac_enable_libmemcached="yes"]) |
3530 | |
3531 | AS_IF([test "x$ac_enable_libmemcached" = "xyes"],[ |
3532 | + |
3533 | + AS_IF([test "x$pandora_check_libmemcached_version" != "x"],[ |
3534 | + pandora_need_libmemcached_version=`echo "$pandora_check_libmemcached_version" | perl -nle '/(\d+)\.(\d+)/; printf "%d%0.3d000", $[]1, $[]2 ;'` |
3535 | + ],[ |
3536 | + pandora_need_libmemcached_version=000000 |
3537 | + ]) |
3538 | + |
3539 | AC_LIB_HAVE_LINKFLAGS(memcached,,[ |
3540 | #include <libmemcached/memcached.h> |
3541 | + #include <libmemcached/configure.h> |
3542 | + #if !defined(LIBMEMCACHED_VERSION_HEX) || LIBMEMCACHED_VERSION_HEX < 0x]${pandora_need_libmemcached_version}[ |
3543 | + # error libmemcached too old! |
3544 | + #endif |
3545 | ],[ |
3546 | + |
3547 | memcached_st memc; |
3548 | memcached_dump_func *df; |
3549 | memcached_lib_version(); |
3550 | @@ -51,56 +63,20 @@ |
3551 | AS_IF([test "x$pandora_cv_libmemcached_server_fn" = "xyes"],[ |
3552 | AC_DEFINE([HAVE_MEMCACHED_SERVER_FN],[1],[If we have the new memcached_server_fn typedef]) |
3553 | ]) |
3554 | -]) |
3555 | - |
3556 | -AC_DEFUN([_PANDORA_RECENT_LIBMEMCACHED],[ |
3557 | - |
3558 | - AC_CACHE_CHECK([if libmemcached is recent enough], |
3559 | - [pandora_cv_recent_libmemcached],[ |
3560 | - AS_IF([test "x${ac_cv_libmemcached}" = "xno"],[ |
3561 | - pandora_cv_recent_libmemcached=no |
3562 | - ],[ |
3563 | - AS_IF([test "x$1" != "x"],[ |
3564 | - pandora_need_libmemcached_version=`echo "$1" | perl -nle '/(\d+)\.(\d+)/; printf "%d%0.3d000", $[]1, $[]2 ;'` |
3565 | - AS_IF([test "x${pandora_need_libmemcached_version}" = "x0000000"],[ |
3566 | - pandora_cv_recent_libmemcached=yes |
3567 | - ],[ |
3568 | - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
3569 | -#include <libmemcached/configure.h> |
3570 | - |
3571 | -#if !defined(LIBMEMCACHED_VERSION_HEX) || LIBMEMCACHED_VERSION_HEX < 0x]]${pandora_need_libmemcached_version}[[ |
3572 | -# error libmemcached too old! |
3573 | -#endif |
3574 | - ]],[[]]) |
3575 | - ],[ |
3576 | - pandora_cv_recent_libmemcached=yes |
3577 | - ],[ |
3578 | - pandora_cv_recent_libmemcached=no |
3579 | - ]) |
3580 | - ]) |
3581 | - ],[ |
3582 | - pandora_cv_recent_libmemcached=yes |
3583 | - ]) |
3584 | - ]) |
3585 | - ]) |
3586 | - |
3587 | - AM_CONDITIONAL(HAVE_LIBMEMCACHED,[test "x${ac_cv_libmemcached}" = "xyes" -a "x${pandora_cv_recent_libmemcached}" = "xyes"]) |
3588 | + |
3589 | + AM_CONDITIONAL(HAVE_LIBMEMCACHED,[test "x${ac_cv_libmemcached}" = "xyes"]) |
3590 | |
3591 | ]) |
3592 | |
3593 | AC_DEFUN([PANDORA_HAVE_LIBMEMCACHED],[ |
3594 | - AC_REQUIRE([_PANDORA_SEARCH_LIBMEMCACHED]) |
3595 | - _PANDORA_RECENT_LIBMEMCACHED($1) |
3596 | + pandora_check_libmemcached_version=$1 |
3597 | + _PANDORA_SEARCH_LIBMEMCACHED |
3598 | ]) |
3599 | |
3600 | AC_DEFUN([PANDORA_REQUIRE_LIBMEMCACHED],[ |
3601 | PANDORA_HAVE_LIBMEMCACHED($1) |
3602 | - AS_IF([test "x{$pandora_cv_recent_libmemcached}" = "xno"], |
3603 | - AC_MSG_ERROR([libmemcached is required for ${PACKAGE}])) |
3604 | ]) |
3605 | |
3606 | AC_DEFUN([PANDORA_REQUIRE_LIBMEMCACHEDPROTOCOL],[ |
3607 | PANDORA_HAVE_LIBMEMCACHED($1) |
3608 | - AS_IF([test x$ac_cv_libmemcachedprotocol = xno], |
3609 | - AC_MSG_ERROR([libmemcachedprotocol is required for ${PACKAGE}])) |
3610 | ]) |
3611 | |
3612 | === modified file 'm4/pandora_have_libmysqlclient.m4' |
3613 | --- m4/pandora_have_libmysqlclient.m4 2010-01-28 21:58:37 +0000 |
3614 | +++ m4/pandora_have_libmysqlclient.m4 2011-04-16 05:39:23 +0000 |
3615 | @@ -68,7 +68,7 @@ |
3616 | AC_DEFUN([PANDORA_REQUIRE_LIBMYSQLCLIENT],[ |
3617 | AC_REQUIRE([PANDORA_HAVE_LIBMYSQLCLIENT]) |
3618 | AS_IF([test "x${ac_cv_libmysqlclient_r}" = "xno"], |
3619 | - AC_MSG_ERROR([libmysqlclient_r is required for ${PACKAGE}])) |
3620 | + PANDORA_MSG_ERROR([libmysqlclient_r is required for ${PACKAGE}])) |
3621 | ]) |
3622 | |
3623 | AS_IF([test "x$MYSQL_CONFIG" = "xISDIR"],[ |
3624 | @@ -102,20 +102,20 @@ |
3625 | MYSQL_INCLUDES="$IBASE $ADDIFLAGS" |
3626 | |
3627 | |
3628 | - dnl AC_CHECK_LIB([mysqlclient_r],[safe_mutex_init],,[AC_MSG_ERROR([Can't link against libmysqlclient_r])]) |
3629 | + dnl AC_CHECK_LIB([mysqlclient_r],[safe_mutex_init],,[PANDORA_MSG_ERROR([Can't link against libmysqlclient_r])]) |
3630 | dnl First test to see if we can run with only ndbclient |
3631 | AC_CHECK_LIB([ndbclient],[decimal_bin_size],,[dnl else |
3632 | LDFLAGS="$LDFLAGS -lmysys -ldbug" |
3633 | AC_CHECK_LIB([mysqlclient_r],[safe_mutex_init],,) |
3634 | AC_CHECK_LIB([ndbclient],[ndb_init],,[ |
3635 | - AC_MSG_ERROR([Can't link against libndbclient])]) |
3636 | + PANDORA_MSG_ERROR([Can't link against libndbclient])]) |
3637 | AC_CHECK_LIB([mystrings],[decimal_bin_size],,[ |
3638 | - AC_MSG_ERROR([Can't find decimal_bin_size])])]) |
3639 | + PANDORA_MSG_ERROR([Can't find decimal_bin_size])])]) |
3640 | AC_MSG_CHECKING(for NdbApi headers) |
3641 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <NdbApi.hpp>]], [[int attr=NdbTransaction::Commit; ]])],[ndbapi_found="yes"],[]) |
3642 | AS_IF([test "$ndbapi_found" = "yes"], |
3643 | [AC_MSG_RESULT(found)], |
3644 | - [AC_MSG_ERROR([Couldn't find NdbApi.hpp!])]) |
3645 | + [PANDORA_MSG_ERROR([Couldn't find NdbApi.hpp!])]) |
3646 | AC_MSG_CHECKING(for NDB_LE_ThreadConfigLoop) |
3647 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <mgmapi.h>]], [[int attr=NDB_LE_ThreadConfigLoop; ]])],[have_cge63="yes"],[]) |
3648 | AS_IF([test "$have_cge63" = "yes"], |
3649 | |
3650 | === added file 'm4/pandora_have_libndbclient.m4' |
3651 | --- m4/pandora_have_libndbclient.m4 1970-01-01 00:00:00 +0000 |
3652 | +++ m4/pandora_have_libndbclient.m4 2011-04-16 05:39:23 +0000 |
3653 | @@ -0,0 +1,80 @@ |
3654 | +dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*- |
3655 | +dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab: |
3656 | +dnl |
3657 | +dnl Copyright (C) 2010 Monty Taylor |
3658 | +dnl This file is free software; Sun Microsystems |
3659 | +dnl gives unlimited permission to copy and/or distribute it, |
3660 | +dnl with or without modifications, as long as this notice is preserved. |
3661 | +dnl |
3662 | + |
3663 | +AC_DEFUN([_PANDORA_SEARCH_LIBNDBCLIENT],[ |
3664 | + |
3665 | + AC_REQUIRE([AC_LIB_PREFIX]) |
3666 | + AC_REQUIRE([PANDORA_WITH_MYSQL]) |
3667 | + |
3668 | + AC_ARG_ENABLE([libndbclient], |
3669 | + [AS_HELP_STRING([--disable-libndbclient], |
3670 | + [Build with libndbclient support @<:@default=on@:>@])], |
3671 | + [ac_enable_libndbclient="$enableval"], |
3672 | + [ac_enable_libndbclient="yes"]) |
3673 | + |
3674 | + AC_ARG_WITH([libndbclient-prefix], |
3675 | + [AS_HELP_STRING([--with-libndbclient-prefix], |
3676 | + [search for libndbclient in DIR])], |
3677 | + [ac_with_libndbclient=${withval}], |
3678 | + [ac_with_libndbclient=${pandora_cv_mysql_base}]) |
3679 | + |
3680 | + save_LIBS="${LIBS}" |
3681 | + LIBS="" |
3682 | + save_CPPFLAGS="${CPPFLAGS}" |
3683 | + AS_IF([test "x${ac_with_libndbclient}" != "x"],[ |
3684 | + LIBS="-L${ac_with_libndbclient}/lib/mysql -L${ac_with_libndbclient}/lib" |
3685 | + AS_IF([test "$GCC" = "yes"],[ |
3686 | + ndb_include_prefix="-isystem " |
3687 | + ],[ |
3688 | + ndb_include_prefix="-I" |
3689 | + ]) |
3690 | + CPPFLAGS="${CPPFLAGS} ${ndb_include_prefix}${ac_with_libndbclient}/include ${ndb_include_prefix}${ac_with_libndbclient}/include/mysql ${ndb_include_prefix}${ac_with_libndbclient}/include/mysql/storage/ndb ${ndb_include_prefix}${ac_with_libndbclient}/include/mysql/storage/ndb/ndbapi ${ndb_include_prefix}${ac_with_libndbclient}/include/mysql/storage/ndb/mgmapi" |
3691 | + ]) |
3692 | + LIBS="${LIBS} -lndbclient -lmysqlclient_r" |
3693 | + |
3694 | + AC_CACHE_CHECK([if NdbApi works],[ac_cv_libndbclient],[ |
3695 | + AC_LANG_PUSH(C++) |
3696 | + AC_LINK_IFELSE([ |
3697 | + AC_LANG_PROGRAM([[ |
3698 | +#include <NdbApi.hpp> |
3699 | + ]],[[ |
3700 | +Ndb *ndb; |
3701 | +ndb_init(); |
3702 | + ]]) |
3703 | + ],[ |
3704 | + ac_cv_libndbclient=yes |
3705 | + ],[ |
3706 | + ac_cv_libndbclient=no |
3707 | + ]) |
3708 | + ]) |
3709 | + AC_LANG_POP() |
3710 | + |
3711 | + LIBNDBCLIENT="${LIBS}" |
3712 | + LTLIBNDBCLIENT="${LIBS}" |
3713 | + AC_SUBST([LIBNDBCLIENT]) |
3714 | + AC_SUBST([LTLIBNDBCLIENT]) |
3715 | + |
3716 | + AS_IF([test "x${ac_cv_libndbclient}" = "xno"],[ |
3717 | + CPPFLAGS="${save_CPPFLAGS}" |
3718 | + ]) |
3719 | + LIBS="${save_LIBS}" |
3720 | + |
3721 | + AM_CONDITIONAL(HAVE_LIBNDBCLIENT, [test "x${ac_cv_libndbclient}" = "xyes"]) |
3722 | +]) |
3723 | + |
3724 | +AC_DEFUN([PANDORA_HAVE_LIBNDBCLIENT],[ |
3725 | + AC_REQUIRE([_PANDORA_SEARCH_LIBNDBCLIENT]) |
3726 | +]) |
3727 | + |
3728 | +AC_DEFUN([PANDORA_REQUIRE_LIBNDBCLIENT],[ |
3729 | + AC_REQUIRE([PANDORA_HAVE_LIBNDBCLIENT]) |
3730 | + AS_IF([test "x${ac_cv_libndbclient}" = "xno"], |
3731 | + PANDORA_MSG_ERROR([libndbclient is required for ${PACKAGE}])) |
3732 | +]) |
3733 | + |
3734 | |
3735 | === added file 'm4/pandora_have_libpcre.m4' |
3736 | --- m4/pandora_have_libpcre.m4 1970-01-01 00:00:00 +0000 |
3737 | +++ m4/pandora_have_libpcre.m4 2011-04-16 05:39:23 +0000 |
3738 | @@ -0,0 +1,73 @@ |
3739 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
3740 | +dnl This file is free software; Sun Microsystems, Inc. |
3741 | +dnl gives unlimited permission to copy and/or distribute it, |
3742 | +dnl with or without modifications, as long as this notice is preserved. |
3743 | + |
3744 | +#-------------------------------------------------------------------- |
3745 | +# Check for libpcre |
3746 | +#-------------------------------------------------------------------- |
3747 | + |
3748 | + |
3749 | +AC_DEFUN([_PANDORA_SEARCH_LIBPCRE],[ |
3750 | + AC_REQUIRE([AC_LIB_PREFIX]) |
3751 | + |
3752 | + AC_LIB_HAVE_LINKFLAGS(pcre,, |
3753 | + [#include <pcre.h>], |
3754 | + [ |
3755 | + pcre *re= NULL; |
3756 | + pcre_version(); |
3757 | + ]) |
3758 | + AS_IF([test "x$ac_cv_libpcre" = "xno"], |
3759 | + [ |
3760 | + unset ac_cv_libpcre |
3761 | + unset HAVE_LIBPCRE |
3762 | + unset LIBPCRE |
3763 | + unset LIBPCRE_PREFIX |
3764 | + unset LTLIBPCRE |
3765 | + AC_LIB_HAVE_LINKFLAGS(pcre,, |
3766 | + [#include <pcre/pcre.h>], |
3767 | + [ |
3768 | + pcre *re= NULL; |
3769 | + pcre_version(); |
3770 | + ]) |
3771 | + AS_IF([test "x$ac_cv_libpcre" = "xyes"], [ |
3772 | + ac_cv_pcre_location="<pcre/pcre.h>" |
3773 | + ]) |
3774 | + ],[ |
3775 | + ac_cv_pcre_location="<pcre.h>" |
3776 | + ]) |
3777 | + |
3778 | + AM_CONDITIONAL(HAVE_LIBPCRE, [test "x${ac_cv_libpcre}" = "xyes"]) |
3779 | +]) |
3780 | + |
3781 | +AC_DEFUN([_PANDORA_HAVE_LIBPCRE],[ |
3782 | + |
3783 | + AC_ARG_ENABLE([libpcre], |
3784 | + [AS_HELP_STRING([--disable-libpcre], |
3785 | + [Build with libpcre support @<:@default=on@:>@])], |
3786 | + [ac_enable_libpcre="$enableval"], |
3787 | + [ac_enable_libpcre="yes"]) |
3788 | + |
3789 | + _PANDORA_SEARCH_LIBPCRE |
3790 | +]) |
3791 | + |
3792 | + |
3793 | +AC_DEFUN([PANDORA_HAVE_LIBPCRE],[ |
3794 | + AC_REQUIRE([_PANDORA_HAVE_LIBPCRE]) |
3795 | +]) |
3796 | + |
3797 | +AC_DEFUN([_PANDORA_REQUIRE_LIBPCRE],[ |
3798 | + ac_enable_libpcre="yes" |
3799 | + _PANDORA_SEARCH_LIBPCRE |
3800 | + |
3801 | + AS_IF([test x$ac_cv_libpcre = xno],[ |
3802 | + PANDORA_MSG_ERROR([libpcre is required for ${PACKAGE}. On Debian this can be found in libpcre3-dev. On RedHat this can be found in pcre-devel.]) |
3803 | + ],[ |
3804 | + AC_DEFINE_UNQUOTED(PCRE_HEADER,[${ac_cv_pcre_location}], |
3805 | + [Location of pcre header]) |
3806 | + ]) |
3807 | +]) |
3808 | + |
3809 | +AC_DEFUN([PANDORA_REQUIRE_LIBPCRE],[ |
3810 | + AC_REQUIRE([_PANDORA_REQUIRE_LIBPCRE]) |
3811 | +]) |
3812 | |
3813 | === modified file 'm4/pandora_have_libpq.m4' |
3814 | --- m4/pandora_have_libpq.m4 2009-07-29 18:13:26 +0000 |
3815 | +++ m4/pandora_have_libpq.m4 2011-04-16 05:39:23 +0000 |
3816 | @@ -1,5 +1,5 @@ |
3817 | -dnl Copyright (C) 2009 Sun Microsystems |
3818 | -dnl This file is free software; Sun Microsystems |
3819 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
3820 | +dnl This file is free software; Sun Microsystems, Inc. |
3821 | dnl gives unlimited permission to copy and/or distribute it, |
3822 | dnl with or without modifications, as long as this notice is preserved. |
3823 | |
3824 | @@ -42,5 +42,5 @@ |
3825 | AC_DEFUN([PANDORA_REQUIRE_LIBPQ],[ |
3826 | AC_REQUIRE([PANDORA_HAVE_LIBPQ]) |
3827 | AS_IF([test "x${ac_cv_libpq}" = "xno"], |
3828 | - AC_MSG_ERROR([libpq is required for ${PACKAGE}])) |
3829 | + PANDORA_MSG_ERROR([libpq is required for ${PACKAGE}])) |
3830 | ]) |
3831 | |
3832 | === added file 'm4/pandora_have_libpqxx.m4' |
3833 | --- m4/pandora_have_libpqxx.m4 1970-01-01 00:00:00 +0000 |
3834 | +++ m4/pandora_have_libpqxx.m4 2011-04-16 05:39:23 +0000 |
3835 | @@ -0,0 +1,44 @@ |
3836 | +dnl Copyright (C) 2010 Padraig O'Sullivan |
3837 | +dnl This file is free software; |
3838 | +dnl gives unlimited permission to copy and/or distribute it, |
3839 | +dnl with or without modifications, as long as this notice is preserved. |
3840 | + |
3841 | +AC_DEFUN([_PANDORA_SEARCH_LIBPQXX],[ |
3842 | + AC_REQUIRE([AC_LIB_PREFIX]) |
3843 | + |
3844 | + dnl -------------------------------------------------------------------- |
3845 | + dnl Check for libpqxx |
3846 | + dnl -------------------------------------------------------------------- |
3847 | + |
3848 | + AC_ARG_ENABLE([libpqxx], |
3849 | + [AS_HELP_STRING([--disable-libpqxx], |
3850 | + [Build with libpqxx support @<:@default=on@:>@])], |
3851 | + [ac_enable_libpqxx="$enableval"], |
3852 | + [ac_enable_libpqxx="yes"]) |
3853 | + |
3854 | + AS_IF([test "x$ac_enable_libpqxx" = "xyes"],[ |
3855 | + AC_LANG_PUSH([C++]) |
3856 | + AC_LIB_HAVE_LINKFLAGS(pqxx,,[ |
3857 | + #include <pqxx/pqxx> |
3858 | + ],[ |
3859 | + pqxx::connection conn("dbname=test"); |
3860 | + ]) |
3861 | + AC_LANG_POP() |
3862 | + ],[ |
3863 | + ac_cv_libpqxx="no" |
3864 | + ]) |
3865 | + |
3866 | + AM_CONDITIONAL(HAVE_LIBPQXX, [test "x${ac_cv_libpqxx}" = "xyes"]) |
3867 | + |
3868 | +]) |
3869 | + |
3870 | +AC_DEFUN([PANDORA_HAVE_LIBPQXX],[ |
3871 | + AC_REQUIRE([_PANDORA_SEARCH_LIBPQXX]) |
3872 | +]) |
3873 | + |
3874 | +AC_DEFUN([PANDORA_REQUIRE_LIBPQXX],[ |
3875 | + AC_REQUIRE([PANDORA_HAVE_LIBPQXX]) |
3876 | + AS_IF([test "x$ac_cv_libpqxx" = "xno"],[ |
3877 | + PANDORA_MSG_ERROR([libpqxx is required for ${PACKAGE}]) |
3878 | + ]) |
3879 | +]) |
3880 | |
3881 | === modified file 'm4/pandora_have_libreadline.m4' |
3882 | --- m4/pandora_have_libreadline.m4 2009-12-18 18:02:39 +0000 |
3883 | +++ m4/pandora_have_libreadline.m4 2011-04-16 05:39:23 +0000 |
3884 | @@ -56,8 +56,8 @@ |
3885 | # |
3886 | # COPYLEFT |
3887 | # |
3888 | -# Copyright (c) 2009 Monty Taylor |
3889 | -# Copyright (c) 2002 Ville Laurikari <vl@iki.fi> |
3890 | +# Copyright (C) 2009 Monty Taylor |
3891 | +# Copyright (C) 2002 Ville Laurikari <vl@iki.fi> |
3892 | # |
3893 | # Copying and distribution of this file, with or without |
3894 | # modification, are permitted in any medium without royalty provided |
3895 | @@ -231,7 +231,7 @@ |
3896 | _PANDORA_SEARCH_LIBREADLINE |
3897 | |
3898 | AS_IF([test "x$ac_cv_libreadline" = "xno"], |
3899 | - AC_MSG_ERROR([libreadline is required for ${PACKAGE}. On Debian this can be found in libreadline5-dev. On RedHat this can be found in readline-devel.])) |
3900 | + PANDORA_MSG_ERROR([libreadline is required for ${PACKAGE}. On Debian this can be found in libreadline5-dev. On RedHat this can be found in readline-devel.])) |
3901 | |
3902 | ]) |
3903 | |
3904 | |
3905 | === modified file 'm4/pandora_have_libsqlite3.m4' |
3906 | --- m4/pandora_have_libsqlite3.m4 2009-07-29 18:13:26 +0000 |
3907 | +++ m4/pandora_have_libsqlite3.m4 2011-04-16 05:39:23 +0000 |
3908 | @@ -1,5 +1,5 @@ |
3909 | -dnl Copyright (C) 2009 Sun Microsystems |
3910 | -dnl This file is free software; Sun Microsystems |
3911 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
3912 | +dnl This file is free software; Sun Microsystems, Inc. |
3913 | dnl gives unlimited permission to copy and/or distribute it, |
3914 | dnl with or without modifications, as long as this notice is preserved. |
3915 | |
3916 | @@ -38,5 +38,5 @@ |
3917 | AC_DEFUN([PANDORA_REQUIRE_LIBSQLITE3],[ |
3918 | AC_REQUIRE([_PANDORA_SEARCH_LIBSQLITE3]) |
3919 | AS_IF([test "x${ac_cv_libsqlite3}" = "xno"], |
3920 | - AC_MSG_ERROR([libsqlite3 is required for ${PACKAGE}])) |
3921 | + PANDORA_MSG_ERROR([libsqlite3 is required for ${PACKAGE}])) |
3922 | ]) |
3923 | |
3924 | === modified file 'm4/pandora_have_libtokyocabinet.m4' |
3925 | --- m4/pandora_have_libtokyocabinet.m4 2010-04-06 00:33:06 +0000 |
3926 | +++ m4/pandora_have_libtokyocabinet.m4 2011-04-16 05:39:23 +0000 |
3927 | @@ -1,5 +1,5 @@ |
3928 | -dnl Copyright (C) 2009 Sun Microsystems |
3929 | -dnl This file is free software; Sun Microsystems |
3930 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
3931 | +dnl This file is free software; Sun Microsystems, Inc. |
3932 | dnl gives unlimited permission to copy and/or distribute it, |
3933 | dnl with or without modifications, as long as this notice is preserved. |
3934 | |
3935 | @@ -50,5 +50,5 @@ |
3936 | AC_DEFUN([PANDORA_REQUIRE_LIBTOKYOCABINET],[ |
3937 | AC_REQUIRE([_PANDORA_SEARCH_LIBTOKYOCABINET]) |
3938 | AS_IF([test "x${ac_cv_libtokyocabinet}" = "xno"], |
3939 | - AC_MSG_ERROR([libtokyocabinet is required for ${PACKAGE}. On Debian systems this is found in libtokyocabinet-dev. On RedHat, in tokyocabinet-devel.])) |
3940 | + PANDORA_MSG_ERROR([libtokyocabinet is required for ${PACKAGE}. On Debian systems this is found in libtokyocabinet-dev. On RedHat, in tokyocabinet-devel.])) |
3941 | ]) |
3942 | |
3943 | === modified file 'm4/pandora_have_libuuid.m4' |
3944 | --- m4/pandora_have_libuuid.m4 2009-12-18 18:02:39 +0000 |
3945 | +++ m4/pandora_have_libuuid.m4 2011-04-16 05:39:23 +0000 |
3946 | @@ -1,5 +1,5 @@ |
3947 | -dnl Copyright (C) 2009 Sun Microsystems |
3948 | -dnl This file is free software; Sun Microsystems |
3949 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
3950 | +dnl This file is free software; Sun Microsystems, Inc. |
3951 | dnl gives unlimited permission to copy and/or distribute it, |
3952 | dnl with or without modifications, as long as this notice is preserved. |
3953 | |
3954 | @@ -46,7 +46,7 @@ |
3955 | ac_enable_libuuid="yes" |
3956 | _PANDORA_SEARCH_LIBUUID |
3957 | AS_IF([test "x$ac_cv_header_uuid_uuid_h" = "xno"],[ |
3958 | - 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.]) |
3959 | + PANDORA_MSG_ERROR([Couldn't find uuid/uuid.h. On Debian this can be found in uuid-dev. On RHEL 4 this can be found in e2fsprogs-devel and Fedora/RHEL 6 in libuuid-devel.]) |
3960 | ]) |
3961 | ]) |
3962 | |
3963 | |
3964 | === added file 'm4/pandora_have_libvbucket.m4' |
3965 | --- m4/pandora_have_libvbucket.m4 1970-01-01 00:00:00 +0000 |
3966 | +++ m4/pandora_have_libvbucket.m4 2011-04-16 05:39:23 +0000 |
3967 | @@ -0,0 +1,40 @@ |
3968 | +dnl Copyright (C) 2010 NorthScale |
3969 | +dnl This file is free software; NorthScale |
3970 | +dnl gives unlimited permission to copy and/or distribute it, |
3971 | +dnl with or without modifications, as long as this notice is preserved. |
3972 | + |
3973 | +AC_DEFUN([_PANDORA_SEARCH_LIBVBUCKET],[ |
3974 | + AC_REQUIRE([AC_LIB_PREFIX]) |
3975 | + |
3976 | + dnl -------------------------------------------------------------------- |
3977 | + dnl Check for libvbucket |
3978 | + dnl -------------------------------------------------------------------- |
3979 | + |
3980 | + AC_ARG_ENABLE([libvbucket], |
3981 | + [AS_HELP_STRING([--disable-libvbucket], |
3982 | + [Build with libvbucket support @<:@default=on@:>@])], |
3983 | + [ac_enable_libvbucket="$enableval"], |
3984 | + [ac_enable_libvbucket="yes"]) |
3985 | + |
3986 | + AS_IF([test "x$ac_enable_libvbucket" = "xyes"],[ |
3987 | + AC_LIB_HAVE_LINKFLAGS(vbucket,,[ |
3988 | + #include <libvbucket/vbucket.h> |
3989 | + ],[ |
3990 | + VBUCKET_CONFIG_HANDLE config = vbucket_config_parse_file(NULL); |
3991 | + ]) |
3992 | + ],[ |
3993 | + ac_cv_libvbucket="no" |
3994 | + ]) |
3995 | + |
3996 | + AM_CONDITIONAL(HAVE_LIBVBUCKET, [test "x${ac_cv_libvbucket}" = "xyes"]) |
3997 | +]) |
3998 | + |
3999 | +AC_DEFUN([PANDORA_HAVE_LIBVBUCKET],[ |
4000 | + AC_REQUIRE([_PANDORA_SEARCH_LIBVBUCKET]) |
4001 | +]) |
4002 | + |
4003 | +AC_DEFUN([PANDORA_REQUIRE_LIBVBUCKET],[ |
4004 | + AC_REQUIRE([PANDORA_HAVE_LIBVBUCKET]) |
4005 | + AS_IF([test x$ac_cv_libvbucket = xno], |
4006 | + PANDORA_MSG_ERROR([libvbucket is required for ${PACKAGE}])) |
4007 | +]) |
4008 | |
4009 | === modified file 'm4/pandora_have_libxml2.m4' |
4010 | --- m4/pandora_have_libxml2.m4 2009-12-18 18:02:39 +0000 |
4011 | +++ m4/pandora_have_libxml2.m4 2011-04-16 05:39:23 +0000 |
4012 | @@ -1,5 +1,5 @@ |
4013 | -dnl Copyright (C) 2009 Sun Microsystems |
4014 | -dnl This file is free software; Sun Microsystems |
4015 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
4016 | +dnl This file is free software; Sun Microsystems, Inc. |
4017 | dnl gives unlimited permission to copy and/or distribute it, |
4018 | dnl with or without modifications, as long as this notice is preserved. |
4019 | |
4020 | @@ -48,5 +48,5 @@ |
4021 | AC_DEFUN([PANDORA_REQUIRE_LIBXML2],[ |
4022 | AC_REQUIRE([_PANDORA_SEARCH_LIBXML2]) |
4023 | AS_IF([test "x${ac_cv_libxml2}" = "xno"], |
4024 | - AC_MSG_ERROR([libxml2 is required for ${PACKAGE}. On Debian systems this is found in libxml2-dev. On RedHat, libxml2-devel.])) |
4025 | + PANDORA_MSG_ERROR([libxml2 is required for ${PACKAGE}. On Debian systems this is found in libxml2-dev. On RedHat, libxml2-devel.])) |
4026 | ]) |
4027 | |
4028 | === modified file 'm4/pandora_have_libz.m4' |
4029 | --- m4/pandora_have_libz.m4 2009-12-18 18:02:39 +0000 |
4030 | +++ m4/pandora_have_libz.m4 2011-04-16 05:39:23 +0000 |
4031 | @@ -1,5 +1,5 @@ |
4032 | -dnl Copyright (C) 2009 Sun Microsystems |
4033 | -dnl This file is free software; Sun Microsystems |
4034 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
4035 | +dnl This file is free software; Sun Microsystems, Inc. |
4036 | dnl gives unlimited permission to copy and/or distribute it, |
4037 | dnl with or without modifications, as long as this notice is preserved. |
4038 | |
4039 | @@ -42,7 +42,7 @@ |
4040 | _PANDORA_SEARCH_LIBZ |
4041 | |
4042 | AS_IF([test x$ac_cv_libz = xno],[ |
4043 | - AC_MSG_ERROR([libz is required for ${PACKAGE}. On Debian this can be found in zlib1g-dev. On RedHat this can be found in zlib-devel.]) |
4044 | + PANDORA_MSG_ERROR([libz is required for ${PACKAGE}. On Debian this can be found in zlib1g-dev. On RedHat this can be found in zlib-devel.]) |
4045 | ]) |
4046 | ]) |
4047 | |
4048 | |
4049 | === modified file 'm4/pandora_have_protobuf.m4' |
4050 | --- m4/pandora_have_protobuf.m4 2009-09-29 04:30:01 +0000 |
4051 | +++ m4/pandora_have_protobuf.m4 2011-04-16 05:39:23 +0000 |
4052 | @@ -23,7 +23,9 @@ |
4053 | [#include <google/protobuf/descriptor.h>], |
4054 | [google::protobuf::FileDescriptor* file;], |
4055 | [system]) |
4056 | - CXXFLAGS="${save_CXXFLAGS}" |
4057 | + CXXFLAGS="${PTHREAD_CFLAGS} ${save_CXXFLAGS}" |
4058 | + LIBPROTOBUF="${LIBPROTOBUF} ${PTHREAD_LIBS}" |
4059 | + LTLIBPROTOBUF="${LTLIBPROTOBUF} ${PTHREAD_LIBS}" |
4060 | AC_LANG_POP() |
4061 | ]) |
4062 | |
4063 | @@ -34,7 +36,7 @@ |
4064 | AC_DEFUN([PANDORA_REQUIRE_LIBPROTOBUF],[ |
4065 | AC_REQUIRE([PANDORA_HAVE_LIBPROTOBUF]) |
4066 | AS_IF([test x$ac_cv_libprotobuf = xno], |
4067 | - AC_MSG_ERROR([libprotobuf is required for ${PACKAGE}. On Debian this can be found in libprotobuf-dev. On RedHat this can be found in protobuf-devel.])) |
4068 | + PANDORA_MSG_ERROR([libprotobuf is required for ${PACKAGE}. On Debian this can be found in libprotobuf-dev. On RedHat this can be found in protobuf-devel.])) |
4069 | ]) |
4070 | |
4071 | AC_DEFUN([PANDORA_PROTOBUF_REQUIRE_VERSION],[ |
4072 | @@ -56,7 +58,7 @@ |
4073 | [drizzle_cv_protobuf_recent=yes], |
4074 | [drizzle_cv_protobuf_recent=no])]) |
4075 | AS_IF([test "$drizzle_cv_protobuf_recent" = "no"],[ |
4076 | - AC_MSG_ERROR([Your version of Google Protocol Buffers is too old. ${PACKAGE} requires at least version $p_recent_ver]) |
4077 | + PANDORA_MSG_ERROR([Your version of Google Protocol Buffers is too old. ${PACKAGE} requires at least version $p_recent_ver]) |
4078 | ]) |
4079 | AC_LANG_POP() |
4080 | ]) |
4081 | @@ -73,7 +75,7 @@ |
4082 | AC_DEFUN([PANDORA_REQUIRE_PROTOC],[ |
4083 | AC_REQUIRE([PANDORA_HAVE_PROTOC]) |
4084 | AS_IF([test "x$PROTOC" = "xno"],[ |
4085 | - 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.]) |
4086 | + PANDORA_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.]) |
4087 | ]) |
4088 | ]) |
4089 | |
4090 | |
4091 | === added file 'm4/pandora_have_sasl.m4' |
4092 | --- m4/pandora_have_sasl.m4 1970-01-01 00:00:00 +0000 |
4093 | +++ m4/pandora_have_sasl.m4 2011-04-16 05:39:23 +0000 |
4094 | @@ -0,0 +1,133 @@ |
4095 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
4096 | +dnl This file is free software; Sun Microsystems, Inc. |
4097 | +dnl gives unlimited permission to copy and/or distribute it, |
4098 | +dnl with or without modifications, as long as this notice is preserved. |
4099 | + |
4100 | +AC_DEFUN([_PANDORA_SEARCH_SASL],[ |
4101 | + AC_REQUIRE([AC_LIB_PREFIX]) |
4102 | + |
4103 | + dnl -------------------------------------------------------------------- |
4104 | + dnl Check for sasl |
4105 | + dnl -------------------------------------------------------------------- |
4106 | + AC_ARG_ENABLE([sasl], |
4107 | + [AS_HELP_STRING([--disable-sasl], |
4108 | + [Build with sasl support @<:@default=on@:>@])], |
4109 | + [ac_enable_sasl="$enableval"], |
4110 | + [ac_enable_sasl="yes"]) |
4111 | + |
4112 | + AS_IF([test "x$ac_enable_sasl" = "xyes"], |
4113 | + [ |
4114 | + AC_LIB_HAVE_LINKFLAGS(sasl,,[ |
4115 | + #include <stdlib.h> |
4116 | + #include <sasl/sasl.h> |
4117 | + ],[ |
4118 | + sasl_server_init(NULL, NULL); |
4119 | + ]) |
4120 | + |
4121 | + AS_IF([test "x${ac_cv_libsasl}" != "xyes" ], |
4122 | + [ |
4123 | + AC_LIB_HAVE_LINKFLAGS(sasl2,,[ |
4124 | + #include <stdlib.h> |
4125 | + #include <sasl/sasl.h> |
4126 | + ],[ |
4127 | + sasl_server_init(NULL, NULL); |
4128 | + ]) |
4129 | + HAVE_LIBSASL="$HAVE_LIBSASL2" |
4130 | + LIBSASL="$LIBSASL2" |
4131 | + LIBSASL_PREFIX="$LIBSASL2_PREFIX" |
4132 | + LTLIBSASL="$LT_LIBSASL2" |
4133 | + ]) |
4134 | + ]) |
4135 | + |
4136 | + AS_IF([test "x${ac_cv_libsasl}" = "xyes" -o "x${ac_cv_libsasl2}" = "xyes"], |
4137 | + [ac_cv_sasl=yes], |
4138 | + [ac_cv_sasl=no]) |
4139 | + |
4140 | + AM_CONDITIONAL(HAVE_LIBSASL, [test "x${ac_cv_libsasl}" = "xyes"]) |
4141 | + AM_CONDITIONAL(HAVE_LIBSASL2, [test "x${ac_cv_libsasl2}" = "xyes"]) |
4142 | + AM_CONDITIONAL(HAVE_SASL, [test "x${ac_cv_sasl}" = "xyes"]) |
4143 | +]) |
4144 | + |
4145 | +AC_DEFUN([PANDORA_HAVE_SASL],[ |
4146 | + AC_REQUIRE([_PANDORA_SEARCH_SASL]) |
4147 | +]) |
4148 | + |
4149 | +AC_DEFUN([PANDORA_REQUIRE_SASL],[ |
4150 | + AC_REQUIRE([_PANDORA_SEARCH_SASL]) |
4151 | + AS_IF([test "x${ac_cv_sasl}" = "xno"], |
4152 | + PANDORA_MSG_ERROR([SASL (libsasl or libsasl2) is required for ${PACKAGE}])) |
4153 | +]) |
4154 | + |
4155 | +AC_DEFUN([_PANDORA_SEARCH_LIBSASL],[ |
4156 | + AC_REQUIRE([AC_LIB_PREFIX]) |
4157 | + |
4158 | + dnl -------------------------------------------------------------------- |
4159 | + dnl Check for libsasl |
4160 | + dnl -------------------------------------------------------------------- |
4161 | + |
4162 | + AC_ARG_ENABLE([libsasl], |
4163 | + [AS_HELP_STRING([--disable-libsasl], |
4164 | + [Build with libsasl support @<:@default=on@:>@])], |
4165 | + [ac_enable_libsasl="$enableval"], |
4166 | + [ac_enable_libsasl="yes"]) |
4167 | + |
4168 | + AS_IF([test "x$ac_enable_libsasl" = "xyes"],[ |
4169 | + AC_LIB_HAVE_LINKFLAGS(sasl,,[ |
4170 | + #include <stdlib.h> |
4171 | + #include <sasl/sasl.h> |
4172 | + ],[ |
4173 | + sasl_server_init(NULL, NULL); |
4174 | + ]) |
4175 | + ],[ |
4176 | + ac_cv_libsasl="no" |
4177 | + ]) |
4178 | + |
4179 | + AM_CONDITIONAL(HAVE_LIBSASL, [test "x${ac_cv_libsasl}" = "xyes"]) |
4180 | +]) |
4181 | + |
4182 | +AC_DEFUN([PANDORA_HAVE_LIBSASL],[ |
4183 | + AC_REQUIRE([_PANDORA_SEARCH_LIBSASL]) |
4184 | +]) |
4185 | + |
4186 | +AC_DEFUN([PANDORA_REQUIRE_LIBSASL],[ |
4187 | + AC_REQUIRE([_PANDORA_SEARCH_LIBSASL]) |
4188 | + AS_IF([test "x${ac_cv_libsasl}" = "xno"], |
4189 | + PANDORA_MSG_ERROR([libsasl is required for ${PACKAGE}])) |
4190 | +]) |
4191 | + |
4192 | +AC_DEFUN([_PANDORA_SEARCH_LIBSASL2],[ |
4193 | + AC_REQUIRE([AC_LIB_PREFIX]) |
4194 | + |
4195 | + dnl -------------------------------------------------------------------- |
4196 | + dnl Check for libsasl2 |
4197 | + dnl -------------------------------------------------------------------- |
4198 | + |
4199 | + AC_ARG_ENABLE([libsasl2], |
4200 | + [AS_HELP_STRING([--disable-libsasl2], |
4201 | + [Build with libsasl2 support @<:@default=on@:>@])], |
4202 | + [ac_enable_libsasl2="$enableval"], |
4203 | + [ac_enable_libsasl2="yes"]) |
4204 | + |
4205 | + AS_IF([test "x$ac_enable_libsasl2" = "xyes"],[ |
4206 | + AC_LIB_HAVE_LINKFLAGS(sasl2,,[ |
4207 | + #include <stdlib.h> |
4208 | + #include <sasl2/sasl2.h> |
4209 | + ],[ |
4210 | + sasl2_server_init(NULL, NULL); |
4211 | + ]) |
4212 | + ],[ |
4213 | + ac_cv_libsasl2="no" |
4214 | + ]) |
4215 | + |
4216 | + AM_CONDITIONAL(HAVE_LIBSASL2, [test "x${ac_cv_libsasl2}" = "xyes"]) |
4217 | +]) |
4218 | + |
4219 | +AC_DEFUN([PANDORA_HAVE_LIBSASL2],[ |
4220 | + AC_REQUIRE([_PANDORA_SEARCH_LIBSASL2]) |
4221 | +]) |
4222 | + |
4223 | +AC_DEFUN([PANDORA_REQUIRE_LIBSASL2],[ |
4224 | + AC_REQUIRE([_PANDORA_SEARCH_LIBSASL2]) |
4225 | + AS_IF([test "x${ac_cv_libsasl2}" = "xno"], |
4226 | + PANDORA_MSG_ERROR([libsasl2 is required for ${PACKAGE}])) |
4227 | +]) |
4228 | |
4229 | === modified file 'm4/pandora_have_thrift.m4' |
4230 | --- m4/pandora_have_thrift.m4 2010-04-06 00:33:06 +0000 |
4231 | +++ m4/pandora_have_thrift.m4 2011-04-16 05:39:23 +0000 |
4232 | @@ -39,7 +39,7 @@ |
4233 | AC_DEFUN([PANDORA_REQUIRE_THRIFT],[ |
4234 | AC_REQUIRE([PANDORA_HAVE_THRIFT]) |
4235 | AS_IF([test x$ac_cv_thrift= xno],[ |
4236 | - AC_MSG_ERROR([thrift required for ${PACKAGE}]) |
4237 | + PANDORA_MSG_ERROR([thrift required for ${PACKAGE}]) |
4238 | ]) |
4239 | ]) |
4240 | |
4241 | |
4242 | === modified file 'm4/pandora_header_assert.m4' |
4243 | --- m4/pandora_header_assert.m4 2009-12-18 19:25:00 +0000 |
4244 | +++ m4/pandora_header_assert.m4 2011-04-16 05:39:23 +0000 |
4245 | @@ -1,5 +1,5 @@ |
4246 | -dnl Copyright (C) 2009 Sun Microsystems |
4247 | -dnl This file is free software; Sun Microsystems |
4248 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
4249 | +dnl This file is free software; Sun Microsystems, Inc. |
4250 | dnl gives unlimited permission to copy and/or distribute it, |
4251 | dnl with or without modifications, as long as this notice is preserved. |
4252 | |
4253 | |
4254 | === added file 'm4/pandora_header_stdcxx_98.m4' |
4255 | --- m4/pandora_header_stdcxx_98.m4 1970-01-01 00:00:00 +0000 |
4256 | +++ m4/pandora_header_stdcxx_98.m4 2011-04-16 05:39:23 +0000 |
4257 | @@ -0,0 +1,83 @@ |
4258 | +# =========================================================================== |
4259 | +# http://autoconf-archive.cryp.to/ac_cxx_header_stdcxx_98.html |
4260 | +# =========================================================================== |
4261 | +# |
4262 | +# SYNOPSIS |
4263 | +# |
4264 | +# AC_CXX_HEADER_STDCXX_98 |
4265 | +# |
4266 | +# DESCRIPTION |
4267 | +# |
4268 | +# Check for complete library coverage of the C++1998/2003 standard. |
4269 | +# |
4270 | +# LICENSE |
4271 | +# |
4272 | +# Copyright (C) 2008 Benjamin Kosnik <bkoz@redhat.com> |
4273 | +# |
4274 | +# Copying and distribution of this file, with or without modification, are |
4275 | +# permitted in any medium without royalty provided the copyright notice |
4276 | +# and this notice are preserved. |
4277 | + |
4278 | +AC_DEFUN([AC_CXX_HEADER_STDCXX_98], [ |
4279 | + AC_CACHE_CHECK(for ISO C++ 98 include files, |
4280 | + ac_cv_cxx_stdcxx_98, |
4281 | + [AC_LANG_SAVE |
4282 | + AC_LANG_CPLUSPLUS |
4283 | + AC_TRY_COMPILE([ |
4284 | + #include <cassert> |
4285 | + #include <cctype> |
4286 | + #include <cerrno> |
4287 | + #include <cfloat> |
4288 | + #include <ciso646> |
4289 | + #include <climits> |
4290 | + #include <clocale> |
4291 | + #include <cmath> |
4292 | + #include <csetjmp> |
4293 | + #include <csignal> |
4294 | + #include <cstdarg> |
4295 | + #include <cstddef> |
4296 | + #include <cstdio> |
4297 | + #include <cstdlib> |
4298 | + #include <cstring> |
4299 | + #include <ctime> |
4300 | + |
4301 | + #include <algorithm> |
4302 | + #include <bitset> |
4303 | + #include <complex> |
4304 | + #include <deque> |
4305 | + #include <exception> |
4306 | + #include <fstream> |
4307 | + #include <functional> |
4308 | + #include <iomanip> |
4309 | + #include <ios> |
4310 | + #include <iosfwd> |
4311 | + #include <iostream> |
4312 | + #include <istream> |
4313 | + #include <iterator> |
4314 | + #include <limits> |
4315 | + #include <list> |
4316 | + #include <locale> |
4317 | + #include <map> |
4318 | + #include <memory> |
4319 | + #include <new> |
4320 | + #include <numeric> |
4321 | + #include <ostream> |
4322 | + #include <queue> |
4323 | + #include <set> |
4324 | + #include <sstream> |
4325 | + #include <stack> |
4326 | + #include <stdexcept> |
4327 | + #include <streambuf> |
4328 | + #include <string> |
4329 | + #include <typeinfo> |
4330 | + #include <utility> |
4331 | + #include <valarray> |
4332 | + #include <vector> |
4333 | + ],, |
4334 | + ac_cv_cxx_stdcxx_98=yes, ac_cv_cxx_stdcxx_98=no) |
4335 | + AC_LANG_RESTORE |
4336 | + ]) |
4337 | + if test "$ac_cv_cxx_stdcxx_98" = yes; then |
4338 | + AC_DEFINE(STDCXX_98_HEADERS,,[Define if ISO C++ 1998 header files are present. ]) |
4339 | + fi |
4340 | +]) |
4341 | |
4342 | === added file 'm4/pandora_intltool.m4' |
4343 | --- m4/pandora_intltool.m4 1970-01-01 00:00:00 +0000 |
4344 | +++ m4/pandora_intltool.m4 2011-04-16 05:39:23 +0000 |
4345 | @@ -0,0 +1,225 @@ |
4346 | +## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*- |
4347 | +## Copyright (C) 2001 Eazel, Inc. |
4348 | +## Author: Maciej Stachowiak <mjs@noisehavoc.org> |
4349 | +## Kenneth Christiansen <kenneth@gnu.org> |
4350 | +## |
4351 | +## This program is free software; you can redistribute it and/or modify |
4352 | +## it under the terms of the GNU General Public License as published by |
4353 | +## the Free Software Foundation; either version 2 of the License, or |
4354 | +## (at your option) any later version. |
4355 | +## |
4356 | +## This program is distributed in the hope that it will be useful, but |
4357 | +## WITHOUT ANY WARRANTY; without even the implied warranty of |
4358 | +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
4359 | +## General Public License for more details. |
4360 | +## |
4361 | +## You should have received a copy of the GNU General Public License |
4362 | +## along with this program; if not, write to the Free Software |
4363 | +## Foundation, Inc., 51 Franklin Place - Suite 330, Boston, MA 02110-1301, USA. |
4364 | +## |
4365 | +## As a special exception to the GNU General Public License, if you |
4366 | +## distribute this file as part of a program that contains a |
4367 | +## configuration script generated by Autoconf, you may include it under |
4368 | +## the same distribution terms that you use for the rest of that program. |
4369 | + |
4370 | +dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) |
4371 | +# serial 40 IT_PROG_INTLTOOL |
4372 | +AC_DEFUN([IT_PROG_INTLTOOL], [ |
4373 | +AC_PREREQ([2.50])dnl |
4374 | +AC_REQUIRE([AM_NLS])dnl |
4375 | + |
4376 | +case "$am__api_version" in |
4377 | + 1.[01234]) |
4378 | + PANDORA_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) |
4379 | + ;; |
4380 | + *) |
4381 | + ;; |
4382 | +esac |
4383 | + |
4384 | +if test -n "$1"; then |
4385 | + AC_MSG_CHECKING([for intltool >= $1]) |
4386 | + |
4387 | + INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` |
4388 | + INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` |
4389 | + [INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` |
4390 | + ] |
4391 | + AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) |
4392 | + AS_IF([test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT"],[ |
4393 | + pandora_have_intltool=yes |
4394 | + ],[ |
4395 | + pandora_have_intltool=no |
4396 | + AC_MSG_WARN([Your intltool is too old. You need intltool $1 or later.]) |
4397 | + ]) |
4398 | +fi |
4399 | +AC_CHECK_HEADERS([libintl.h]) |
4400 | +AS_IF([test "x${ac_cv_header_libintl_h}" = "xfalse" -o "x${ac_cv_header_libintl_h}" = "xno"],[ |
4401 | + pandora_have_intltool=no |
4402 | +]) |
4403 | + |
4404 | +AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) |
4405 | +AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) |
4406 | +AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) |
4407 | +if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then |
4408 | + AC_MSG_WARN([The intltool scripts were not found. Please install intltool.]) |
4409 | + AC_MSG_WARN([On Debian: apt-get install intltool. On Redhat: yum install intltool]) |
4410 | +fi |
4411 | + |
4412 | + INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4413 | +INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4414 | + INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4415 | + INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4416 | + INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@' |
4417 | + INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4418 | + INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4419 | + INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4420 | +INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4421 | + INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4422 | + INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4423 | + INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' |
4424 | + INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4425 | + INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4426 | + INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4427 | + INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4428 | + INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4429 | + INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4430 | + INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
4431 | + |
4432 | +_IT_SUBST(INTLTOOL_DESKTOP_RULE) |
4433 | +_IT_SUBST(INTLTOOL_DIRECTORY_RULE) |
4434 | +_IT_SUBST(INTLTOOL_KEYS_RULE) |
4435 | +_IT_SUBST(INTLTOOL_PROP_RULE) |
4436 | +_IT_SUBST(INTLTOOL_OAF_RULE) |
4437 | +_IT_SUBST(INTLTOOL_PONG_RULE) |
4438 | +_IT_SUBST(INTLTOOL_SERVER_RULE) |
4439 | +_IT_SUBST(INTLTOOL_SHEET_RULE) |
4440 | +_IT_SUBST(INTLTOOL_SOUNDLIST_RULE) |
4441 | +_IT_SUBST(INTLTOOL_UI_RULE) |
4442 | +_IT_SUBST(INTLTOOL_XAM_RULE) |
4443 | +_IT_SUBST(INTLTOOL_KBD_RULE) |
4444 | +_IT_SUBST(INTLTOOL_XML_RULE) |
4445 | +_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) |
4446 | +_IT_SUBST(INTLTOOL_CAVES_RULE) |
4447 | +_IT_SUBST(INTLTOOL_SCHEMAS_RULE) |
4448 | +_IT_SUBST(INTLTOOL_THEME_RULE) |
4449 | +_IT_SUBST(INTLTOOL_SERVICE_RULE) |
4450 | +_IT_SUBST(INTLTOOL_POLICY_RULE) |
4451 | + |
4452 | +# Check the gettext tools to make sure they are GNU |
4453 | +AC_PATH_PROG(XGETTEXT, xgettext) |
4454 | +AC_PATH_PROG(MSGMERGE, msgmerge) |
4455 | +AC_PATH_PROG(MSGFMT, msgfmt) |
4456 | +AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) |
4457 | +if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then |
4458 | + AC_MSG_WARN([GNU gettext tools not found; required for intltool]) |
4459 | +fi |
4460 | +xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" |
4461 | +mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" |
4462 | +mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" |
4463 | +if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then |
4464 | + AC_MSG_WARN([GNU gettext tools not found; required for intltool]) |
4465 | +fi |
4466 | + |
4467 | +AC_PATH_PROG(INTLTOOL_PERL, perl) |
4468 | +if test -z "$INTLTOOL_PERL"; then |
4469 | + AC_MSG_WARN([perl not found]) |
4470 | +fi |
4471 | +AC_MSG_CHECKING([for perl >= 5.8.1]) |
4472 | +$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 |
4473 | +if test $? -ne 0; then |
4474 | + AC_MSG_WARN([perl 5.8.1 is required for intltool]) |
4475 | +else |
4476 | + IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`" |
4477 | + AC_MSG_RESULT([$IT_PERL_VERSION]) |
4478 | +fi |
4479 | +if test "x$2" != "xno-xml"; then |
4480 | + AC_MSG_CHECKING([for XML::Parser]) |
4481 | + if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then |
4482 | + AC_MSG_RESULT([ok]) |
4483 | + else |
4484 | + AC_MSG_WARN([XML::Parser perl module is required for intltool]) |
4485 | + fi |
4486 | +fi |
4487 | + |
4488 | +# Substitute ALL_LINGUAS so we can use it in po/Makefile |
4489 | +AC_SUBST(ALL_LINGUAS) |
4490 | + |
4491 | +# Set DATADIRNAME correctly if it is not set yet |
4492 | +# (copied from glib-gettext.m4) |
4493 | +if test -z "$DATADIRNAME"; then |
4494 | + AC_LINK_IFELSE( |
4495 | + [AC_LANG_PROGRAM([[]], |
4496 | + [[extern int _nl_msg_cat_cntr; |
4497 | + return _nl_msg_cat_cntr]])], |
4498 | + [DATADIRNAME=share], |
4499 | + [case $host in |
4500 | + *-*-solaris*) |
4501 | + dnl On Solaris, if bind_textdomain_codeset is in libc, |
4502 | + dnl GNU format message catalog is always supported, |
4503 | + dnl since both are added to the libc all together. |
4504 | + dnl Hence, we'd like to go with DATADIRNAME=share |
4505 | + dnl in this case. |
4506 | + AC_CHECK_FUNC(bind_textdomain_codeset, |
4507 | + [DATADIRNAME=share], [DATADIRNAME=lib]) |
4508 | + ;; |
4509 | + *) |
4510 | + [DATADIRNAME=lib] |
4511 | + ;; |
4512 | + esac]) |
4513 | +fi |
4514 | +AC_SUBST(DATADIRNAME) |
4515 | + |
4516 | +IT_PO_SUBDIR([po]) |
4517 | +]) |
4518 | + |
4519 | + |
4520 | +# IT_PO_SUBDIR(DIRNAME) |
4521 | +# --------------------- |
4522 | +# All po subdirs have to be declared with this macro; the subdir "po" is |
4523 | +# declared by IT_PROG_INTLTOOL. |
4524 | +# |
4525 | +AC_DEFUN([IT_PO_SUBDIR], |
4526 | +[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. |
4527 | +dnl |
4528 | +dnl The following CONFIG_COMMANDS should be exetuted at the very end |
4529 | +dnl of config.status. |
4530 | +AC_CONFIG_COMMANDS_PRE([ |
4531 | + AC_CONFIG_COMMANDS([$1/stamp-it], [ |
4532 | + if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then |
4533 | + AC_MSG_WARN([$1/Makefile.in.in was not created by intltoolize.]) |
4534 | + else |
4535 | + rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" |
4536 | + >"$1/stamp-it.tmp" |
4537 | + [sed '/^#/d |
4538 | + s/^[[].*] *// |
4539 | + /^[ ]*$/d |
4540 | + '"s|^| $ac_top_srcdir/|" \ |
4541 | + "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" |
4542 | + ] |
4543 | + [sed '/^POTFILES =/,/[^\\]$/ { |
4544 | + /^POTFILES =/!d |
4545 | + r $1/POTFILES |
4546 | + } |
4547 | + ' "$1/Makefile.in" >"$1/Makefile"] |
4548 | + rm -f "$1/Makefile.tmp" |
4549 | + mv "$1/stamp-it.tmp" "$1/stamp-it" |
4550 | + fi |
4551 | + ]) |
4552 | +])dnl |
4553 | +]) |
4554 | + |
4555 | +# _IT_SUBST(VARIABLE) |
4556 | +# ------------------- |
4557 | +# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST |
4558 | +# |
4559 | +AC_DEFUN([_IT_SUBST], |
4560 | +[ |
4561 | +AC_SUBST([$1]) |
4562 | +m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) |
4563 | +] |
4564 | +) |
4565 | + |
4566 | +# deprecated macros |
4567 | +AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) |
4568 | +# A hint is needed for aclocal from Automake <= 1.9.4: |
4569 | +# AC_DEFUN([AC_PROG_INTLTOOL], ...) |
4570 | + |
4571 | |
4572 | === modified file 'm4/pandora_libtool.m4' |
4573 | --- m4/pandora_libtool.m4 2009-12-18 18:02:39 +0000 |
4574 | +++ m4/pandora_libtool.m4 2011-04-16 05:39:23 +0000 |
4575 | @@ -1,5 +1,5 @@ |
4576 | -dnl Copyright (C) 2009 Sun Microsystems |
4577 | -dnl This file is free software; Sun Microsystems |
4578 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
4579 | +dnl This file is free software; Sun Microsystems, Inc. |
4580 | dnl gives unlimited permission to copy and/or distribute it, |
4581 | dnl with or without modifications, as long as this notice is preserved. |
4582 | |
4583 | @@ -12,7 +12,7 @@ |
4584 | pandora_have_old_libtool=no |
4585 | ]) |
4586 | AS_IF([test "$SUNCC" = "yes" -a "${pandora_have_old_libtool}" = "yes"],[ |
4587 | - AC_MSG_ERROR([Building ${PACKAGE} with Sun Studio requires at least libtool 2.2]) |
4588 | + PANDORA_MSG_ERROR([Building ${PACKAGE} with Sun Studio requires at least libtool 2.2]) |
4589 | ]) |
4590 | |
4591 | dnl By requiring AC_PROG_LIBTOOL, we should force the macro system to read |
4592 | |
4593 | === modified file 'm4/pandora_optimize.m4' |
4594 | --- m4/pandora_optimize.m4 2009-12-24 17:19:53 +0000 |
4595 | +++ m4/pandora_optimize.m4 2011-04-16 05:39:23 +0000 |
4596 | @@ -1,5 +1,5 @@ |
4597 | -dnl Copyright (C) 2009 Sun Microsystems |
4598 | -dnl This file is free software; Sun Microsystems |
4599 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
4600 | +dnl This file is free software; Sun Microsystems, Inc. |
4601 | dnl gives unlimited permission to copy and/or distribute it, |
4602 | dnl with or without modifications, as long as this notice is preserved. |
4603 | |
4604 | @@ -22,25 +22,21 @@ |
4605 | dnl with using AC_CC_STD_C99 above |
4606 | CC="${CC} -std=gnu99" |
4607 | |
4608 | - AM_CPPFLAGS="-ggdb3 ${AM_CPPFLAGS}" |
4609 | + AM_CPPFLAGS="-g ${AM_CPPFLAGS}" |
4610 | |
4611 | DEBUG_CFLAGS="-O0" |
4612 | DEBUG_CXXFLAGS="-O0" |
4613 | |
4614 | - OPTIMIZE_CFLAGS="-O3" |
4615 | - OPTIMIZE_CXXFLAGS="-O3" |
4616 | + OPTIMIZE_CFLAGS="-O2" |
4617 | + OPTIMIZE_CXXFLAGS="-O2" |
4618 | ]) |
4619 | AS_IF([test "$INTELCC" = "yes"],[ |
4620 | - dnl Once we can use a modern autoconf, we can replace the std=gnu99 here |
4621 | - dnl with using AC_CC_STD_C99 above |
4622 | - CC="${CC} -std=c99" |
4623 | - |
4624 | AM_CPPFLAGS="-g ${AM_CPPFLAGS}" |
4625 | |
4626 | DEBUG_CFLAGS="-O0" |
4627 | DEBUG_CXXFLAGS="-O0" |
4628 | |
4629 | - OPTIMIZE_CFLAGS="-xHOST -O3 -no-prec-div -static" |
4630 | + OPTIMIZE_CFLAGS="-xHOST -O2 -no-prec-div -static" |
4631 | OPTIMIZE_CXXFLAGS="${OPTIMIZE_CFLAGS}" |
4632 | |
4633 | ]) |
4634 | |
4635 | === modified file 'm4/pandora_platform.m4' |
4636 | --- m4/pandora_platform.m4 2011-04-14 05:40:29 +0000 |
4637 | +++ m4/pandora_platform.m4 2011-04-16 05:39:23 +0000 |
4638 | @@ -23,7 +23,7 @@ |
4639 | |
4640 | |
4641 | case "$host_os" in |
4642 | - *solaris*|*freebsd*) |
4643 | + *solaris*) |
4644 | AS_IF([test "x${ac_cv_env_CPPFLAGS_set}" = "x"],[ |
4645 | CPPFLAGS="${CPPFLAGS} -I/usr/local/include" |
4646 | ]) |
4647 | @@ -32,6 +32,15 @@ |
4648 | LDFLAGS="${LDFLAGS} -L/usr/local/lib" |
4649 | ]) |
4650 | ;; |
4651 | + *freebsd*) |
4652 | + AS_IF([test "x${ac_cv_env_CPPFLAGS_set}" = "x"],[ |
4653 | + CPPFLAGS="${CPPFLAGS} -isystem /usr/local/include" |
4654 | + ]) |
4655 | + |
4656 | + AS_IF([test "x${ac_cv_env_LDFLAGS_set}" = "x"],[ |
4657 | + LDFLAGS="${LDFLAGS} -L/usr/local/lib" |
4658 | + ]) |
4659 | + ;; |
4660 | esac |
4661 | |
4662 | PANDORA_OPTIMIZE_BITFIELD=1 |
4663 | @@ -50,6 +59,7 @@ |
4664 | *solaris*) |
4665 | TARGET_SOLARIS="true" |
4666 | PANDORA_OPTIMIZE_BITFIELD=0 |
4667 | + AS_IF([test "x${USE_NLS}" = "xyes"],[LIBS="${LIBS} -lintl"]) |
4668 | AC_SUBST(TARGET_SOLARIS) |
4669 | AC_DEFINE([TARGET_OS_SOLARIS], [1], [Whether we are building for Solaris]) |
4670 | ;; |
4671 | @@ -59,12 +69,29 @@ |
4672 | AC_DEFINE([TARGET_OS_FREEBSD], [1], [Whether we are building for FreeBSD]) |
4673 | AC_DEFINE([__APPLE_CC__],[1],[Workaround for bug in FreeBSD headers]) |
4674 | ;; |
4675 | - *) |
4676 | + *mingw32*) |
4677 | + TARGET_WINDOWS="true" |
4678 | + AC_SUBST(TARGET_WINDOWS) |
4679 | + AC_DEFINE([TARGET_OS_WINDOWS], [1], [Whether we are building for Windows]) |
4680 | + AC_DEFINE([WINVER], [WindowsXP], [Version of Windows]) |
4681 | + AC_DEFINE([_WIN32_WINNT], [0x0501], [Magical number to make things work]) |
4682 | + AC_DEFINE([EAI_SYSTEM], [11], [Another magical number]) |
4683 | + AH_BOTTOM([ |
4684 | +#ifndef HAVE_SYS_SOCKET_H |
4685 | +# define SHUT_RD SD_RECEIVE |
4686 | +# define SHUT_WR SD_SEND |
4687 | +# define SHUT_RDWR SD_BOTH |
4688 | +#endif |
4689 | + ]) |
4690 | + |
4691 | + LIBS="$LIBS -lwsock32 -lws2_32" |
4692 | + AM_CFLAGS="${AM_CFLAGS} -I\${top_srcdir}/win32/mingw -I\${top_builddir}/win32/mingw -I\${top_srcdir}/win32 -I\${top_builddir}/win32" |
4693 | ;; |
4694 | esac |
4695 | + AM_CONDITIONAL(BUILD_WIN32, [test "x${TARGET_WINDOWS}" = "xtrue"]) |
4696 | + AM_CONDITIONAL(TARGET_OSX, [test "x${TARGET_OSX}" = "xtrue"]) |
4697 | |
4698 | AC_SUBST(PANDORA_OPTIMIZE_BITFIELD) |
4699 | - AM_CONDITIONAL(TARGET_OSX,[test "${TARGET_OSX}" = "yes"]) |
4700 | |
4701 | AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) |
4702 | AC_CHECK_DECL([__ICC], [INTELCC="yes"], [INTELCC="no"]) |
4703 | |
4704 | === modified file 'm4/pandora_plugins.m4' |
4705 | --- m4/pandora_plugins.m4 2010-04-06 00:33:06 +0000 |
4706 | +++ m4/pandora_plugins.m4 2011-04-16 05:39:23 +0000 |
4707 | @@ -1,5 +1,5 @@ |
4708 | -dnl Copyright (C) 2009 Sun Microsystems |
4709 | -dnl This file is free software; Sun Microsystems |
4710 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
4711 | +dnl This file is free software; Sun Microsystems, Inc. |
4712 | dnl gives unlimited permission to copy and/or distribute it, |
4713 | dnl with or without modifications, as long as this notice is preserved. |
4714 | dnl-------------------------------------------------------------------- |
4715 | @@ -17,21 +17,30 @@ |
4716 | dnl get called probably during autoconf too, so it's important to protect |
4717 | dnl with test -f ... if the files exist, we don't have the chicken/egg |
4718 | dnl problem and therefore don't need to do anything here |
4719 | - m4_syscmd([python config/pandora-plugin > /dev/null]) |
4720 | + m4_syscmd([PYTHON=${PYTHON:-python} && $PYTHON config/pandora-plugin > /dev/null]) |
4721 | m4_syscmd([test -f config/plugin.stamp || touch config/plugin.stamp aclocal.m4]) |
4722 | |
4723 | m4_sinclude(config/pandora-plugin.ac) |
4724 | |
4725 | dnl Add code here to read set plugin lists and set drizzled_default_plugin_list |
4726 | pandora_builtin_list=`echo $pandora_builtin_list | sed 's/, *$//'` |
4727 | - AS_IF([test "x$pandora_builtin_list" = "x"], pandora_builtin_list="NULL") |
4728 | + pandora_builtin_symbols_list=`echo $pandora_builtin_symbols_list | sed 's/, *$//'` |
4729 | + pandora_builtin_load_list=`echo $pandora_builtin_load_list | sed 's/, *$//'` |
4730 | + pandora_builtin_load_symbols_list=`echo $pandora_builtin_load_symbols_list | sed 's/, *$//'` |
4731 | + AS_IF([test "x$pandora_builtin_symbols_list" = "x"], pandora_builtin_symbols_list="NULL") |
4732 | + AS_IF([test "x$pandora_builtin_load_symbols_list" = "x"], pandora_builtin_load_symbols_list="NULL") |
4733 | AC_SUBST([PANDORA_BUILTIN_LIST],[$pandora_builtin_list]) |
4734 | + AC_SUBST([PANDORA_BUILTIN_SYMBOLS_LIST],[$pandora_builtin_symbols_list]) |
4735 | + AC_SUBST([PANDORA_BUILTIN_LOAD_LIST],[$pandora_builtin_load_list]) |
4736 | + AC_SUBST([PANDORA_BUILTIN_LOAD_SYMBOLS_LIST],[$pandora_builtin_load_symbols_list]) |
4737 | AC_SUBST([PANDORA_PLUGIN_LIST],[$pandora_default_plugin_list]) |
4738 | m4_ifval(m4_normalize([$1]),[ |
4739 | AC_CONFIG_FILES($*) |
4740 | ],[ |
4741 | - AC_DEFINE_UNQUOTED([PANDORA_BUILTIN_LIST],[$pandora_builtin_list], |
4742 | + AC_DEFINE_UNQUOTED([PANDORA_BUILTIN_LIST],["$pandora_builtin_list"], |
4743 | [List of plugins to be built in]) |
4744 | + AC_DEFINE_UNQUOTED([PANDORA_BUILTIN_SYMBOLS_LIST],["$pandora_builtin_symbols_list"], |
4745 | + [List of builtin plugin symbols to be built in]) |
4746 | AC_DEFINE_UNQUOTED([PANDORA_PLUGIN_LIST],["$pandora_default_plugin_list"], |
4747 | [List of plugins that should be loaded on startup if no |
4748 | value is given for --plugin-load]) |
4749 | |
4750 | === modified file 'm4/pandora_print_callstack.m4' |
4751 | --- m4/pandora_print_callstack.m4 2010-01-13 10:48:24 +0000 |
4752 | +++ m4/pandora_print_callstack.m4 2011-04-16 05:39:23 +0000 |
4753 | @@ -1,5 +1,5 @@ |
4754 | -dnl Copyright (C) 2009 Sun Microsystems |
4755 | -dnl This file is free software; Sun Microsystems |
4756 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
4757 | +dnl This file is free software; Sun Microsystems, Inc. |
4758 | dnl gives unlimited permission to copy and/or distribute it, |
4759 | dnl with or without modifications, as long as this notice is preserved. |
4760 | |
4761 | |
4762 | === modified file 'm4/pandora_pthread.m4' |
4763 | --- m4/pandora_pthread.m4 2009-12-18 19:25:00 +0000 |
4764 | +++ m4/pandora_pthread.m4 2011-04-16 05:39:23 +0000 |
4765 | @@ -254,5 +254,5 @@ |
4766 | AC_DEFUN([PANDORA_REQUIRE_PTHREAD],[ |
4767 | AC_REQUIRE([PANDORA_HAVE_PTHREAD]) |
4768 | AS_IF([test "x$acx_pthread_ok" != "xyes"],[ |
4769 | - AC_MSG_ERROR(could not find libpthread)]) |
4770 | + PANDORA_MSG_ERROR(could not find libpthread)]) |
4771 | ]) |
4772 | |
4773 | === modified file 'm4/pandora_python3_devel.m4' |
4774 | --- m4/pandora_python3_devel.m4 2009-09-29 04:30:01 +0000 |
4775 | +++ m4/pandora_python3_devel.m4 2011-04-16 05:39:23 +0000 |
4776 | @@ -4,12 +4,12 @@ |
4777 | dnl pandora-build: A pedantic build system |
4778 | dnl |
4779 | dnl Copyright (C) 2009 Sun Microsystems, Inc. |
4780 | -dnl Copyright (c) 2008 Sebastian Huber <sebastian-huber@web.de> |
4781 | -dnl Copyright (c) 2008 Alan W. Irwin <irwin@beluga.phys.uvic.ca> |
4782 | -dnl Copyright (c) 2008 Rafael Laboissiere <rafael@laboissiere.net> |
4783 | -dnl Copyright (c) 2008 Andrew Collier <colliera@ukzn.ac.za> |
4784 | -dnl Copyright (c) 2008 Matteo Settenvini <matteo@member.fsf.org> |
4785 | -dnl Copyright (c) 2008 Horst Knorr <hk_classes@knoda.org> |
4786 | +dnl Copyright (C) 2008 Sebastian Huber <sebastian-huber@web.de> |
4787 | +dnl Copyright (C) 2008 Alan W. Irwin <irwin@beluga.phys.uvic.ca> |
4788 | +dnl Copyright (C) 2008 Rafael Laboissiere <rafael@laboissiere.net> |
4789 | +dnl Copyright (C) 2008 Andrew Collier <colliera@ukzn.ac.za> |
4790 | +dnl Copyright (C) 2008 Matteo Settenvini <matteo@member.fsf.org> |
4791 | +dnl Copyright (C) 2008 Horst Knorr <hk_classes@knoda.org> |
4792 | dnl |
4793 | dnl This program is free software: you can redistribute it and/or modify it |
4794 | dnl under the terms of the GNU General Public License as published by the |
4795 | @@ -76,7 +76,7 @@ |
4796 | AC_PATH_PROG([PYTHON3],[python[$PYTHON3_VERSION]]) |
4797 | ]) |
4798 | AS_IF([test -z "$PYTHON3"],[ |
4799 | - AC_MSG_ERROR([Cannot find python$PYTHON3_VERSION in your system path]) |
4800 | + PANDORA_MSG_ERROR([Cannot find python$PYTHON3_VERSION in your system path]) |
4801 | PYTHON3_VERSION="" |
4802 | ]) |
4803 | |
4804 | @@ -92,7 +92,7 @@ |
4805 | AC_MSG_RESULT([yes]) |
4806 | else |
4807 | AC_MSG_RESULT([no]) |
4808 | - AC_MSG_ERROR([this package requires Python $1. |
4809 | + PANDORA_MSG_ERROR([this package requires Python $1. |
4810 | If you have it installed, but it isn't the default Python |
4811 | interpreter in your system path, please pass the PYTHON3_VERSION |
4812 | variable to configure. See ``configure --help'' for reference. |
4813 | @@ -110,7 +110,7 @@ |
4814 | AC_MSG_RESULT([yes]) |
4815 | else |
4816 | AC_MSG_RESULT([no]) |
4817 | - AC_MSG_ERROR([cannot import Python3 module "distutils". |
4818 | + PANDORA_MSG_ERROR([cannot import Python3 module "distutils". |
4819 | Please check your Python3 installation. The error was: |
4820 | $ac_python3_distutils_result]) |
4821 | PYTHON3_VERSION="" |
4822 | |
4823 | === modified file 'm4/pandora_sasl.m4' |
4824 | --- m4/pandora_sasl.m4 2009-12-18 18:02:39 +0000 |
4825 | +++ m4/pandora_sasl.m4 2011-04-16 05:39:23 +0000 |
4826 | @@ -1,5 +1,5 @@ |
4827 | -dnl Copyright (C) 2009 Sun Microsystems |
4828 | -dnl This file is free software; Sun Microsystems |
4829 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
4830 | +dnl This file is free software; Sun Microsystems, Inc. |
4831 | dnl gives unlimited permission to copy and/or distribute it, |
4832 | dnl with or without modifications, as long as this notice is preserved. |
4833 | |
4834 | @@ -55,7 +55,7 @@ |
4835 | AC_DEFUN([PANDORA_REQUIRE_SASL],[ |
4836 | AC_REQUIRE([_PANDORA_SEARCH_SASL]) |
4837 | AS_IF([test "x${ac_cv_sasl}" = "xno"], |
4838 | - AC_MSG_ERROR([SASL (libsasl or libsasl2) is required for ${PACKAGE}])) |
4839 | + PANDORA_MSG_ERROR([SASL (libsasl or libsasl2) is required for ${PACKAGE}])) |
4840 | ]) |
4841 | |
4842 | AC_DEFUN([_PANDORA_SEARCH_LIBSASL],[ |
4843 | @@ -92,7 +92,7 @@ |
4844 | AC_DEFUN([PANDORA_REQUIRE_LIBSASL],[ |
4845 | AC_REQUIRE([_PANDORA_SEARCH_LIBSASL]) |
4846 | AS_IF([test "x${ac_cv_libsasl}" = "xno"], |
4847 | - AC_MSG_ERROR([libsasl is required for ${PACKAGE}])) |
4848 | + PANDORA_MSG_ERROR([libsasl is required for ${PACKAGE}])) |
4849 | ]) |
4850 | |
4851 | AC_DEFUN([_PANDORA_SEARCH_LIBSASL2],[ |
4852 | @@ -129,5 +129,5 @@ |
4853 | AC_DEFUN([PANDORA_REQUIRE_LIBSASL2],[ |
4854 | AC_REQUIRE([_PANDORA_SEARCH_LIBSASL2]) |
4855 | AS_IF([test "x${ac_cv_libsasl2}" = "xno"], |
4856 | - AC_MSG_ERROR([libsasl2 is required for ${PACKAGE}])) |
4857 | + PANDORA_MSG_ERROR([libsasl2 is required for ${PACKAGE}])) |
4858 | ]) |
4859 | |
4860 | === modified file 'm4/pandora_shared_ptr.m4' |
4861 | --- m4/pandora_shared_ptr.m4 2009-12-18 18:02:39 +0000 |
4862 | +++ m4/pandora_shared_ptr.m4 2011-04-16 05:39:23 +0000 |
4863 | @@ -1,5 +1,5 @@ |
4864 | -dnl Copyright (C) 2009 Sun Microsystems |
4865 | -dnl This file is free software; Sun Microsystems |
4866 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
4867 | +dnl This file is free software; Sun Microsystems, Inc. |
4868 | dnl gives unlimited permission to copy and/or distribute it, |
4869 | dnl with or without modifications, as long as this notice is preserved. |
4870 | |
4871 | |
4872 | === modified file 'm4/pandora_stl_hash.m4' |
4873 | --- m4/pandora_stl_hash.m4 2010-04-06 00:33:06 +0000 |
4874 | +++ m4/pandora_stl_hash.m4 2011-04-16 05:39:23 +0000 |
4875 | @@ -1,3 +1,8 @@ |
4876 | +# Copyright (C) 2008 Sun Microsystems, Inc. |
4877 | +# This file is free software; Sun Microsystems, Inc. |
4878 | +# gives unlimited permission to copy and/or distribute it, |
4879 | +# with or without modifications, as long as this notice is preserved. |
4880 | + |
4881 | # We check two things: where the include file is for unordered_map, and |
4882 | # what namespace unordered_map lives in within that include file. We |
4883 | # include AC_COMPILE_IFELSE for all the combinations we've seen in the |
4884 | @@ -83,7 +88,7 @@ |
4885 | AC_DEFUN([PANDORA_REQUIRE_CXX_UNORDERED],[ |
4886 | AC_REQUIRE([PANDORA_HAVE_CXX_UNORDERED]) |
4887 | AS_IF([test "x${pandora_has_unordered}" != "xyes"],[ |
4888 | - AC_MSG_ERROR([An STL compliant unordered_map is required for ${PACKAGE}. |
4889 | + PANDORA_MSG_ERROR([An STL compliant unordered_map is required for ${PACKAGE}. |
4890 | Implementations can be found in Recent versions of gcc and in boost]) |
4891 | ]) |
4892 | ]) |
4893 | |
4894 | === modified file 'm4/pandora_vc_build.m4' |
4895 | --- m4/pandora_vc_build.m4 2010-04-06 00:33:06 +0000 |
4896 | +++ m4/pandora_vc_build.m4 2011-04-16 05:39:23 +0000 |
4897 | @@ -1,5 +1,5 @@ |
4898 | -dnl Copyright (C) 2009 Sun Microsystems |
4899 | -dnl This file is free software; Sun Microsystems |
4900 | +dnl Copyright (C) 2009 Sun Microsystems, Inc. |
4901 | +dnl This file is free software; Sun Microsystems, Inc. |
4902 | dnl gives unlimited permission to copy and/or distribute it, |
4903 | dnl with or without modifications, as long as this notice is preserved. |
4904 | |
4905 | @@ -36,7 +36,14 @@ |
4906 | ]) |
4907 | |
4908 | AC_DEFUN([PANDORA_BUILDING_FROM_VC],[ |
4909 | - m4_syscmd(PANDORA_TEST_VC_DIR [ |
4910 | + m4_syscmd(PANDORA_TEST_VC_DIR |
4911 | + m4_if(PCT_NO_VC_CHANGELOG,yes,[ |
4912 | + vc_changelog=no |
4913 | + ],[ |
4914 | + vc_changelog=yes |
4915 | + ]) |
4916 | + |
4917 | + [ |
4918 | |
4919 | PANDORA_RELEASE_DATE=`date +%Y.%m` |
4920 | PANDORA_RELEASE_NODOTS_DATE=`date +%Y%m` |
4921 | @@ -53,6 +60,18 @@ |
4922 | PANDORA_VC_REVNO="${PANDORA_BZR_REVNO}" |
4923 | PANDORA_VC_REVID=`bzr log -r-1 --show-ids | grep revision-id | cut -f2 -d' ' | head -1` |
4924 | PANDORA_VC_BRANCH=`bzr nick` |
4925 | + PANDORA_VC_TAG=`bzr tags -r-1 | cut -f1 -d' ' | head -1` |
4926 | + PANDORA_VC_LATEST_TAG=`bzr tags --sort=time | grep -v '\?'| cut -f1 -d' ' | tail -1` |
4927 | + if test "x${vc_changelog}" = "xyes"; then |
4928 | + bzr log --gnu > ChangeLog |
4929 | + fi |
4930 | + fi |
4931 | + elif test "${pandora_building_from_git}" = "yes"; then |
4932 | + echo "# Grabbing changelog and version information from git" |
4933 | + PANDORA_GIT_REVID=`git --no-pager log --max-count=1 | cut -f2 -d' ' | head -1` |
4934 | + if test "x$PANDORA_GIT_REVID" != "x${PANDORA_VC_REVNO}" ; then |
4935 | + PANDORA_VC_REVID="${PANDORA_GIT_REVID}" |
4936 | + PANDORA_VC_BRANCH=`git branch | grep -Ei "\* (.*)" | cut -f2 -d' '` |
4937 | fi |
4938 | fi |
4939 | |
4940 | @@ -60,17 +79,21 @@ |
4941 | mkdir -p config |
4942 | fi |
4943 | |
4944 | - cat > config/pandora_vc_revinfo.tmp <<EOF |
4945 | + if test "${pandora_building_from_bzr}" = "yes" -o ! -f config/pandora_vc_revinfo ; then |
4946 | + cat > config/pandora_vc_revinfo.tmp <<EOF |
4947 | PANDORA_VC_REVNO=${PANDORA_VC_REVNO} |
4948 | PANDORA_VC_REVID=${PANDORA_VC_REVID} |
4949 | PANDORA_VC_BRANCH=${PANDORA_VC_BRANCH} |
4950 | +PANDORA_VC_TAG=${PANDORA_VC_TAG} |
4951 | +PANDORA_VC_LATEST_TAG=${PANDORA_VC_LATEST_TAG} |
4952 | PANDORA_RELEASE_DATE=${PANDORA_RELEASE_DATE} |
4953 | PANDORA_RELEASE_NODOTS_DATE=${PANDORA_RELEASE_NODOTS_DATE} |
4954 | EOF |
4955 | - if ! diff config/pandora_vc_revinfo.tmp config/pandora_vc_revinfo >/dev/null 2>&1 ; then |
4956 | - mv config/pandora_vc_revinfo.tmp config/pandora_vc_revinfo |
4957 | + if ! diff config/pandora_vc_revinfo.tmp config/pandora_vc_revinfo >/dev/null 2>&1 ; then |
4958 | + mv config/pandora_vc_revinfo.tmp config/pandora_vc_revinfo |
4959 | + fi |
4960 | + rm -f config/pandora_vc_revinfo.tmp |
4961 | fi |
4962 | - rm -f config/pandora_vc_revinfo.tmp |
4963 | ]) |
4964 | ]) |
4965 | |
4966 | @@ -88,6 +111,10 @@ |
4967 | _PANDORA_READ_FROM_FILE([PANDORA_VC_REVID],${srcdir}/config/pandora_vc_revinfo) |
4968 | _PANDORA_READ_FROM_FILE([PANDORA_VC_BRANCH], |
4969 | ${srcdir}/config/pandora_vc_revinfo) |
4970 | + _PANDORA_READ_FROM_FILE([PANDORA_VC_TAG], |
4971 | + ${srcdir}/config/pandora_vc_revinfo) |
4972 | + _PANDORA_READ_FROM_FILE([PANDORA_VC_LATEST_TAG], |
4973 | + ${srcdir}/config/pandora_vc_revinfo) |
4974 | _PANDORA_READ_FROM_FILE([PANDORA_RELEASE_DATE], |
4975 | ${srcdir}/config/pandora_vc_revinfo) |
4976 | _PANDORA_READ_FROM_FILE([PANDORA_RELEASE_NODOTS_DATE], |
4977 | @@ -99,8 +126,25 @@ |
4978 | PANDORA_RELEASE_COMMENT="trunk" |
4979 | ]) |
4980 | |
4981 | - PANDORA_RELEASE_VERSION="${PANDORA_RELEASE_DATE}.${PANDORA_VC_REVNO}" |
4982 | - PANDORA_RELEASE_ID="${PANDORA_RELEASE_NODOTS_DATE}${PANDORA_VC_REVNO}" |
4983 | + AS_IF([test "x${PANDORA_VC_TAG}" != "x"],[ |
4984 | + PANDORA_RELEASE_VERSION="${PANDORA_VC_TAG}" |
4985 | + changequote(<<, >>)dnl |
4986 | + PANDORA_RELEASE_ID=`echo ${PANDORA_RELEASE_VERSION} | sed 's/[^0-9]//g'` |
4987 | + changequote([, ])dnl |
4988 | + ],[ |
4989 | + AS_IF([test "x${PANDORA_VC_LATEST_TAG}" != "x"],[ |
4990 | + PANDORA_RELEASE_VERSION="${PANDORA_VC_LATEST_TAG}.${PANDORA_VC_REVNO}" |
4991 | + changequote(<<, >>)dnl |
4992 | + PANDORA_RELEASE_ID=`echo ${PANDORA_VC_LATEST_TAG} | sed 's/[^0-9]//g'` |
4993 | + changequote([, ])dnl |
4994 | + ],[ |
4995 | + PANDORA_RELEASE_VERSION="${PANDORA_RELEASE_DATE}.${PANDORA_VC_REVNO}" |
4996 | + changequote(<<, >>)dnl |
4997 | + PANDORA_RELEASE_ID=`echo ${PANDORA_RELEASE_DATE} | sed 's/[^0-9]//g'` |
4998 | + changequote([, ])dnl |
4999 | + ]) |
5000 | + ]) |
The diff has been truncated for viewing.