Merge lp:~mordred/libmemcached/pandora-build into lp:~tangent-org/libmemcached/trunk

Proposed by Monty Taylor
Status: Rejected
Rejected by: Brian Aker
Proposed branch: lp:~mordred/libmemcached/pandora-build
Merge into: lp:~tangent-org/libmemcached/trunk
Diff against target: 1815 lines (+1019/-276)
34 files modified
Makefile.am (+1/-1)
config/libhashkit.symbols (+24/-0)
config/libmemcached.symbols (+115/-0)
config/libmemcachedprotocol.symbols (+11/-0)
config/libmemcachedutil.symbols (+7/-0)
configure.ac (+0/-2)
docs/Makefile.am (+1/-1)
docs/memcat.pod (+1/-1)
m4/pandora_canonical.m4 (+39/-34)
m4/pandora_clock_gettime.m4 (+15/-0)
m4/pandora_drizzle_build.m4 (+3/-2)
m4/pandora_fdatasync.m4 (+2/-2)
m4/pandora_have_boost.m4 (+73/-0)
m4/pandora_have_gcc_atomics.m4 (+2/-2)
m4/pandora_have_libcassandra.m4 (+44/-0)
m4/pandora_have_libdrizzle.m4 (+16/-10)
m4/pandora_have_libgtest.m4 (+44/-0)
m4/pandora_have_libinnodb.m4 (+64/-0)
m4/pandora_have_libmemcached.m4 (+49/-5)
m4/pandora_have_libmysqlclient.m4 (+146/-0)
m4/pandora_have_libndbclient.m4 (+80/-0)
m4/pandora_have_libtokyocabinet.m4 (+4/-2)
m4/pandora_have_thrift.m4 (+45/-0)
m4/pandora_platform.m4 (+5/-0)
m4/pandora_plugins.m4 (+1/-1)
m4/pandora_sasl.m4 (+1/-1)
m4/pandora_stl_hash.m4 (+87/-108)
m4/pandora_use_pipe.m4 (+1/-1)
m4/pandora_vc_build.m4 (+96/-89)
m4/pandora_warnings.m4 (+6/-2)
m4/pandora_with_gettext.m4 (+12/-9)
tests/hashkit_functions.c (+1/-1)
tests/include.am (+22/-1)
tests/mem_functions.c (+1/-1)
To merge this branch: bzr merge lp:~mordred/libmemcached/pandora-build
Reviewer Review Type Date Requested Status
Brian Aker Pending
Review via email: mp+19436@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Monty Taylor (mordred) wrote :

Reworked the bitset test. Also updated to latest pandora-build.

796. By Brian Aker <brian@gaz>

A number of fixes/etc.

797. By Brian Aker <brian@gaz>

Shuffled UDP tests.

798. By Brian Aker <brian@gaz>

Fixing spec file for release.

799. By Brian Aker <brian@gaz>

Merge for Dmitry

800. By Brian Aker <brian@gaz>

merge.

801. By Brian Aker <brian@gaz>

Correction to API for custom hash settings.

802. By Brian Aker <brian@gaz>

Merge

803. By Brian Aker <brian@gaz>

More fixes from Trond.

804. By Brian Aker <brian@gaz>

A couple of valgrind warnings fixes.

805. By Brian Aker <brian@gaz>

Merging memcapable

806. By Brian Aker <brian@gaz>

We didn't catch client_Error.

807. By Brian Aker <brian@gaz>

Style cleanup

808. By Brian Aker <brian@gaz>

Remove bitfield hack (solaris blows anyways).

809. By Brian Aker <brian@gaz>

Updating interface version.

810. By Brian Aker <brian@gaz>

Merge in support for prefix keys in the binary protoocol.

811. By Brian Aker <brian@gaz>

Just clean up a call (use the previous method).

812. By Brian Aker <brian@gaz>

Updating for vector interface.

813. By Brian Aker <brian@gaz>

Moved to using vector send for writes (lowers function call count).

814. By Brian Aker <brian@gaz>

Updated vector bits.

815. By Brian Aker <brian@gaz>

Remove dead call.

816. By Brian Aker <brian@gaz>

Fixes for Innodb engine.

817. By Brian Aker <brian@gaz>

Make use of new vdo().

818. By Brian Aker <brian@gaz>

Concurrent memcached_verbosity().

819. By Brian Aker <brian@gaz>

Fix for rpm buidling/make --with-debug

820. By Brian Aker <brian@gaz>

@$#$@$ gcc

821. By Brian Aker <brian@gaz>

Merge Andre

822. By Brian Aker <brian@gaz>

Update for last disconnect to stick around even if ejected.

823. By Brian Aker <brian@gaz>

Improve on algo for disabling bad hosts.

824. By Brian Aker <brian@gaz>

Update documentation.

825. By Brian Aker <brian@gaz>

Fix issue with memcached_st structure being a different size based on
compile.

826. By Brian Aker <brian@gaz>

Updating for version 0.39

827. By Monty Taylor

Latest pandora-build.

828. By Monty Taylor

Fixed an endian test to skip the test on all bigendian platforms, not just
sparc.

829. By Monty Taylor

Added support for dpkg-gensymbols-based symbols checking.

830. By Monty Taylor

Removed unused dir.

831. By Monty Taylor

Fixed a spelling error.

832. By Monty Taylor

Updated configure.ac to use new PANDORA_CANONICAL_TARGET

833. By Monty Taylor

Added a pandora-build option to disable effc++ warnings. Used it.

Unmerged revisions

833. By Monty Taylor

Added a pandora-build option to disable effc++ warnings. Used it.

832. By Monty Taylor

Updated configure.ac to use new PANDORA_CANONICAL_TARGET

831. By Monty Taylor

Fixed a spelling error.

830. By Monty Taylor

Removed unused dir.

829. By Monty Taylor

Added support for dpkg-gensymbols-based symbols checking.

828. By Monty Taylor

Fixed an endian test to skip the test on all bigendian platforms, not just
sparc.

827. By Monty Taylor

Latest pandora-build.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Makefile.am'
2--- Makefile.am 2010-04-05 16:41:24 +0000
3+++ Makefile.am 2010-04-07 18:41:30 +0000
4@@ -14,7 +14,7 @@
5 nobase_include_HEADERS =
6 EXTRA_HEADERS =
7 BUILT_SOURCES=
8-EXTRA_DIST = README.FIRST
9+EXTRA_DIST = README.FIRST config/autorun.sh m4/*m4
10
11 SUBDIRS = docs
12
13
14=== added file 'config/libhashkit.symbols'
15--- config/libhashkit.symbols 1970-01-01 00:00:00 +0000
16+++ config/libhashkit.symbols 2010-04-07 18:41:30 +0000
17@@ -0,0 +1,24 @@
18+libhashkit.so.0 libhashkit0 #MINVER#
19+ hashkit_clone@Base 0.37
20+ hashkit_compare@Base 0.38
21+ hashkit_create@Base 0.37
22+ hashkit_digest@Base 0.38
23+ hashkit_free@Base 0.37
24+ hashkit_get_distribution_function@Base 0.38
25+ hashkit_get_function@Base 0.38
26+ hashkit_set_custom_distribution_function@Base 0.38
27+ hashkit_set_custom_function@Base 0.38
28+ hashkit_set_distribution_function@Base 0.38
29+ hashkit_set_function@Base 0.38
30+ hashkit_strerror@Base 0.38
31+ libhashkit_crc32@Base 0.38
32+ libhashkit_digest@Base 0.38
33+ libhashkit_fnv1_32@Base 0.38
34+ libhashkit_fnv1_64@Base 0.38
35+ libhashkit_fnv1a_32@Base 0.38
36+ libhashkit_fnv1a_64@Base 0.38
37+ libhashkit_jenkins@Base 0.38
38+ libhashkit_md5@Base 0.38
39+ libhashkit_md5_signature@Base 0.38
40+ libhashkit_murmur@Base 0.38
41+ libhashkit_one_at_a_time@Base 0.38
42
43=== added file 'config/libmemcached.symbols'
44--- config/libmemcached.symbols 1970-01-01 00:00:00 +0000
45+++ config/libmemcached.symbols 2010-04-07 18:41:30 +0000
46@@ -0,0 +1,115 @@
47+libmemcached.so.4 libmemcached4 #MINVER#
48+ hashkit_clone@Base 0.38
49+ hashkit_compare@Base 0.38
50+ hashkit_create@Base 0.38
51+ hashkit_digest@Base 0.38
52+ hashkit_free@Base 0.38
53+ hashkit_get_distribution_function@Base 0.38
54+ hashkit_get_function@Base 0.38
55+ hashkit_set_custom_distribution_function@Base 0.38
56+ hashkit_set_custom_function@Base 0.38
57+ hashkit_set_distribution_function@Base 0.38
58+ hashkit_set_function@Base 0.38
59+ hashkit_strerror@Base 0.38
60+ libhashkit_crc32@Base 0.38
61+ libhashkit_digest@Base 0.38
62+ libhashkit_fnv1_32@Base 0.38
63+ libhashkit_fnv1_64@Base 0.38
64+ libhashkit_fnv1a_32@Base 0.38
65+ libhashkit_fnv1a_64@Base 0.38
66+ libhashkit_jenkins@Base 0.38
67+ libhashkit_md5@Base 0.38
68+ libhashkit_md5_signature@Base 0.38
69+ libhashkit_murmur@Base 0.38
70+ libhashkit_one_at_a_time@Base 0.38
71+ memcached_add@Base 0.33
72+ memcached_add_by_key@Base 0.33
73+ memcached_analyze@Base 0.33
74+ memcached_analyze_free@Base 0.37
75+ memcached_append@Base 0.33
76+ memcached_append_by_key@Base 0.33
77+ memcached_behavior_get@Base 0.33
78+ memcached_behavior_get_distribution@Base 0.37
79+ memcached_behavior_get_distribution_hash@Base 0.37
80+ memcached_behavior_get_key_hash@Base 0.37
81+ memcached_behavior_set@Base 0.33
82+ memcached_behavior_set_distribution@Base 0.37
83+ memcached_behavior_set_distribution_hash@Base 0.37
84+ memcached_behavior_set_key_hash@Base 0.37
85+ memcached_callback_get@Base 0.33
86+ memcached_callback_set@Base 0.33
87+ memcached_cas@Base 0.33
88+ memcached_cas_by_key@Base 0.33
89+ memcached_clone@Base 0.33
90+ memcached_create@Base 0.33
91+ memcached_decrement@Base 0.33
92+ memcached_decrement_by_key@Base 0.37
93+ memcached_decrement_with_initial@Base 0.33
94+ memcached_decrement_with_initial_by_key@Base 0.37
95+ memcached_delete@Base 0.33
96+ memcached_delete_by_key@Base 0.33
97+ memcached_dump@Base 0.33
98+ memcached_fetch@Base 0.33
99+ memcached_fetch_execute@Base 0.33
100+ memcached_fetch_result@Base 0.33
101+ memcached_flush@Base 0.33
102+ memcached_flush_buffers@Base 0.33
103+ memcached_free@Base 0.33
104+ memcached_generate_hash@Base 0.33
105+ memcached_generate_hash_value@Base 0.33
106+ memcached_get@Base 0.33
107+ memcached_get_by_key@Base 0.33
108+ memcached_get_hashkit@Base 0.38
109+ memcached_get_memory_allocators@Base 0.33
110+ memcached_get_memory_allocators_context@Base 0.38
111+ memcached_get_user_data@Base 0.33
112+ memcached_increment@Base 0.33
113+ memcached_increment_by_key@Base 0.37
114+ memcached_increment_with_initial@Base 0.33
115+ memcached_increment_with_initial_by_key@Base 0.37
116+ memcached_lib_version@Base 0.33
117+ memcached_mget@Base 0.33
118+ memcached_mget_by_key@Base 0.33
119+ memcached_mget_execute@Base 0.37
120+ memcached_mget_execute_by_key@Base 0.37
121+ memcached_prepend@Base 0.33
122+ memcached_prepend_by_key@Base 0.33
123+ memcached_quit@Base 0.33
124+ memcached_replace@Base 0.33
125+ memcached_replace_by_key@Base 0.33
126+ memcached_result_create@Base 0.33
127+ memcached_result_free@Base 0.33
128+ memcached_result_reset@Base 0.33
129+ memcached_result_set_value@Base 0.33
130+ memcached_server_add@Base 0.33
131+ memcached_server_add_udp@Base 0.33
132+ memcached_server_add_udp_with_weight@Base 0.33
133+ memcached_server_add_unix_socket@Base 0.33
134+ memcached_server_add_unix_socket_with_weight@Base 0.33
135+ memcached_server_add_with_weight@Base 0.33
136+ memcached_server_by_key@Base 0.33
137+ memcached_server_cursor@Base 0.33
138+ memcached_server_error@Base 0.32
139+ memcached_server_error_reset@Base 0.32
140+ memcached_server_free@Base 0.33
141+ memcached_server_get_last_disconnect@Base 0.34
142+ memcached_server_list_append@Base 0.33
143+ memcached_server_list_append_with_weight@Base 0.33
144+ memcached_server_list_count@Base 0.33
145+ memcached_server_list_free@Base 0.33
146+ memcached_server_push@Base 0.33
147+ memcached_server_remove@Base 0.33
148+ memcached_servers_parse@Base 0.33
149+ memcached_servers_reset@Base 0.37
150+ memcached_set@Base 0.33
151+ memcached_set_by_key@Base 0.33
152+ memcached_set_memory_allocators@Base 0.33
153+ memcached_set_user_data@Base 0.33
154+ memcached_stat@Base 0.33
155+ memcached_stat_free@Base 0.33
156+ memcached_stat_get_keys@Base 0.33
157+ memcached_stat_get_value@Base 0.33
158+ memcached_stat_servername@Base 0.33
159+ memcached_strerror@Base 0.33
160+ memcached_verbosity@Base 0.33
161+ memcached_version@Base 0.33
162
163=== added file 'config/libmemcachedprotocol.symbols'
164--- config/libmemcachedprotocol.symbols 1970-01-01 00:00:00 +0000
165+++ config/libmemcachedprotocol.symbols 2010-04-07 18:41:30 +0000
166@@ -0,0 +1,11 @@
167+libmemcachedprotocol.so.0 libmemcachedprotocol0 #MINVER#
168+ memcached_binary_protocol_get_callbacks@Base 0.34
169+ memcached_binary_protocol_get_pedantic@Base 0.34
170+ memcached_binary_protocol_get_raw_response_handler@Base 0.34
171+ memcached_binary_protocol_set_callbacks@Base 0.34
172+ memcached_binary_protocol_set_pedantic@Base 0.34
173+ memcached_protocol_client_destroy@Base 0.34
174+ memcached_protocol_client_work@Base 0.34
175+ memcached_protocol_create_client@Base 0.34
176+ memcached_protocol_create_instance@Base 0.34
177+ memcached_protocol_destroy_instance@Base 0.34
178
179=== added file 'config/libmemcachedutil.symbols'
180--- config/libmemcachedutil.symbols 1970-01-01 00:00:00 +0000
181+++ config/libmemcachedutil.symbols 2010-04-07 18:41:30 +0000
182@@ -0,0 +1,7 @@
183+libmemcachedutil.so.0 libmemcachedutil0 #MINVER#
184+ memcached_pool_behavior_get@Base 0.34
185+ memcached_pool_behavior_set@Base 0.34
186+ memcached_pool_create@Base 0.33
187+ memcached_pool_destroy@Base 0.33
188+ memcached_pool_pop@Base 0.33
189+ memcached_pool_push@Base 0.33
190
191=== modified file 'configure.ac'
192--- configure.ac 2010-04-05 16:41:24 +0000
193+++ configure.ac 2010-04-07 18:41:30 +0000
194@@ -10,8 +10,6 @@
195 AC_INIT([libmemcached],[0.39],[http://libmemcached.org/])
196 AC_CONFIG_SRCDIR([libmemcached/memcached.c])
197 AC_CONFIG_AUX_DIR(config)
198-AM_CONFIG_HEADER([config.h])
199-AC_CONFIG_MACRO_DIR([m4])
200
201 PANDORA_CANONICAL_TARGET
202
203
204=== modified file 'docs/Makefile.am'
205--- docs/Makefile.am 2010-03-03 10:50:13 +0000
206+++ docs/Makefile.am 2010-04-07 18:41:30 +0000
207@@ -11,7 +11,7 @@
208
209 BUILT_SOURCES=
210
211-EXTRA_DIST= make_index.pl
212+EXTRA_DIST= make_index.pl memcached_result_st.pod
213
214 AUTO_PAGES= \
215 memcached_increment.pop \
216
217=== modified file 'docs/memcat.pod'
218--- docs/memcat.pod 2010-01-14 21:37:53 +0000
219+++ docs/memcat.pod 2010-04-07 18:41:30 +0000
220@@ -8,7 +8,7 @@
221
222 =head1 DESCRIPTION
223
224-B<memcat> outputs to stdout the value a single or mutiple set of keys
225+B<memcat> outputs to stdout the value a single or multiple set of keys
226 stored in a memcached(1) server. If any key is not found an error is returned.
227
228 It is similar to the standard UNIX cat(1) utility.
229
230=== modified file 'm4/pandora_canonical.m4'
231--- m4/pandora_canonical.m4 2010-01-13 23:36:10 +0000
232+++ m4/pandora_canonical.m4 2010-04-07 18:41:30 +0000
233@@ -4,7 +4,7 @@
234 dnl with or without modifications, as long as this notice is preserved.
235
236 dnl Which version of the canonical setup we're using
237-AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.96])
238+AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.121])
239
240 AC_DEFUN([PANDORA_FORCE_DEPEND_TRACKING],[
241 AC_ARG_ENABLE([fat-binaries],
242@@ -29,27 +29,17 @@
243 ifdef([m4_define],,[define([m4_define], defn([define]))])
244 ifdef([m4_undefine],,[define([m4_undefine], defn([undefine]))])
245 m4_define([PCT_ALL_ARGS],[$*])
246- m4_define([PCT_USE_GNULIB],[no])
247 m4_define([PCT_REQUIRE_CXX],[no])
248- m4_define([PCT_IGNORE_SHARED_PTR],[no])
249 m4_define([PCT_FORCE_GCC42],[no])
250- m4_define([PCT_SRC_IN_SRC],[no])
251+ m4_define([PCT_DONT_SUPPRESS_INCLUDE],[no])
252 m4_define([PCT_VERSION_FROM_VC],[no])
253 m4_define([PCT_USE_VISIBILITY],[yes])
254 m4_foreach([pct_arg],[$*],[
255 m4_case(pct_arg,
256- [use-gnulib], [
257- m4_undefine([PCT_USE_GNULIB])
258- m4_define([PCT_USE_GNULIB],[yes])
259- ],
260 [require-cxx], [
261 m4_undefine([PCT_REQUIRE_CXX])
262 m4_define([PCT_REQUIRE_CXX],[yes])
263 ],
264- [ignore-shared-ptr], [
265- m4_undefine([PCT_IGNORE_SHARED_PTR])
266- m4_define([PCT_IGNORE_SHARED_PTR],[yes])
267- ],
268 [force-gcc42], [
269 m4_undefine([PCT_FORCE_GCC42])
270 m4_define([PCT_FORCE_GCC42],[yes])
271@@ -58,9 +48,9 @@
272 m4_undefine([PCT_USE_VISIBILITY])
273 m4_define([PCT_USE_VISIBILITY],[no])
274 ],
275- [src-in-src], [
276- m4_undefine([PCT_SRC_IN_SRC])
277- m4_define([PCT_SRC_IN_SRC],[yes])
278+ [dont-suppress-include], [
279+ m4_undefine([PCT_DONT_SUPPRESS_INCLUDE])
280+ m4_define([PCT_DONT_SUPPRESS_INCLUDE],[yes])
281 ],
282 [version-from-vc], [
283 m4_undefine([PCT_VERSION_FROM_VC])
284@@ -68,6 +58,14 @@
285 ])
286 ])
287
288+ AC_CONFIG_MACRO_DIR([m4])
289+
290+ m4_if(m4_substr(m4_esyscmd(test -d src && echo 0),0,1),0,[
291+ AC_CONFIG_HEADERS([src/config.h])
292+ ],[
293+ AC_CONFIG_HEADERS([config.h])
294+ ])
295+
296 # We need to prevent canonical target
297 # from injecting -O2 into CFLAGS - but we won't modify anything if we have
298 # set CFLAGS on the command line, since that should take ultimate precedence
299@@ -78,10 +76,17 @@
300
301 AC_CANONICAL_TARGET
302
303- AM_INIT_AUTOMAKE(-Wall -Werror nostdinc subdir-objects foreign)
304+ m4_if(PCT_DONT_SUPRESS_INCLUDE,yes,[
305+ AM_INIT_AUTOMAKE(-Wall -Werror subdir-objects foreign)
306+ ],[
307+ AM_INIT_AUTOMAKE(-Wall -Werror nostdinc subdir-objects foreign)
308+ ])
309+
310 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
311
312- m4_if(PCT_USE_GNULIB,yes,[ gl_EARLY ])
313+ m4_if(m4_substr(m4_esyscmd(test -d gnulib && echo 0),0,1),0,[
314+ gl_EARLY
315+ ])
316
317 AC_REQUIRE([AC_PROG_CC])
318 AC_REQUIRE([PANDORA_MAC_GCC42])
319@@ -89,6 +94,8 @@
320
321 m4_if(PCT_VERSION_FROM_VC,yes,[
322 PANDORA_VC_VERSION
323+ ],[
324+ PANDORA_TEST_VC_DIR
325 ])
326 PANDORA_VERSION
327
328@@ -118,14 +125,7 @@
329
330 ])
331
332- PANDORA_SHARED_PTR
333- m4_if(PCT_IGNORE_SHARED_PTR, [no], [
334- AS_IF([test "$ac_cv_shared_ptr_namespace" = "missing"],[
335- AC_MSG_WARN([a usable shared_ptr implementation was not found. Let someone know what your platform is.])
336- ])
337- ])
338-
339- m4_if(PCT_USE_GNULIB, [yes], [
340+ m4_if(m4_substr(m4_esyscmd(test -d gnulib && echo 0),0,1),0,[
341 gl_INIT
342 AC_CONFIG_LIBOBJ_DIR([gnulib])
343 ])
344@@ -140,8 +140,10 @@
345 AC_C_RESTRICT
346
347 AC_HEADER_TIME
348+ AC_STRUCT_TM
349 AC_TYPE_SIZE_T
350 AC_SYS_LARGEFILE
351+ PANDORA_CLOCK_GETTIME
352
353 # off_t is not a builtin type
354 AC_CHECK_SIZEOF(off_t, 4)
355@@ -175,11 +177,8 @@
356 AC_DEFINE([TIME_T_UNSIGNED], 1, [Define to 1 if time_t is unsigned])
357 ])
358
359- dnl AC_FUNC_ALLOCA would test for stack direction if we didn't have a working
360- dnl alloca - but we need to know it anyway for check_stack_overrun.
361- PANDORA_STACK_DIRECTION
362-
363- AC_CHECK_FUNC(floorf, [], [AC_CHECK_LIB(m, floorf)])
364+ AC_CHECK_LIBM
365+
366 AC_CHECK_FUNC(setsockopt, [], [AC_CHECK_LIB(socket, setsockopt)])
367 AC_CHECK_FUNC(bind, [], [AC_CHECK_LIB(bind, bind)])
368
369@@ -219,22 +218,28 @@
370
371 AC_CHECK_PROGS([DOXYGEN], [doxygen])
372 AC_CHECK_PROGS([PERL], [perl])
373+ AC_CHECK_PROGS([DPKG_GENSYMBOLS], [dpkg-gensymbols], [:])
374+
375+ AM_CONDITIONAL(HAVE_DPKG_GENSYMBOLS,[test "x${DPKG_GENSYMBOLS}" != "x:"])
376+
377+ PANDORA_WITH_GETTEXT
378
379 AS_IF([test "x${gl_LIBOBJS}" != "x"],[
380 AS_IF([test "$GCC" = "yes"],[
381- AM_CPPFLAGS="-isystem \$(top_srcdir)/gnulib -isystem \$(top_builddir)/gnulib ${AM_CPPFLAGS}"
382+ AM_CPPFLAGS="-isystem \${top_srcdir}/gnulib -isystem \${top_builddir}/gnulib ${AM_CPPFLAGS}"
383 ],[
384- AM_CPPFLAGS="-I\$(top_srcdir)/gnulib -I\$(top_builddir)/gnulib ${AM_CPPFLAGS}"
385+ AM_CPPFLAGS="-I\${top_srcdir}/gnulib -I\${top_builddir}/gnulib ${AM_CPPFLAGS}"
386 ])
387 ])
388- AS_IF([test "PCT_SRC_IN_SRC" = "yes"],[
389+ m4_if(m4_substr(m4_esyscmd(test -d src && echo 0),0,1),0,[
390 AM_CPPFLAGS="-I\$(top_srcdir)/src -I\$(top_builddir)/src ${AM_CPPFLAGS}"
391+ ],[
392+ AM_CPPFLAGS="-I\$(top_srcdir) -I\$(top_builddir) ${AM_CPPFLAGS}"
393 ])
394
395 PANDORA_USE_PIPE
396
397
398- AM_CPPFLAGS="-I\${top_srcdir} -I\${top_builddir} ${AM_CPPFLAGS}"
399 AM_CFLAGS="${AM_CFLAGS} ${CC_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
400 AM_CXXFLAGS="${AM_CXXFLAGS} ${CXX_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
401
402
403=== added file 'm4/pandora_clock_gettime.m4'
404--- m4/pandora_clock_gettime.m4 1970-01-01 00:00:00 +0000
405+++ m4/pandora_clock_gettime.m4 2010-04-07 18:41:30 +0000
406@@ -0,0 +1,15 @@
407+dnl Copyright (C) 2010 Monty Taylor
408+dnl This file is free software; Monty Taylor
409+dnl gives unlimited permission to copy and/or distribute it,
410+dnl with or without modifications, as long as this notice is preserved.
411+
412+#--------------------------------------------------------------------
413+# Check for clock_gettime
414+#--------------------------------------------------------------------
415+
416+AC_DEFUN([PANDORA_CLOCK_GETTIME],[
417+ AC_SEARCH_LIBS([clock_gettime],[rt])
418+ AS_IF([test "x${ac_cv_search_clock_gettime}" != "xno"],[
419+ AC_DEFINE([HAVE_CLOCK_GETTIME],[1],[Have a working clock_gettime function])
420+ ])
421+])
422
423=== modified file 'm4/pandora_drizzle_build.m4'
424--- m4/pandora_drizzle_build.m4 2010-01-02 04:59:12 +0000
425+++ m4/pandora_drizzle_build.m4 2010-04-07 18:41:30 +0000
426@@ -9,8 +9,7 @@
427
428 AC_DEFUN([PANDORA_DRIZZLE_BUILD],[
429
430- dnl We need to turn on our CXXFLAGS to make sure it shows up correctly
431- PANDORA_CXX_STL_HASH
432+ PANDORA_HAVE_CXX_UNORDERED
433
434 PANDORA_CXX_CSTDINT
435 PANDORA_CXX_CINTTYPES
436@@ -70,6 +69,8 @@
437 AC_CHECK_TYPES([uint, ulong])
438
439 PANDORA_CXX_DEMANGLE
440+ PANDORA_REQUIRE_BOOST([1.32])
441+
442
443 AH_TOP([
444 #ifndef __CONFIG_H__
445
446=== modified file 'm4/pandora_fdatasync.m4'
447--- m4/pandora_fdatasync.m4 2009-12-02 02:57:53 +0000
448+++ m4/pandora_fdatasync.m4 2010-04-07 18:41:30 +0000
449@@ -11,7 +11,7 @@
450 AC_DEFUN([PANDORA_WORKING_FDATASYNC],[
451 AC_CACHE_CHECK([working fdatasync],[ac_cv_func_fdatasync],[
452 AC_LANG_PUSH(C++)
453- AC_RUN_IFELSE([AC_LANG_PROGRAM([[
454+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
455 #include <unistd.h>
456 ]],[[
457 fdatasync(4);
458@@ -22,4 +22,4 @@
459 ])
460 AS_IF([test "x${ac_cv_func_fdatasync}" = "xyes"],
461 [AC_DEFINE([HAVE_FDATASYNC],[1],[If the system has a working fdatasync])])
462-])
463\ No newline at end of file
464+])
465
466=== added file 'm4/pandora_have_boost.m4'
467--- m4/pandora_have_boost.m4 1970-01-01 00:00:00 +0000
468+++ m4/pandora_have_boost.m4 2010-04-07 18:41:30 +0000
469@@ -0,0 +1,73 @@
470+dnl Copyright (C) 2010 Monty Taylor
471+dnl This file is free software; Monty Taylor
472+dnl gives unlimited permission to copy and/or distribute it,
473+dnl with or without modifications, as long as this notice is preserved.
474+
475+AC_DEFUN([_PANDORA_SEARCH_BOOST],[
476+ AC_REQUIRE([AC_LIB_PREFIX])
477+
478+ dnl --------------------------------------------------------------------
479+ dnl Check for boost
480+ dnl --------------------------------------------------------------------
481+
482+ AC_ARG_ENABLE([boost],
483+ [AS_HELP_STRING([--disable-boost],
484+ [Build with boost support @<:@default=on@:>@])],
485+ [ac_enable_boost="$enableval"],
486+ [ac_enable_boost="yes"])
487+
488+ AS_IF([test "x$ac_enable_boost" = "xyes"],[
489+ dnl link against libc because we're just looking for headers here
490+ AC_LANG_PUSH(C++)
491+ AC_LIB_HAVE_LINKFLAGS(c,,[
492+ #include <boost/pool/pool.hpp>
493+ ],[
494+ boost::pool<> test_pool(1);
495+ ])
496+ AC_LANG_POP()
497+ ],[
498+ ac_cv_boost="no"
499+ ])
500+
501+
502+ AS_IF([test "x$1" != "x"],[
503+ AC_CACHE_CHECK([if boost is recent enough],
504+ [pandora_cv_recent_boost],[
505+ pandora_need_boost_version=`echo "$1" | perl -nle '/(\d+)\.(\d+)/; printf "%d%0.3d00", $[]1, $[]2 ;'`
506+ AS_IF([test "x${pandora_need_boost_version}" = "x000000"],[
507+ pandora_cv_recent_boost=yes
508+ ],[
509+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
510+#include <boost/version.hpp>
511+
512+#if BOOST_VERSION < ${pandora_need_boost_version}
513+# error boost too old!
514+#endif
515+ ]],[[]])
516+ ],[
517+ pandora_cv_recent_boost=yes
518+ ],[
519+ pandora_cv_recent_boost=no
520+ ])
521+ ])
522+ ])
523+ AS_IF([test "x${pandora_cv_recent_boost}" = "xno"],[
524+ ac_cv_boost=no
525+ ])
526+ ])
527+
528+
529+ AM_CONDITIONAL(HAVE_BOOST, [test "x${ac_cv_boost}" = "xyes"])
530+
531+])
532+
533+AC_DEFUN([PANDORA_HAVE_BOOST],[
534+ _PANDORA_SEARCH_BOOST($1)
535+])
536+
537+AC_DEFUN([PANDORA_REQUIRE_BOOST],[
538+ PANDORA_HAVE_BOOST($1)
539+ AS_IF([test x$ac_cv_boost = xno],
540+ AC_MSG_ERROR([boost is required for ${PACKAGE}]))
541+])
542+
543
544=== modified file 'm4/pandora_have_gcc_atomics.m4'
545--- m4/pandora_have_gcc_atomics.m4 2009-12-02 02:57:53 +0000
546+++ m4/pandora_have_gcc_atomics.m4 2010-04-07 18:41:30 +0000
547@@ -13,7 +13,7 @@
548 AC_CACHE_CHECK(
549 [whether the compiler provides atomic builtins],
550 [ac_cv_gcc_atomic_builtins],
551- [AC_RUN_IFELSE(
552+ [AC_LINK_IFELSE(
553 [AC_LANG_PROGRAM([],[[
554 int foo= -10; int bar= 10;
555 if (!__sync_fetch_and_add(&foo, bar) || foo)
556@@ -34,4 +34,4 @@
557 [Define to 1 if compiler provides atomic builtins.])
558 ])
559
560-])
561\ No newline at end of file
562+])
563
564=== added file 'm4/pandora_have_libcassandra.m4'
565--- m4/pandora_have_libcassandra.m4 1970-01-01 00:00:00 +0000
566+++ m4/pandora_have_libcassandra.m4 2010-04-07 18:41:30 +0000
567@@ -0,0 +1,44 @@
568+dnl Copyright (C) 2010 Padraig O'Sullivan
569+dnl This file is free software;
570+dnl gives unlimited permission to copy and/or distribute it,
571+dnl with or without modifications, as long as this notice is preserved.
572+
573+AC_DEFUN([_PANDORA_SEARCH_LIBCASSANDRA],[
574+ AC_REQUIRE([AC_LIB_PREFIX])
575+
576+ dnl --------------------------------------------------------------------
577+ dnl Check for libcassandra
578+ dnl --------------------------------------------------------------------
579+
580+ AC_ARG_ENABLE([libcassandra],
581+ [AS_HELP_STRING([--disable-libcassandra],
582+ [Build with libcassandra support @<:@default=on@:>@])],
583+ [ac_enable_libcassandra="$enableval"],
584+ [ac_enable_libcassandra="yes"])
585+
586+ AS_IF([test "x$ac_enable_libcassandra" = "xyes"],[
587+ AC_LANG_PUSH([C++])
588+ AC_LIB_HAVE_LINKFLAGS(cassandra,[thrift],[
589+ #include <libcassandra/cassandra_factory.h>
590+ ],[
591+ libcassandra::CassandraFactory fact("localhost", 9306);
592+ ])
593+ AC_LANG_POP()
594+ ],[
595+ ac_cv_libcassandra="no"
596+ ])
597+
598+ AM_CONDITIONAL(HAVE_LIBCASSANDRA, [test "x${ac_cv_libcassandra}" = "xyes"])
599+
600+])
601+
602+AC_DEFUN([PANDORA_HAVE_LIBCASSANDRA],[
603+ AC_REQUIRE([_PANDORA_SEARCH_LIBCASSANDRA])
604+])
605+
606+AC_DEFUN([PANDORA_REQUIRE_LIBCASSANDRA],[
607+ AC_REQUIRE([PANDORA_HAVE_LIBCASSANDRA])
608+ AS_IF([test "x$ac_cv_libcassandra" = "xno"],[
609+ AC_MSG_ERROR([libcassandra is required for ${PACKAGE}])
610+ ])
611+])
612
613=== modified file 'm4/pandora_have_libdrizzle.m4'
614--- m4/pandora_have_libdrizzle.m4 2009-08-10 21:04:49 +0000
615+++ m4/pandora_have_libdrizzle.m4 2010-04-07 18:41:30 +0000
616@@ -36,20 +36,26 @@
617
618 AC_DEFUN([PANDORA_REQUIRE_LIBDRIZZLE],[
619 AC_REQUIRE([PANDORA_HAVE_LIBDRIZZLE])
620- AS_IF([test "x${ac_cv_libdrizzle}" = "xno"],
621- AC_MSG_ERROR([libdrizzle is required for ${PACKAGE}]))
622+ AS_IF([test "x${ac_cv_libdrizzle}" = "xno"],[
623+ AC_MSG_ERROR([libdrizzle is required for ${PACKAGE}])
624+ ],[
625+ dnl We need at least 0.8 on Solaris non-sparc
626+ AS_IF([test "$target_cpu" != "sparc" -a "x${TARGET_SOLARIS}" = "xtrue"],[
627+ PANDORA_LIBDRIZZLE_RECENT
628+ ])
629+ ])
630 ])
631
632-AC_DEFUN([PANDORA_LIBDRIZZLE_NOVCOL],[
633- AC_CACHE_CHECK([if libdrizzle still has virtual columns],
634- [pandora_cv_libdrizzle_vcol],
635+AC_DEFUN([PANDORA_LIBDRIZZLE_RECENT],[
636+ AC_CACHE_CHECK([if libdrizzle is recent enough],
637+ [pandora_cv_libdrizzle_recent],
638 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
639 #include <libdrizzle/drizzle.h>
640-int foo= DRIZZLE_COLUMN_TYPE_DRIZZLE_VIRTUAL;
641+drizzle_con_options_t foo= DRIZZLE_CON_EXPERIMENTAL;
642 ]])],
643- [pandora_cv_libdrizzle_vcol=yes],
644- [pandora_cv_libdrizzle_vcol=no])])
645- AS_IF([test "$pandora_cv_libdrizzle_vcol" = "yes"],[
646- AC_MSG_ERROR([Your version of libdrizzle is too old. ${PACKAGE} requires at least version 0.4])
647+ [pandora_cv_libdrizzle_recent=yes],
648+ [pandora_cv_libdrizzle_recent=no])])
649+ AS_IF([test "$pandora_cv_libdrizzle_recent" = "no"],[
650+ AC_MSG_ERROR([Your version of libdrizzle is too old. ${PACKAGE} requires at least version 0.8])
651 ])
652 ])
653
654=== added file 'm4/pandora_have_libgtest.m4'
655--- m4/pandora_have_libgtest.m4 1970-01-01 00:00:00 +0000
656+++ m4/pandora_have_libgtest.m4 2010-04-07 18:41:30 +0000
657@@ -0,0 +1,44 @@
658+dnl Copyright (C) 2010 Monty Taylor
659+dnl This file is free software; Monty Taylor
660+dnl gives unlimited permission to copy and/or distribute it,
661+dnl with or without modifications, as long as this notice is preserved.
662+
663+AC_DEFUN([_PANDORA_SEARCH_LIBGTEST],[
664+ AC_REQUIRE([AC_LIB_PREFIX])
665+
666+ dnl --------------------------------------------------------------------
667+ dnl Check for libgtest
668+ dnl --------------------------------------------------------------------
669+
670+ AC_ARG_ENABLE([libgtest],
671+ [AS_HELP_STRING([--disable-libgtest],
672+ [Build with libgtest support @<:@default=on@:>@])],
673+ [ac_enable_libgtest="$enableval"],
674+ [ac_enable_libgtest="yes"])
675+
676+ AS_IF([test "x$ac_enable_libgtest" = "xyes"],[
677+ AC_LANG_PUSH(C++)
678+ AC_LIB_HAVE_LINKFLAGS(gtest,,[
679+ #include <gtest/gtest.h>
680+TEST(pandora_test_libgtest, PandoraTest)
681+{
682+ ASSERT_EQ(1, 1);
683+}
684+ ],[])
685+ AC_LANG_POP()
686+ ],[
687+ ac_cv_libgtest="no"
688+ ])
689+
690+ AM_CONDITIONAL(HAVE_LIBGTEST, [test "x${ac_cv_libgtest}" = "xyes"])
691+])
692+
693+AC_DEFUN([PANDORA_HAVE_LIBGTEST],[
694+ AC_REQUIRE([_PANDORA_SEARCH_LIBGTEST])
695+])
696+
697+AC_DEFUN([PANDORA_REQUIRE_LIBGTEST],[
698+ AC_REQUIRE([_PANDORA_SEARCH_LIBGTEST])
699+ AS_IF([test "x${ac_cv_libgtest}" = "xno"],
700+ AC_MSG_ERROR([libgtest is required for ${PACKAGE}]))
701+])
702
703=== added file 'm4/pandora_have_libinnodb.m4'
704--- m4/pandora_have_libinnodb.m4 1970-01-01 00:00:00 +0000
705+++ m4/pandora_have_libinnodb.m4 2010-04-07 18:41:30 +0000
706@@ -0,0 +1,64 @@
707+dnl Copyright (C) 2009 Sun Microsystems
708+dnl This file is free software; Sun Microsystems
709+dnl gives unlimited permission to copy and/or distribute it,
710+dnl with or without modifications, as long as this notice is preserved.
711+
712+AC_DEFUN([_PANDORA_SEARCH_LIBINNODB],[
713+ AC_REQUIRE([AC_LIB_PREFIX])
714+
715+ dnl --------------------------------------------------------------------
716+ dnl Check for libinnodb
717+ dnl --------------------------------------------------------------------
718+
719+ AC_ARG_ENABLE([libinnodb],
720+ [AS_HELP_STRING([--disable-libinnodb],
721+ [Build with libinnodb support @<:@default=on@:>@])],
722+ [ac_enable_libinnodb="$enableval"],
723+ [ac_enable_libinnodb="yes"])
724+
725+ AS_IF([test "x$ac_enable_libinnodb" = "xyes"],[
726+ AC_LIB_HAVE_LINKFLAGS(innodb,,[
727+ #include <embedded_innodb-1.0/innodb.h>
728+ ],[
729+ ib_u64_t
730+ ib_api_version(void);
731+ ])
732+ ],[
733+ ac_cv_libinnodb="no"
734+ ])
735+
736+
737+ AC_CACHE_CHECK([if libinnodb is recent enough],
738+ [ac_cv_recent_innodb_h],[
739+ save_LIBS=${LIBS}
740+ LIBS="${LIBS} ${LTLIBINNODB}"
741+ AC_LINK_IFELSE(
742+ [AC_LANG_PROGRAM([[
743+ #include <embedded_innodb-1.0/innodb.h>
744+ ]],[[
745+ /* Make sure we have the two-arg version */
746+ ib_table_drop(NULL, "nothing");
747+ ]])],[
748+ ac_cv_recent_innodb_h=yes
749+ ],[
750+ ac_cv_recent_innodb_h=no
751+ ])
752+ LIBS="${save_LIBS}"
753+ ])
754+ AS_IF([test "x${ac_cv_recent_innodb_h}" = "xno"],[
755+ AC_MSG_WARN([${PACKAGE} requires at least version 1.0.6 of Embedded InnoDB])
756+ ac_cv_libinnodb=no
757+ ])
758+
759+ AM_CONDITIONAL(HAVE_LIBINNODB, [test "x${ac_cv_libinnodb}" = "xyes"])
760+])
761+
762+AC_DEFUN([PANDORA_HAVE_LIBINNODB],[
763+ AC_REQUIRE([_PANDORA_SEARCH_LIBINNODB])
764+])
765+
766+AC_DEFUN([PANDORA_REQUIRE_LIBINNODB],[
767+ AC_REQUIRE([PANDORA_HAVE_LIBINNODB])
768+ AS_IF([test "x${ac_cv_libinnodb}" = "xno"],
769+ AC_MSG_ERROR([libinnodb is required for ${PACKAGE}]))
770+])
771
772=== modified file 'm4/pandora_have_libmemcached.m4'
773--- m4/pandora_have_libmemcached.m4 2010-01-10 06:35:43 +0000
774+++ m4/pandora_have_libmemcached.m4 2010-04-07 18:41:30 +0000
775@@ -24,6 +24,11 @@
776 memcached_dump_func *df;
777 memcached_lib_version();
778 ])
779+ ],[
780+ ac_cv_libmemcached="no"
781+ ])
782+
783+ AS_IF([test "x$ac_enable_libmemcached" = "xyes"],[
784 AC_LIB_HAVE_LINKFLAGS(memcachedprotocol,,[
785 #include <libmemcached/protocol_handler.h>
786 ],[
787@@ -31,7 +36,7 @@
788 protocol_handle= memcached_protocol_create_instance();
789 ])
790 ],[
791- ac_cv_libmemcached="no"
792+ ac_cv_libmemcachedprotocol="no"
793 ])
794
795 AC_CACHE_CHECK([if libmemcached has memcached_server_fn],
796@@ -42,21 +47,60 @@
797 ]])],
798 [pandora_cv_libmemcached_server_fn=yes],
799 [pandora_cv_libmemcached_server_fn=no])])
800+
801 AS_IF([test "x$pandora_cv_libmemcached_server_fn" = "xyes"],[
802 AC_DEFINE([HAVE_MEMCACHED_SERVER_FN],[1],[If we have the new memcached_server_fn typedef])
803 ])
804-
805- AM_CONDITIONAL(HAVE_LIBMEMCACHED, [test "x${ac_cv_libmemcached}" = "xyes"])
806+])
807+
808+AC_DEFUN([_PANDORA_RECENT_LIBMEMCACHED],[
809+
810+ AC_CACHE_CHECK([if libmemcached is recent enough],
811+ [pandora_cv_recent_libmemcached],[
812+ AS_IF([test "x${ac_cv_libmemcached}" = "xno"],[
813+ pandora_cv_recent_libmemcached=no
814+ ],[
815+ AS_IF([test "x$1" != "x"],[
816+ pandora_need_libmemcached_version=`echo "$1" | perl -nle '/(\d+)\.(\d+)/; printf "%d%0.3d000", $[]1, $[]2 ;'`
817+ AS_IF([test "x${pandora_need_libmemcached_version}" = "x0000000"],[
818+ pandora_cv_recent_libmemcached=yes
819+ ],[
820+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
821+#include <libmemcached/configure.h>
822+
823+#if !defined(LIBMEMCACHED_VERSION_HEX) || LIBMEMCACHED_VERSION_HEX < 0x]]${pandora_need_libmemcached_version}[[
824+# error libmemcached too old!
825+#endif
826+ ]],[[]])
827+ ],[
828+ pandora_cv_recent_libmemcached=yes
829+ ],[
830+ pandora_cv_recent_libmemcached=no
831+ ])
832+ ])
833+ ],[
834+ pandora_cv_recent_libmemcached=yes
835+ ])
836+ ])
837+ ])
838+
839+ AM_CONDITIONAL(HAVE_LIBMEMCACHED,[test "x${ac_cv_libmemcached}" = "xyes" -a "x${pandora_cv_recent_libmemcached}" = "xyes"])
840
841 ])
842
843 AC_DEFUN([PANDORA_HAVE_LIBMEMCACHED],[
844 AC_REQUIRE([_PANDORA_SEARCH_LIBMEMCACHED])
845+ _PANDORA_RECENT_LIBMEMCACHED($1)
846 ])
847
848 AC_DEFUN([PANDORA_REQUIRE_LIBMEMCACHED],[
849- AC_REQUIRE([PANDORA_HAVE_LIBMEMCACHED])
850- AS_IF([test x$ac_cv_libmemcached = xno],
851+ PANDORA_HAVE_LIBMEMCACHED($1)
852+ AS_IF([test "x{$pandora_cv_recent_libmemcached}" = "xno"],
853 AC_MSG_ERROR([libmemcached is required for ${PACKAGE}]))
854 ])
855
856+AC_DEFUN([PANDORA_REQUIRE_LIBMEMCACHEDPROTOCOL],[
857+ PANDORA_HAVE_LIBMEMCACHED($1)
858+ AS_IF([test x$ac_cv_libmemcachedprotocol = xno],
859+ AC_MSG_ERROR([libmemcachedprotocol is required for ${PACKAGE}]))
860+])
861
862=== added file 'm4/pandora_have_libmysqlclient.m4'
863--- m4/pandora_have_libmysqlclient.m4 1970-01-01 00:00:00 +0000
864+++ m4/pandora_have_libmysqlclient.m4 2010-04-07 18:41:30 +0000
865@@ -0,0 +1,146 @@
866+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
867+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
868+dnl
869+dnl Copyright (C) 2010 Monty Taylor
870+dnl This file is free software; Sun Microsystems
871+dnl gives unlimited permission to copy and/or distribute it,
872+dnl with or without modifications, as long as this notice is preserved.
873+dnl
874+
875+AC_DEFUN([PANDORA_WITH_MYSQL],[
876+ AC_ARG_WITH([mysql],
877+ [AS_HELP_STRING([--with-mysql=PATH],
878+ [path to mysql_config binary or mysql prefix dir])],
879+ [with_mysql=$withval],
880+ [with_mysql=":"])
881+
882+ dnl There are three possibilities:
883+ dnl 1) nothing is given: we will search for mysql_config in PATH
884+ dnl 2) the location of mysql_config is given: we'll use that to determine
885+ dnl 3) a directory argument is given: that will be mysql_base
886+
887+
888+ dnl option 1: nothing, we need to insert something into MYSQL_CONFIG
889+ AS_IF([test "x$with_mysql" = "x:"],[
890+ AC_CHECK_PROGS(MYSQL_CONFIG,[mysql_config])
891+ ],[
892+ MYSQL_CONFIG="${with_mysql}"
893+ ])
894+
895+ AC_CACHE_CHECK([for MySQL Base Location],[pandora_cv_mysql_base],[
896+
897+ dnl option 2: something in MYSQL_CONFIG now, use that to get a base dir
898+ AS_IF([test -f "${MYSQL_CONFIG}" -a -x "${MYSQL_CONFIG}"],[
899+ pandora_cv_mysql_base=$(dirname $(MYSQL_CONFIG --include | sed 's/-I//'))
900+ ],[
901+ dnl option 1: a directory
902+ AS_IF([test -d $with_mysql],[pandora_cv_mysql_base=$with_mysql],[
903+ pandora_cv_mysql_base="not found"
904+ ])
905+ ])
906+ ])
907+])
908+
909+AC_DEFUN([_PANDORA_SEARCH_LIBMYSQLCLIENT],[
910+ AC_REQUIRE([AC_LIB_PREFIX])
911+
912+ AC_ARG_ENABLE([libmysqlclient],
913+ [AS_HELP_STRING([--disable-libmysqlclient],
914+ [Build with libmysqlclient support @<:@default=on@:>@])],
915+ [ac_enable_libmysqlclient="$enableval"],
916+ [ac_enable_libmysqlclient="yes"])
917+
918+ AS_IF([test "x$ac_enable_libmysqlclient" = "xyes"],[
919+ AC_LIB_HAVE_LINKFLAGS(mysqlclient_r,,[
920+#include <mysql/mysql.h>
921+ ],[
922+MYSQL mysql;
923+ ])],[
924+ ac_cv_libmysqlclient_r="no"
925+ ])
926+
927+ AM_CONDITIONAL(HAVE_LIBMYSQLCLIENT, [test "x${ac_cv_libmysqlclient_r}" = "xyes"])
928+
929+AC_DEFUN([PANDORA_HAVE_LIBMYSQLCLIENT],[
930+ AC_REQUIRE([_PANDORA_SEARCH_LIBMYSQLCLIENT])
931+])
932+
933+AC_DEFUN([PANDORA_REQUIRE_LIBMYSQLCLIENT],[
934+ AC_REQUIRE([PANDORA_HAVE_LIBMYSQLCLIENT])
935+ AS_IF([test "x${ac_cv_libmysqlclient_r}" = "xno"],
936+ AC_MSG_ERROR([libmysqlclient_r is required for ${PACKAGE}]))
937+])
938+
939+ AS_IF([test "x$MYSQL_CONFIG" = "xISDIR"],[
940+ IBASE="-I${with_mysql}"
941+ MYSQL_CONFIG="${with_mysql}/scripts/mysql_config"
942+ ADDIFLAGS="$IBASE/include "
943+ ADDIFLAGS="$ADDIFLAGS $IBASE/storage/ndb/include/ndbapi "
944+ ADDIFLAGS="$ADDIFLAGS $IBASE/storage/ndb/include/mgmapi "
945+ ADDIFLAGS="$ADDIFLAGS $IBASE/storage/ndb/include "
946+ LDFLAGS="-L${with_mysql}/storage/ndb/src/.libs -L${with_mysql}/libmysql_r/.libs/ -L${with_mysql}/mysys/.libs -L${with_mysql}/mysys -L${with_mysql}/strings/.libs -L${with_mysql}/strings "
947+ ],[
948+ IBASE=`$MYSQL_CONFIG --include`
949+ ADDIFLAGS=""
950+ # add regular MySQL C flags
951+ ADDCFLAGS=`$MYSQL_CONFIG --cflags`
952+ # add NdbAPI specific C flags
953+ LDFLAGS="$LDFLAGS "`$MYSQL_CONFIG --libs_r | sed 's/-lmysqlclient_r//'`
954+ ])
955+
956+
957+ ADDIFLAGS="$ADDIFLAGS $IBASE/storage/ndb"
958+ ADDIFLAGS="$ADDIFLAGS $IBASE/storage/ndb/ndbapi"
959+ ADDIFLAGS="$ADDIFLAGS $IBASE/storage/ndb/mgmapi"
960+ ADDIFLAGS="$ADDIFLAGS $IBASE/ndb"
961+ ADDIFLAGS="$ADDIFLAGS $IBASE/ndb/ndbapi"
962+ ADDIFLAGS="$ADDIFLAGS $IBASE/ndb/mgmapi"
963+ ADDIFLAGS="$ADDIFLAGS $IBASE"
964+
965+ CFLAGS="$CFLAGS $ADDCFLAGS $ADDIFLAGS"
966+ CXXFLAGS="$CXXFLAGS $ADDCFLAGS $ADDIFLAGS"
967+ MYSQL_INCLUDES="$IBASE $ADDIFLAGS"
968+
969+
970+ dnl AC_CHECK_LIB([mysqlclient_r],[safe_mutex_init],,[AC_MSG_ERROR([Can't link against libmysqlclient_r])])
971+ dnl First test to see if we can run with only ndbclient
972+ AC_CHECK_LIB([ndbclient],[decimal_bin_size],,[dnl else
973+ LDFLAGS="$LDFLAGS -lmysys -ldbug"
974+ AC_CHECK_LIB([mysqlclient_r],[safe_mutex_init],,)
975+ AC_CHECK_LIB([ndbclient],[ndb_init],,[
976+ AC_MSG_ERROR([Can't link against libndbclient])])
977+ AC_CHECK_LIB([mystrings],[decimal_bin_size],,[
978+ AC_MSG_ERROR([Can't find decimal_bin_size])])])
979+ AC_MSG_CHECKING(for NdbApi headers)
980+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <NdbApi.hpp>]], [[int attr=NdbTransaction::Commit; ]])],[ndbapi_found="yes"],[])
981+ AS_IF([test "$ndbapi_found" = "yes"],
982+ [AC_MSG_RESULT(found)],
983+ [AC_MSG_ERROR([Couldn't find NdbApi.hpp!])])
984+ AC_MSG_CHECKING(for NDB_LE_ThreadConfigLoop)
985+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <mgmapi.h>]], [[int attr=NDB_LE_ThreadConfigLoop; ]])],[have_cge63="yes"],[])
986+ AS_IF([test "$have_cge63" = "yes"],
987+ [AC_MSG_RESULT(found)
988+ HAVE_CGE63="-DCGE63"
989+ AC_SUBST(HAVE_CGE63)],
990+ [AC_MSG_RESULT(missing)])
991+
992+ LDFLAGS="$LDFLAGS $LIBS"
993+
994+
995+ MYSQL_MAJOR_VERSION=`$MYSQL_CONFIG --version | sed -e 's/\.//g' -e 's/-//g' -e 's/[A-Za-z]//g' | cut -c1-2`
996+
997+ case "$MYSQL_MAJOR_VERSION" in
998+ 50) AC_DEFINE(MYSQL_50, [1], [mysql5.0])
999+ ;;
1000+ 51) AC_DEFINE(MYSQL_51, [1], [mysql5.1])
1001+ ;;
1002+ *) echo "Unsupported version of MySQL Detected!"
1003+ ;;
1004+ esac
1005+
1006+ AC_SUBST(MYSQL_MAJOR_VERSION)
1007+ AC_SUBST(MYSQL_CONFIG)
1008+
1009+
1010+])
1011+
1012
1013=== added file 'm4/pandora_have_libndbclient.m4'
1014--- m4/pandora_have_libndbclient.m4 1970-01-01 00:00:00 +0000
1015+++ m4/pandora_have_libndbclient.m4 2010-04-07 18:41:30 +0000
1016@@ -0,0 +1,80 @@
1017+dnl -*- mode: m4; c-basic-offset: 2; indent-tabs-mode: nil; -*-
1018+dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
1019+dnl
1020+dnl Copyright (C) 2010 Monty Taylor
1021+dnl This file is free software; Sun Microsystems
1022+dnl gives unlimited permission to copy and/or distribute it,
1023+dnl with or without modifications, as long as this notice is preserved.
1024+dnl
1025+
1026+AC_DEFUN([_PANDORA_SEARCH_LIBNDBCLIENT],[
1027+
1028+ AC_REQUIRE([AC_LIB_PREFIX])
1029+ AC_REQUIRE([PANDORA_WITH_MYSQL])
1030+
1031+ AC_ARG_ENABLE([libndbclient],
1032+ [AS_HELP_STRING([--disable-libndbclient],
1033+ [Build with libndbclient support @<:@default=on@:>@])],
1034+ [ac_enable_libndbclient="$enableval"],
1035+ [ac_enable_libndbclient="yes"])
1036+
1037+ AC_ARG_WITH([libndbclient-prefix],
1038+ [AS_HELP_STRING([--with-libndbclient-prefix],
1039+ [search for libndbclient in DIR])],
1040+ [ac_with_libndbclient=${withval}],
1041+ [ac_with_libndbclient=${pandora_cv_mysql_base}])
1042+
1043+ save_LIBS="${LIBS}"
1044+ LIBS=""
1045+ save_CPPFLAGS="${CPPFLAGS}"
1046+ AS_IF([test "x${ac_with_libndbclient}" != "x"],[
1047+ LIBS="-L${ac_with_libndbclient}/lib/mysql -L${ac_with_libndbclient}/lib"
1048+ AS_IF([test "$GCC" = "yes"],[
1049+ ndb_include_prefix="-isystem "
1050+ ],[
1051+ ndb_include_prefix="-I"
1052+ ])
1053+ 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"
1054+ ])
1055+ LIBS="${LIBS} -lndbclient -lmysqlclient_r"
1056+
1057+ AC_CACHE_CHECK([if NdbApi works],[ac_cv_libndbclient],[
1058+ AC_LANG_PUSH(C++)
1059+ AC_LINK_IFELSE([
1060+ AC_LANG_PROGRAM([[
1061+#include <NdbApi.hpp>
1062+ ]],[[
1063+Ndb *ndb;
1064+ndb_init();
1065+ ]])
1066+ ],[
1067+ ac_cv_libndbclient=yes
1068+ ],[
1069+ ac_cv_libndbclient=no
1070+ ])
1071+ ])
1072+ AC_LANG_POP()
1073+
1074+ LIBNDBCLIENT="${LIBS}"
1075+ LTLIBNDBCLIENT="${LIBS}"
1076+ AC_SUBST([LIBNDBCLIENT])
1077+ AC_SUBST([LTLIBNDBCLIENT])
1078+
1079+ AS_IF([test "x${ac_cv_libndbclient}" = "xno"],[
1080+ CPPFLAGS="${save_CPPFLAGS}"
1081+ ])
1082+ LIBS="${save_LIBS}"
1083+
1084+ AM_CONDITIONAL(HAVE_LIBNDBCLIENT, [test "x${ac_cv_libndbclient}" = "xyes"])
1085+])
1086+
1087+AC_DEFUN([PANDORA_HAVE_LIBNDBCLIENT],[
1088+ AC_REQUIRE([_PANDORA_SEARCH_LIBNDBCLIENT])
1089+])
1090+
1091+AC_DEFUN([PANDORA_REQUIRE_LIBNDBCLIENT],[
1092+ AC_REQUIRE([PANDORA_HAVE_LIBNDBCLIENT])
1093+ AS_IF([test "x${ac_cv_libndbclient}" = "xno"],
1094+ AC_MSG_ERROR([libndbclient is required for ${PACKAGE}]))
1095+])
1096+
1097
1098=== modified file 'm4/pandora_have_libtokyocabinet.m4'
1099--- m4/pandora_have_libtokyocabinet.m4 2009-12-02 02:57:53 +0000
1100+++ m4/pandora_have_libtokyocabinet.m4 2010-04-07 18:41:30 +0000
1101@@ -22,8 +22,10 @@
1102 AS_IF([test "x$ac_enable_libtokyocabinet" = "xyes"],[
1103 AC_LIB_HAVE_LINKFLAGS(tokyocabinet,,[
1104 #include <tcutil.h>
1105+#include <tcadb.h>
1106 ],[
1107 const char *test= tcversion;
1108+bool ret= tcadboptimize(NULL, "params");
1109 ])
1110 ],[
1111 ac_cv_libtokyocabinet="no"
1112@@ -31,11 +33,11 @@
1113
1114 AS_IF([test "${ac_cv_libtokyocabinet}" = "no" -a "${ac_enable_libtokyocabinet}" = "yes"],[
1115
1116- PKG_CHECK_MODULES([LIBTOKYOCABINET], [libtokyocabinet], [
1117+ PKG_CHECK_MODULES([LIBTOKYOCABINET], [libtokyocabinet >= 1.4.15], [
1118 ac_cv_libtokyocabinet=yes
1119 LTLIBTOKYOCABINET=${LIBTOKYOCABINET_LIBS}
1120 LIBTOKYOCABINET=${LIBTOKYOCABINET_LIBS}
1121- ],[])
1122+ ],[test x = y])
1123 ])
1124
1125 AM_CONDITIONAL(HAVE_LIBTOKYOCABINET, [test "${ac_cv_libtokyocabinet}" = "yes"])
1126
1127=== added file 'm4/pandora_have_thrift.m4'
1128--- m4/pandora_have_thrift.m4 1970-01-01 00:00:00 +0000
1129+++ m4/pandora_have_thrift.m4 2010-04-07 18:41:30 +0000
1130@@ -0,0 +1,45 @@
1131+dnl Copyright (C) 2010 Padraig O'Sullivan
1132+dnl This file is free software; Padraig O'Sullivan
1133+dnl gives unlimited permission to copy and/or distribute it,
1134+dnl with or without modifications, as long as this notice is preserved.
1135+
1136+AC_DEFUN([_PANDORA_SEARCH_THRIFT],[
1137+ AC_REQUIRE([AC_LIB_PREFIX])
1138+
1139+ dnl --------------------------------------------------------------------
1140+ dnl Check for thrift
1141+ dnl --------------------------------------------------------------------
1142+
1143+ AC_ARG_ENABLE([thrift],
1144+ [AS_HELP_STRING([--disable-thrift],
1145+ [Build with thrift support @<:@default=on@:>@])],
1146+ [ac_enable_thrift="$enableval"],
1147+ [ac_enable_thrift="yes"])
1148+
1149+ AS_IF([test "x$ac_enable_thrift" = "xyes"],[
1150+ AC_LANG_PUSH(C++)
1151+ AC_LIB_HAVE_LINKFLAGS(thrift,,[
1152+ #include <thrift/Thrift.h>
1153+ ],[
1154+ apache::thrift::TOutput test_output;
1155+ ])
1156+ AC_LANG_POP()
1157+ ],[
1158+ ac_cv_thrift="no"
1159+ ])
1160+
1161+ AM_CONDITIONAL(HAVE_THRIFT, [test "x${ac_cv_thrift}" = "xyes"])
1162+
1163+])
1164+
1165+AC_DEFUN([PANDORA_HAVE_THRIFT],[
1166+ AC_REQUIRE([_PANDORA_SEARCH_THRIFT])
1167+])
1168+
1169+AC_DEFUN([PANDORA_REQUIRE_THRIFT],[
1170+ AC_REQUIRE([PANDORA_HAVE_THRIFT])
1171+ AS_IF([test x$ac_cv_thrift= xno],[
1172+ AC_MSG_ERROR([thrift required for ${PACKAGE}])
1173+ ])
1174+])
1175+
1176
1177=== modified file 'm4/pandora_platform.m4'
1178--- m4/pandora_platform.m4 2010-01-02 04:59:12 +0000
1179+++ m4/pandora_platform.m4 2010-04-07 18:41:30 +0000
1180@@ -34,6 +34,8 @@
1181 ;;
1182 esac
1183
1184+ PANDORA_OPTIMIZE_BITFIELD=1
1185+
1186 case "$target_os" in
1187 *linux*)
1188 TARGET_LINUX="true"
1189@@ -47,6 +49,7 @@
1190 ;;
1191 *solaris*)
1192 TARGET_SOLARIS="true"
1193+ PANDORA_OPTIMIZE_BITFIELD=0
1194 AC_SUBST(TARGET_SOLARIS)
1195 AC_DEFINE([TARGET_OS_SOLARIS], [1], [Whether we are building for Solaris])
1196 ;;
1197@@ -60,6 +63,8 @@
1198 ;;
1199 esac
1200
1201+ AC_SUBST(PANDORA_OPTIMIZE_BITFIELD)
1202+
1203 AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
1204 AC_CHECK_DECL([__ICC], [INTELCC="yes"], [INTELCC="no"])
1205
1206
1207=== modified file 'm4/pandora_plugins.m4'
1208--- m4/pandora_plugins.m4 2009-12-02 02:57:53 +0000
1209+++ m4/pandora_plugins.m4 2010-04-07 18:41:30 +0000
1210@@ -45,7 +45,7 @@
1211 AC_SUBST(pandora_plugin_defs)
1212
1213 AC_SUBST(PANDORA_PLUGIN_DEP_LIBS)
1214- AC_SUBST(pkgplugindir,"\$(pkglibdir)/plugin")
1215+ AC_SUBST(pkgplugindir,"\$(pkglibdir)")
1216 ])
1217
1218 AC_DEFUN([PANDORA_ADD_PLUGIN_DEP_LIB],[
1219
1220=== modified file 'm4/pandora_sasl.m4'
1221--- m4/pandora_sasl.m4 2010-04-05 16:41:24 +0000
1222+++ m4/pandora_sasl.m4 2010-04-07 18:41:30 +0000
1223@@ -13,7 +13,7 @@
1224 [AS_HELP_STRING([--disable-sasl],
1225 [Build with sasl support @<:@default=on@:>@])],
1226 [ac_enable_sasl="$enableval"],
1227- [ac_enable_sasl="no"])
1228+ [ac_enable_sasl="yes"])
1229
1230 AS_IF([test "x$ac_enable_sasl" = "xyes"],
1231 [
1232
1233=== modified file 'm4/pandora_stl_hash.m4'
1234--- m4/pandora_stl_hash.m4 2009-12-18 00:00:02 +0000
1235+++ m4/pandora_stl_hash.m4 2010-04-07 18:41:30 +0000
1236@@ -1,110 +1,89 @@
1237-# We check two things: where the include file is for hash_map, and
1238-# what namespace hash_map lives in within that include file. We
1239+# We check two things: where the include file is for unordered_map, and
1240+# what namespace unordered_map lives in within that include file. We
1241 # include AC_COMPILE_IFELSE for all the combinations we've seen in the
1242-# wild. We define one of HAVE_HASH_MAP or HAVE_EXT_HASH_MAP depending
1243-# on location, and HASH_NAMESPACE to be the namespace hash_map is
1244-# defined in.
1245-#
1246-# Ideally we'd use AC_CACHE_CHECK, but that only lets us store one value
1247-# at a time, and we need to store two (filename and namespace).
1248-# prints messages itself, so we have to do the message-printing ourselves
1249-# via AC_MSG_CHECKING + AC_MSG_RESULT. (TODO(csilvers): can we cache?)
1250-
1251-AC_DEFUN([PANDORA_CXX_STL_HASH],
1252- [AC_MSG_CHECKING(the location of hash_map)
1253- save_CXXFLAGS="${CXXFLAGS}"
1254- CXXFLAGS="${AM_CXXFLAGS} ${CXXFLAGS}"
1255- AC_LANG_PUSH(C++)
1256- ac_cv_cxx_hash_map=""
1257- for location in "" "ext/" "tr1/" ; do
1258- for namespace in __gnu_cxx "" std stdext; do
1259- for classprefix in unordered hash; do
1260- if test -z "$ac_cv_cxx_hash_map"; then
1261- AC_COMPILE_IFELSE(
1262- [AC_LANG_PROGRAM([[#include <${location}${classprefix}_map>]],
1263- [[${namespace}::${classprefix}_map<int, int> t]])],
1264- [ac_cv_cxx_hash_map="<${location}${classprefix}_map>";
1265- ac_cv_cxx_hash_set="<${location}${classprefix}_set>";
1266- ac_cv_cxx_hash_namespace="$namespace";
1267- ac_cv_cxx_hash_map_class="${classprefix}_map";
1268- ac_cv_cxx_hash_set_class="${classprefix}_set"])
1269-
1270- fi
1271- done
1272- done
1273- done
1274-
1275- if test -n "$ac_cv_cxx_hash_map"; then
1276- AC_DEFINE(HAVE_HASH_MAP, 1, [define if the compiler has hash_map])
1277- AC_DEFINE(HAVE_HASH_SET, 1, [define if the compiler has hash_set])
1278- AC_DEFINE_UNQUOTED(HASH_MAP_H,$ac_cv_cxx_hash_map,
1279- [the location of <hash_map>])
1280- AC_DEFINE_UNQUOTED(HASH_SET_H,$ac_cv_cxx_hash_set,
1281- [the location of <hash_set>])
1282- AC_DEFINE_UNQUOTED(HASH_NAMESPACE,$ac_cv_cxx_hash_namespace,
1283- [the namespace of hash_map/hash_set])
1284- AC_DEFINE_UNQUOTED(HASH_MAP_CLASS,$ac_cv_cxx_hash_map_class,
1285- [the classname of hash_map])
1286- AC_DEFINE_UNQUOTED(HASH_SET_CLASS,$ac_cv_cxx_hash_set_class,
1287- [the classname of hash_set])
1288- AC_MSG_RESULT([$ac_cv_cxx_hash_map])
1289- else
1290- AC_MSG_RESULT()
1291- AC_MSG_WARN([could not find an STL hash_map])
1292- fi
1293- AC_CACHE_CHECK(
1294- [whether hash_map has rehash method],
1295- [ac_cv_hash_map_has_rehash],
1296- [AC_COMPILE_IFELSE(
1297- [AC_LANG_PROGRAM([[
1298-#include HASH_MAP_H
1299-using namespace HASH_NAMESPACE;
1300- ]],[[
1301-HASH_MAP_CLASS<int, int> test_hash;
1302-test_hash.rehash(100);
1303- ]])],
1304- [ac_cv_hash_map_has_rehash=yes],
1305- [ac_cv_hash_map_has_rehash=no])])
1306- AS_IF([test $ac_cv_hash_map_has_rehash = yes],[
1307- AC_DEFINE(HASH_MAP_HAS_REHASH, 1, [if hash_map<> hash rehash method])
1308- ])
1309- AC_CACHE_CHECK(
1310- [whether hash_map has resize method],
1311- [ac_cv_hash_map_has_resize],
1312- [AC_COMPILE_IFELSE(
1313- [AC_LANG_PROGRAM([[
1314-#include HASH_MAP_H
1315-using namespace HASH_NAMESPACE;
1316- ]],[[
1317-HASH_MAP_CLASS<int, int> test_hash;
1318-test_hash.resize(100);
1319- ]])],
1320- [ac_cv_hash_map_has_resize=yes],
1321- [ac_cv_hash_map_has_resize=no])])
1322- AS_IF([test $ac_cv_hash_map_has_resize = yes],[
1323- AC_DEFINE(HASH_MAP_HAS_RESIZE, 1, [if hash_map<> hash resize method])
1324- ])
1325- AC_CACHE_CHECK(
1326- [whether to redefine hash<string>],
1327- [ac_cv_redefine_hash_string],
1328- [AC_COMPILE_IFELSE(
1329- [AC_LANG_PROGRAM([[
1330-#include HASH_SET_H
1331-#include <string>
1332-using namespace HASH_NAMESPACE;
1333-using namespace std;
1334- ]],[[
1335-string teststr("test");
1336-HASH_SET_CLASS<string> test_hash;
1337-HASH_SET_CLASS<string>::iterator iter= test_hash.find(teststr);
1338-if (iter != test_hash.end())
1339- return 1;
1340- ]])],
1341- [ac_cv_redefine_hash_string=no],
1342- [ac_cv_redefine_hash_string=yes])])
1343- AS_IF([test $ac_cv_redefine_hash_string = yes],[
1344- AC_DEFINE(REDEFINE_HASH_STRING, 1, [if hash<string> needs to be defined])
1345- ])
1346- CXXFLAGS="${save_CXXFLAGS}"
1347- AC_LANG_POP()
1348+# wild. We define HAVE_UNORDERED_MAP and HAVE_UNORDERED_SET if we have
1349+# them, UNORDERED_MAP_H and UNORDERED_SET_H to their location and
1350+# UNORDERED_NAMESPACE to be the namespace unordered_map is defined in.
1351+
1352+AC_DEFUN([PANDORA_CXX_STL_UNORDERED],[
1353+ save_CXXFLAGS="${CXXFLAGS}"
1354+ CXXFLAGS="${AM_CXXFLAGS} ${CXXFLAGS}"
1355+ AC_LANG_PUSH(C++)
1356+ AC_CACHE_CHECK([for STL unordered_map],
1357+ [pandora_cv_stl_unordered],[
1358+ AC_COMPILE_IFELSE(
1359+ [AC_LANG_PROGRAM([[#include <unordered_map>]],
1360+ [[std::unordered_map<int, int> t]])],
1361+ [pandora_cv_stl_unordered="yes"],
1362+ [pandora_cv_stl_unordered="no"])])
1363+
1364+ AS_IF([test "x${pandora_cv_stl_unordered}" != "xyes"],[
1365+ AC_CACHE_CHECK([for tr1 unordered_map],
1366+ [pandora_cv_tr1_unordered],[
1367+ AC_COMPILE_IFELSE(
1368+ [AC_LANG_PROGRAM([[
1369+/* We put in this define because of a YACC symbol clash in Drizzle.
1370+ Seriously... I cannot believe the GCC guys defined a piece of the internals
1371+ of this named IF - and I can't believe that YACC generates a token define
1372+ called IF. Really?
1373+*/
1374+#define IF 21;
1375+#include <tr1/unordered_map>
1376+ ]],[[
1377+std::tr1::unordered_map<int, int> t
1378+ ]])],
1379+ [pandora_cv_tr1_unordered="yes"],
1380+ [pandora_cv_tr1_unordered="no"])])
1381+ ])
1382+
1383+ AS_IF([test "x${pandora_cv_stl_unordered}" != "xyes" -a "x${pandora_cv_tr1_unordered}" != "xyes"],[
1384+ AC_CACHE_CHECK([for boost unordered_map],
1385+ [pandora_cv_boost_unordered],[
1386+ AC_COMPILE_IFELSE(
1387+ [AC_LANG_PROGRAM([[#include <boost/unordered_map.hpp>]],
1388+ [[boost::unordered_map<int, int> t]])],
1389+ [pandora_cv_boost_unordered="yes"],
1390+ [pandora_cv_boost_unordered="no"])])
1391+ ])
1392+
1393+ CXXFLAGS="${save_CXXFLAGS}"
1394+ AC_LANG_POP()
1395+
1396+ AS_IF([test "x${pandora_cv_stl_unordered}" = "xyes"],[
1397+ AC_DEFINE(HAVE_STD_UNORDERED_MAP, 1,
1398+ [if the compiler has std::unordered_map])
1399+ AC_DEFINE(HAVE_STD_UNORDERED_SET, 1,
1400+ [if the compiler has std::unordered_set])
1401+ pandora_has_unordered=yes
1402+ ])
1403+ AS_IF([test "x${pandora_cv_tr1_unordered}" = "xyes"],[
1404+ AC_DEFINE(HAVE_TR1_UNORDERED_MAP, 1,
1405+ [if the compiler has std::tr1::unordered_map])
1406+ AC_DEFINE(HAVE_TR1_UNORDERED_SET, 1,
1407+ [if the compiler has std::tr1::unordered_set])
1408+ pandora_has_unordered=yes
1409+ ])
1410+ AS_IF([test "x${pandora_cv_boost_unordered}" = "xyes"],[
1411+ AC_DEFINE(HAVE_BOOST_UNORDERED_MAP, 1,
1412+ [if the compiler has boost::unordered_map])
1413+ AC_DEFINE(HAVE_BOOST_UNORDERED_SET, 1,
1414+ [if the compiler has boost::unordered_set])
1415+ pandora_has_unordered=yes
1416+ ])
1417+
1418+ AS_IF([test "x${pandora_has_unordered}" != "xyes"],[
1419+ AC_MSG_WARN([could not find an STL unordered_map])
1420+ ])
1421+])
1422+
1423+AC_DEFUN([PANDORA_HAVE_CXX_UNORDERED],[
1424+ AC_REQUIRE([PANDORA_CXX_STL_UNORDERED])
1425+])
1426+
1427+AC_DEFUN([PANDORA_REQUIRE_CXX_UNORDERED],[
1428+ AC_REQUIRE([PANDORA_HAVE_CXX_UNORDERED])
1429+ AS_IF([test "x${pandora_has_unordered}" != "xyes"],[
1430+ AC_MSG_ERROR([An STL compliant unordered_map is required for ${PACKAGE}.
1431+ Implementations can be found in Recent versions of gcc and in boost])
1432+ ])
1433 ])
1434
1435=== modified file 'm4/pandora_use_pipe.m4'
1436--- m4/pandora_use_pipe.m4 2009-10-01 23:48:09 +0000
1437+++ m4/pandora_use_pipe.m4 2010-04-07 18:41:30 +0000
1438@@ -16,7 +16,7 @@
1439
1440 AS_IF([test "$GCC" = "yes"],[
1441 AC_CACHE_CHECK([for working -pipe], [pandora_cv_use_pipe], [
1442- AC_RUN_IFELSE([AC_LANG_SOURCE([[
1443+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
1444 #include <stdio.h>
1445
1446 int main(int argc, char** argv)
1447
1448=== modified file 'm4/pandora_vc_build.m4'
1449--- m4/pandora_vc_build.m4 2009-12-02 02:57:53 +0000
1450+++ m4/pandora_vc_build.m4 2010-04-07 18:41:30 +0000
1451@@ -3,57 +3,77 @@
1452 dnl gives unlimited permission to copy and/or distribute it,
1453 dnl with or without modifications, as long as this notice is preserved.
1454
1455+AC_DEFUN([PANDORA_TEST_VC_DIR],[
1456+ pandora_building_from_vc=no
1457+
1458+ if test -d ".bzr" ; then
1459+ pandora_building_from_bzr=yes
1460+ pandora_building_from_vc=yes
1461+ else
1462+ pandora_building_from_bzr=no
1463+ fi
1464+
1465+ if test -d ".svn" ; then
1466+ pandora_building_from_svn=yes
1467+ pandora_building_from_vc=yes
1468+ else
1469+ pandora_building_from_svn=no
1470+ fi
1471+
1472+ if test -d ".hg" ; then
1473+ pandora_building_from_hg=yes
1474+ pandora_building_from_vc=yes
1475+ else
1476+ pandora_building_from_hg=no
1477+ fi
1478+
1479+ if test -d ".git" ; then
1480+ pandora_building_from_git=yes
1481+ pandora_building_from_vc=yes
1482+ else
1483+ pandora_building_from_git=no
1484+ fi
1485+])
1486+
1487 AC_DEFUN([PANDORA_BUILDING_FROM_VC],[
1488-
1489- ac_cv_building_from_vc=no
1490-
1491- AS_IF([test -d "${srcdir}/.bzr"],[
1492- ac_cv_building_from_bzr=yes
1493- ac_cv_building_from_vc=yes
1494- ],[
1495- ac_cv_building_from_bzr=no
1496- ])
1497-
1498- AS_IF([test -d "${srcdir}/.svn"],[
1499- ac_cv_building_from_svn=yes
1500- ac_cv_building_from_vc=yes
1501- ],[
1502- ac_cv_building_from_svn=no
1503- ])
1504-
1505- AS_IF([test -d "${srcdir}/.hg"],[
1506- ac_cv_building_from_hg=yes
1507- ac_cv_building_from_vc=yes
1508- ],[
1509- ac_cv_building_from_hg=no
1510- ])
1511-
1512- AS_IF([test -d "${srcdir}/.git"],[
1513- ac_cv_building_from_git=yes
1514- ac_cv_building_from_vc=yes
1515- ],[
1516- ac_cv_building_from_git=no
1517- ])
1518-
1519-
1520+ m4_syscmd(PANDORA_TEST_VC_DIR [
1521+
1522+ PANDORA_RELEASE_DATE=`date +%Y.%m`
1523+ PANDORA_RELEASE_NODOTS_DATE=`date +%Y%m`
1524+
1525+ # Set some defaults
1526+ PANDORA_VC_REVNO="0"
1527+ PANDORA_VC_REVID="unknown"
1528+ PANDORA_VC_BRANCH="bzr-export"
1529+
1530+ if test "${pandora_building_from_bzr}" = "yes"; then
1531+ echo "# Grabbing changelog and version information from bzr"
1532+ PANDORA_BZR_REVNO=`bzr revno`
1533+ if test "x$PANDORA_BZR_REVNO" != "x${PANDORA_VC_REVNO}" ; then
1534+ PANDORA_VC_REVNO="${PANDORA_BZR_REVNO}"
1535+ PANDORA_VC_REVID=`bzr log -r-1 --show-ids | grep revision-id | cut -f2 -d' ' | head -1`
1536+ PANDORA_VC_BRANCH=`bzr nick`
1537+ fi
1538+ fi
1539+
1540+ if ! test -d config ; then
1541+ mkdir -p config
1542+ fi
1543+
1544+ cat > config/pandora_vc_revinfo.tmp <<EOF
1545+PANDORA_VC_REVNO=${PANDORA_VC_REVNO}
1546+PANDORA_VC_REVID=${PANDORA_VC_REVID}
1547+PANDORA_VC_BRANCH=${PANDORA_VC_BRANCH}
1548+PANDORA_RELEASE_DATE=${PANDORA_RELEASE_DATE}
1549+PANDORA_RELEASE_NODOTS_DATE=${PANDORA_RELEASE_NODOTS_DATE}
1550+EOF
1551+ if ! diff config/pandora_vc_revinfo.tmp config/pandora_vc_revinfo >/dev/null 2>&1 ; then
1552+ mv config/pandora_vc_revinfo.tmp config/pandora_vc_revinfo
1553+ fi
1554+ rm -f config/pandora_vc_revinfo.tmp
1555+ ])
1556 ])
1557
1558-dnl Takes one argument which is the prefix to append
1559-AC_DEFUN([PANDORA_EXPORT_BZR_INFO],[
1560- m4_ifval(m4_normalize([$1]),[
1561- m4_define([PEBI_PREFIX],[])
1562- ],[
1563- m4_define([PEBI_PREFIX],m4_toupper(m4_normalize($1))[_])
1564- ])
1565-
1566- AC_DEFINE(PEBI_PREFIX[BZR_REVID], ["BZR_REVID"], [bzr revision ID])
1567- AC_DEFINE(PEBI_PREFIX[BZR_BRANCH], ["BZR_BRANCH"], [bzr branch name])
1568- AC_DEFINE(PEBI_PREFIX[RELEASE_DATE], ["RELEASE_DATE"], [Release date based on the date of the repo checkout])
1569- AC_DEFINE(PEBI_PREFIX[RELEASE_VERSION], ["RELEASE_VERSION"], [$1 version number formatted for display])
1570- AC_DEFINE(PEBI_PREFIX[RELEASE_COMMENT], ["RELEASE_COMMENT"], [Set to trunk if the branch is the main $1 branch])
1571- AC_DEFINE(PEBI_PREFIX[RELEASE_ID], [RELEASE_ID], [$1 version number formatted for numerical comparison])
1572-])
1573-
1574 AC_DEFUN([_PANDORA_READ_FROM_FILE],[
1575 $1=`grep $1 $2 | cut -f2 -d=`
1576 ])
1577@@ -61,50 +81,23 @@
1578 AC_DEFUN([PANDORA_VC_VERSION],[
1579 AC_REQUIRE([PANDORA_BUILDING_FROM_VC])
1580
1581- PANDORA_RELEASE_DATE=`date +%Y.%m`
1582- PANDORA_RELEASE_NODOTS_DATE=`date +%Y%m`
1583-
1584- dnl Set some defaults
1585- PANDORA_VC_REVNO="0"
1586- PANDORA_VC_REVID="unknown"
1587- PANDORA_VC_BRANCH="bzr-export"
1588-
1589- AS_IF([test -f ${srcdir}/config/bzr_revinfo],[
1590- _PANDORA_READ_FROM_FILE([PANDORA_VC_REVNO],${srcdir}/config/bzr_revinfo)
1591- _PANDORA_READ_FROM_FILE([PANDORA_VC_REVID],${srcdir}/config/bzr_revinfo)
1592+ PANDORA_TEST_VC_DIR
1593+
1594+ AS_IF([test -f ${srcdir}/config/pandora_vc_revinfo],[
1595+ _PANDORA_READ_FROM_FILE([PANDORA_VC_REVNO],${srcdir}/config/pandora_vc_revinfo)
1596+ _PANDORA_READ_FROM_FILE([PANDORA_VC_REVID],${srcdir}/config/pandora_vc_revinfo)
1597 _PANDORA_READ_FROM_FILE([PANDORA_VC_BRANCH],
1598- ${srcdir}/config/bzr_revinfo)
1599+ ${srcdir}/config/pandora_vc_revinfo)
1600 _PANDORA_READ_FROM_FILE([PANDORA_RELEASE_DATE],
1601- ${srcdir}/config/bzr_revinfo)
1602+ ${srcdir}/config/pandora_vc_revinfo)
1603 _PANDORA_READ_FROM_FILE([PANDORA_RELEASE_NODOTS_DATE],
1604- ${srcdir}/config/bzr_revinfo)
1605- _PANDORA_READ_FROM_FILE([PANDORA_RELEASE_COMMENT],
1606- ${srcdir}/config/bzr_revinfo)
1607- ])
1608- AS_IF([test "${ac_cv_building_from_bzr}" = "yes"],[
1609-dnl echo "Grabbing changelog and version information from bzr"
1610-dnl bzr log --short > ChangeLog || touch ChangeLog
1611- PANDORA_BZR_REVNO=`bzr revno`
1612- AS_IF([test "x$PANDORA_BZR_REVNO" != "${PANDORA_VC_REVNO}"],[
1613- PANDORA_VC_REVNO="${PANDORA_BZR_REVNO}"
1614- PANDORA_VC_REVID=`bzr log -r-1 --show-ids | grep revision-id | awk '{print $[]2}' | head -1`
1615- PANDORA_VC_BRANCH=`bzr nick`
1616- AS_IF([test "x${PANDORA_VC_BRANCH}" != "${PACKAGE}"],[
1617- PANDORA_RELEASE_COMMENT="${PANDORA_VC_BRANCH}"
1618- ],[
1619- PANDORA_RELEASE_COMMENT="trunk"
1620- ])
1621- ])
1622- ])
1623- AS_IF([! test -d config],[mkdir -p config])
1624- cat > "config/bzr_revinfo" <<EOF
1625-PANDORA_VC_REVNO=${PANDORA_VC_REVNO}
1626-PANDORA_VC_REVID=${PANDORA_VC_REVID}
1627-PANDORA_VC_BRANCH=${PANDORA_VC_BRANCH}
1628-PANDORA_RELEASE_DATE=${PANDORA_RELEASE_DATE}
1629-PANDORA_RELEASE_NODOTS_DATE=${PANDORA_RELEASE_NODOTS_DATE}
1630-PANDORA_RELEASE_COMMENT=${PANDORA_RELEASE_COMMENT}
1631-EOF
1632+ ${srcdir}/config/pandora_vc_revinfo)
1633+ ])
1634+ AS_IF([test "x${PANDORA_VC_BRANCH}" != x"${PACKAGE}"],[
1635+ PANDORA_RELEASE_COMMENT="${PANDORA_VC_BRANCH}"
1636+ ],[
1637+ PANDORA_RELEASE_COMMENT="trunk"
1638+ ])
1639
1640 PANDORA_RELEASE_VERSION="${PANDORA_RELEASE_DATE}.${PANDORA_VC_REVNO}"
1641 PANDORA_RELEASE_ID="${PANDORA_RELEASE_NODOTS_DATE}${PANDORA_VC_REVNO}"
1642@@ -121,3 +114,17 @@
1643 AC_SUBST(PANDORA_RELEASE_VERSION)
1644 AC_SUBST(PANDORA_RELEASE_ID)
1645 ])
1646+
1647+AC_DEFUN([PANDORA_VC_INFO_HEADER],[
1648+ AC_REQUIRE([PANDORA_VC_VERSION])
1649+ m4_define([PANDORA_VC_PREFIX],m4_toupper(m4_normalize(AC_PACKAGE_NAME))[_])
1650+
1651+ AC_DEFINE_UNQUOTED(PANDORA_VC_PREFIX[VC_REVNO], [$PANDORA_VC_REVNO], [Version control revision number])
1652+ AC_DEFINE_UNQUOTED(PANDORA_VC_PREFIX[VC_REVID], ["$PANDORA_VC_REVID"], [Version control revision ID])
1653+ AC_DEFINE_UNQUOTED(PANDORA_VC_PREFIX[VC_BRANCH], ["$PANDORA_VC_BRANCH"], [Version control branch name])
1654+ AC_DEFINE_UNQUOTED(PANDORA_VC_PREFIX[RELEASE_DATE], ["$PANDORA_RELEASE_DATE"], [Release date of version control checkout])
1655+ AC_DEFINE_UNQUOTED(PANDORA_VC_PREFIX[RELEASE_NODOTS_DATE], [$PANDORA_RELEASE_NODOTS_DATE], [Numeric formatted release date of checkout])
1656+ AC_DEFINE_UNQUOTED(PANDORA_VC_PREFIX[RELEASE_COMMENT], ["$PANDORA_RELEASE_COMMENT"], [Set to trunk if the branch is the main $PACKAGE branch])
1657+ AC_DEFINE_UNQUOTED(PANDORA_VC_PREFIX[RELEASE_VERSION], ["$PANDORA_RELEASE_VERSION"], [Release date and revision number of checkout])
1658+ AC_DEFINE_UNQUOTED(PANDORA_VC_PREFIX[RELEASE_ID], [$PANDORA_RELEASE_ID], [Numeric formatted release date and revision number of checkout])
1659+])
1660
1661=== modified file 'm4/pandora_warnings.m4'
1662--- m4/pandora_warnings.m4 2010-01-22 19:04:16 +0000
1663+++ m4/pandora_warnings.m4 2010-04-07 18:41:30 +0000
1664@@ -30,7 +30,7 @@
1665 AC_REQUIRE([PANDORA_BUILDING_FROM_VC])
1666 m4_if(PW_WARN_ALWAYS_ON, [yes],
1667 [ac_cv_warnings_as_errors=yes],
1668- AS_IF([test "$ac_cv_building_from_vc" = "yes"],
1669+ AS_IF([test "$pandora_building_from_vc" = "yes"],
1670 [ac_cv_warnings_as_errors=yes],
1671 [ac_cv_warnings_as_errors=no]))
1672
1673@@ -145,7 +145,9 @@
1674 m4_if(PW_LESS_WARNINGS,[no],[
1675 BASE_WARNINGS_FULL="-Wformat=2 ${W_CONVERSION} -Wstrict-aliasing"
1676 CC_WARNINGS_FULL="-Wswitch-default -Wswitch-enum -Wwrite-strings"
1677- CXX_WARNINGS_FULL="-Wold-style-cast"
1678+ CXX_WARNINGS_FULL="-Weffc++ -Wold-style-cast"
1679+ NO_OLD_STYLE_CAST="-Wno-old-style-cast"
1680+ NO_EFF_CXX="-Wno-effc++"
1681 ],[
1682 BASE_WARNINGS_FULL="-Wformat ${NO_STRICT_ALIASING}"
1683 ])
1684@@ -342,6 +344,8 @@
1685 AC_SUBST(NO_UNREACHED)
1686 AC_SUBST(NO_SHADOW)
1687 AC_SUBST(NO_STRICT_ALIASING)
1688+ AC_SUBST(NO_EFF_CXX)
1689+ AC_SUBST(NO_OLD_STYLE_CAST)
1690 AC_SUBST(PROTOSKIP_WARNINGS)
1691 AC_SUBST(INNOBASE_SKIP_WARNINGS)
1692 AC_SUBST(NO_WERROR)
1693
1694=== modified file 'm4/pandora_with_gettext.m4'
1695--- m4/pandora_with_gettext.m4 2009-12-02 02:57:53 +0000
1696+++ m4/pandora_with_gettext.m4 2010-04-07 18:41:30 +0000
1697@@ -11,10 +11,11 @@
1698
1699 AC_DEFUN([PANDORA_WITH_GETTEXT],[
1700
1701+
1702 m4_syscmd([if test -d po ; then
1703 echo "# This file is auto-generated from configure. Do not edit directly" > po/POTFILES.in.stamp
1704- PACKAGE=`grep ^AC_INIT configure.ac | cut -f2-3 -d[ | cut -f1 -d]`
1705- for f in `find . | grep -v "${PACKAGE}-" | egrep '\.(cc|c|h|yy)$' | cut -c3- | sort`
1706+ PACKAGE=$(grep ^AC_INIT configure.ac | cut -f2-3 -d[ | cut -f1 -d])
1707+ for f in $(find . | grep -v "${PACKAGE}-" | egrep '\.(cc|c|h|yy)$' | cut -c3- | sort)
1708 do
1709 if grep gettext.h "$f" | grep include >/dev/null 2>&1
1710 then
1711@@ -29,13 +30,15 @@
1712 fi
1713 fi])
1714
1715- AM_GNU_GETTEXT(external, need-formatstring-macros)
1716- AM_GNU_GETTEXT_VERSION([0.17])
1717- AS_IF([test "x$MSGMERGE" = "x" -o "x$MSGMERGE" = "x:"],[
1718- AM_PATH_PROG_WITH_TEST(GMSGMERGE, gmsgmerge,
1719- [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
1720- MSGMERGE="${GMSGMERGE}"
1721+ m4_if(m4_substr(m4_esyscmd(test -d po && echo 0),0,1),0, [
1722+ AM_GNU_GETTEXT(external, need-formatstring-macros)
1723+ AM_GNU_GETTEXT_VERSION([0.17])
1724+ AS_IF([test "x$MSGMERGE" = "x" -o "x$MSGMERGE" = "x:"],[
1725+ AM_PATH_PROG_WITH_TEST([GMSGMERGE], gmsgmerge,
1726+ [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
1727+ MSGMERGE="${GMSGMERGE}"
1728+ ])
1729+ AM_CONDITIONAL([BUILD_GETTEXT],[test "x$MSGMERGE" != "x" -a "x$MSGMERGE" != "x:"])
1730 ])
1731- AM_CONDITIONAL([BUILD_GETTEXT],[test "x$MSGMERGE" != "x" -a "x$MSGMERGE" != "x:"])
1732
1733 ])
1734
1735=== removed directory 'src'
1736=== modified file 'tests/hashkit_functions.c'
1737--- tests/hashkit_functions.c 2010-02-05 01:15:17 +0000
1738+++ tests/hashkit_functions.c 2010-04-07 18:41:30 +0000
1739@@ -248,7 +248,7 @@
1740
1741 static test_return_t murmur_run (hashkit_st *hashk __attribute__((unused)))
1742 {
1743-#ifdef __sparc
1744+#ifdef WORDS_BIGENDIAN
1745 return TEST_SKIPPED;
1746 #else
1747 uint32_t x;
1748
1749=== modified file 'tests/include.am'
1750--- tests/include.am 2010-03-03 10:50:13 +0000
1751+++ tests/include.am 2010-04-07 18:41:30 +0000
1752@@ -15,6 +15,8 @@
1753 endif
1754
1755 EXTRA_DIST+= \
1756+ tests/cpp_example.cc \
1757+ tests/output_plus.res \
1758 tests/r/memcat.res \
1759 tests/r/memcp.res \
1760 tests/r/memrm.res \
1761@@ -61,6 +63,7 @@
1762 tests_testapp_LDADD= $(tests_testapp_DEPENDENCIES) $(LIBSASL)
1763
1764 tests_testplus_SOURCES= tests/plus.cpp
1765+tests_testplus_CXXFLAGS= ${AM_CXXFLAGS} ${NO_EFF_CXX}
1766 tests_testplus_DEPENDENCIES= tests/libtest.la tests/libserver.la $(TESTS_LDADDS)
1767 tests_testplus_LDADD= $(tests_testplus_DEPENDENCIES) $(LIBSASL)
1768
1769@@ -90,14 +93,32 @@
1770 tests_testhashkit_LDADD = $(tests_testhashkit_DEPENDENCIES) $(LIBSASL)
1771
1772 tests_hashplus_SOURCES = tests/hash_plus.cc
1773+tests_hashplus_CXXFLAGS = ${AM_CXXFLAGS} ${NO_EFF_CXX}
1774 tests_hashplus_DEPENDENCIES = $(tests_testhashkit_DEPENDENCIES)
1775 tests_hashplus_LDADD = $(tests_testhashkit_DEPENDENCIES) $(LIBSASL)
1776
1777 tests_memplus_SOURCES = tests/mem_plus.cc
1778+tests_memplus_CXXFLAGS = ${AM_CXXFLAGS} ${NO_EFF_CXX}
1779 tests_memplus_DEPENDENCIES = tests/libtest.la tests/libserver.la libmemcached/libmemcached.la
1780 tests_memplus_LDADD = $(tests_memplus_DEPENDENCIES)
1781
1782-test: test-docs test-mem test-hash memcapable
1783+if HAVE_DPKG_GENSYMBOLS
1784+test_gensymbols_dep= test-symbols
1785+endif
1786+
1787+distclean-local:
1788+ @rm -rf .gensymbols
1789+
1790+test-symbols:
1791+ @$(MKDIR_P) .gensymbols
1792+ $(DPKG_GENSYMBOLS) -Iconfig/libmemcached.symbols -plibmemcached -P${builddir}/.gensymbols -e${builddir}/libmemcached/.libs/libmemcached.so -v$(VERSION)
1793+ $(DPKG_GENSYMBOLS) -Iconfig/libhashkit.symbols -plibmemcached -P${builddir}/.gensymbols -e${builddir}/libhashkit/.libs/libhashkit.so -v$(VERSION)
1794+ $(DPKG_GENSYMBOLS) -Iconfig/libmemcachedprotocol.symbols -plibmemcached -P${builddir}/.gensymbols -e${builddir}/libmemcached/.libs/libmemcachedprotocol.so -v$(VERSION)
1795+ $(DPKG_GENSYMBOLS) -Iconfig/libmemcachedutil.symbols -plibmemcached -P${builddir}/.gensymbols -e${builddir}/libmemcached/.libs/libmemcachedutil.so -v$(VERSION)
1796+ $(gensymbols_cmd)
1797+
1798+
1799+test: test-docs test-mem test-hash memcapable $(test_gensymbols_dep)
1800 echo "Tests completed"
1801
1802 test-x: test-docs test-plus test-mem test-hash memcapable test-memcat test-memcp test-memrm test-memerror test-memdump test-memflush test-memstat
1803
1804=== modified file 'tests/mem_functions.c'
1805--- tests/mem_functions.c 2010-04-06 17:22:35 +0000
1806+++ tests/mem_functions.c 2010-04-07 18:41:30 +0000
1807@@ -4796,7 +4796,7 @@
1808
1809 static test_return_t murmur_run (memcached_st *memc __attribute__((unused)))
1810 {
1811-#ifdef __sparc
1812+#ifdef WORDS_BIGENDIAN
1813 return TEST_SKIPPED;
1814 #else
1815 uint32_t x;

Subscribers

People subscribed via source and target branches

to all changes: