nutcracker 0.3.0.12 → 0.4.0.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +5 -13
  2. data/README.md +3 -3
  3. data/Rakefile +12 -10
  4. data/ext/nutcracker/Makefile.in +215 -162
  5. data/ext/nutcracker/README.md +16 -4
  6. data/ext/nutcracker/aclocal.m4 +432 -254
  7. data/ext/nutcracker/{contrib/yaml-0.1.4/configure → autom4te.cache/output.0} +11367 -4545
  8. data/ext/nutcracker/autom4te.cache/output.1 +19907 -0
  9. data/ext/nutcracker/autom4te.cache/output.2 +19907 -0
  10. data/ext/nutcracker/autom4te.cache/requests +518 -0
  11. data/ext/nutcracker/autom4te.cache/traces.0 +2715 -0
  12. data/ext/nutcracker/autom4te.cache/traces.1 +967 -0
  13. data/ext/nutcracker/autom4te.cache/traces.2 +2715 -0
  14. data/ext/nutcracker/config/compile +347 -0
  15. data/ext/nutcracker/config/config.guess +116 -78
  16. data/ext/nutcracker/config/config.sub +65 -45
  17. data/ext/nutcracker/config/depcomp +295 -192
  18. data/ext/nutcracker/config/install-sh +7 -7
  19. data/ext/nutcracker/config/ltmain.sh +15 -20
  20. data/ext/nutcracker/config/missing +149 -265
  21. data/ext/nutcracker/configure +493 -367
  22. data/ext/nutcracker/contrib/Makefile.in +158 -116
  23. data/ext/nutcracker/extconf.rb +0 -1
  24. data/ext/nutcracker/m4/libtool.m4 +4 -23
  25. data/ext/nutcracker/m4/ltoptions.m4 +0 -0
  26. data/ext/nutcracker/m4/ltsugar.m4 +0 -0
  27. data/ext/nutcracker/m4/ltversion.m4 +0 -0
  28. data/ext/nutcracker/m4/lt~obsolete.m4 +0 -0
  29. data/ext/nutcracker/notes/recommendation.md +1 -1
  30. data/ext/nutcracker/notes/redis.md +35 -3
  31. data/ext/nutcracker/scripts/benchmark-mget.py +43 -0
  32. data/ext/nutcracker/scripts/nutcracker.spec +61 -3
  33. data/ext/nutcracker/scripts/redis-check.sh +43 -0
  34. data/ext/nutcracker/src/Makefile.in +205 -142
  35. data/ext/nutcracker/src/event/Makefile.in +164 -66
  36. data/ext/nutcracker/src/hashkit/Makefile.in +164 -66
  37. data/ext/nutcracker/src/nc_conf.c +2 -0
  38. data/ext/nutcracker/src/nc_connection.c +31 -0
  39. data/ext/nutcracker/src/nc_connection.h +3 -0
  40. data/ext/nutcracker/src/nc_core.c +38 -2
  41. data/ext/nutcracker/src/nc_core.h +11 -0
  42. data/ext/nutcracker/src/nc_log.c +90 -12
  43. data/ext/nutcracker/src/nc_log.h +11 -0
  44. data/ext/nutcracker/src/nc_mbuf.h +1 -1
  45. data/ext/nutcracker/src/nc_message.c +162 -116
  46. data/ext/nutcracker/src/nc_message.h +161 -129
  47. data/ext/nutcracker/src/nc_proxy.c +34 -4
  48. data/ext/nutcracker/src/nc_request.c +158 -32
  49. data/ext/nutcracker/src/nc_server.c +59 -5
  50. data/ext/nutcracker/src/nc_server.h +1 -0
  51. data/ext/nutcracker/src/nc_signal.c +2 -2
  52. data/ext/nutcracker/src/nc_stats.c +21 -0
  53. data/ext/nutcracker/src/nc_stats.h +28 -26
  54. data/ext/nutcracker/src/nc_string.c +176 -1
  55. data/ext/nutcracker/src/nc_string.h +26 -0
  56. data/ext/nutcracker/src/nc_util.c +12 -0
  57. data/ext/nutcracker/src/nc_util.h +1 -0
  58. data/ext/nutcracker/src/proto/Makefile.in +164 -66
  59. data/ext/nutcracker/src/proto/nc_memcache.c +279 -88
  60. data/ext/nutcracker/src/proto/nc_proto.h +3 -4
  61. data/ext/nutcracker/src/proto/nc_redis.c +561 -134
  62. data/lib/nutcracker/version.rb +1 -1
  63. metadata +31 -67
  64. data/ext/nutcracker/contrib/yaml-0.1.4/LICENSE +0 -19
  65. data/ext/nutcracker/contrib/yaml-0.1.4/Makefile.am +0 -20
  66. data/ext/nutcracker/contrib/yaml-0.1.4/Makefile.in +0 -736
  67. data/ext/nutcracker/contrib/yaml-0.1.4/README +0 -27
  68. data/ext/nutcracker/contrib/yaml-0.1.4/aclocal.m4 +0 -956
  69. data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in +0 -80
  70. data/ext/nutcracker/contrib/yaml-0.1.4/config/config.guess +0 -1561
  71. data/ext/nutcracker/contrib/yaml-0.1.4/config/config.sub +0 -1686
  72. data/ext/nutcracker/contrib/yaml-0.1.4/config/depcomp +0 -630
  73. data/ext/nutcracker/contrib/yaml-0.1.4/config/install-sh +0 -520
  74. data/ext/nutcracker/contrib/yaml-0.1.4/config/ltmain.sh +0 -8406
  75. data/ext/nutcracker/contrib/yaml-0.1.4/config/missing +0 -376
  76. data/ext/nutcracker/contrib/yaml-0.1.4/configure.ac +0 -75
  77. data/ext/nutcracker/contrib/yaml-0.1.4/doc/doxygen.cfg +0 -222
  78. data/ext/nutcracker/contrib/yaml-0.1.4/include/yaml.h +0 -1971
  79. data/ext/nutcracker/contrib/yaml-0.1.4/m4/libtool.m4 +0 -7357
  80. data/ext/nutcracker/contrib/yaml-0.1.4/m4/ltoptions.m4 +0 -368
  81. data/ext/nutcracker/contrib/yaml-0.1.4/m4/ltsugar.m4 +0 -123
  82. data/ext/nutcracker/contrib/yaml-0.1.4/m4/ltversion.m4 +0 -23
  83. data/ext/nutcracker/contrib/yaml-0.1.4/m4/lt~obsolete.m4 +0 -92
  84. data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile.am +0 -4
  85. data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile.in +0 -484
  86. data/ext/nutcracker/contrib/yaml-0.1.4/src/api.c +0 -1392
  87. data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.c +0 -394
  88. data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.c +0 -2329
  89. data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.c +0 -432
  90. data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.c +0 -1374
  91. data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.c +0 -465
  92. data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.c +0 -3570
  93. data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.c +0 -141
  94. data/ext/nutcracker/contrib/yaml-0.1.4/src/yaml_private.h +0 -640
  95. data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile.am +0 -8
  96. data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile.in +0 -675
  97. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt.c +0 -800
  98. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor.c +0 -1130
  99. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt.c +0 -217
  100. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter.c +0 -202
  101. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper.c +0 -311
  102. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter.c +0 -327
  103. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader.c +0 -63
  104. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser.c +0 -63
  105. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner.c +0 -63
  106. data/ext/nutcracker/contrib/yaml-0.1.4/tests/test-reader.c +0 -354
  107. data/ext/nutcracker/contrib/yaml-0.1.4/tests/test-version.c +0 -29
@@ -1,630 +0,0 @@
1
- #! /bin/sh
2
- # depcomp - compile a program generating dependencies as side-effects
3
-
4
- scriptversion=2009-04-28.21; # UTC
5
-
6
- # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
7
- # Software Foundation, Inc.
8
-
9
- # This program is free software; you can redistribute it and/or modify
10
- # it under the terms of the GNU General Public License as published by
11
- # the Free Software Foundation; either version 2, or (at your option)
12
- # any later version.
13
-
14
- # This program is distributed in the hope that it will be useful,
15
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
- # GNU General Public License for more details.
18
-
19
- # You should have received a copy of the GNU General Public License
20
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
21
-
22
- # As a special exception to the GNU General Public License, if you
23
- # distribute this file as part of a program that contains a
24
- # configuration script generated by Autoconf, you may include it under
25
- # the same distribution terms that you use for the rest of that program.
26
-
27
- # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
28
-
29
- case $1 in
30
- '')
31
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
32
- exit 1;
33
- ;;
34
- -h | --h*)
35
- cat <<\EOF
36
- Usage: depcomp [--help] [--version] PROGRAM [ARGS]
37
-
38
- Run PROGRAMS ARGS to compile a file, generating dependencies
39
- as side-effects.
40
-
41
- Environment variables:
42
- depmode Dependency tracking mode.
43
- source Source file read by `PROGRAMS ARGS'.
44
- object Object file output by `PROGRAMS ARGS'.
45
- DEPDIR directory where to store dependencies.
46
- depfile Dependency file to output.
47
- tmpdepfile Temporary file to use when outputing dependencies.
48
- libtool Whether libtool is used (yes/no).
49
-
50
- Report bugs to <bug-automake@gnu.org>.
51
- EOF
52
- exit $?
53
- ;;
54
- -v | --v*)
55
- echo "depcomp $scriptversion"
56
- exit $?
57
- ;;
58
- esac
59
-
60
- if test -z "$depmode" || test -z "$source" || test -z "$object"; then
61
- echo "depcomp: Variables source, object and depmode must be set" 1>&2
62
- exit 1
63
- fi
64
-
65
- # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
66
- depfile=${depfile-`echo "$object" |
67
- sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
68
- tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
69
-
70
- rm -f "$tmpdepfile"
71
-
72
- # Some modes work just like other modes, but use different flags. We
73
- # parameterize here, but still list the modes in the big case below,
74
- # to make depend.m4 easier to write. Note that we *cannot* use a case
75
- # here, because this file can only contain one case statement.
76
- if test "$depmode" = hp; then
77
- # HP compiler uses -M and no extra arg.
78
- gccflag=-M
79
- depmode=gcc
80
- fi
81
-
82
- if test "$depmode" = dashXmstdout; then
83
- # This is just like dashmstdout with a different argument.
84
- dashmflag=-xM
85
- depmode=dashmstdout
86
- fi
87
-
88
- cygpath_u="cygpath -u -f -"
89
- if test "$depmode" = msvcmsys; then
90
- # This is just like msvisualcpp but w/o cygpath translation.
91
- # Just convert the backslash-escaped backslashes to single forward
92
- # slashes to satisfy depend.m4
93
- cygpath_u="sed s,\\\\\\\\,/,g"
94
- depmode=msvisualcpp
95
- fi
96
-
97
- case "$depmode" in
98
- gcc3)
99
- ## gcc 3 implements dependency tracking that does exactly what
100
- ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
101
- ## it if -MD -MP comes after the -MF stuff. Hmm.
102
- ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
103
- ## the command line argument order; so add the flags where they
104
- ## appear in depend2.am. Note that the slowdown incurred here
105
- ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
106
- for arg
107
- do
108
- case $arg in
109
- -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
110
- *) set fnord "$@" "$arg" ;;
111
- esac
112
- shift # fnord
113
- shift # $arg
114
- done
115
- "$@"
116
- stat=$?
117
- if test $stat -eq 0; then :
118
- else
119
- rm -f "$tmpdepfile"
120
- exit $stat
121
- fi
122
- mv "$tmpdepfile" "$depfile"
123
- ;;
124
-
125
- gcc)
126
- ## There are various ways to get dependency output from gcc. Here's
127
- ## why we pick this rather obscure method:
128
- ## - Don't want to use -MD because we'd like the dependencies to end
129
- ## up in a subdir. Having to rename by hand is ugly.
130
- ## (We might end up doing this anyway to support other compilers.)
131
- ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
132
- ## -MM, not -M (despite what the docs say).
133
- ## - Using -M directly means running the compiler twice (even worse
134
- ## than renaming).
135
- if test -z "$gccflag"; then
136
- gccflag=-MD,
137
- fi
138
- "$@" -Wp,"$gccflag$tmpdepfile"
139
- stat=$?
140
- if test $stat -eq 0; then :
141
- else
142
- rm -f "$tmpdepfile"
143
- exit $stat
144
- fi
145
- rm -f "$depfile"
146
- echo "$object : \\" > "$depfile"
147
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
148
- ## The second -e expression handles DOS-style file names with drive letters.
149
- sed -e 's/^[^:]*: / /' \
150
- -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
151
- ## This next piece of magic avoids the `deleted header file' problem.
152
- ## The problem is that when a header file which appears in a .P file
153
- ## is deleted, the dependency causes make to die (because there is
154
- ## typically no way to rebuild the header). We avoid this by adding
155
- ## dummy dependencies for each header file. Too bad gcc doesn't do
156
- ## this for us directly.
157
- tr ' ' '
158
- ' < "$tmpdepfile" |
159
- ## Some versions of gcc put a space before the `:'. On the theory
160
- ## that the space means something, we add a space to the output as
161
- ## well.
162
- ## Some versions of the HPUX 10.20 sed can't process this invocation
163
- ## correctly. Breaking it into two sed invocations is a workaround.
164
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
165
- rm -f "$tmpdepfile"
166
- ;;
167
-
168
- hp)
169
- # This case exists only to let depend.m4 do its work. It works by
170
- # looking at the text of this script. This case will never be run,
171
- # since it is checked for above.
172
- exit 1
173
- ;;
174
-
175
- sgi)
176
- if test "$libtool" = yes; then
177
- "$@" "-Wp,-MDupdate,$tmpdepfile"
178
- else
179
- "$@" -MDupdate "$tmpdepfile"
180
- fi
181
- stat=$?
182
- if test $stat -eq 0; then :
183
- else
184
- rm -f "$tmpdepfile"
185
- exit $stat
186
- fi
187
- rm -f "$depfile"
188
-
189
- if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
190
- echo "$object : \\" > "$depfile"
191
-
192
- # Clip off the initial element (the dependent). Don't try to be
193
- # clever and replace this with sed code, as IRIX sed won't handle
194
- # lines with more than a fixed number of characters (4096 in
195
- # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
196
- # the IRIX cc adds comments like `#:fec' to the end of the
197
- # dependency line.
198
- tr ' ' '
199
- ' < "$tmpdepfile" \
200
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
201
- tr '
202
- ' ' ' >> "$depfile"
203
- echo >> "$depfile"
204
-
205
- # The second pass generates a dummy entry for each header file.
206
- tr ' ' '
207
- ' < "$tmpdepfile" \
208
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
209
- >> "$depfile"
210
- else
211
- # The sourcefile does not contain any dependencies, so just
212
- # store a dummy comment line, to avoid errors with the Makefile
213
- # "include basename.Plo" scheme.
214
- echo "#dummy" > "$depfile"
215
- fi
216
- rm -f "$tmpdepfile"
217
- ;;
218
-
219
- aix)
220
- # The C for AIX Compiler uses -M and outputs the dependencies
221
- # in a .u file. In older versions, this file always lives in the
222
- # current directory. Also, the AIX compiler puts `$object:' at the
223
- # start of each line; $object doesn't have directory information.
224
- # Version 6 uses the directory in both cases.
225
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
226
- test "x$dir" = "x$object" && dir=
227
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
228
- if test "$libtool" = yes; then
229
- tmpdepfile1=$dir$base.u
230
- tmpdepfile2=$base.u
231
- tmpdepfile3=$dir.libs/$base.u
232
- "$@" -Wc,-M
233
- else
234
- tmpdepfile1=$dir$base.u
235
- tmpdepfile2=$dir$base.u
236
- tmpdepfile3=$dir$base.u
237
- "$@" -M
238
- fi
239
- stat=$?
240
-
241
- if test $stat -eq 0; then :
242
- else
243
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
244
- exit $stat
245
- fi
246
-
247
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
248
- do
249
- test -f "$tmpdepfile" && break
250
- done
251
- if test -f "$tmpdepfile"; then
252
- # Each line is of the form `foo.o: dependent.h'.
253
- # Do two passes, one to just change these to
254
- # `$object: dependent.h' and one to simply `dependent.h:'.
255
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
256
- # That's a tab and a space in the [].
257
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
258
- else
259
- # The sourcefile does not contain any dependencies, so just
260
- # store a dummy comment line, to avoid errors with the Makefile
261
- # "include basename.Plo" scheme.
262
- echo "#dummy" > "$depfile"
263
- fi
264
- rm -f "$tmpdepfile"
265
- ;;
266
-
267
- icc)
268
- # Intel's C compiler understands `-MD -MF file'. However on
269
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
270
- # ICC 7.0 will fill foo.d with something like
271
- # foo.o: sub/foo.c
272
- # foo.o: sub/foo.h
273
- # which is wrong. We want:
274
- # sub/foo.o: sub/foo.c
275
- # sub/foo.o: sub/foo.h
276
- # sub/foo.c:
277
- # sub/foo.h:
278
- # ICC 7.1 will output
279
- # foo.o: sub/foo.c sub/foo.h
280
- # and will wrap long lines using \ :
281
- # foo.o: sub/foo.c ... \
282
- # sub/foo.h ... \
283
- # ...
284
-
285
- "$@" -MD -MF "$tmpdepfile"
286
- stat=$?
287
- if test $stat -eq 0; then :
288
- else
289
- rm -f "$tmpdepfile"
290
- exit $stat
291
- fi
292
- rm -f "$depfile"
293
- # Each line is of the form `foo.o: dependent.h',
294
- # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
295
- # Do two passes, one to just change these to
296
- # `$object: dependent.h' and one to simply `dependent.h:'.
297
- sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
298
- # Some versions of the HPUX 10.20 sed can't process this invocation
299
- # correctly. Breaking it into two sed invocations is a workaround.
300
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
301
- sed -e 's/$/ :/' >> "$depfile"
302
- rm -f "$tmpdepfile"
303
- ;;
304
-
305
- hp2)
306
- # The "hp" stanza above does not work with aCC (C++) and HP's ia64
307
- # compilers, which have integrated preprocessors. The correct option
308
- # to use with these is +Maked; it writes dependencies to a file named
309
- # 'foo.d', which lands next to the object file, wherever that
310
- # happens to be.
311
- # Much of this is similar to the tru64 case; see comments there.
312
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
313
- test "x$dir" = "x$object" && dir=
314
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
315
- if test "$libtool" = yes; then
316
- tmpdepfile1=$dir$base.d
317
- tmpdepfile2=$dir.libs/$base.d
318
- "$@" -Wc,+Maked
319
- else
320
- tmpdepfile1=$dir$base.d
321
- tmpdepfile2=$dir$base.d
322
- "$@" +Maked
323
- fi
324
- stat=$?
325
- if test $stat -eq 0; then :
326
- else
327
- rm -f "$tmpdepfile1" "$tmpdepfile2"
328
- exit $stat
329
- fi
330
-
331
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
332
- do
333
- test -f "$tmpdepfile" && break
334
- done
335
- if test -f "$tmpdepfile"; then
336
- sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
337
- # Add `dependent.h:' lines.
338
- sed -ne '2,${
339
- s/^ *//
340
- s/ \\*$//
341
- s/$/:/
342
- p
343
- }' "$tmpdepfile" >> "$depfile"
344
- else
345
- echo "#dummy" > "$depfile"
346
- fi
347
- rm -f "$tmpdepfile" "$tmpdepfile2"
348
- ;;
349
-
350
- tru64)
351
- # The Tru64 compiler uses -MD to generate dependencies as a side
352
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
353
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
354
- # dependencies in `foo.d' instead, so we check for that too.
355
- # Subdirectories are respected.
356
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
357
- test "x$dir" = "x$object" && dir=
358
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
359
-
360
- if test "$libtool" = yes; then
361
- # With Tru64 cc, shared objects can also be used to make a
362
- # static library. This mechanism is used in libtool 1.4 series to
363
- # handle both shared and static libraries in a single compilation.
364
- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
365
- #
366
- # With libtool 1.5 this exception was removed, and libtool now
367
- # generates 2 separate objects for the 2 libraries. These two
368
- # compilations output dependencies in $dir.libs/$base.o.d and
369
- # in $dir$base.o.d. We have to check for both files, because
370
- # one of the two compilations can be disabled. We should prefer
371
- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
372
- # automatically cleaned when .libs/ is deleted, while ignoring
373
- # the former would cause a distcleancheck panic.
374
- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
375
- tmpdepfile2=$dir$base.o.d # libtool 1.5
376
- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
377
- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
378
- "$@" -Wc,-MD
379
- else
380
- tmpdepfile1=$dir$base.o.d
381
- tmpdepfile2=$dir$base.d
382
- tmpdepfile3=$dir$base.d
383
- tmpdepfile4=$dir$base.d
384
- "$@" -MD
385
- fi
386
-
387
- stat=$?
388
- if test $stat -eq 0; then :
389
- else
390
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
391
- exit $stat
392
- fi
393
-
394
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
395
- do
396
- test -f "$tmpdepfile" && break
397
- done
398
- if test -f "$tmpdepfile"; then
399
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
400
- # That's a tab and a space in the [].
401
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
402
- else
403
- echo "#dummy" > "$depfile"
404
- fi
405
- rm -f "$tmpdepfile"
406
- ;;
407
-
408
- #nosideeffect)
409
- # This comment above is used by automake to tell side-effect
410
- # dependency tracking mechanisms from slower ones.
411
-
412
- dashmstdout)
413
- # Important note: in order to support this mode, a compiler *must*
414
- # always write the preprocessed file to stdout, regardless of -o.
415
- "$@" || exit $?
416
-
417
- # Remove the call to Libtool.
418
- if test "$libtool" = yes; then
419
- while test "X$1" != 'X--mode=compile'; do
420
- shift
421
- done
422
- shift
423
- fi
424
-
425
- # Remove `-o $object'.
426
- IFS=" "
427
- for arg
428
- do
429
- case $arg in
430
- -o)
431
- shift
432
- ;;
433
- $object)
434
- shift
435
- ;;
436
- *)
437
- set fnord "$@" "$arg"
438
- shift # fnord
439
- shift # $arg
440
- ;;
441
- esac
442
- done
443
-
444
- test -z "$dashmflag" && dashmflag=-M
445
- # Require at least two characters before searching for `:'
446
- # in the target name. This is to cope with DOS-style filenames:
447
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
448
- "$@" $dashmflag |
449
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
450
- rm -f "$depfile"
451
- cat < "$tmpdepfile" > "$depfile"
452
- tr ' ' '
453
- ' < "$tmpdepfile" | \
454
- ## Some versions of the HPUX 10.20 sed can't process this invocation
455
- ## correctly. Breaking it into two sed invocations is a workaround.
456
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
457
- rm -f "$tmpdepfile"
458
- ;;
459
-
460
- dashXmstdout)
461
- # This case only exists to satisfy depend.m4. It is never actually
462
- # run, as this mode is specially recognized in the preamble.
463
- exit 1
464
- ;;
465
-
466
- makedepend)
467
- "$@" || exit $?
468
- # Remove any Libtool call
469
- if test "$libtool" = yes; then
470
- while test "X$1" != 'X--mode=compile'; do
471
- shift
472
- done
473
- shift
474
- fi
475
- # X makedepend
476
- shift
477
- cleared=no eat=no
478
- for arg
479
- do
480
- case $cleared in
481
- no)
482
- set ""; shift
483
- cleared=yes ;;
484
- esac
485
- if test $eat = yes; then
486
- eat=no
487
- continue
488
- fi
489
- case "$arg" in
490
- -D*|-I*)
491
- set fnord "$@" "$arg"; shift ;;
492
- # Strip any option that makedepend may not understand. Remove
493
- # the object too, otherwise makedepend will parse it as a source file.
494
- -arch)
495
- eat=yes ;;
496
- -*|$object)
497
- ;;
498
- *)
499
- set fnord "$@" "$arg"; shift ;;
500
- esac
501
- done
502
- obj_suffix=`echo "$object" | sed 's/^.*\././'`
503
- touch "$tmpdepfile"
504
- ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
505
- rm -f "$depfile"
506
- cat < "$tmpdepfile" > "$depfile"
507
- sed '1,2d' "$tmpdepfile" | tr ' ' '
508
- ' | \
509
- ## Some versions of the HPUX 10.20 sed can't process this invocation
510
- ## correctly. Breaking it into two sed invocations is a workaround.
511
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
512
- rm -f "$tmpdepfile" "$tmpdepfile".bak
513
- ;;
514
-
515
- cpp)
516
- # Important note: in order to support this mode, a compiler *must*
517
- # always write the preprocessed file to stdout.
518
- "$@" || exit $?
519
-
520
- # Remove the call to Libtool.
521
- if test "$libtool" = yes; then
522
- while test "X$1" != 'X--mode=compile'; do
523
- shift
524
- done
525
- shift
526
- fi
527
-
528
- # Remove `-o $object'.
529
- IFS=" "
530
- for arg
531
- do
532
- case $arg in
533
- -o)
534
- shift
535
- ;;
536
- $object)
537
- shift
538
- ;;
539
- *)
540
- set fnord "$@" "$arg"
541
- shift # fnord
542
- shift # $arg
543
- ;;
544
- esac
545
- done
546
-
547
- "$@" -E |
548
- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
549
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
550
- sed '$ s: \\$::' > "$tmpdepfile"
551
- rm -f "$depfile"
552
- echo "$object : \\" > "$depfile"
553
- cat < "$tmpdepfile" >> "$depfile"
554
- sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
555
- rm -f "$tmpdepfile"
556
- ;;
557
-
558
- msvisualcpp)
559
- # Important note: in order to support this mode, a compiler *must*
560
- # always write the preprocessed file to stdout.
561
- "$@" || exit $?
562
-
563
- # Remove the call to Libtool.
564
- if test "$libtool" = yes; then
565
- while test "X$1" != 'X--mode=compile'; do
566
- shift
567
- done
568
- shift
569
- fi
570
-
571
- IFS=" "
572
- for arg
573
- do
574
- case "$arg" in
575
- -o)
576
- shift
577
- ;;
578
- $object)
579
- shift
580
- ;;
581
- "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
582
- set fnord "$@"
583
- shift
584
- shift
585
- ;;
586
- *)
587
- set fnord "$@" "$arg"
588
- shift
589
- shift
590
- ;;
591
- esac
592
- done
593
- "$@" -E 2>/dev/null |
594
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
595
- rm -f "$depfile"
596
- echo "$object : \\" > "$depfile"
597
- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
598
- echo " " >> "$depfile"
599
- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
600
- rm -f "$tmpdepfile"
601
- ;;
602
-
603
- msvcmsys)
604
- # This case exists only to let depend.m4 do its work. It works by
605
- # looking at the text of this script. This case will never be run,
606
- # since it is checked for above.
607
- exit 1
608
- ;;
609
-
610
- none)
611
- exec "$@"
612
- ;;
613
-
614
- *)
615
- echo "Unknown depmode $depmode" 1>&2
616
- exit 1
617
- ;;
618
- esac
619
-
620
- exit 0
621
-
622
- # Local Variables:
623
- # mode: shell-script
624
- # sh-indentation: 2
625
- # eval: (add-hook 'write-file-hooks 'time-stamp)
626
- # time-stamp-start: "scriptversion="
627
- # time-stamp-format: "%:y-%02m-%02d.%02H"
628
- # time-stamp-time-zone: "UTC"
629
- # time-stamp-end: "; # UTC"
630
- # End: