snappy 0.0.17 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +6 -1
  3. data/Gemfile +5 -0
  4. data/README.md +28 -4
  5. data/Rakefile +1 -0
  6. data/ext/extconf.rb +21 -16
  7. data/lib/snappy.rb +1 -0
  8. data/lib/snappy/hadoop.rb +22 -0
  9. data/lib/snappy/hadoop/reader.rb +58 -0
  10. data/lib/snappy/hadoop/writer.rb +51 -0
  11. data/lib/snappy/reader.rb +4 -4
  12. data/lib/snappy/version.rb +1 -1
  13. data/smoke.sh +1 -1
  14. data/snappy.gemspec +0 -4
  15. data/test/hadoop/test-snappy-hadoop-reader.rb +103 -0
  16. data/test/hadoop/test-snappy-hadoop-writer.rb +48 -0
  17. data/test/test-snappy-hadoop.rb +22 -0
  18. data/vendor/snappy/CMakeLists.txt +174 -0
  19. data/vendor/snappy/CONTRIBUTING.md +26 -0
  20. data/vendor/snappy/NEWS +32 -0
  21. data/vendor/snappy/{README → README.md} +13 -3
  22. data/vendor/snappy/cmake/SnappyConfig.cmake +1 -0
  23. data/vendor/snappy/cmake/config.h.in +62 -0
  24. data/vendor/snappy/snappy-internal.h +9 -12
  25. data/vendor/snappy/snappy-stubs-internal.h +63 -30
  26. data/vendor/snappy/snappy-stubs-public.h.in +13 -19
  27. data/vendor/snappy/snappy-test.cc +10 -7
  28. data/vendor/snappy/snappy-test.h +12 -38
  29. data/vendor/snappy/snappy.cc +81 -30
  30. data/vendor/snappy/snappy_unittest.cc +16 -137
  31. metadata +18 -82
  32. data/vendor/snappy/ChangeLog +0 -2468
  33. data/vendor/snappy/INSTALL +0 -370
  34. data/vendor/snappy/Makefile +0 -982
  35. data/vendor/snappy/Makefile.am +0 -26
  36. data/vendor/snappy/Makefile.in +0 -982
  37. data/vendor/snappy/aclocal.m4 +0 -9738
  38. data/vendor/snappy/autogen.sh +0 -12
  39. data/vendor/snappy/autom4te.cache/output.0 +0 -18856
  40. data/vendor/snappy/autom4te.cache/output.1 +0 -18852
  41. data/vendor/snappy/autom4te.cache/requests +0 -297
  42. data/vendor/snappy/autom4te.cache/traces.0 +0 -2689
  43. data/vendor/snappy/autom4te.cache/traces.1 +0 -714
  44. data/vendor/snappy/config.guess +0 -1530
  45. data/vendor/snappy/config.h +0 -135
  46. data/vendor/snappy/config.h.in +0 -134
  47. data/vendor/snappy/config.log +0 -1640
  48. data/vendor/snappy/config.status +0 -2318
  49. data/vendor/snappy/config.sub +0 -1773
  50. data/vendor/snappy/configure +0 -18852
  51. data/vendor/snappy/configure.ac +0 -134
  52. data/vendor/snappy/depcomp +0 -688
  53. data/vendor/snappy/install-sh +0 -527
  54. data/vendor/snappy/libtool +0 -10246
  55. data/vendor/snappy/ltmain.sh +0 -9661
  56. data/vendor/snappy/m4/gtest.m4 +0 -74
  57. data/vendor/snappy/m4/libtool.m4 +0 -8001
  58. data/vendor/snappy/m4/ltoptions.m4 +0 -384
  59. data/vendor/snappy/m4/ltsugar.m4 +0 -123
  60. data/vendor/snappy/m4/ltversion.m4 +0 -23
  61. data/vendor/snappy/m4/lt~obsolete.m4 +0 -98
  62. data/vendor/snappy/missing +0 -331
  63. data/vendor/snappy/snappy-stubs-public.h +0 -100
  64. data/vendor/snappy/snappy.pc +0 -10
  65. data/vendor/snappy/snappy.pc.in +0 -10
  66. data/vendor/snappy/stamp-h1 +0 -1
@@ -1,384 +0,0 @@
1
- # Helper functions for option handling. -*- Autoconf -*-
2
- #
3
- # Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
4
- # 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 7 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
- ])
86
- ])# _LT_SET_OPTIONS
87
-
88
-
89
- ## --------------------------------- ##
90
- ## Macros to handle LT_INIT options. ##
91
- ## --------------------------------- ##
92
-
93
- # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
94
- # -----------------------------------------
95
- m4_define([_LT_MANGLE_DEFUN],
96
- [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
97
-
98
-
99
- # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
100
- # -----------------------------------------------
101
- m4_define([LT_OPTION_DEFINE],
102
- [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
103
- ])# LT_OPTION_DEFINE
104
-
105
-
106
- # dlopen
107
- # ------
108
- LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
109
- ])
110
-
111
- AU_DEFUN([AC_LIBTOOL_DLOPEN],
112
- [_LT_SET_OPTION([LT_INIT], [dlopen])
113
- AC_DIAGNOSE([obsolete],
114
- [$0: Remove this warning and the call to _LT_SET_OPTION when you
115
- put the `dlopen' option into LT_INIT's first parameter.])
116
- ])
117
-
118
- dnl aclocal-1.4 backwards compatibility:
119
- dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
120
-
121
-
122
- # win32-dll
123
- # ---------
124
- # Declare package support for building win32 dll's.
125
- LT_OPTION_DEFINE([LT_INIT], [win32-dll],
126
- [enable_win32_dll=yes
127
-
128
- case $host in
129
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
130
- AC_CHECK_TOOL(AS, as, false)
131
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
132
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
133
- ;;
134
- esac
135
-
136
- test -z "$AS" && AS=as
137
- _LT_DECL([], [AS], [1], [Assembler program])dnl
138
-
139
- test -z "$DLLTOOL" && DLLTOOL=dlltool
140
- _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
141
-
142
- test -z "$OBJDUMP" && OBJDUMP=objdump
143
- _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
144
- ])# win32-dll
145
-
146
- AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
147
- [AC_REQUIRE([AC_CANONICAL_HOST])dnl
148
- _LT_SET_OPTION([LT_INIT], [win32-dll])
149
- AC_DIAGNOSE([obsolete],
150
- [$0: Remove this warning and the call to _LT_SET_OPTION when you
151
- put the `win32-dll' option into LT_INIT's first parameter.])
152
- ])
153
-
154
- dnl aclocal-1.4 backwards compatibility:
155
- dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
156
-
157
-
158
- # _LT_ENABLE_SHARED([DEFAULT])
159
- # ----------------------------
160
- # implement the --enable-shared flag, and supports the `shared' and
161
- # `disable-shared' LT_INIT options.
162
- # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
163
- m4_define([_LT_ENABLE_SHARED],
164
- [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
165
- AC_ARG_ENABLE([shared],
166
- [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
167
- [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
168
- [p=${PACKAGE-default}
169
- case $enableval in
170
- yes) enable_shared=yes ;;
171
- no) enable_shared=no ;;
172
- *)
173
- enable_shared=no
174
- # Look at the argument we got. We use all the common list separators.
175
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
176
- for pkg in $enableval; do
177
- IFS="$lt_save_ifs"
178
- if test "X$pkg" = "X$p"; then
179
- enable_shared=yes
180
- fi
181
- done
182
- IFS="$lt_save_ifs"
183
- ;;
184
- esac],
185
- [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
186
-
187
- _LT_DECL([build_libtool_libs], [enable_shared], [0],
188
- [Whether or not to build shared libraries])
189
- ])# _LT_ENABLE_SHARED
190
-
191
- LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
192
- LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
193
-
194
- # Old names:
195
- AC_DEFUN([AC_ENABLE_SHARED],
196
- [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
197
- ])
198
-
199
- AC_DEFUN([AC_DISABLE_SHARED],
200
- [_LT_SET_OPTION([LT_INIT], [disable-shared])
201
- ])
202
-
203
- AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
204
- AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
205
-
206
- dnl aclocal-1.4 backwards compatibility:
207
- dnl AC_DEFUN([AM_ENABLE_SHARED], [])
208
- dnl AC_DEFUN([AM_DISABLE_SHARED], [])
209
-
210
-
211
-
212
- # _LT_ENABLE_STATIC([DEFAULT])
213
- # ----------------------------
214
- # implement the --enable-static flag, and support the `static' and
215
- # `disable-static' LT_INIT options.
216
- # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
217
- m4_define([_LT_ENABLE_STATIC],
218
- [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
219
- AC_ARG_ENABLE([static],
220
- [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
221
- [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
222
- [p=${PACKAGE-default}
223
- case $enableval in
224
- yes) enable_static=yes ;;
225
- no) enable_static=no ;;
226
- *)
227
- enable_static=no
228
- # Look at the argument we got. We use all the common list separators.
229
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
230
- for pkg in $enableval; do
231
- IFS="$lt_save_ifs"
232
- if test "X$pkg" = "X$p"; then
233
- enable_static=yes
234
- fi
235
- done
236
- IFS="$lt_save_ifs"
237
- ;;
238
- esac],
239
- [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
240
-
241
- _LT_DECL([build_old_libs], [enable_static], [0],
242
- [Whether or not to build static libraries])
243
- ])# _LT_ENABLE_STATIC
244
-
245
- LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
246
- LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
247
-
248
- # Old names:
249
- AC_DEFUN([AC_ENABLE_STATIC],
250
- [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
251
- ])
252
-
253
- AC_DEFUN([AC_DISABLE_STATIC],
254
- [_LT_SET_OPTION([LT_INIT], [disable-static])
255
- ])
256
-
257
- AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
258
- AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
259
-
260
- dnl aclocal-1.4 backwards compatibility:
261
- dnl AC_DEFUN([AM_ENABLE_STATIC], [])
262
- dnl AC_DEFUN([AM_DISABLE_STATIC], [])
263
-
264
-
265
-
266
- # _LT_ENABLE_FAST_INSTALL([DEFAULT])
267
- # ----------------------------------
268
- # implement the --enable-fast-install flag, and support the `fast-install'
269
- # and `disable-fast-install' LT_INIT options.
270
- # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
271
- m4_define([_LT_ENABLE_FAST_INSTALL],
272
- [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
273
- AC_ARG_ENABLE([fast-install],
274
- [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
275
- [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
276
- [p=${PACKAGE-default}
277
- case $enableval in
278
- yes) enable_fast_install=yes ;;
279
- no) enable_fast_install=no ;;
280
- *)
281
- enable_fast_install=no
282
- # Look at the argument we got. We use all the common list separators.
283
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
284
- for pkg in $enableval; do
285
- IFS="$lt_save_ifs"
286
- if test "X$pkg" = "X$p"; then
287
- enable_fast_install=yes
288
- fi
289
- done
290
- IFS="$lt_save_ifs"
291
- ;;
292
- esac],
293
- [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
294
-
295
- _LT_DECL([fast_install], [enable_fast_install], [0],
296
- [Whether or not to optimize for fast installation])dnl
297
- ])# _LT_ENABLE_FAST_INSTALL
298
-
299
- LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
300
- LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
301
-
302
- # Old names:
303
- AU_DEFUN([AC_ENABLE_FAST_INSTALL],
304
- [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
305
- AC_DIAGNOSE([obsolete],
306
- [$0: Remove this warning and the call to _LT_SET_OPTION when you put
307
- the `fast-install' option into LT_INIT's first parameter.])
308
- ])
309
-
310
- AU_DEFUN([AC_DISABLE_FAST_INSTALL],
311
- [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
312
- AC_DIAGNOSE([obsolete],
313
- [$0: Remove this warning and the call to _LT_SET_OPTION when you put
314
- the `disable-fast-install' option into LT_INIT's first parameter.])
315
- ])
316
-
317
- dnl aclocal-1.4 backwards compatibility:
318
- dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
319
- dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
320
-
321
-
322
- # _LT_WITH_PIC([MODE])
323
- # --------------------
324
- # implement the --with-pic flag, and support the `pic-only' and `no-pic'
325
- # LT_INIT options.
326
- # MODE is either `yes' or `no'. If omitted, it defaults to `both'.
327
- m4_define([_LT_WITH_PIC],
328
- [AC_ARG_WITH([pic],
329
- [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
330
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
331
- [lt_p=${PACKAGE-default}
332
- case $withval in
333
- yes|no) pic_mode=$withval ;;
334
- *)
335
- pic_mode=default
336
- # Look at the argument we got. We use all the common list separators.
337
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
338
- for lt_pkg in $withval; do
339
- IFS="$lt_save_ifs"
340
- if test "X$lt_pkg" = "X$lt_p"; then
341
- pic_mode=yes
342
- fi
343
- done
344
- IFS="$lt_save_ifs"
345
- ;;
346
- esac],
347
- [pic_mode=default])
348
-
349
- test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
350
-
351
- _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
352
- ])# _LT_WITH_PIC
353
-
354
- LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
355
- LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
356
-
357
- # Old name:
358
- AU_DEFUN([AC_LIBTOOL_PICMODE],
359
- [_LT_SET_OPTION([LT_INIT], [pic-only])
360
- AC_DIAGNOSE([obsolete],
361
- [$0: Remove this warning and the call to _LT_SET_OPTION when you
362
- put the `pic-only' option into LT_INIT's first parameter.])
363
- ])
364
-
365
- dnl aclocal-1.4 backwards compatibility:
366
- dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
367
-
368
- ## ----------------- ##
369
- ## LTDL_INIT Options ##
370
- ## ----------------- ##
371
-
372
- m4_define([_LTDL_MODE], [])
373
- LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
374
- [m4_define([_LTDL_MODE], [nonrecursive])])
375
- LT_OPTION_DEFINE([LTDL_INIT], [recursive],
376
- [m4_define([_LTDL_MODE], [recursive])])
377
- LT_OPTION_DEFINE([LTDL_INIT], [subproject],
378
- [m4_define([_LTDL_MODE], [subproject])])
379
-
380
- m4_define([_LTDL_TYPE], [])
381
- LT_OPTION_DEFINE([LTDL_INIT], [installable],
382
- [m4_define([_LTDL_TYPE], [installable])])
383
- LT_OPTION_DEFINE([LTDL_INIT], [convenience],
384
- [m4_define([_LTDL_TYPE], [convenience])])
@@ -1,123 +0,0 @@
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
- ])