vinted-memcached 1.8.0
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.
- checksums.yaml +7 -0
- data/BENCHMARKS +142 -0
- data/CHANGELOG +176 -0
- data/Gemfile +11 -0
- data/Gemfile.lock +45 -0
- data/LICENSE +184 -0
- data/Manifest +209 -0
- data/README.rdoc +124 -0
- data/Rakefile +134 -0
- data/TODO +1 -0
- data/ext/extconf-make.rb +25 -0
- data/ext/extconf.rb +78 -0
- 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 +911 -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 +2108 -0
- data/ext/libmemcached-0.32/clients/Makefile.am +80 -0
- data/ext/libmemcached-0.32/clients/Makefile.in +773 -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/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 +9636 -0
- data/ext/libmemcached-0.32/config/missing +376 -0
- data/ext/libmemcached-0.32/config.h.in +254 -0
- data/ext/libmemcached-0.32/configure +23843 -0
- data/ext/libmemcached-0.32/configure.ac +120 -0
- data/ext/libmemcached-0.32/libmemcached/Makefile.am +111 -0
- data/ext/libmemcached-0.32/libmemcached/Makefile.in +1069 -0
- data/ext/libmemcached-0.32/libmemcached/byteorder.c +31 -0
- data/ext/libmemcached-0.32/libmemcached/common.h +189 -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 +30 -0
- data/ext/libmemcached-0.32/libmemcached/libmemcached_probes.h +82 -0
- data/ext/libmemcached-0.32/libmemcached/md5.c +354 -0
- data/ext/libmemcached-0.32/libmemcached/memcached/README.txt +7 -0
- data/ext/libmemcached-0.32/libmemcached/memcached/protocol_binary.h +385 -0
- data/ext/libmemcached-0.32/libmemcached/memcached.c +153 -0
- data/ext/libmemcached-0.32/libmemcached/memcached.h +305 -0
- data/ext/libmemcached-0.32/libmemcached/memcached.hpp +799 -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 +290 -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 +371 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_constants.h +146 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_delete.c +0 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_do.c +72 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_dump.c +79 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_exist.c +114 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_exist.h +20 -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 +23 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_get.c +494 -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 +594 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_io.h +72 -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 +529 -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 +437 -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_touch.c +60 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_touch.h +31 -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 +604 -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 +7831 -0
- data/ext/libmemcached-0.32/m4/ltoptions.m4 +369 -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 +98 -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 +487 -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 +113 -0
- data/ext/libmemcached-0.32/tests/Makefile.in +762 -0
- data/ext/libmemcached-0.32/tests/atomsmasher.c +245 -0
- data/ext/libmemcached-0.32/tests/function.c +4904 -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/ext/rlibmemcached.i +258 -0
- data/ext/rlibmemcached_wrap.c +13917 -0
- data/lib/memcached/auth.rb +16 -0
- data/lib/memcached/behaviors.rb +78 -0
- data/lib/memcached/exceptions.rb +84 -0
- data/lib/memcached/experimental.rb +48 -0
- data/lib/memcached/marshal_codec.rb +10 -0
- data/lib/memcached/memcached.rb +732 -0
- data/lib/memcached/rails.rb +250 -0
- data/lib/memcached.rb +33 -0
- data/memcached.gemspec +0 -0
- data/test/profile/benchmark.rb +280 -0
- data/test/profile/c_profiler.rb +14 -0
- data/test/profile/exercise.rb +185 -0
- data/test/profile/rb_profiler.rb +21 -0
- data/test/profile/valgrind.rb +10 -0
- data/test/setup.rb +30 -0
- data/test/teardown.rb +0 -0
- data/test/test_helper.rb +18 -0
- data/test/unit/binding_test.rb +8 -0
- data/test/unit/memcached_experimental_test.rb +272 -0
- data/test/unit/memcached_test.rb +1487 -0
- data/test/unit/rails_test.rb +330 -0
- metadata +336 -0
|
@@ -0,0 +1,151 @@
|
|
|
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 Which version of the canonical setup we're using
|
|
7
|
+
AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.22])
|
|
8
|
+
|
|
9
|
+
AC_DEFUN([PANDORA_FORCE_DEPEND_TRACKING],[
|
|
10
|
+
dnl Force dependency tracking on for Sun Studio builds
|
|
11
|
+
AS_IF([test "x${enable_dependency_tracking}" = "x"],[
|
|
12
|
+
enable_dependency_tracking=yes
|
|
13
|
+
])
|
|
14
|
+
])
|
|
15
|
+
|
|
16
|
+
dnl The standard setup for how we build Pandora projects
|
|
17
|
+
AC_DEFUN([PANDORA_CANONICAL_TARGET],[
|
|
18
|
+
AC_REQUIRE([PANDORA_FORCE_DEPEND_TRACKING])
|
|
19
|
+
ifdef([m4_define],,[define([m4_define], defn([define]))])
|
|
20
|
+
ifdef([m4_undefine],,[define([m4_undefine], defn([undefine]))])
|
|
21
|
+
m4_define([PCT_ALL_ARGS],[$*])
|
|
22
|
+
m4_define([PCT_USE_GNULIB],[no])
|
|
23
|
+
m4_define([PCT_REQUIRE_CXX],[no])
|
|
24
|
+
m4_define([PCT_IGNORE_SHARED_PTR],[no])
|
|
25
|
+
m4_define([PCT_FORCE_GCC42],[no])
|
|
26
|
+
m4_foreach([pct_arg],[$*],[
|
|
27
|
+
m4_case(pct_arg,
|
|
28
|
+
[use-gnulib], [
|
|
29
|
+
m4_undefine([PCT_USE_GNULIB])
|
|
30
|
+
m4_define([PCT_USE_GNULIB],[yes])
|
|
31
|
+
],
|
|
32
|
+
[require-cxx], [
|
|
33
|
+
m4_undefine([PCT_REQUIRE_CXX])
|
|
34
|
+
m4_define([PCT_REQUIRE_CXX],[yes])
|
|
35
|
+
],
|
|
36
|
+
[ignore-shared-ptr], [
|
|
37
|
+
m4_undefine([PCT_IGNORE_SHARED_PTR])
|
|
38
|
+
m4_define([PCT_IGNORE_SHARED_PTR],[yes])
|
|
39
|
+
],
|
|
40
|
+
[force-gcc42], [
|
|
41
|
+
m4_undefine([PCT_FORCE_GCC42])
|
|
42
|
+
m4_define([PCT_FORCE_GCC42],[yes])
|
|
43
|
+
])
|
|
44
|
+
])
|
|
45
|
+
|
|
46
|
+
# We need to prevent canonical target
|
|
47
|
+
# from injecting -O2 into CFLAGS - but we won't modify anything if we have
|
|
48
|
+
# set CFLAGS on the command line, since that should take ultimate precedence
|
|
49
|
+
AS_IF([test "x${ac_cv_env_CFLAGS_set}" = "x"],
|
|
50
|
+
[CFLAGS=""])
|
|
51
|
+
AS_IF([test "x${ac_cv_env_CXXFLAGS_set}" = "x"],
|
|
52
|
+
[CXXFLAGS=""])
|
|
53
|
+
|
|
54
|
+
AC_CANONICAL_TARGET
|
|
55
|
+
|
|
56
|
+
AM_INIT_AUTOMAKE(-Wall -Werror nostdinc subdir-objects)
|
|
57
|
+
|
|
58
|
+
m4_if(PCT_USE_GNULIB,yes,[ gl_EARLY ])
|
|
59
|
+
|
|
60
|
+
AC_REQUIRE([AC_PROG_CC])
|
|
61
|
+
AC_REQUIRE([PANDORA_MAC_GCC42])
|
|
62
|
+
AC_REQUIRE([PANDORA_64BIT])
|
|
63
|
+
|
|
64
|
+
dnl Once we can use a modern autoconf, we can use this
|
|
65
|
+
dnl AC_PROG_CC_C99
|
|
66
|
+
AC_PROG_CXX
|
|
67
|
+
AC_PROG_CPP
|
|
68
|
+
AM_PROG_CC_C_O
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
gl_USE_SYSTEM_EXTENSIONS
|
|
72
|
+
m4_if(PCT_FORCE_GCC42, [yes], [
|
|
73
|
+
AS_IF([test "$GCC" = "yes"], PANDORA_ENSURE_GCC_VERSION)
|
|
74
|
+
])
|
|
75
|
+
|
|
76
|
+
AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
|
|
77
|
+
AC_CHECK_DECL([__ICC], [INTELCC="yes"], [INTELCC="no"])
|
|
78
|
+
AS_IF([test "x$INTELCC" = "xyes"], [enable_rpath=no])
|
|
79
|
+
|
|
80
|
+
PANDORA_LIBTOOL
|
|
81
|
+
|
|
82
|
+
dnl autoconf doesn't automatically provide a fail-if-no-C++ macro
|
|
83
|
+
dnl so we check c++98 features and fail if we don't have them, mainly
|
|
84
|
+
dnl for that reason
|
|
85
|
+
PANDORA_CHECK_CXX_STANDARD
|
|
86
|
+
m4_if(PCT_REQUIRE_CXX, [yes], [
|
|
87
|
+
AS_IF([test "$ac_cv_cxx_stdcxx_98" = "no"],[
|
|
88
|
+
AC_MSG_ERROR([No working C++ Compiler has been found. ${PACKAGE} requires a C++ compiler that can handle C++98])
|
|
89
|
+
])
|
|
90
|
+
])
|
|
91
|
+
|
|
92
|
+
PANDORA_SHARED_PTR
|
|
93
|
+
m4_if(PCT_IGNORE_SHARED_PTR, [no], [
|
|
94
|
+
AS_IF([test "$ac_cv_shared_ptr_namespace" = "missing"],[
|
|
95
|
+
AC_MSG_WARN([a usable shared_ptr implementation was not found. Let someone know what your platform is.])
|
|
96
|
+
])
|
|
97
|
+
])
|
|
98
|
+
|
|
99
|
+
m4_if(PCT_USE_GNULIB, [yes], [gl_INIT])
|
|
100
|
+
|
|
101
|
+
AC_C_BIGENDIAN
|
|
102
|
+
AC_C_CONST
|
|
103
|
+
AC_C_INLINE
|
|
104
|
+
AC_C_VOLATILE
|
|
105
|
+
AC_C_RESTRICT
|
|
106
|
+
|
|
107
|
+
AC_HEADER_TIME
|
|
108
|
+
AC_TYPE_SIZE_T
|
|
109
|
+
AC_SYS_LARGEFILE
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
PANDORA_CHECK_C_VERSION
|
|
113
|
+
PANDORA_CHECK_CXX_VERSION
|
|
114
|
+
|
|
115
|
+
PANDORA_OPTIMIZE
|
|
116
|
+
|
|
117
|
+
dnl We need to inject error into the cflags to test if visibility works or not
|
|
118
|
+
save_CFLAGS="${CFLAGS}"
|
|
119
|
+
CFLAGS="${CFLAGS} -Werror"
|
|
120
|
+
gl_VISIBILITY
|
|
121
|
+
CFLAGS="${save_CFLAGS}"
|
|
122
|
+
|
|
123
|
+
PANDORA_HEADER_ASSERT
|
|
124
|
+
|
|
125
|
+
PANDORA_WARNINGS(PCT_ALL_ARGS)
|
|
126
|
+
|
|
127
|
+
PANDORA_ENABLE_DTRACE
|
|
128
|
+
|
|
129
|
+
AC_LIB_PREFIX
|
|
130
|
+
PANDORA_HAVE_BETTER_MALLOC
|
|
131
|
+
|
|
132
|
+
AC_CHECK_PROGS([DOXYGEN], [doxygen])
|
|
133
|
+
AC_CHECK_PROGS([PERL], [perl])
|
|
134
|
+
|
|
135
|
+
AS_IF([test "x${gl_LIBOBJS}" != "x"],[
|
|
136
|
+
AS_IF([test "$GCC" = "yes"],[
|
|
137
|
+
AM_CPPFLAGS="-isystem \$(top_srcdir)/gnulib -isystem \$(top_builddir)/gnulib ${AM_CPPFLAGS}"
|
|
138
|
+
],[
|
|
139
|
+
AM_CPPFLAGS="-I\$(top_srcdir)/gnulib -I\$(top_builddir)/gnulib ${AM_CPPFLAGS}"
|
|
140
|
+
])
|
|
141
|
+
])
|
|
142
|
+
|
|
143
|
+
AM_CPPFLAGS="-I\${top_srcdir} -I\${top_builddir} ${AM_CPPFLAGS}"
|
|
144
|
+
AM_CFLAGS="${AM_CFLAGS} ${CC_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
|
|
145
|
+
AM_CXXFLAGS="${AM_CXXFLAGS} ${CXX_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
|
|
146
|
+
|
|
147
|
+
AC_SUBST([AM_CFLAGS])
|
|
148
|
+
AC_SUBST([AM_CXXFLAGS])
|
|
149
|
+
AC_SUBST([AM_CPPFLAGS])
|
|
150
|
+
|
|
151
|
+
])
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
|
|
7
|
+
AC_DEFUN([PANDORA_CHECK_C_VERSION],[
|
|
8
|
+
|
|
9
|
+
dnl Print version of C compiler
|
|
10
|
+
AC_MSG_CHECKING("C Compiler version--$GCC")
|
|
11
|
+
AS_IF([test "$GCC" = "yes"],[
|
|
12
|
+
CC_VERSION=`$CC --version | sed 1q`
|
|
13
|
+
],[AS_IF([test "$SUNCC" = "yes"],[
|
|
14
|
+
CC_VERSION=`$CC -V 2>&1 | sed 1q`
|
|
15
|
+
],[
|
|
16
|
+
CC_VERSION=""
|
|
17
|
+
])
|
|
18
|
+
])
|
|
19
|
+
AC_MSG_RESULT("$CC_VERSION")
|
|
20
|
+
AC_SUBST(CC_VERSION)
|
|
21
|
+
])
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
AC_DEFUN([PANDORA_CHECK_CXX_VERSION], [
|
|
25
|
+
dnl Print version of CXX compiler
|
|
26
|
+
AC_MSG_CHECKING("C++ Compiler version")
|
|
27
|
+
AS_IF([test "$GCC" = "yes"],[
|
|
28
|
+
CXX_VERSION=`$CXX --version | sed 1q`
|
|
29
|
+
],[AS_IF([test "$SUNCC" = "yes"],[
|
|
30
|
+
CXX_VERSION=`$CXX -V 2>&1 | sed 1q`
|
|
31
|
+
],[
|
|
32
|
+
CXX_VERSION=""
|
|
33
|
+
])
|
|
34
|
+
])
|
|
35
|
+
AC_MSG_RESULT("$CXX_VERSION")
|
|
36
|
+
AC_SUBST(CXX_VERSION)
|
|
37
|
+
])
|
|
@@ -0,0 +1,16 @@
|
|
|
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_CHECK_CXX_STANDARD],[
|
|
7
|
+
AC_REQUIRE([AC_CXX_COMPILE_STDCXX_0X])
|
|
8
|
+
AS_IF([test "$GCC" = "yes"],
|
|
9
|
+
[AS_IF([test "$ac_cv_cxx_compile_cxx0x_native" = "yes"],[],
|
|
10
|
+
[AS_IF([test "$ac_cv_cxx_compile_cxx0x_gxx" = "yes"],
|
|
11
|
+
[CXXFLAGS="-std=gnu++0x ${CXXFLAGS}"],
|
|
12
|
+
[CXXFLAGS="-std=gnu++98"])
|
|
13
|
+
])
|
|
14
|
+
])
|
|
15
|
+
AC_CXX_HEADER_STDCXX_98
|
|
16
|
+
])
|
|
@@ -0,0 +1,41 @@
|
|
|
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 ---------------------------------------------------------------------------
|
|
7
|
+
dnl Macro: PANDORA_ENABLE_DTRACE
|
|
8
|
+
dnl ---------------------------------------------------------------------------
|
|
9
|
+
AC_DEFUN([PANDORA_ENABLE_DTRACE],[
|
|
10
|
+
AC_ARG_ENABLE([dtrace],
|
|
11
|
+
[AS_HELP_STRING([--enable-dtrace],
|
|
12
|
+
[Build with support for the DTRACE. @<:@default=off@:>@])],
|
|
13
|
+
[ac_cv_enable_dtrace="yes"],
|
|
14
|
+
[ac_cv_enable_dtrace="no"])
|
|
15
|
+
|
|
16
|
+
AS_IF([test "$ac_cv_enable_dtrace" = "yes"],[
|
|
17
|
+
AC_CHECK_PROGS([DTRACE], [dtrace])
|
|
18
|
+
AS_IF([test "x$ac_cv_prog_DTRACE" = "xdtrace"],[
|
|
19
|
+
AC_DEFINE([HAVE_DTRACE], [1], [Enables DTRACE Support])
|
|
20
|
+
dnl DTrace on MacOSX does not use -G option
|
|
21
|
+
cat >conftest.d <<_ACEOF
|
|
22
|
+
provider Example {
|
|
23
|
+
probe increment(int);
|
|
24
|
+
};
|
|
25
|
+
_ACEOF
|
|
26
|
+
$DTRACE -G -o conftest.d.o -s conftest.d 2>/dev/zero
|
|
27
|
+
AS_IF([test $? -eq 0],[ac_cv_dtrace_needs_objects=yes])
|
|
28
|
+
rm -f conftest.d.o conftest.d
|
|
29
|
+
|
|
30
|
+
AC_SUBST(DTRACEFLAGS) dnl TODO: test for -G on OSX
|
|
31
|
+
ac_cv_have_dtrace=yes
|
|
32
|
+
])])
|
|
33
|
+
|
|
34
|
+
AM_CONDITIONAL([HAVE_DTRACE], [test "x$ac_cv_have_dtrace" = "xyes"])
|
|
35
|
+
AM_CONDITIONAL([DTRACE_NEEDS_OBJECTS],
|
|
36
|
+
[test "x$ac_cv_dtrace_needs_objects" = "xyes"])
|
|
37
|
+
|
|
38
|
+
])
|
|
39
|
+
dnl ---------------------------------------------------------------------------
|
|
40
|
+
dnl End Macro: PANDORA_ENABLE_DTRACE
|
|
41
|
+
dnl ---------------------------------------------------------------------------
|
|
@@ -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="$LTLIBSASL2"
|
|
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
|
+
|