nutcracker 0.2.3

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