memcached 1.2.6 → 1.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +2 -0
- data/Manifest +206 -12
- data/Rakefile +32 -1
- data/ext/extconf.rb +10 -35
- data/ext/libmemcached-0.32/AUTHORS +7 -0
- data/ext/libmemcached-0.32/COPYING +32 -0
- data/ext/libmemcached-0.32/ChangeLog +303 -0
- data/ext/libmemcached-0.32/INSTALL +302 -0
- data/ext/libmemcached-0.32/Makefile.am +36 -0
- data/ext/libmemcached-0.32/Makefile.in +828 -0
- data/ext/libmemcached-0.32/NEWS +1 -0
- data/ext/libmemcached-0.32/README +33 -0
- data/ext/libmemcached-0.32/THANKS +14 -0
- data/ext/libmemcached-0.32/TODO +11 -0
- data/ext/libmemcached-0.32/aclocal.m4 +1852 -0
- data/ext/libmemcached-0.32/clients/Makefile.am +73 -0
- data/ext/libmemcached-0.32/clients/Makefile.in +770 -0
- data/ext/libmemcached-0.32/clients/client_options.h +32 -0
- data/ext/libmemcached-0.32/clients/execute.c +64 -0
- data/ext/libmemcached-0.32/clients/execute.h +5 -0
- data/ext/libmemcached-0.32/clients/generator.c +74 -0
- data/ext/libmemcached-0.32/clients/generator.h +20 -0
- data/ext/libmemcached-0.32/clients/memcat.c +178 -0
- data/ext/libmemcached-0.32/clients/memcp.c +251 -0
- data/ext/libmemcached-0.32/clients/memdump.c +170 -0
- data/ext/libmemcached-0.32/clients/memerror.c +80 -0
- data/ext/libmemcached-0.32/clients/memflush.c +143 -0
- data/ext/libmemcached-0.32/clients/memrm.c +160 -0
- data/ext/libmemcached-0.32/clients/memslap.c +441 -0
- data/ext/libmemcached-0.32/clients/memstat.c +326 -0
- data/ext/libmemcached-0.32/clients/utilities.c +207 -0
- data/ext/libmemcached-0.32/clients/utilities.h +41 -0
- data/ext/libmemcached-0.32/config.h.in +252 -0
- data/ext/libmemcached-0.32/config/compile +143 -0
- data/ext/libmemcached-0.32/config/config.guess +1561 -0
- data/ext/libmemcached-0.32/config/config.rpath +666 -0
- data/ext/libmemcached-0.32/config/config.sub +1686 -0
- data/ext/libmemcached-0.32/config/depcomp +630 -0
- data/ext/libmemcached-0.32/config/install-sh +520 -0
- data/ext/libmemcached-0.32/config/ltmain.sh +8406 -0
- data/ext/libmemcached-0.32/config/missing +376 -0
- data/ext/libmemcached-0.32/configure +23048 -0
- data/ext/libmemcached-0.32/configure.ac +122 -0
- data/ext/libmemcached-0.32/docs/Makefile.am +415 -0
- data/ext/libmemcached-0.32/docs/Makefile.in +918 -0
- data/ext/libmemcached-0.32/docs/libmemcached.pod +123 -0
- data/ext/libmemcached-0.32/docs/libmemcached_examples.pod +115 -0
- data/ext/libmemcached-0.32/docs/libmemcachedutil.pod +40 -0
- data/ext/libmemcached-0.32/docs/memcached_analyze.pod +52 -0
- data/ext/libmemcached-0.32/docs/memcached_auto.pod +97 -0
- data/ext/libmemcached-0.32/docs/memcached_behavior.pod +224 -0
- data/ext/libmemcached-0.32/docs/memcached_callback.pod +123 -0
- data/ext/libmemcached-0.32/docs/memcached_create.pod +61 -0
- data/ext/libmemcached-0.32/docs/memcached_delete.pod +54 -0
- data/ext/libmemcached-0.32/docs/memcached_dump.pod +53 -0
- data/ext/libmemcached-0.32/docs/memcached_flush.pod +46 -0
- data/ext/libmemcached-0.32/docs/memcached_flush_buffers.pod +42 -0
- data/ext/libmemcached-0.32/docs/memcached_generate_hash_value.pod +57 -0
- data/ext/libmemcached-0.32/docs/memcached_get.pod +161 -0
- data/ext/libmemcached-0.32/docs/memcached_memory_allocators.pod +73 -0
- data/ext/libmemcached-0.32/docs/memcached_pool.pod +77 -0
- data/ext/libmemcached-0.32/docs/memcached_quit.pod +47 -0
- data/ext/libmemcached-0.32/docs/memcached_sasl.pod +63 -0
- data/ext/libmemcached-0.32/docs/memcached_server_st.pod +75 -0
- data/ext/libmemcached-0.32/docs/memcached_servers.pod +102 -0
- data/ext/libmemcached-0.32/docs/memcached_set.pod +187 -0
- data/ext/libmemcached-0.32/docs/memcached_stats.pod +82 -0
- data/ext/libmemcached-0.32/docs/memcached_strerror.pod +46 -0
- data/ext/libmemcached-0.32/docs/memcached_user_data.pod +49 -0
- data/ext/libmemcached-0.32/docs/memcached_verbosity.pod +41 -0
- data/ext/libmemcached-0.32/docs/memcached_version.pod +56 -0
- data/ext/libmemcached-0.32/docs/memcat.pod +37 -0
- data/ext/libmemcached-0.32/docs/memcp.pod +40 -0
- data/ext/libmemcached-0.32/docs/memdump.pod +31 -0
- data/ext/libmemcached-0.32/docs/memerror.pod +30 -0
- data/ext/libmemcached-0.32/docs/memflush.pod +35 -0
- data/ext/libmemcached-0.32/docs/memrm.pod +34 -0
- data/ext/libmemcached-0.32/docs/memslap.pod +33 -0
- data/ext/libmemcached-0.32/docs/memstat.pod +35 -0
- data/ext/libmemcached-0.32/libmemcached/Makefile.am +107 -0
- data/ext/libmemcached-0.32/libmemcached/Makefile.in +1050 -0
- data/ext/libmemcached-0.32/libmemcached/byteorder.c +31 -0
- data/ext/libmemcached-0.32/libmemcached/common.h +183 -0
- data/ext/libmemcached-0.32/libmemcached/crc.c +86 -0
- data/ext/libmemcached-0.32/libmemcached/hsieh_hash.c +68 -0
- data/ext/libmemcached-0.32/libmemcached/jenkins_hash.c +213 -0
- data/ext/libmemcached-0.32/libmemcached/libmemcached.ver +1 -0
- data/ext/libmemcached-0.32/libmemcached/libmemcached_probes.d +28 -0
- data/ext/libmemcached-0.32/libmemcached/libmemcached_probes.h +78 -0
- data/ext/libmemcached-0.32/libmemcached/md5.c +354 -0
- data/ext/libmemcached-0.32/libmemcached/memcached.c +152 -0
- data/ext/libmemcached-0.32/libmemcached/memcached.h +302 -0
- data/ext/libmemcached-0.32/libmemcached/memcached.hpp +799 -0
- data/ext/libmemcached-0.32/libmemcached/memcached/README.txt +7 -0
- data/ext/libmemcached-0.32/libmemcached/memcached/protocol_binary.h +366 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_allocators.c +72 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_analyze.c +100 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_auto.c +207 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_behavior.c +285 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_callback.c +175 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_configure.h.in +23 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_connect.c +361 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_constants.h +145 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_delete.c +0 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_do.c +34 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_dump.c +79 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_fetch.c +102 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_flush.c +89 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_flush_buffers.c +22 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_get.c +495 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_get.h +87 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_hash.c +252 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_hosts.c +510 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_internal.h +31 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_io.c +547 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_io.h +59 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_key.c +28 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_parse.c +74 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_pool.h +38 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_purge.c +76 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_quit.c +75 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_response.c +528 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_result.c +57 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_result.h +59 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_sasl.c +225 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_sasl.h +44 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_server.c +159 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_server.h +93 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_stats.c +454 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_storage.c +514 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_storage.h +107 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_strerror.c +92 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_string.c +138 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_string.h +53 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_types.h +44 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_util.h +15 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_verbosity.c +36 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_version.c +112 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_watchpoint.h +38 -0
- data/ext/libmemcached-0.32/libmemcached/murmur_hash.c +76 -0
- data/ext/libmemcached-0.32/libmemcached/visibility.h +51 -0
- data/ext/libmemcached-0.32/libmemcachedutil/Makefile.am +11 -0
- data/ext/libmemcached-0.32/libmemcachedutil/Makefile.in +602 -0
- data/ext/libmemcached-0.32/libmemcachedutil/libmemcachedutil.ver +1 -0
- data/ext/libmemcached-0.32/libmemcachedutil/memcached_pool.c +170 -0
- data/ext/libmemcached-0.32/m4/ac_cxx_compile_stdcxx_0x.m4 +103 -0
- data/ext/libmemcached-0.32/m4/ac_cxx_header_stdcxx_98.m4 +67 -0
- data/ext/libmemcached-0.32/m4/acx_pthread.m4 +276 -0
- data/ext/libmemcached-0.32/m4/byteorder.m4 +40 -0
- data/ext/libmemcached-0.32/m4/deprecated.m4 +17 -0
- data/ext/libmemcached-0.32/m4/enable_utillib.m4 +16 -0
- data/ext/libmemcached-0.32/m4/extensions.m4 +94 -0
- data/ext/libmemcached-0.32/m4/hsieh.m4 +18 -0
- data/ext/libmemcached-0.32/m4/lib-prefix.m4 +221 -0
- data/ext/libmemcached-0.32/m4/libtool.m4 +7360 -0
- data/ext/libmemcached-0.32/m4/ltoptions.m4 +368 -0
- data/ext/libmemcached-0.32/m4/ltsugar.m4 +123 -0
- data/ext/libmemcached-0.32/m4/ltversion.m4 +23 -0
- data/ext/libmemcached-0.32/m4/lt~obsolete.m4 +92 -0
- data/ext/libmemcached-0.32/m4/memcached.m4 +30 -0
- data/ext/libmemcached-0.32/m4/pandora_64bit.m4 +55 -0
- data/ext/libmemcached-0.32/m4/pandora_canonical.m4 +151 -0
- data/ext/libmemcached-0.32/m4/pandora_check_compiler_version.m4 +37 -0
- data/ext/libmemcached-0.32/m4/pandora_check_cxx_standard.m4 +16 -0
- data/ext/libmemcached-0.32/m4/pandora_enable_dtrace.m4 +41 -0
- data/ext/libmemcached-0.32/m4/pandora_ensure_gcc_version.m4 +36 -0
- data/ext/libmemcached-0.32/m4/pandora_have_better_malloc.m4 +54 -0
- data/ext/libmemcached-0.32/m4/pandora_have_sasl.m4 +133 -0
- data/ext/libmemcached-0.32/m4/pandora_header_assert.m4 +23 -0
- data/ext/libmemcached-0.32/m4/pandora_libtool.m4 +15 -0
- data/ext/libmemcached-0.32/m4/pandora_optimize.m4 +79 -0
- data/ext/libmemcached-0.32/m4/pandora_shared_ptr.m4 +56 -0
- data/ext/libmemcached-0.32/m4/pandora_vc_build.m4 +32 -0
- data/ext/libmemcached-0.32/m4/pandora_warnings.m4 +262 -0
- data/ext/libmemcached-0.32/m4/pod2man.m4 +7 -0
- data/ext/libmemcached-0.32/m4/protocol_binary.m4 +23 -0
- data/ext/libmemcached-0.32/m4/setsockopt.m4 +57 -0
- data/ext/libmemcached-0.32/m4/visibility.m4 +52 -0
- data/ext/libmemcached-0.32/support/Makefile.am +4 -0
- data/ext/libmemcached-0.32/support/Makefile.in +485 -0
- data/ext/libmemcached-0.32/support/libmemcached-fc.spec.in +105 -0
- data/ext/libmemcached-0.32/support/libmemcached.pc.in +10 -0
- data/ext/libmemcached-0.32/support/libmemcached.spec +105 -0
- data/ext/libmemcached-0.32/support/libmemcached.spec.in +105 -0
- data/ext/libmemcached-0.32/support/set_benchmark.sh +5 -0
- data/ext/libmemcached-0.32/tests/Makefile.am +105 -0
- data/ext/libmemcached-0.32/tests/Makefile.in +748 -0
- data/ext/libmemcached-0.32/tests/atomsmasher.c +245 -0
- data/ext/libmemcached-0.32/tests/function.c +4781 -0
- data/ext/libmemcached-0.32/tests/ketama_test_cases.h +108 -0
- data/ext/libmemcached-0.32/tests/output.cmp +7 -0
- data/ext/libmemcached-0.32/tests/output.res +7 -0
- data/ext/libmemcached-0.32/tests/output2.res +46 -0
- data/ext/libmemcached-0.32/tests/plus.cpp +293 -0
- data/ext/libmemcached-0.32/tests/r/memcat.res +19 -0
- data/ext/libmemcached-0.32/tests/r/memcp.res +27 -0
- data/ext/libmemcached-0.32/tests/r/memrm.res +19 -0
- data/ext/libmemcached-0.32/tests/r/memslap.res +33 -0
- data/ext/libmemcached-0.32/tests/r/memstat.res +33 -0
- data/ext/libmemcached-0.32/tests/server.c +118 -0
- data/ext/libmemcached-0.32/tests/server.h +25 -0
- data/ext/libmemcached-0.32/tests/start.c +16 -0
- data/ext/libmemcached-0.32/tests/t/memcat.test +4 -0
- data/ext/libmemcached-0.32/tests/t/memcp.test +3 -0
- data/ext/libmemcached-0.32/tests/t/memrm.test +3 -0
- data/ext/libmemcached-0.32/tests/t/memslap.test +5 -0
- data/ext/libmemcached-0.32/tests/t/memstat.test +3 -0
- data/ext/libmemcached-0.32/tests/test.c +137 -0
- data/ext/libmemcached-0.32/tests/test.h +46 -0
- data/ext/libmemcached-0.32/tests/udp.c +76 -0
- data/memcached.gemspec +4 -4
- data/test/unit/memcached_test.rb +30 -0
- metadata +213 -16
- data/ext/libmemcached-0.32.tar.gz +0 -0
- data/ext/libmemcached-1.patch +0 -270
- data/ext/libmemcached-10.patch +0 -12
- data/ext/libmemcached-2.patch +0 -116
- data/ext/libmemcached-3.patch +0 -8
- data/ext/libmemcached-4.patch +0 -40
- data/ext/libmemcached-5.patch +0 -832
- data/ext/libmemcached-6.patch +0 -20
- data/ext/libmemcached-7.patch +0 -2989
- data/ext/libmemcached-8.patch +0 -137
- data/ext/libmemcached-9.patch +0 -13
- data/ext/sasl.patch +0 -29283
@@ -0,0 +1,36 @@
|
|
1
|
+
dnl Copyright (C) 2009 Sun Microsystems
|
2
|
+
dnl This file is free software; Sun Microsystems
|
3
|
+
dnl gives unlimited permission to copy and/or distribute it,
|
4
|
+
dnl with or without modifications, as long as this notice is preserved.
|
5
|
+
|
6
|
+
dnl If the user is on a Mac and didn't ask for a specific compiler
|
7
|
+
dnl You're gonna get 4.2.
|
8
|
+
AC_DEFUN([PANDORA_MAC_GCC42],
|
9
|
+
[AS_IF([test "$GCC" = "yes"],[
|
10
|
+
AS_IF([test "$host_vendor" = "apple" -a "x${ac_cv_env_CC_set}" = "x"],[
|
11
|
+
AS_IF([test -f /usr/bin/gcc-4.2],
|
12
|
+
[
|
13
|
+
CPP="/usr/bin/gcc-4.2 -E"
|
14
|
+
CC=/usr/bin/gcc-4.2
|
15
|
+
CXX=/usr/bin/g++-4.2
|
16
|
+
])
|
17
|
+
])
|
18
|
+
])
|
19
|
+
])
|
20
|
+
|
21
|
+
dnl
|
22
|
+
AC_DEFUN([PANDORA_ENSURE_GCC_VERSION],[
|
23
|
+
AC_REQUIRE([PANDORA_MAC_GCC42])
|
24
|
+
AC_CACHE_CHECK([if GCC is recent enough], [ac_cv_gcc_recent],
|
25
|
+
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
26
|
+
#if !defined(__GNUC__) || (__GNUC__ < 4) || ((__GNUC__ >= 4) && (__GNUC_MINOR__ < 1))
|
27
|
+
# error GCC is Too Old!
|
28
|
+
#endif
|
29
|
+
]])],
|
30
|
+
[ac_cv_gcc_recent=yes],
|
31
|
+
[ac_cv_gcc_recent=no])])
|
32
|
+
AS_IF([test "$ac_cv_gcc_recent" = "no" -a "$host_vendor" = "apple"],
|
33
|
+
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]))
|
34
|
+
AS_IF([test "$ac_cv_gcc_recent" = "no"],
|
35
|
+
AC_MSG_ERROR([Your version of GCC is too old. At least version 4.1 is required]))
|
36
|
+
])
|
@@ -0,0 +1,54 @@
|
|
1
|
+
dnl Copyright (C) 2009 Sun Microsystems
|
2
|
+
dnl This file is free software; Sun Microsystems
|
3
|
+
dnl gives unlimited permission to copy and/or distribute it,
|
4
|
+
dnl with or without modifications, as long as this notice is preserved.
|
5
|
+
|
6
|
+
AC_DEFUN([PANDORA_HAVE_BETTER_MALLOC],[
|
7
|
+
AC_REQUIRE([AC_FUNC_MALLOC])
|
8
|
+
AC_REQUIRE([AC_FUNC_REALLOC])
|
9
|
+
AC_REQUIRE([AC_LIB_PREFIX])
|
10
|
+
|
11
|
+
AC_ARG_ENABLE([umem],
|
12
|
+
[AS_HELP_STRING([--enable-umem],
|
13
|
+
[Enable linking with libumem @<:@default=off@:>@])],
|
14
|
+
[ac_enable_umem="$enableval"],
|
15
|
+
[ac_enable_umem="no"])
|
16
|
+
|
17
|
+
AC_ARG_ENABLE([tcmalloc],
|
18
|
+
[AS_HELP_STRING([--enable-tcmalloc],
|
19
|
+
[Enable linking with tcmalloc @<:@default=off@:>@])],
|
20
|
+
[ac_enable_tcmalloc="$enableval"],
|
21
|
+
[ac_enable_tcmalloc="no"])
|
22
|
+
|
23
|
+
AC_ARG_ENABLE([mtmalloc],
|
24
|
+
[AS_HELP_STRING([--disable-mtmalloc],
|
25
|
+
[Enable linking with mtmalloc @<:@default=on@:>@])],
|
26
|
+
[ac_enable_mtmalloc="$enableval"],
|
27
|
+
[ac_enable_mtmalloc="yes"])
|
28
|
+
|
29
|
+
save_LIBS="${LIBS}"
|
30
|
+
LIBS=
|
31
|
+
AS_IF([test "x$ac_enable_umem" = "xyes"],[
|
32
|
+
AC_CHECK_LIB(umem,malloc,[],[])
|
33
|
+
],[
|
34
|
+
case "$target_os" in
|
35
|
+
*linux*)
|
36
|
+
AS_IF([test "x$ac_enable_tcmalloc" != "xno"],[
|
37
|
+
AC_CHECK_LIB(tcmalloc-minimal,malloc,[],[])
|
38
|
+
AS_IF([test "x$ac_cv_lib_tcmalloc_minimal_malloc" != "xyes"],[
|
39
|
+
AC_CHECK_LIB(tcmalloc,malloc,[],[])
|
40
|
+
])
|
41
|
+
])
|
42
|
+
;;
|
43
|
+
*solaris*)
|
44
|
+
AS_IF([test "x$ac_enable_mtmalloc" != "xno"],[
|
45
|
+
AC_CHECK_LIB(mtmalloc,malloc,[],[])
|
46
|
+
])
|
47
|
+
;;
|
48
|
+
esac
|
49
|
+
])
|
50
|
+
BETTER_MALLOC_LIBS="${LIBS}"
|
51
|
+
LIBS="${save_LIBS}"
|
52
|
+
AC_SUBST([BETTER_MALLOC_LIBS])
|
53
|
+
|
54
|
+
])
|
@@ -0,0 +1,133 @@
|
|
1
|
+
dnl Copyright (C) 2009 Sun Microsystems
|
2
|
+
dnl This file is free software; Sun Microsystems
|
3
|
+
dnl gives unlimited permission to copy and/or distribute it,
|
4
|
+
dnl with or without modifications, as long as this notice is preserved.
|
5
|
+
|
6
|
+
AC_DEFUN([_PANDORA_SEARCH_SASL],[
|
7
|
+
AC_REQUIRE([AC_LIB_PREFIX])
|
8
|
+
|
9
|
+
dnl --------------------------------------------------------------------
|
10
|
+
dnl Check for sasl
|
11
|
+
dnl --------------------------------------------------------------------
|
12
|
+
AC_ARG_ENABLE([sasl],
|
13
|
+
[AS_HELP_STRING([--disable-sasl],
|
14
|
+
[Build with sasl support @<:@default=on@:>@])],
|
15
|
+
[ac_enable_sasl="$enableval"],
|
16
|
+
[ac_enable_sasl="yes"])
|
17
|
+
|
18
|
+
AS_IF([test "x$ac_enable_sasl" = "xyes"],
|
19
|
+
[
|
20
|
+
AC_LIB_HAVE_LINKFLAGS(sasl,,[
|
21
|
+
#include <stdlib.h>
|
22
|
+
#include <sasl/sasl.h>
|
23
|
+
],[
|
24
|
+
sasl_server_init(NULL, NULL);
|
25
|
+
])
|
26
|
+
|
27
|
+
AS_IF([test "x${ac_cv_libsasl}" != "xyes" ],
|
28
|
+
[
|
29
|
+
AC_LIB_HAVE_LINKFLAGS(sasl2,,[
|
30
|
+
#include <stdlib.h>
|
31
|
+
#include <sasl/sasl.h>
|
32
|
+
],[
|
33
|
+
sasl_server_init(NULL, NULL);
|
34
|
+
])
|
35
|
+
HAVE_LIBSASL="$HAVE_LIBSASL2"
|
36
|
+
LIBSASL="$LIBSASL2"
|
37
|
+
LIBSASL_PREFIX="$LIBSASL2_PREFIX"
|
38
|
+
LTLIBSASL="$LT_LIBSASL2"
|
39
|
+
])
|
40
|
+
])
|
41
|
+
|
42
|
+
AS_IF([test "x${ac_cv_libsasl}" = "xyes" -o "x${ac_cv_libsasl2}" = "xyes"],
|
43
|
+
[ac_cv_sasl=yes],
|
44
|
+
[ac_cv_sasl=no])
|
45
|
+
|
46
|
+
AM_CONDITIONAL(HAVE_LIBSASL, [test "x${ac_cv_libsasl}" = "xyes"])
|
47
|
+
AM_CONDITIONAL(HAVE_LIBSASL2, [test "x${ac_cv_libsasl2}" = "xyes"])
|
48
|
+
AM_CONDITIONAL(HAVE_SASL, [test "x${ac_cv_sasl}" = "xyes"])
|
49
|
+
])
|
50
|
+
|
51
|
+
AC_DEFUN([PANDORA_HAVE_SASL],[
|
52
|
+
AC_REQUIRE([_PANDORA_SEARCH_SASL])
|
53
|
+
])
|
54
|
+
|
55
|
+
AC_DEFUN([PANDORA_REQUIRE_SASL],[
|
56
|
+
AC_REQUIRE([_PANDORA_SEARCH_SASL])
|
57
|
+
AS_IF([test "x${ac_cv_sasl}" = "xno"],
|
58
|
+
AC_MSG_ERROR([SASL (libsasl or libsasl2) is required for ${PACKAGE}]))
|
59
|
+
])
|
60
|
+
|
61
|
+
AC_DEFUN([_PANDORA_SEARCH_LIBSASL],[
|
62
|
+
AC_REQUIRE([AC_LIB_PREFIX])
|
63
|
+
|
64
|
+
dnl --------------------------------------------------------------------
|
65
|
+
dnl Check for libsasl
|
66
|
+
dnl --------------------------------------------------------------------
|
67
|
+
|
68
|
+
AC_ARG_ENABLE([libsasl],
|
69
|
+
[AS_HELP_STRING([--disable-libsasl],
|
70
|
+
[Build with libsasl support @<:@default=on@:>@])],
|
71
|
+
[ac_enable_libsasl="$enableval"],
|
72
|
+
[ac_enable_libsasl="yes"])
|
73
|
+
|
74
|
+
AS_IF([test "x$ac_enable_libsasl" = "xyes"],[
|
75
|
+
AC_LIB_HAVE_LINKFLAGS(sasl,,[
|
76
|
+
#include <stdlib.h>
|
77
|
+
#include <sasl/sasl.h>
|
78
|
+
],[
|
79
|
+
sasl_server_init(NULL, NULL);
|
80
|
+
])
|
81
|
+
],[
|
82
|
+
ac_cv_libsasl="no"
|
83
|
+
])
|
84
|
+
|
85
|
+
AM_CONDITIONAL(HAVE_LIBSASL, [test "x${ac_cv_libsasl}" = "xyes"])
|
86
|
+
])
|
87
|
+
|
88
|
+
AC_DEFUN([PANDORA_HAVE_LIBSASL],[
|
89
|
+
AC_REQUIRE([_PANDORA_SEARCH_LIBSASL])
|
90
|
+
])
|
91
|
+
|
92
|
+
AC_DEFUN([PANDORA_REQUIRE_LIBSASL],[
|
93
|
+
AC_REQUIRE([_PANDORA_SEARCH_LIBSASL])
|
94
|
+
AS_IF([test "x${ac_cv_libsasl}" = "xno"],
|
95
|
+
AC_MSG_ERROR([libsasl is required for ${PACKAGE}]))
|
96
|
+
])
|
97
|
+
|
98
|
+
AC_DEFUN([_PANDORA_SEARCH_LIBSASL2],[
|
99
|
+
AC_REQUIRE([AC_LIB_PREFIX])
|
100
|
+
|
101
|
+
dnl --------------------------------------------------------------------
|
102
|
+
dnl Check for libsasl2
|
103
|
+
dnl --------------------------------------------------------------------
|
104
|
+
|
105
|
+
AC_ARG_ENABLE([libsasl2],
|
106
|
+
[AS_HELP_STRING([--disable-libsasl2],
|
107
|
+
[Build with libsasl2 support @<:@default=on@:>@])],
|
108
|
+
[ac_enable_libsasl2="$enableval"],
|
109
|
+
[ac_enable_libsasl2="yes"])
|
110
|
+
|
111
|
+
AS_IF([test "x$ac_enable_libsasl2" = "xyes"],[
|
112
|
+
AC_LIB_HAVE_LINKFLAGS(sasl2,,[
|
113
|
+
#include <stdlib.h>
|
114
|
+
#include <sasl2/sasl2.h>
|
115
|
+
],[
|
116
|
+
sasl2_server_init(NULL, NULL);
|
117
|
+
])
|
118
|
+
],[
|
119
|
+
ac_cv_libsasl2="no"
|
120
|
+
])
|
121
|
+
|
122
|
+
AM_CONDITIONAL(HAVE_LIBSASL2, [test "x${ac_cv_libsasl2}" = "xyes"])
|
123
|
+
])
|
124
|
+
|
125
|
+
AC_DEFUN([PANDORA_HAVE_LIBSASL2],[
|
126
|
+
AC_REQUIRE([_PANDORA_SEARCH_LIBSASL2])
|
127
|
+
])
|
128
|
+
|
129
|
+
AC_DEFUN([PANDORA_REQUIRE_LIBSASL2],[
|
130
|
+
AC_REQUIRE([_PANDORA_SEARCH_LIBSASL2])
|
131
|
+
AS_IF([test "x${ac_cv_libsasl2}" = "xno"],
|
132
|
+
AC_MSG_ERROR([libsasl2 is required for ${PACKAGE}]))
|
133
|
+
])
|
@@ -0,0 +1,23 @@
|
|
1
|
+
dnl Copyright (C) 2009 Sun Microsystems
|
2
|
+
dnl This file is free software; Sun Microsystems
|
3
|
+
dnl gives unlimited permission to copy and/or distribute it,
|
4
|
+
dnl with or without modifications, as long as this notice is preserved.
|
5
|
+
|
6
|
+
dnl PANDORA_HEADER_ASSERT
|
7
|
+
dnl ----------------
|
8
|
+
dnl Check whether to enable assertions.
|
9
|
+
AC_DEFUN([PANDORA_HEADER_ASSERT],
|
10
|
+
[
|
11
|
+
AC_MSG_CHECKING([whether to enable assertions])
|
12
|
+
AC_ARG_ENABLE([assert],
|
13
|
+
[AS_HELP_STRING([--disable-assert],
|
14
|
+
[Turn off assertions])],
|
15
|
+
[ac_cv_assert="no"],
|
16
|
+
[ac_cv_assert="yes"])
|
17
|
+
AC_MSG_RESULT([$ac_cv_assert])
|
18
|
+
|
19
|
+
AS_IF([test "$ac_cv_assert" = "yes"],
|
20
|
+
[AC_CHECK_HEADERS(assert.h)],
|
21
|
+
[AC_DEFINE(NDEBUG, 1, [Define to 1 if assertions should be disabled.])])
|
22
|
+
])
|
23
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
dnl Copyright (C) 2009 Sun Microsystems
|
2
|
+
dnl This file is free software; Sun Microsystems
|
3
|
+
dnl gives unlimited permission to copy and/or distribute it,
|
4
|
+
dnl with or without modifications, as long as this notice is preserved.
|
5
|
+
|
6
|
+
AC_DEFUN([PANDORA_LIBTOOL],[
|
7
|
+
AC_REQUIRE([AC_PROG_LIBTOOL])
|
8
|
+
dnl By requiring AC_PROG_LIBTOOL, we should force the macro system to read
|
9
|
+
dnl libtool.m4, where in 2.2 AC_PROG_LIBTOOL is an alias for LT_INIT
|
10
|
+
dnl Then, if we're on 2.2, we should have LT_LANG, so we'll call it.
|
11
|
+
m4_ifdef([LT_LANG],[
|
12
|
+
LT_LANG(C)
|
13
|
+
LT_LANG(C++)
|
14
|
+
])
|
15
|
+
])
|
@@ -0,0 +1,79 @@
|
|
1
|
+
dnl Copyright (C) 2009 Sun Microsystems
|
2
|
+
dnl This file is free software; Sun Microsystems
|
3
|
+
dnl gives unlimited permission to copy and/or distribute it,
|
4
|
+
dnl with or without modifications, as long as this notice is preserved.
|
5
|
+
|
6
|
+
AC_DEFUN([PANDORA_OPTIMIZE],[
|
7
|
+
dnl Build optimized or debug version ?
|
8
|
+
dnl First check for gcc and g++
|
9
|
+
AS_IF([test "$GCC" = "yes" -a "$INTELCC" = "no"],[
|
10
|
+
|
11
|
+
dnl The following is required for portable results of floating point
|
12
|
+
dnl calculations on PowerPC. The same must also be done for IA-64, but
|
13
|
+
dnl this options is missing in the IA-64 gcc backend.
|
14
|
+
case "$target_cpu" in
|
15
|
+
*ppc* | *powerpc*)
|
16
|
+
AM_CFLAGS="-mno-fused-madd ${AM_CFLAGS}"
|
17
|
+
AM_CXXFLAGS="-mno-fused-madd ${AM_CXXFLAGS}"
|
18
|
+
;;
|
19
|
+
esac
|
20
|
+
|
21
|
+
dnl Once we can use a modern autoconf, we can replace the std=gnu99 here
|
22
|
+
dnl with using AC_CC_STD_C99 above
|
23
|
+
CC="${CC} -std=gnu99"
|
24
|
+
|
25
|
+
AM_CPPFLAGS="-ggdb3 ${AM_CPPFLAGS}"
|
26
|
+
|
27
|
+
DEBUG_CFLAGS="-O0"
|
28
|
+
DEBUG_CXXFLAGS="-O0"
|
29
|
+
|
30
|
+
OPTIMIZE_CFLAGS="-O3"
|
31
|
+
OPTIMIZE_CXXFLAGS="-O3"
|
32
|
+
])
|
33
|
+
AS_IF([test "$INTELCC" = "yes"],[
|
34
|
+
dnl Once we can use a modern autoconf, we can replace the std=gnu99 here
|
35
|
+
dnl with using AC_CC_STD_C99 above
|
36
|
+
CC="${CC} -std=c99"
|
37
|
+
|
38
|
+
AM_CPPFLAGS="-g ${AM_CPPFLAGS}"
|
39
|
+
|
40
|
+
DEBUG_CFLAGS="-O0"
|
41
|
+
DEBUG_CXXFLAGS="-O0"
|
42
|
+
|
43
|
+
OPTIMIZE_CFLAGS="-xHOST -O3 -no-prec-div -static"
|
44
|
+
OPTIMIZE_CXXFLAGS="${OPTIMIZE_CFLAGS}"
|
45
|
+
|
46
|
+
])
|
47
|
+
AS_IF([test "$SUNCC" = "yes"],[
|
48
|
+
dnl Once we can use a modern autoconf, we can replace the -xc99=all here
|
49
|
+
dnl with using AC_CC_STD_C99 above
|
50
|
+
CC="${CC} -xc99=all"
|
51
|
+
CXX="${CXX} -xlang=c99"
|
52
|
+
|
53
|
+
AM_CFLAGS="-g -mt -xstrconst -Xa ${AM_CFLAGS}"
|
54
|
+
AM_CXXFLAGS="-mt -compat=5 -library=stlport4 -template=no%extdef ${AM_CXXFLAGS}"
|
55
|
+
|
56
|
+
DEBUG_CXXFLAGS="-g"
|
57
|
+
|
58
|
+
dnl TODO: Make a test for -xO4 usability here
|
59
|
+
OPTIMIZE_FLAGS="-xO3 -xlibmil -xdepend -xbuiltin"
|
60
|
+
OPTIMIZE_CFLAGS="${OPTIMIZE_FLAGS}"
|
61
|
+
OPTIMIZE_CXXFLAGS="-g0 ${OPTIMIZE_FLAGS}"
|
62
|
+
|
63
|
+
])
|
64
|
+
|
65
|
+
AC_ARG_WITH([debug],
|
66
|
+
[AS_HELP_STRING([--with-debug],
|
67
|
+
[Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
|
68
|
+
[with_debug=$withval],
|
69
|
+
[with_debug=no])
|
70
|
+
AS_IF([test "$with_debug" = "yes"],[
|
71
|
+
# Debugging. No optimization.
|
72
|
+
AM_CFLAGS="${AM_CFLAGS} ${DEBUG_CFLAGS} -DDEBUG"
|
73
|
+
AM_CXXFLAGS="${AM_CXXFLAGS} ${DEBUG_CXXFLAGS} -DDEBUG"
|
74
|
+
],[
|
75
|
+
# Optimized version. No debug
|
76
|
+
AM_CFLAGS="${AM_CFLAGS} ${OPTIMIZE_CFLAGS}"
|
77
|
+
AM_CXXFLAGS="${AM_CXXFLAGS} ${OPTIMIZE_CXXFLAGS}"
|
78
|
+
])
|
79
|
+
])
|
@@ -0,0 +1,56 @@
|
|
1
|
+
dnl Copyright (C) 2009 Sun Microsystems
|
2
|
+
dnl This file is free software; Sun Microsystems
|
3
|
+
dnl gives unlimited permission to copy and/or distribute it,
|
4
|
+
dnl with or without modifications, as long as this notice is preserved.
|
5
|
+
|
6
|
+
dnl We check two things: where is the memory include file, and in what
|
7
|
+
dnl namespace does shared_ptr reside.
|
8
|
+
dnl We include AC_COMPILE_IFELSE for all the combinations we've seen in the
|
9
|
+
dnl wild:
|
10
|
+
dnl
|
11
|
+
dnl GCC 4.3: namespace: std:: #include <memory>
|
12
|
+
dnl GCC 4.2: namespace: tr1:: #include <tr1/memory>
|
13
|
+
dnl GCC 4.2: namespace: boost:: #include <boost/shared_ptr.hpp>
|
14
|
+
dnl
|
15
|
+
dnl We define one of HAVE_HAVE_TR1_SHARED_PTR or HAVE_BOOST_SHARED_PTR
|
16
|
+
dnl depending on location, and SHARED_PTR_NAMESPACE to be the namespace in
|
17
|
+
dnl which shared_ptr is defined.
|
18
|
+
dnl
|
19
|
+
|
20
|
+
AC_DEFUN([PANDORA_SHARED_PTR],[
|
21
|
+
AC_REQUIRE([PANDORA_CHECK_CXX_STANDARD])
|
22
|
+
AC_LANG_PUSH(C++)
|
23
|
+
AC_CHECK_HEADERS(memory tr1/memory boost/shared_ptr.hpp)
|
24
|
+
AC_CACHE_CHECK([the location of shared_ptr header file],
|
25
|
+
[ac_cv_shared_ptr_h],[
|
26
|
+
for namespace in std tr1 std::tr1 boost
|
27
|
+
do
|
28
|
+
AC_COMPILE_IFELSE(
|
29
|
+
[AC_LANG_PROGRAM([[
|
30
|
+
#if defined(HAVE_MEMORY)
|
31
|
+
# include <memory>
|
32
|
+
#endif
|
33
|
+
#if defined(HAVE_TR1_MEMORY)
|
34
|
+
# include <tr1/memory>
|
35
|
+
#endif
|
36
|
+
#if defined(HAVE_BOOST_SHARED_PTR_HPP)
|
37
|
+
# include <boost/shared_ptr.hpp>
|
38
|
+
#endif
|
39
|
+
#include <string>
|
40
|
+
|
41
|
+
using $namespace::shared_ptr;
|
42
|
+
using namespace std;
|
43
|
+
]],[[
|
44
|
+
shared_ptr<string> test_ptr(new string("test string"));
|
45
|
+
]])],
|
46
|
+
[
|
47
|
+
ac_cv_shared_ptr_namespace="${namespace}"
|
48
|
+
break
|
49
|
+
],[ac_cv_shared_ptr_namespace=missing])
|
50
|
+
done
|
51
|
+
])
|
52
|
+
AC_DEFINE_UNQUOTED([SHARED_PTR_NAMESPACE],
|
53
|
+
${ac_cv_shared_ptr_namespace},
|
54
|
+
[The namespace in which SHARED_PTR can be found])
|
55
|
+
AC_LANG_POP()
|
56
|
+
])
|
@@ -0,0 +1,32 @@
|
|
1
|
+
dnl Copyright (C) 2009 Sun Microsystems
|
2
|
+
dnl This file is free software; Sun Microsystems
|
3
|
+
dnl gives unlimited permission to copy and/or distribute it,
|
4
|
+
dnl with or without modifications, as long as this notice is preserved.
|
5
|
+
|
6
|
+
AC_DEFUN([PANDORA_BUILDING_FROM_VC],[
|
7
|
+
|
8
|
+
ac_cv_building_from_vc=no
|
9
|
+
|
10
|
+
AS_IF([test -d "${srcdir}/.bzr"],[
|
11
|
+
ac_cv_building_from_bzr=yes
|
12
|
+
ac_cv_building_from_vc=yes
|
13
|
+
],[
|
14
|
+
ac_cv_building_from_bzr=no
|
15
|
+
])
|
16
|
+
|
17
|
+
AS_IF([test -d "${srcdir}/.svn"],[
|
18
|
+
ac_cv_building_from_svn=yes
|
19
|
+
ac_cv_building_from_vc=yes
|
20
|
+
],[
|
21
|
+
ac_cv_building_from_svn=no
|
22
|
+
])
|
23
|
+
|
24
|
+
AS_IF([test -d "${srcdir}/.hg"],[
|
25
|
+
ac_cv_building_from_hg=yes
|
26
|
+
ac_cv_building_from_vc=yes
|
27
|
+
],[
|
28
|
+
ac_cv_building_from_hg=no
|
29
|
+
])
|
30
|
+
|
31
|
+
])
|
32
|
+
|
@@ -0,0 +1,262 @@
|
|
1
|
+
dnl Copyright (C) 2009 Sun Microsystems
|
2
|
+
dnl This file is free software; Sun Microsystems
|
3
|
+
dnl gives unlimited permission to copy and/or distribute it,
|
4
|
+
dnl with or without modifications, as long as this notice is preserved.
|
5
|
+
|
6
|
+
dnl AC_PANDORA_WARNINGS([less-warnings|warnings-always-on])
|
7
|
+
dnl less-warnings turn on a limited set of warnings
|
8
|
+
dnl warnings-always-on always set warnings=error regardless of tarball/vc
|
9
|
+
|
10
|
+
dnl @TODO: remove less-warnings option as soon as Drizzle is clean enough to
|
11
|
+
dnl allow it
|
12
|
+
|
13
|
+
AC_DEFUN([PANDORA_WARNINGS],[
|
14
|
+
m4_define([PW_LESS_WARNINGS],[no])
|
15
|
+
m4_define([PW_WARN_ALWAYS_ON],[no])
|
16
|
+
ifdef([m4_define],,[define([m4_define], defn([define]))])
|
17
|
+
ifdef([m4_undefine],,[define([m4_undefine], defn([undefine]))])
|
18
|
+
m4_foreach([pw_arg],[$*],[
|
19
|
+
m4_case(pw_arg,
|
20
|
+
[less-warnings],[
|
21
|
+
m4_undefine([PW_LESS_WARNINGS])
|
22
|
+
m4_define([PW_LESS_WARNINGS],[yes])
|
23
|
+
],
|
24
|
+
[warnings-always-on],[
|
25
|
+
m4_undefine([PW_WARN_ALWAYS_ON])
|
26
|
+
m4_define([PW_WARN_ALWAYS_ON],[yes])
|
27
|
+
])
|
28
|
+
])
|
29
|
+
|
30
|
+
AC_REQUIRE([PANDORA_BUILDING_FROM_VC])
|
31
|
+
m4_if(PW_WARN_ALWAYS_ON, [yes],
|
32
|
+
[ac_cv_warnings_as_errors=yes],
|
33
|
+
AS_IF([test "$ac_cv_building_from_vc" = "yes"],
|
34
|
+
[ac_cv_warnings_as_errors=yes],
|
35
|
+
[ac_cv_warnings_as_errors=no]))
|
36
|
+
|
37
|
+
AC_ARG_ENABLE([profiling],
|
38
|
+
[AS_HELP_STRING([--enable-profiling],
|
39
|
+
[Toggle profiling @<:@default=off@:>@])],
|
40
|
+
[ac_profiling="$enableval"],
|
41
|
+
[ac_profiling="no"])
|
42
|
+
|
43
|
+
AC_ARG_ENABLE([coverage],
|
44
|
+
[AS_HELP_STRING([--enable-coverage],
|
45
|
+
[Toggle coverage @<:@default=off@:>@])],
|
46
|
+
[ac_coverage="$enableval"],
|
47
|
+
[ac_coverage="no"])
|
48
|
+
|
49
|
+
AS_IF([test "$GCC" = "yes"],[
|
50
|
+
|
51
|
+
AS_IF([test "$ac_profiling" = "yes"],[
|
52
|
+
CC_PROFILING="-pg"
|
53
|
+
save_LIBS="${LIBS}"
|
54
|
+
LIBS=""
|
55
|
+
AC_CHECK_LIB(c_p, read)
|
56
|
+
LIBC_P="${LIBS}"
|
57
|
+
LIBS="${save_LIBS}"
|
58
|
+
AC_SUBST(LIBC_P)
|
59
|
+
],[
|
60
|
+
CC_PROFILING=" "
|
61
|
+
])
|
62
|
+
|
63
|
+
AS_IF([test "$ac_coverage" = "yes"],
|
64
|
+
[CC_COVERAGE="-fprofile-arcs -ftest-coverage"])
|
65
|
+
|
66
|
+
AS_IF([test "$ac_cv_warnings_as_errors" = "yes"],
|
67
|
+
[W_FAIL="-Werror"])
|
68
|
+
|
69
|
+
AC_CACHE_CHECK([whether it is safe to use -fdiagnostics-show-option],
|
70
|
+
[ac_cv_safe_to_use_fdiagnostics_show_option_],
|
71
|
+
[save_CFLAGS="$CFLAGS"
|
72
|
+
CFLAGS="-fdiagnostics-show-option ${AM_CFLAGS} ${CFLAGS}"
|
73
|
+
AC_COMPILE_IFELSE(
|
74
|
+
[AC_LANG_PROGRAM([],[])],
|
75
|
+
[ac_cv_safe_to_use_fdiagnostics_show_option_=yes],
|
76
|
+
[ac_cv_safe_to_use_fdiagnostics_show_option_=no])
|
77
|
+
CFLAGS="$save_CFLAGS"])
|
78
|
+
|
79
|
+
AS_IF([test "$ac_cv_safe_to_use_fdiagnostics_show_option_" = "yes"],
|
80
|
+
[
|
81
|
+
F_DIAGNOSTICS_SHOW_OPTION="-fdiagnostics-show-option"
|
82
|
+
])
|
83
|
+
|
84
|
+
AC_CACHE_CHECK([whether it is safe to use -Wconversion],
|
85
|
+
[ac_cv_safe_to_use_wconversion_],
|
86
|
+
[save_CFLAGS="$CFLAGS"
|
87
|
+
dnl Use -Werror here instead of ${W_FAIL} so that we don't spew
|
88
|
+
dnl conversion warnings to all the tarball folks
|
89
|
+
CFLAGS="-Wconversion -Werror -pedantic ${AM_CFLAGS} ${CFLAGS}"
|
90
|
+
AC_COMPILE_IFELSE(
|
91
|
+
[AC_LANG_PROGRAM([[
|
92
|
+
#include <stdbool.h>
|
93
|
+
void foo(bool a)
|
94
|
+
{
|
95
|
+
(void)a;
|
96
|
+
}
|
97
|
+
]],[[
|
98
|
+
foo(0);
|
99
|
+
]])],
|
100
|
+
[ac_cv_safe_to_use_wconversion_=yes],
|
101
|
+
[ac_cv_safe_to_use_wconversion_=no])
|
102
|
+
CFLAGS="$save_CFLAGS"])
|
103
|
+
|
104
|
+
AS_IF([test "$ac_cv_safe_to_use_wconversion_" = "yes"],
|
105
|
+
[W_CONVERSION="-Wconversion"
|
106
|
+
AC_CACHE_CHECK([whether it is safe to use -Wconversion with htons],
|
107
|
+
[ac_cv_safe_to_use_Wconversion_],
|
108
|
+
[save_CFLAGS="$CFLAGS"
|
109
|
+
dnl Use -Werror here instead of ${W_FAIL} so that we don't spew
|
110
|
+
dnl conversion warnings to all the tarball folks
|
111
|
+
CFLAGS="-Wconversion -Werror -pedantic ${AM_CFLAGS} ${CFLAGS}"
|
112
|
+
AC_COMPILE_IFELSE(
|
113
|
+
[AC_LANG_PROGRAM(
|
114
|
+
[[
|
115
|
+
#include <netinet/in.h>
|
116
|
+
]],[[
|
117
|
+
uint16_t x= htons(80);
|
118
|
+
]])],
|
119
|
+
[ac_cv_safe_to_use_Wconversion_=yes],
|
120
|
+
[ac_cv_safe_to_use_Wconversion_=no])
|
121
|
+
CFLAGS="$save_CFLAGS"])
|
122
|
+
|
123
|
+
AS_IF([test "$ac_cv_safe_to_use_Wconversion_" = "no"],
|
124
|
+
[NO_CONVERSION="-Wno-conversion"])
|
125
|
+
])
|
126
|
+
|
127
|
+
NO_STRICT_ALIASING="-fno-strict-aliasing -Wno-strict-aliasing"
|
128
|
+
NO_SHADOW="-Wno-shadow"
|
129
|
+
|
130
|
+
AS_IF([test "$INTELCC" = "yes"],[
|
131
|
+
m4_if(PW_LESS_WARNINGS,[no],[
|
132
|
+
BASE_WARNINGS="-w1 -Wall -Werror -Wcheck -Wformat -Wp64 -Woverloaded-virtual -Wcast-qual"
|
133
|
+
],[
|
134
|
+
BASE_WARNINGS="-w1 -Wall -Wcheck -Wformat -Wp64 -Woverloaded-virtual -Wcast-qual -diag-disable 981"
|
135
|
+
])
|
136
|
+
CC_WARNINGS="${BASE_WARNINGS}"
|
137
|
+
CXX_WARNINGS="${BASE_WARNINGS}"
|
138
|
+
],[
|
139
|
+
m4_if(PW_LESS_WARNINGS,[no],[
|
140
|
+
BASE_WARNINGS_FULL="-Wformat=2 ${W_CONVERSION} -Wstrict-aliasing"
|
141
|
+
CC_WARNINGS_FULL="-Wswitch-default -Wswitch-enum -Wwrite-strings"
|
142
|
+
CXX_WARNINGS_FULL="-Weffc++ -Wold-style-cast"
|
143
|
+
],[
|
144
|
+
BASE_WARNINGS_FULL="-Wformat ${NO_STRICT_ALIASING}"
|
145
|
+
])
|
146
|
+
|
147
|
+
AS_IF([test "${ac_cv_assert}" = "no"],
|
148
|
+
[NO_UNUSED="-Wno-unused-variable -Wno-unused-parameter"])
|
149
|
+
|
150
|
+
BASE_WARNINGS="${W_FAIL} -pedantic -Wall -Wextra -Wundef -Wshadow ${NO_UNUSED} ${F_DIAGNOSTICS_SHOW_OPTION} ${CFLAG_VISIBILITY} ${BASE_WARNINGS_FULL}"
|
151
|
+
CC_WARNINGS="${BASE_WARNINGS} -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wcast-align ${CC_WARNINGS_FULL}"
|
152
|
+
CXX_WARNINGS="${BASE_WARNINGS} -Woverloaded-virtual -Wnon-virtual-dtor -Wctor-dtor-privacy -Wno-long-long ${CXX_WARNINGS_FULL}"
|
153
|
+
|
154
|
+
AC_CACHE_CHECK([whether it is safe to use -Wmissing-declarations from C++],
|
155
|
+
[ac_cv_safe_to_use_Wmissing_declarations_],
|
156
|
+
[AC_LANG_PUSH(C++)
|
157
|
+
save_CXXFLAGS="$CXXFLAGS"
|
158
|
+
CXXFLAGS="-Werror -pedantic -Wmissing-declarations ${AM_CXXFLAGS}"
|
159
|
+
AC_COMPILE_IFELSE([
|
160
|
+
AC_LANG_PROGRAM(
|
161
|
+
[[
|
162
|
+
#include <stdio.h>
|
163
|
+
]], [[]])
|
164
|
+
],
|
165
|
+
[ac_cv_safe_to_use_Wmissing_declarations_=yes],
|
166
|
+
[ac_cv_safe_to_use_Wmissing_declarations_=no])
|
167
|
+
CXXFLAGS="$save_CXXFLAGS"
|
168
|
+
AC_LANG_POP()
|
169
|
+
])
|
170
|
+
AS_IF([test "$ac_cv_safe_to_use_Wmissing_declarations_" = "yes"],
|
171
|
+
[CXX_WARNINGS="${CXX_WARNINGS} -Wmissing-declarations"])
|
172
|
+
|
173
|
+
AC_CACHE_CHECK([whether it is safe to use -Wlogical-op],
|
174
|
+
[ac_cv_safe_to_use_Wlogical_op_],
|
175
|
+
[save_CFLAGS="$CFLAGS"
|
176
|
+
CFLAGS="${W_FAIL} -pedantic -Wlogical-op ${AM_CFLAGS} ${CFLAGS}"
|
177
|
+
AC_COMPILE_IFELSE([
|
178
|
+
AC_LANG_PROGRAM(
|
179
|
+
[[
|
180
|
+
#include <stdio.h>
|
181
|
+
]], [[]])
|
182
|
+
],
|
183
|
+
[ac_cv_safe_to_use_Wlogical_op_=yes],
|
184
|
+
[ac_cv_safe_to_use_Wlogical_op_=no])
|
185
|
+
CFLAGS="$save_CFLAGS"])
|
186
|
+
AS_IF([test "$ac_cv_safe_to_use_Wlogical_op_" = "yes"],
|
187
|
+
[CC_WARNINGS="${CC_WARNINGS} -Wlogical-op"])
|
188
|
+
|
189
|
+
AC_CACHE_CHECK([whether it is safe to use -Wredundant-decls from C++],
|
190
|
+
[ac_cv_safe_to_use_Wredundant_decls_],
|
191
|
+
[AC_LANG_PUSH(C++)
|
192
|
+
save_CXXFLAGS="${CXXFLAGS}"
|
193
|
+
CXXFLAGS="${W_FAIL} -pedantic -Wredundant-decls ${AM_CXXFLAGS}"
|
194
|
+
AC_COMPILE_IFELSE(
|
195
|
+
[AC_LANG_PROGRAM([
|
196
|
+
template <typename E> struct C { void foo(); };
|
197
|
+
template <typename E> void C<E>::foo() { }
|
198
|
+
template <> void C<int>::foo();
|
199
|
+
AC_INCLUDES_DEFAULT])],
|
200
|
+
[ac_cv_safe_to_use_Wredundant_decls_=yes],
|
201
|
+
[ac_cv_safe_to_use_Wredundant_decls_=no])
|
202
|
+
CXXFLAGS="${save_CXXFLAGS}"
|
203
|
+
AC_LANG_POP()])
|
204
|
+
AS_IF([test "$ac_cv_safe_to_use_Wredundant_decls_" = "yes"],
|
205
|
+
[CXX_WARNINGS="${CXX_WARNINGS} -Wredundant-decls"],
|
206
|
+
[CXX_WARNINGS="${CXX_WARNINGS} -Wno-redundant-decls"])
|
207
|
+
|
208
|
+
NO_REDUNDANT_DECLS="-Wno-redundant-decls"
|
209
|
+
PROTOSKIP_WARNINGS="-Wno-effc++ -Wno-shadow"
|
210
|
+
|
211
|
+
])
|
212
|
+
])
|
213
|
+
|
214
|
+
AS_IF([test "$SUNCC" = "yes"],[
|
215
|
+
|
216
|
+
AS_IF([test "$ac_profiling" = "yes"],
|
217
|
+
[CC_PROFILING="-xinstrument=datarace"])
|
218
|
+
|
219
|
+
AS_IF([test "$ac_cv_warnings_as_errors" = "yes"],
|
220
|
+
[W_FAIL="-errwarn=%all"])
|
221
|
+
|
222
|
+
AC_CACHE_CHECK([whether E_PASTE_RESULT_NOT_TOKEN is usable],
|
223
|
+
[ac_cv_paste_result],
|
224
|
+
[
|
225
|
+
save_CFLAGS="${CFLAGS}"
|
226
|
+
CFLAGS="-errwarn=%all -erroff=E_PASTE_RESULT_NOT_TOKEN ${CFLAGS}"
|
227
|
+
AC_COMPILE_IFELSE(
|
228
|
+
[AC_LANG_PROGRAM([
|
229
|
+
AC_INCLUDES_DEFAULT
|
230
|
+
],[
|
231
|
+
int x= 0;])],
|
232
|
+
[ac_cv_paste_result=yes],
|
233
|
+
[ac_cv_paste_result=no])
|
234
|
+
CFLAGS="${save_CFLAGS}"
|
235
|
+
])
|
236
|
+
AS_IF([test $ac_cv_paste_result = yes],
|
237
|
+
[W_PASTE_RESULT=",E_PASTE_RESULT_NOT_TOKEN"])
|
238
|
+
|
239
|
+
|
240
|
+
m4_if(PW_LESS_WARNINGS, [no],[
|
241
|
+
CC_WARNINGS_FULL="-erroff=E_INTEGER_OVERFLOW_DETECTED${W_PASTE_RESULT}"
|
242
|
+
CXX_WARNINGS_FULL="-erroff=inllargeuse"
|
243
|
+
],[
|
244
|
+
CC_WARNINGS_FULL="-erroff=E_ATTRIBUTE_NOT_VAR"
|
245
|
+
CXX_WARNINGS_FULL="-erroff=attrskipunsup,doubunder,reftotemp,inllargeuse,truncwarn1,signextwarn,inllargeint"
|
246
|
+
])
|
247
|
+
|
248
|
+
CC_WARNINGS="-v -errtags=yes ${W_FAIL} ${CC_WARNINGS_FULL}"
|
249
|
+
CXX_WARNINGS="+w +w2 -xwe -xport64 -errtags=yes ${CXX_WARNINGS_FULL} ${W_FAIL}"
|
250
|
+
PROTOSKIP_WARNINGS="-erroff=attrskipunsup,doubunder,reftotemp,wbadinitl,identexpected,inllargeuse,truncwarn1,signextwarn"
|
251
|
+
NO_UNREACHED="-erroff=E_STATEMENT_NOT_REACHED"
|
252
|
+
|
253
|
+
])
|
254
|
+
|
255
|
+
AC_SUBST(NO_CONVERSION)
|
256
|
+
AC_SUBST(NO_REDUNDANT_DECLS)
|
257
|
+
AC_SUBST(NO_UNREACHED)
|
258
|
+
AC_SUBST(NO_SHADOW)
|
259
|
+
AC_SUBST(NO_STRICT_ALIASING)
|
260
|
+
AC_SUBST(PROTOSKIP_WARNINGS)
|
261
|
+
|
262
|
+
])
|