nutcracker 0.4.0.16 → 0.4.1.18

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.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +3 -3
  3. data/ext/nutcracker/ChangeLog +33 -8
  4. data/ext/nutcracker/Makefile.in +34 -21
  5. data/ext/nutcracker/README.md +61 -26
  6. data/ext/nutcracker/aclocal.m4 +34 -31
  7. data/ext/nutcracker/autom4te.cache/output.0 +1875 -1330
  8. data/ext/nutcracker/autom4te.cache/output.1 +1875 -1330
  9. data/ext/nutcracker/autom4te.cache/requests +232 -451
  10. data/ext/nutcracker/autom4te.cache/traces.0 +2256 -2129
  11. data/ext/nutcracker/autom4te.cache/traces.1 +73 -59
  12. data/ext/nutcracker/config.h.in +1 -2
  13. data/ext/nutcracker/config.h.in~ +333 -0
  14. data/ext/nutcracker/config/compile +1 -1
  15. data/ext/nutcracker/config/config.guess +13 -160
  16. data/ext/nutcracker/config/config.sub +25 -11
  17. data/ext/nutcracker/config/depcomp +1 -1
  18. data/ext/nutcracker/config/install-sh +170 -196
  19. data/ext/nutcracker/config/ltmain.sh +3509 -2018
  20. data/ext/nutcracker/config/missing +1 -1
  21. data/ext/nutcracker/configure +1874 -1329
  22. data/ext/nutcracker/configure.ac +3 -2
  23. data/ext/nutcracker/contrib/Makefile.in +18 -5
  24. data/ext/nutcracker/contrib/yaml-0.1.4/LICENSE +19 -0
  25. data/ext/nutcracker/contrib/yaml-0.1.4/Makefile.am +20 -0
  26. data/ext/nutcracker/contrib/yaml-0.1.4/Makefile.in +832 -0
  27. data/ext/nutcracker/contrib/yaml-0.1.4/README +27 -0
  28. data/ext/nutcracker/contrib/yaml-0.1.4/aclocal.m4 +1157 -0
  29. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.0 +13342 -0
  30. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.1 +14611 -0
  31. data/ext/nutcracker/{autom4te.cache → contrib/yaml-0.1.4/autom4te.cache}/output.2 +3465 -8761
  32. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/requests +516 -0
  33. data/ext/nutcracker/{autom4te.cache/traces.2 → contrib/yaml-0.1.4/autom4te.cache/traces.0} +662 -698
  34. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.1 +577 -0
  35. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.2 +2721 -0
  36. data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in +79 -0
  37. data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in~ +80 -0
  38. data/ext/nutcracker/contrib/yaml-0.1.4/config/compile +347 -0
  39. data/ext/nutcracker/contrib/yaml-0.1.4/config/config.guess +1421 -0
  40. data/ext/nutcracker/contrib/yaml-0.1.4/config/config.sub +1807 -0
  41. data/ext/nutcracker/contrib/yaml-0.1.4/config/depcomp +791 -0
  42. data/ext/nutcracker/contrib/yaml-0.1.4/config/install-sh +501 -0
  43. data/ext/nutcracker/contrib/yaml-0.1.4/config/ltmain.sh +11147 -0
  44. data/ext/nutcracker/contrib/yaml-0.1.4/config/missing +215 -0
  45. data/ext/nutcracker/contrib/yaml-0.1.4/config/test-driver +148 -0
  46. data/ext/nutcracker/contrib/yaml-0.1.4/configure +14611 -0
  47. data/ext/nutcracker/contrib/yaml-0.1.4/configure.ac +75 -0
  48. data/ext/nutcracker/contrib/yaml-0.1.4/doc/doxygen.cfg +222 -0
  49. data/ext/nutcracker/contrib/yaml-0.1.4/include/yaml.h +1971 -0
  50. data/ext/nutcracker/contrib/yaml-0.1.4/m4/libtool.m4 +8369 -0
  51. data/ext/nutcracker/contrib/yaml-0.1.4/m4/ltoptions.m4 +437 -0
  52. data/ext/nutcracker/contrib/yaml-0.1.4/m4/ltsugar.m4 +124 -0
  53. data/ext/nutcracker/contrib/yaml-0.1.4/m4/ltversion.m4 +23 -0
  54. data/ext/nutcracker/contrib/yaml-0.1.4/m4/lt~obsolete.m4 +99 -0
  55. data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile.am +4 -0
  56. data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile.in +600 -0
  57. data/ext/nutcracker/contrib/yaml-0.1.4/src/api.c +1392 -0
  58. data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.c +394 -0
  59. data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.c +2329 -0
  60. data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.c +432 -0
  61. data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.c +1374 -0
  62. data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.c +465 -0
  63. data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.c +3570 -0
  64. data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.c +141 -0
  65. data/ext/nutcracker/contrib/yaml-0.1.4/src/yaml_private.h +640 -0
  66. data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile.am +8 -0
  67. data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile.in +1083 -0
  68. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt.c +800 -0
  69. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor.c +1130 -0
  70. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt.c +217 -0
  71. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter.c +202 -0
  72. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper.c +311 -0
  73. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter.c +327 -0
  74. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader.c +63 -0
  75. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser.c +63 -0
  76. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner.c +63 -0
  77. data/ext/nutcracker/contrib/yaml-0.1.4/tests/test-reader.c +354 -0
  78. data/ext/nutcracker/contrib/yaml-0.1.4/tests/test-version.c +29 -0
  79. data/ext/nutcracker/m4/libtool.m4 +1474 -1087
  80. data/ext/nutcracker/m4/ltoptions.m4 +90 -37
  81. data/ext/nutcracker/m4/ltsugar.m4 +4 -3
  82. data/ext/nutcracker/m4/ltversion.m4 +6 -6
  83. data/ext/nutcracker/m4/lt~obsolete.m4 +4 -3
  84. data/ext/nutcracker/man/nutcracker.8 +1 -1
  85. data/ext/nutcracker/notes/memcache.md +162 -0
  86. data/ext/nutcracker/notes/recommendation.md +10 -5
  87. data/ext/nutcracker/notes/redis.md +23 -9
  88. data/ext/nutcracker/scripts/nutcracker.init +10 -0
  89. data/ext/nutcracker/scripts/nutcracker.init.debian +83 -0
  90. data/ext/nutcracker/scripts/nutcracker.spec +36 -2
  91. data/ext/nutcracker/scripts/redis-check.sh +4 -0
  92. data/ext/nutcracker/src/Makefile.am +6 -1
  93. data/ext/nutcracker/src/Makefile.in +26 -12
  94. data/ext/nutcracker/src/event/Makefile.in +19 -6
  95. data/ext/nutcracker/src/hashkit/Makefile.in +19 -6
  96. data/ext/nutcracker/src/hashkit/nc_jenkins.c +1 -1
  97. data/ext/nutcracker/src/hashkit/nc_ketama.c +3 -3
  98. data/ext/nutcracker/src/nc.c +1 -1
  99. data/ext/nutcracker/src/nc_conf.c +67 -19
  100. data/ext/nutcracker/src/nc_conf.h +9 -4
  101. data/ext/nutcracker/src/nc_connection.c +35 -2
  102. data/ext/nutcracker/src/nc_connection.h +53 -47
  103. data/ext/nutcracker/src/nc_core.c +8 -1
  104. data/ext/nutcracker/src/nc_message.c +23 -7
  105. data/ext/nutcracker/src/nc_message.h +24 -1
  106. data/ext/nutcracker/src/nc_proxy.c +14 -3
  107. data/ext/nutcracker/src/nc_rbtree.c +1 -5
  108. data/ext/nutcracker/src/nc_request.c +58 -10
  109. data/ext/nutcracker/src/nc_response.c +27 -4
  110. data/ext/nutcracker/src/nc_server.c +33 -5
  111. data/ext/nutcracker/src/nc_server.h +10 -9
  112. data/ext/nutcracker/src/nc_string.h +17 -0
  113. data/ext/nutcracker/src/nc_util.c +5 -1
  114. data/ext/nutcracker/src/proto/Makefile.in +19 -6
  115. data/ext/nutcracker/src/proto/nc_memcache.c +76 -12
  116. data/ext/nutcracker/src/proto/nc_proto.h +9 -0
  117. data/ext/nutcracker/src/proto/nc_redis.c +400 -18
  118. data/lib/nutcracker.rb +1 -1
  119. data/lib/nutcracker/version.rb +1 -1
  120. metadata +61 -6
  121. data/ext/nutcracker/notes/memcache.txt +0 -123
@@ -0,0 +1,437 @@
1
+ # Helper functions for option handling. -*- Autoconf -*-
2
+ #
3
+ # Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
4
+ # Foundation, Inc.
5
+ # Written by Gary V. Vaughan, 2004
6
+ #
7
+ # This file is free software; the Free Software Foundation gives
8
+ # unlimited permission to copy and/or distribute it, with or without
9
+ # modifications, as long as this notice is preserved.
10
+
11
+ # serial 8 ltoptions.m4
12
+
13
+ # This is to help aclocal find these macros, as it can't see m4_define.
14
+ AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
15
+
16
+
17
+ # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
18
+ # ------------------------------------------
19
+ m4_define([_LT_MANGLE_OPTION],
20
+ [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
21
+
22
+
23
+ # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
24
+ # ---------------------------------------
25
+ # Set option OPTION-NAME for macro MACRO-NAME, and if there is a
26
+ # matching handler defined, dispatch to it. Other OPTION-NAMEs are
27
+ # saved as a flag.
28
+ m4_define([_LT_SET_OPTION],
29
+ [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
30
+ m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
31
+ _LT_MANGLE_DEFUN([$1], [$2]),
32
+ [m4_warning([Unknown $1 option '$2'])])[]dnl
33
+ ])
34
+
35
+
36
+ # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
37
+ # ------------------------------------------------------------
38
+ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
39
+ m4_define([_LT_IF_OPTION],
40
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
41
+
42
+
43
+ # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
44
+ # -------------------------------------------------------
45
+ # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
46
+ # are set.
47
+ m4_define([_LT_UNLESS_OPTIONS],
48
+ [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
49
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
50
+ [m4_define([$0_found])])])[]dnl
51
+ m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
52
+ ])[]dnl
53
+ ])
54
+
55
+
56
+ # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
57
+ # ----------------------------------------
58
+ # OPTION-LIST is a space-separated list of Libtool options associated
59
+ # with MACRO-NAME. If any OPTION has a matching handler declared with
60
+ # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
61
+ # the unknown option and exit.
62
+ m4_defun([_LT_SET_OPTIONS],
63
+ [# Set options
64
+ m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
65
+ [_LT_SET_OPTION([$1], _LT_Option)])
66
+
67
+ m4_if([$1],[LT_INIT],[
68
+ dnl
69
+ dnl Simply set some default values (i.e off) if boolean options were not
70
+ dnl specified:
71
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
72
+ ])
73
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
74
+ ])
75
+ dnl
76
+ dnl If no reference was made to various pairs of opposing options, then
77
+ dnl we run the default mode handler for the pair. For example, if neither
78
+ dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
79
+ dnl archives by default:
80
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
81
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
82
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
83
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
84
+ [_LT_ENABLE_FAST_INSTALL])
85
+ _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
86
+ [_LT_WITH_AIX_SONAME([aix])])
87
+ ])
88
+ ])# _LT_SET_OPTIONS
89
+
90
+
91
+ ## --------------------------------- ##
92
+ ## Macros to handle LT_INIT options. ##
93
+ ## --------------------------------- ##
94
+
95
+ # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
96
+ # -----------------------------------------
97
+ m4_define([_LT_MANGLE_DEFUN],
98
+ [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
99
+
100
+
101
+ # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
102
+ # -----------------------------------------------
103
+ m4_define([LT_OPTION_DEFINE],
104
+ [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
105
+ ])# LT_OPTION_DEFINE
106
+
107
+
108
+ # dlopen
109
+ # ------
110
+ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
111
+ ])
112
+
113
+ AU_DEFUN([AC_LIBTOOL_DLOPEN],
114
+ [_LT_SET_OPTION([LT_INIT], [dlopen])
115
+ AC_DIAGNOSE([obsolete],
116
+ [$0: Remove this warning and the call to _LT_SET_OPTION when you
117
+ put the 'dlopen' option into LT_INIT's first parameter.])
118
+ ])
119
+
120
+ dnl aclocal-1.4 backwards compatibility:
121
+ dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
122
+
123
+
124
+ # win32-dll
125
+ # ---------
126
+ # Declare package support for building win32 dll's.
127
+ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
128
+ [enable_win32_dll=yes
129
+
130
+ case $host in
131
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
132
+ AC_CHECK_TOOL(AS, as, false)
133
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
134
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
135
+ ;;
136
+ esac
137
+
138
+ test -z "$AS" && AS=as
139
+ _LT_DECL([], [AS], [1], [Assembler program])dnl
140
+
141
+ test -z "$DLLTOOL" && DLLTOOL=dlltool
142
+ _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
143
+
144
+ test -z "$OBJDUMP" && OBJDUMP=objdump
145
+ _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
146
+ ])# win32-dll
147
+
148
+ AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
149
+ [AC_REQUIRE([AC_CANONICAL_HOST])dnl
150
+ _LT_SET_OPTION([LT_INIT], [win32-dll])
151
+ AC_DIAGNOSE([obsolete],
152
+ [$0: Remove this warning and the call to _LT_SET_OPTION when you
153
+ put the 'win32-dll' option into LT_INIT's first parameter.])
154
+ ])
155
+
156
+ dnl aclocal-1.4 backwards compatibility:
157
+ dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
158
+
159
+
160
+ # _LT_ENABLE_SHARED([DEFAULT])
161
+ # ----------------------------
162
+ # implement the --enable-shared flag, and supports the 'shared' and
163
+ # 'disable-shared' LT_INIT options.
164
+ # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
165
+ m4_define([_LT_ENABLE_SHARED],
166
+ [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
167
+ AC_ARG_ENABLE([shared],
168
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
169
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
170
+ [p=${PACKAGE-default}
171
+ case $enableval in
172
+ yes) enable_shared=yes ;;
173
+ no) enable_shared=no ;;
174
+ *)
175
+ enable_shared=no
176
+ # Look at the argument we got. We use all the common list separators.
177
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
178
+ for pkg in $enableval; do
179
+ IFS=$lt_save_ifs
180
+ if test "X$pkg" = "X$p"; then
181
+ enable_shared=yes
182
+ fi
183
+ done
184
+ IFS=$lt_save_ifs
185
+ ;;
186
+ esac],
187
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
188
+
189
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
190
+ [Whether or not to build shared libraries])
191
+ ])# _LT_ENABLE_SHARED
192
+
193
+ LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
194
+ LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
195
+
196
+ # Old names:
197
+ AC_DEFUN([AC_ENABLE_SHARED],
198
+ [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
199
+ ])
200
+
201
+ AC_DEFUN([AC_DISABLE_SHARED],
202
+ [_LT_SET_OPTION([LT_INIT], [disable-shared])
203
+ ])
204
+
205
+ AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
206
+ AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
207
+
208
+ dnl aclocal-1.4 backwards compatibility:
209
+ dnl AC_DEFUN([AM_ENABLE_SHARED], [])
210
+ dnl AC_DEFUN([AM_DISABLE_SHARED], [])
211
+
212
+
213
+
214
+ # _LT_ENABLE_STATIC([DEFAULT])
215
+ # ----------------------------
216
+ # implement the --enable-static flag, and support the 'static' and
217
+ # 'disable-static' LT_INIT options.
218
+ # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
219
+ m4_define([_LT_ENABLE_STATIC],
220
+ [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
221
+ AC_ARG_ENABLE([static],
222
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
223
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
224
+ [p=${PACKAGE-default}
225
+ case $enableval in
226
+ yes) enable_static=yes ;;
227
+ no) enable_static=no ;;
228
+ *)
229
+ enable_static=no
230
+ # Look at the argument we got. We use all the common list separators.
231
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
232
+ for pkg in $enableval; do
233
+ IFS=$lt_save_ifs
234
+ if test "X$pkg" = "X$p"; then
235
+ enable_static=yes
236
+ fi
237
+ done
238
+ IFS=$lt_save_ifs
239
+ ;;
240
+ esac],
241
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
242
+
243
+ _LT_DECL([build_old_libs], [enable_static], [0],
244
+ [Whether or not to build static libraries])
245
+ ])# _LT_ENABLE_STATIC
246
+
247
+ LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
248
+ LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
249
+
250
+ # Old names:
251
+ AC_DEFUN([AC_ENABLE_STATIC],
252
+ [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
253
+ ])
254
+
255
+ AC_DEFUN([AC_DISABLE_STATIC],
256
+ [_LT_SET_OPTION([LT_INIT], [disable-static])
257
+ ])
258
+
259
+ AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
260
+ AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
261
+
262
+ dnl aclocal-1.4 backwards compatibility:
263
+ dnl AC_DEFUN([AM_ENABLE_STATIC], [])
264
+ dnl AC_DEFUN([AM_DISABLE_STATIC], [])
265
+
266
+
267
+
268
+ # _LT_ENABLE_FAST_INSTALL([DEFAULT])
269
+ # ----------------------------------
270
+ # implement the --enable-fast-install flag, and support the 'fast-install'
271
+ # and 'disable-fast-install' LT_INIT options.
272
+ # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
273
+ m4_define([_LT_ENABLE_FAST_INSTALL],
274
+ [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
275
+ AC_ARG_ENABLE([fast-install],
276
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
277
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
278
+ [p=${PACKAGE-default}
279
+ case $enableval in
280
+ yes) enable_fast_install=yes ;;
281
+ no) enable_fast_install=no ;;
282
+ *)
283
+ enable_fast_install=no
284
+ # Look at the argument we got. We use all the common list separators.
285
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
286
+ for pkg in $enableval; do
287
+ IFS=$lt_save_ifs
288
+ if test "X$pkg" = "X$p"; then
289
+ enable_fast_install=yes
290
+ fi
291
+ done
292
+ IFS=$lt_save_ifs
293
+ ;;
294
+ esac],
295
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
296
+
297
+ _LT_DECL([fast_install], [enable_fast_install], [0],
298
+ [Whether or not to optimize for fast installation])dnl
299
+ ])# _LT_ENABLE_FAST_INSTALL
300
+
301
+ LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
302
+ LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
303
+
304
+ # Old names:
305
+ AU_DEFUN([AC_ENABLE_FAST_INSTALL],
306
+ [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
307
+ AC_DIAGNOSE([obsolete],
308
+ [$0: Remove this warning and the call to _LT_SET_OPTION when you put
309
+ the 'fast-install' option into LT_INIT's first parameter.])
310
+ ])
311
+
312
+ AU_DEFUN([AC_DISABLE_FAST_INSTALL],
313
+ [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
314
+ AC_DIAGNOSE([obsolete],
315
+ [$0: Remove this warning and the call to _LT_SET_OPTION when you put
316
+ the 'disable-fast-install' option into LT_INIT's first parameter.])
317
+ ])
318
+
319
+ dnl aclocal-1.4 backwards compatibility:
320
+ dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
321
+ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
322
+
323
+
324
+ # _LT_WITH_AIX_SONAME([DEFAULT])
325
+ # ----------------------------------
326
+ # implement the --with-aix-soname flag, and support the `aix-soname=aix'
327
+ # and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
328
+ # is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
329
+ m4_define([_LT_WITH_AIX_SONAME],
330
+ [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
331
+ shared_archive_member_spec=
332
+ case $host,$enable_shared in
333
+ power*-*-aix[[5-9]]*,yes)
334
+ AC_MSG_CHECKING([which variant of shared library versioning to provide])
335
+ AC_ARG_WITH([aix-soname],
336
+ [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
337
+ [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
338
+ [case $withval in
339
+ aix|svr4|both)
340
+ ;;
341
+ *)
342
+ AC_MSG_ERROR([Unknown argument to --with-aix-soname])
343
+ ;;
344
+ esac
345
+ lt_cv_with_aix_soname=$with_aix_soname],
346
+ [AC_CACHE_VAL([lt_cv_with_aix_soname],
347
+ [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
348
+ with_aix_soname=$lt_cv_with_aix_soname])
349
+ AC_MSG_RESULT([$with_aix_soname])
350
+ if test aix != "$with_aix_soname"; then
351
+ # For the AIX way of multilib, we name the shared archive member
352
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
353
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
354
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
355
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
356
+ if test 64 = "${OBJECT_MODE-32}"; then
357
+ shared_archive_member_spec=shr_64
358
+ else
359
+ shared_archive_member_spec=shr
360
+ fi
361
+ fi
362
+ ;;
363
+ *)
364
+ with_aix_soname=aix
365
+ ;;
366
+ esac
367
+
368
+ _LT_DECL([], [shared_archive_member_spec], [0],
369
+ [Shared archive member basename, for filename based shared library versioning on AIX])dnl
370
+ ])# _LT_WITH_AIX_SONAME
371
+
372
+ LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
373
+ LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
374
+ LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
375
+
376
+
377
+ # _LT_WITH_PIC([MODE])
378
+ # --------------------
379
+ # implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
380
+ # LT_INIT options.
381
+ # MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
382
+ m4_define([_LT_WITH_PIC],
383
+ [AC_ARG_WITH([pic],
384
+ [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
385
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
386
+ [lt_p=${PACKAGE-default}
387
+ case $withval in
388
+ yes|no) pic_mode=$withval ;;
389
+ *)
390
+ pic_mode=default
391
+ # Look at the argument we got. We use all the common list separators.
392
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
393
+ for lt_pkg in $withval; do
394
+ IFS=$lt_save_ifs
395
+ if test "X$lt_pkg" = "X$lt_p"; then
396
+ pic_mode=yes
397
+ fi
398
+ done
399
+ IFS=$lt_save_ifs
400
+ ;;
401
+ esac],
402
+ [pic_mode=m4_default([$1], [default])])
403
+
404
+ _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
405
+ ])# _LT_WITH_PIC
406
+
407
+ LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
408
+ LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
409
+
410
+ # Old name:
411
+ AU_DEFUN([AC_LIBTOOL_PICMODE],
412
+ [_LT_SET_OPTION([LT_INIT], [pic-only])
413
+ AC_DIAGNOSE([obsolete],
414
+ [$0: Remove this warning and the call to _LT_SET_OPTION when you
415
+ put the 'pic-only' option into LT_INIT's first parameter.])
416
+ ])
417
+
418
+ dnl aclocal-1.4 backwards compatibility:
419
+ dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
420
+
421
+ ## ----------------- ##
422
+ ## LTDL_INIT Options ##
423
+ ## ----------------- ##
424
+
425
+ m4_define([_LTDL_MODE], [])
426
+ LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
427
+ [m4_define([_LTDL_MODE], [nonrecursive])])
428
+ LT_OPTION_DEFINE([LTDL_INIT], [recursive],
429
+ [m4_define([_LTDL_MODE], [recursive])])
430
+ LT_OPTION_DEFINE([LTDL_INIT], [subproject],
431
+ [m4_define([_LTDL_MODE], [subproject])])
432
+
433
+ m4_define([_LTDL_TYPE], [])
434
+ LT_OPTION_DEFINE([LTDL_INIT], [installable],
435
+ [m4_define([_LTDL_TYPE], [installable])])
436
+ LT_OPTION_DEFINE([LTDL_INIT], [convenience],
437
+ [m4_define([_LTDL_TYPE], [convenience])])
@@ -0,0 +1,124 @@
1
+ # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
2
+ #
3
+ # Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
4
+ # Foundation, Inc.
5
+ # Written by Gary V. Vaughan, 2004
6
+ #
7
+ # This file is free software; the Free Software Foundation gives
8
+ # unlimited permission to copy and/or distribute it, with or without
9
+ # modifications, as long as this notice is preserved.
10
+
11
+ # serial 6 ltsugar.m4
12
+
13
+ # This is to help aclocal find these macros, as it can't see m4_define.
14
+ AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
15
+
16
+
17
+ # lt_join(SEP, ARG1, [ARG2...])
18
+ # -----------------------------
19
+ # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
20
+ # associated separator.
21
+ # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
22
+ # versions in m4sugar had bugs.
23
+ m4_define([lt_join],
24
+ [m4_if([$#], [1], [],
25
+ [$#], [2], [[$2]],
26
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
27
+ m4_define([_lt_join],
28
+ [m4_if([$#$2], [2], [],
29
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
30
+
31
+
32
+ # lt_car(LIST)
33
+ # lt_cdr(LIST)
34
+ # ------------
35
+ # Manipulate m4 lists.
36
+ # These macros are necessary as long as will still need to support
37
+ # Autoconf-2.59, which quotes differently.
38
+ m4_define([lt_car], [[$1]])
39
+ m4_define([lt_cdr],
40
+ [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
41
+ [$#], 1, [],
42
+ [m4_dquote(m4_shift($@))])])
43
+ m4_define([lt_unquote], $1)
44
+
45
+
46
+ # lt_append(MACRO-NAME, STRING, [SEPARATOR])
47
+ # ------------------------------------------
48
+ # Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
49
+ # Note that neither SEPARATOR nor STRING are expanded; they are appended
50
+ # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
51
+ # No SEPARATOR is output if MACRO-NAME was previously undefined (different
52
+ # than defined and empty).
53
+ #
54
+ # This macro is needed until we can rely on Autoconf 2.62, since earlier
55
+ # versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
56
+ m4_define([lt_append],
57
+ [m4_define([$1],
58
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
59
+
60
+
61
+
62
+ # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
63
+ # ----------------------------------------------------------
64
+ # Produce a SEP delimited list of all paired combinations of elements of
65
+ # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
66
+ # has the form PREFIXmINFIXSUFFIXn.
67
+ # Needed until we can rely on m4_combine added in Autoconf 2.62.
68
+ m4_define([lt_combine],
69
+ [m4_if(m4_eval([$# > 3]), [1],
70
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
71
+ [[m4_foreach([_Lt_prefix], [$2],
72
+ [m4_foreach([_Lt_suffix],
73
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
74
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
75
+
76
+
77
+ # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
78
+ # -----------------------------------------------------------------------
79
+ # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
80
+ # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
81
+ m4_define([lt_if_append_uniq],
82
+ [m4_ifdef([$1],
83
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
84
+ [lt_append([$1], [$2], [$3])$4],
85
+ [$5])],
86
+ [lt_append([$1], [$2], [$3])$4])])
87
+
88
+
89
+ # lt_dict_add(DICT, KEY, VALUE)
90
+ # -----------------------------
91
+ m4_define([lt_dict_add],
92
+ [m4_define([$1($2)], [$3])])
93
+
94
+
95
+ # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
96
+ # --------------------------------------------
97
+ m4_define([lt_dict_add_subkey],
98
+ [m4_define([$1($2:$3)], [$4])])
99
+
100
+
101
+ # lt_dict_fetch(DICT, KEY, [SUBKEY])
102
+ # ----------------------------------
103
+ m4_define([lt_dict_fetch],
104
+ [m4_ifval([$3],
105
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
106
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
107
+
108
+
109
+ # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
110
+ # -----------------------------------------------------------------
111
+ m4_define([lt_if_dict_fetch],
112
+ [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
113
+ [$5],
114
+ [$6])])
115
+
116
+
117
+ # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
118
+ # --------------------------------------------------------------
119
+ m4_define([lt_dict_filter],
120
+ [m4_if([$5], [], [],
121
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
122
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
123
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
124
+ ])