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,134 +0,0 @@
1
- m4_define([snappy_major], [1])
2
- m4_define([snappy_minor], [1])
3
- m4_define([snappy_patchlevel], [4])
4
-
5
- # Libtool shared library interface versions (current:revision:age)
6
- # Update this value for every release! (A:B:C will map to foo.so.(A-C).C.B)
7
- # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
8
- m4_define([snappy_ltversion], [4:1:3])
9
-
10
- AC_INIT([snappy], [snappy_major.snappy_minor.snappy_patchlevel])
11
- AC_CONFIG_MACRO_DIR([m4])
12
- AC_CONFIG_AUX_DIR([.])
13
-
14
- # These are flags passed to automake (though they look like gcc flags!)
15
- AM_INIT_AUTOMAKE([-Wall])
16
-
17
- LT_INIT
18
- AC_SUBST([LIBTOOL_DEPS])
19
- AC_PROG_CXX
20
- AC_LANG([C++])
21
- AC_C_BIGENDIAN
22
- AC_TYPE_SIZE_T
23
- AC_TYPE_SSIZE_T
24
- AC_CHECK_HEADERS([stdint.h stddef.h sys/mman.h sys/resource.h windows.h byteswap.h sys/byteswap.h sys/endian.h sys/time.h])
25
-
26
- # Don't use AC_FUNC_MMAP, as it checks for mappings of already-mapped memory,
27
- # which we don't need (and does not exist on Windows).
28
- AC_CHECK_FUNC([mmap])
29
-
30
- GTEST_LIB_CHECK([], [true], [true # Ignore; we can live without it.])
31
-
32
- AC_ARG_WITH([gflags],
33
- [AS_HELP_STRING(
34
- [--with-gflags],
35
- [use Google Flags package to enhance the unit test @<:@default=check@:>@])],
36
- [],
37
- [with_gflags=check])
38
-
39
- if test "x$with_gflags" != "xno"; then
40
- PKG_CHECK_MODULES(
41
- [gflags],
42
- [libgflags],
43
- [AC_DEFINE([HAVE_GFLAGS], [1], [Use the gflags package for command-line parsing.])],
44
- [if test "x$with_gflags" != "xcheck"; then
45
- AC_MSG_FAILURE([--with-gflags was given, but test for gflags failed])
46
- fi])
47
- fi
48
-
49
- # See if we have __builtin_expect.
50
- # TODO: Use AC_CACHE.
51
- AC_MSG_CHECKING([if the compiler supports __builtin_expect])
52
-
53
- AC_TRY_COMPILE(, [
54
- return __builtin_expect(1, 1) ? 1 : 0
55
- ], [
56
- snappy_have_builtin_expect=yes
57
- AC_MSG_RESULT([yes])
58
- ], [
59
- snappy_have_builtin_expect=no
60
- AC_MSG_RESULT([no])
61
- ])
62
- if test x$snappy_have_builtin_expect = xyes ; then
63
- AC_DEFINE([HAVE_BUILTIN_EXPECT], [1], [Define to 1 if the compiler supports __builtin_expect.])
64
- fi
65
-
66
- # See if we have working count-trailing-zeros intrinsics.
67
- # TODO: Use AC_CACHE.
68
- AC_MSG_CHECKING([if the compiler supports __builtin_ctzll])
69
-
70
- AC_TRY_COMPILE(, [
71
- return (__builtin_ctzll(0x100000000LL) == 32) ? 1 : 0
72
- ], [
73
- snappy_have_builtin_ctz=yes
74
- AC_MSG_RESULT([yes])
75
- ], [
76
- snappy_have_builtin_ctz=no
77
- AC_MSG_RESULT([no])
78
- ])
79
- if test x$snappy_have_builtin_ctz = xyes ; then
80
- AC_DEFINE([HAVE_BUILTIN_CTZ], [1], [Define to 1 if the compiler supports __builtin_ctz and friends.])
81
- fi
82
-
83
- # Other compression libraries; the unit test can use these for comparison
84
- # if they are available. If they are not found, just ignore.
85
- UNITTEST_LIBS=""
86
- AC_DEFUN([CHECK_EXT_COMPRESSION_LIB], [
87
- AH_CHECK_LIB([$1])
88
- AC_CHECK_LIB(
89
- [$1],
90
- [$2],
91
- [
92
- AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1))
93
- UNITTEST_LIBS="-l$1 $UNITTEST_LIBS"
94
- ],
95
- [true]
96
- )
97
- ])
98
- CHECK_EXT_COMPRESSION_LIB([z], [zlibVersion])
99
- CHECK_EXT_COMPRESSION_LIB([lzo2], [lzo1x_1_15_compress])
100
- CHECK_EXT_COMPRESSION_LIB([lzf], [lzf_compress])
101
- CHECK_EXT_COMPRESSION_LIB([fastlz], [fastlz_compress])
102
- CHECK_EXT_COMPRESSION_LIB([quicklz], [qlz_compress])
103
- AC_SUBST([UNITTEST_LIBS])
104
-
105
- # These are used by snappy-stubs-public.h.in.
106
- if test "$ac_cv_header_stdint_h" = "yes"; then
107
- AC_SUBST([ac_cv_have_stdint_h], [1])
108
- else
109
- AC_SUBST([ac_cv_have_stdint_h], [0])
110
- fi
111
- if test "$ac_cv_header_stddef_h" = "yes"; then
112
- AC_SUBST([ac_cv_have_stddef_h], [1])
113
- else
114
- AC_SUBST([ac_cv_have_stddef_h], [0])
115
- fi
116
- if test "$ac_cv_header_sys_uio_h" = "yes"; then
117
- AC_SUBST([ac_cv_have_sys_uio_h], [1])
118
- else
119
- AC_SUBST([ac_cv_have_sys_uio_h], [0])
120
- fi
121
-
122
- # Export the version to snappy-stubs-public.h.
123
- SNAPPY_MAJOR="snappy_major"
124
- SNAPPY_MINOR="snappy_minor"
125
- SNAPPY_PATCHLEVEL="snappy_patchlevel"
126
-
127
- AC_SUBST([SNAPPY_MAJOR])
128
- AC_SUBST([SNAPPY_MINOR])
129
- AC_SUBST([SNAPPY_PATCHLEVEL])
130
- AC_SUBST([SNAPPY_LTVERSION], snappy_ltversion)
131
-
132
- AC_CONFIG_HEADERS([config.h])
133
- AC_CONFIG_FILES([Makefile snappy-stubs-public.h snappy.pc])
134
- AC_OUTPUT
@@ -1,688 +0,0 @@
1
- #! /bin/sh
2
- # depcomp - compile a program generating dependencies as side-effects
3
-
4
- scriptversion=2011-12-04.11; # UTC
5
-
6
- # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
7
- # 2011 Free 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 outputting 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
- if test "$depmode" = msvc7msys; then
98
- # This is just like msvc7 but w/o cygpath translation.
99
- # Just convert the backslash-escaped backslashes to single forward
100
- # slashes to satisfy depend.m4
101
- cygpath_u='sed s,\\\\,/,g'
102
- depmode=msvc7
103
- fi
104
-
105
- case "$depmode" in
106
- gcc3)
107
- ## gcc 3 implements dependency tracking that does exactly what
108
- ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
109
- ## it if -MD -MP comes after the -MF stuff. Hmm.
110
- ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
111
- ## the command line argument order; so add the flags where they
112
- ## appear in depend2.am. Note that the slowdown incurred here
113
- ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
114
- for arg
115
- do
116
- case $arg in
117
- -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
118
- *) set fnord "$@" "$arg" ;;
119
- esac
120
- shift # fnord
121
- shift # $arg
122
- done
123
- "$@"
124
- stat=$?
125
- if test $stat -eq 0; then :
126
- else
127
- rm -f "$tmpdepfile"
128
- exit $stat
129
- fi
130
- mv "$tmpdepfile" "$depfile"
131
- ;;
132
-
133
- gcc)
134
- ## There are various ways to get dependency output from gcc. Here's
135
- ## why we pick this rather obscure method:
136
- ## - Don't want to use -MD because we'd like the dependencies to end
137
- ## up in a subdir. Having to rename by hand is ugly.
138
- ## (We might end up doing this anyway to support other compilers.)
139
- ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
140
- ## -MM, not -M (despite what the docs say).
141
- ## - Using -M directly means running the compiler twice (even worse
142
- ## than renaming).
143
- if test -z "$gccflag"; then
144
- gccflag=-MD,
145
- fi
146
- "$@" -Wp,"$gccflag$tmpdepfile"
147
- stat=$?
148
- if test $stat -eq 0; then :
149
- else
150
- rm -f "$tmpdepfile"
151
- exit $stat
152
- fi
153
- rm -f "$depfile"
154
- echo "$object : \\" > "$depfile"
155
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
156
- ## The second -e expression handles DOS-style file names with drive letters.
157
- sed -e 's/^[^:]*: / /' \
158
- -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
159
- ## This next piece of magic avoids the `deleted header file' problem.
160
- ## The problem is that when a header file which appears in a .P file
161
- ## is deleted, the dependency causes make to die (because there is
162
- ## typically no way to rebuild the header). We avoid this by adding
163
- ## dummy dependencies for each header file. Too bad gcc doesn't do
164
- ## this for us directly.
165
- tr ' ' '
166
- ' < "$tmpdepfile" |
167
- ## Some versions of gcc put a space before the `:'. On the theory
168
- ## that the space means something, we add a space to the output as
169
- ## well. hp depmode also adds that space, but also prefixes the VPATH
170
- ## to the object. Take care to not repeat it in the output.
171
- ## Some versions of the HPUX 10.20 sed can't process this invocation
172
- ## correctly. Breaking it into two sed invocations is a workaround.
173
- sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
174
- | sed -e 's/$/ :/' >> "$depfile"
175
- rm -f "$tmpdepfile"
176
- ;;
177
-
178
- hp)
179
- # This case exists only to let depend.m4 do its work. It works by
180
- # looking at the text of this script. This case will never be run,
181
- # since it is checked for above.
182
- exit 1
183
- ;;
184
-
185
- sgi)
186
- if test "$libtool" = yes; then
187
- "$@" "-Wp,-MDupdate,$tmpdepfile"
188
- else
189
- "$@" -MDupdate "$tmpdepfile"
190
- fi
191
- stat=$?
192
- if test $stat -eq 0; then :
193
- else
194
- rm -f "$tmpdepfile"
195
- exit $stat
196
- fi
197
- rm -f "$depfile"
198
-
199
- if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
200
- echo "$object : \\" > "$depfile"
201
-
202
- # Clip off the initial element (the dependent). Don't try to be
203
- # clever and replace this with sed code, as IRIX sed won't handle
204
- # lines with more than a fixed number of characters (4096 in
205
- # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
206
- # the IRIX cc adds comments like `#:fec' to the end of the
207
- # dependency line.
208
- tr ' ' '
209
- ' < "$tmpdepfile" \
210
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
211
- tr '
212
- ' ' ' >> "$depfile"
213
- echo >> "$depfile"
214
-
215
- # The second pass generates a dummy entry for each header file.
216
- tr ' ' '
217
- ' < "$tmpdepfile" \
218
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
219
- >> "$depfile"
220
- else
221
- # The sourcefile does not contain any dependencies, so just
222
- # store a dummy comment line, to avoid errors with the Makefile
223
- # "include basename.Plo" scheme.
224
- echo "#dummy" > "$depfile"
225
- fi
226
- rm -f "$tmpdepfile"
227
- ;;
228
-
229
- aix)
230
- # The C for AIX Compiler uses -M and outputs the dependencies
231
- # in a .u file. In older versions, this file always lives in the
232
- # current directory. Also, the AIX compiler puts `$object:' at the
233
- # start of each line; $object doesn't have directory information.
234
- # Version 6 uses the directory in both cases.
235
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
236
- test "x$dir" = "x$object" && dir=
237
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
238
- if test "$libtool" = yes; then
239
- tmpdepfile1=$dir$base.u
240
- tmpdepfile2=$base.u
241
- tmpdepfile3=$dir.libs/$base.u
242
- "$@" -Wc,-M
243
- else
244
- tmpdepfile1=$dir$base.u
245
- tmpdepfile2=$dir$base.u
246
- tmpdepfile3=$dir$base.u
247
- "$@" -M
248
- fi
249
- stat=$?
250
-
251
- if test $stat -eq 0; then :
252
- else
253
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
254
- exit $stat
255
- fi
256
-
257
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
258
- do
259
- test -f "$tmpdepfile" && break
260
- done
261
- if test -f "$tmpdepfile"; then
262
- # Each line is of the form `foo.o: dependent.h'.
263
- # Do two passes, one to just change these to
264
- # `$object: dependent.h' and one to simply `dependent.h:'.
265
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
266
- # That's a tab and a space in the [].
267
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
268
- else
269
- # The sourcefile does not contain any dependencies, so just
270
- # store a dummy comment line, to avoid errors with the Makefile
271
- # "include basename.Plo" scheme.
272
- echo "#dummy" > "$depfile"
273
- fi
274
- rm -f "$tmpdepfile"
275
- ;;
276
-
277
- icc)
278
- # Intel's C compiler understands `-MD -MF file'. However on
279
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
280
- # ICC 7.0 will fill foo.d with something like
281
- # foo.o: sub/foo.c
282
- # foo.o: sub/foo.h
283
- # which is wrong. We want:
284
- # sub/foo.o: sub/foo.c
285
- # sub/foo.o: sub/foo.h
286
- # sub/foo.c:
287
- # sub/foo.h:
288
- # ICC 7.1 will output
289
- # foo.o: sub/foo.c sub/foo.h
290
- # and will wrap long lines using \ :
291
- # foo.o: sub/foo.c ... \
292
- # sub/foo.h ... \
293
- # ...
294
-
295
- "$@" -MD -MF "$tmpdepfile"
296
- stat=$?
297
- if test $stat -eq 0; then :
298
- else
299
- rm -f "$tmpdepfile"
300
- exit $stat
301
- fi
302
- rm -f "$depfile"
303
- # Each line is of the form `foo.o: dependent.h',
304
- # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
305
- # Do two passes, one to just change these to
306
- # `$object: dependent.h' and one to simply `dependent.h:'.
307
- sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
308
- # Some versions of the HPUX 10.20 sed can't process this invocation
309
- # correctly. Breaking it into two sed invocations is a workaround.
310
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
311
- sed -e 's/$/ :/' >> "$depfile"
312
- rm -f "$tmpdepfile"
313
- ;;
314
-
315
- hp2)
316
- # The "hp" stanza above does not work with aCC (C++) and HP's ia64
317
- # compilers, which have integrated preprocessors. The correct option
318
- # to use with these is +Maked; it writes dependencies to a file named
319
- # 'foo.d', which lands next to the object file, wherever that
320
- # happens to be.
321
- # Much of this is similar to the tru64 case; see comments there.
322
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
323
- test "x$dir" = "x$object" && dir=
324
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
325
- if test "$libtool" = yes; then
326
- tmpdepfile1=$dir$base.d
327
- tmpdepfile2=$dir.libs/$base.d
328
- "$@" -Wc,+Maked
329
- else
330
- tmpdepfile1=$dir$base.d
331
- tmpdepfile2=$dir$base.d
332
- "$@" +Maked
333
- fi
334
- stat=$?
335
- if test $stat -eq 0; then :
336
- else
337
- rm -f "$tmpdepfile1" "$tmpdepfile2"
338
- exit $stat
339
- fi
340
-
341
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
342
- do
343
- test -f "$tmpdepfile" && break
344
- done
345
- if test -f "$tmpdepfile"; then
346
- sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
347
- # Add `dependent.h:' lines.
348
- sed -ne '2,${
349
- s/^ *//
350
- s/ \\*$//
351
- s/$/:/
352
- p
353
- }' "$tmpdepfile" >> "$depfile"
354
- else
355
- echo "#dummy" > "$depfile"
356
- fi
357
- rm -f "$tmpdepfile" "$tmpdepfile2"
358
- ;;
359
-
360
- tru64)
361
- # The Tru64 compiler uses -MD to generate dependencies as a side
362
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
363
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
364
- # dependencies in `foo.d' instead, so we check for that too.
365
- # Subdirectories are respected.
366
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
367
- test "x$dir" = "x$object" && dir=
368
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
369
-
370
- if test "$libtool" = yes; then
371
- # With Tru64 cc, shared objects can also be used to make a
372
- # static library. This mechanism is used in libtool 1.4 series to
373
- # handle both shared and static libraries in a single compilation.
374
- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
375
- #
376
- # With libtool 1.5 this exception was removed, and libtool now
377
- # generates 2 separate objects for the 2 libraries. These two
378
- # compilations output dependencies in $dir.libs/$base.o.d and
379
- # in $dir$base.o.d. We have to check for both files, because
380
- # one of the two compilations can be disabled. We should prefer
381
- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
382
- # automatically cleaned when .libs/ is deleted, while ignoring
383
- # the former would cause a distcleancheck panic.
384
- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
385
- tmpdepfile2=$dir$base.o.d # libtool 1.5
386
- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
387
- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
388
- "$@" -Wc,-MD
389
- else
390
- tmpdepfile1=$dir$base.o.d
391
- tmpdepfile2=$dir$base.d
392
- tmpdepfile3=$dir$base.d
393
- tmpdepfile4=$dir$base.d
394
- "$@" -MD
395
- fi
396
-
397
- stat=$?
398
- if test $stat -eq 0; then :
399
- else
400
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
401
- exit $stat
402
- fi
403
-
404
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
405
- do
406
- test -f "$tmpdepfile" && break
407
- done
408
- if test -f "$tmpdepfile"; then
409
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
410
- # That's a tab and a space in the [].
411
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
412
- else
413
- echo "#dummy" > "$depfile"
414
- fi
415
- rm -f "$tmpdepfile"
416
- ;;
417
-
418
- msvc7)
419
- if test "$libtool" = yes; then
420
- showIncludes=-Wc,-showIncludes
421
- else
422
- showIncludes=-showIncludes
423
- fi
424
- "$@" $showIncludes > "$tmpdepfile"
425
- stat=$?
426
- grep -v '^Note: including file: ' "$tmpdepfile"
427
- if test "$stat" = 0; then :
428
- else
429
- rm -f "$tmpdepfile"
430
- exit $stat
431
- fi
432
- rm -f "$depfile"
433
- echo "$object : \\" > "$depfile"
434
- # The first sed program below extracts the file names and escapes
435
- # backslashes for cygpath. The second sed program outputs the file
436
- # name when reading, but also accumulates all include files in the
437
- # hold buffer in order to output them again at the end. This only
438
- # works with sed implementations that can handle large buffers.
439
- sed < "$tmpdepfile" -n '
440
- /^Note: including file: *\(.*\)/ {
441
- s//\1/
442
- s/\\/\\\\/g
443
- p
444
- }' | $cygpath_u | sort -u | sed -n '
445
- s/ /\\ /g
446
- s/\(.*\)/ \1 \\/p
447
- s/.\(.*\) \\/\1:/
448
- H
449
- $ {
450
- s/.*/ /
451
- G
452
- p
453
- }' >> "$depfile"
454
- rm -f "$tmpdepfile"
455
- ;;
456
-
457
- msvc7msys)
458
- # This case exists only to let depend.m4 do its work. It works by
459
- # looking at the text of this script. This case will never be run,
460
- # since it is checked for above.
461
- exit 1
462
- ;;
463
-
464
- #nosideeffect)
465
- # This comment above is used by automake to tell side-effect
466
- # dependency tracking mechanisms from slower ones.
467
-
468
- dashmstdout)
469
- # Important note: in order to support this mode, a compiler *must*
470
- # always write the preprocessed file to stdout, regardless of -o.
471
- "$@" || exit $?
472
-
473
- # Remove the call to Libtool.
474
- if test "$libtool" = yes; then
475
- while test "X$1" != 'X--mode=compile'; do
476
- shift
477
- done
478
- shift
479
- fi
480
-
481
- # Remove `-o $object'.
482
- IFS=" "
483
- for arg
484
- do
485
- case $arg in
486
- -o)
487
- shift
488
- ;;
489
- $object)
490
- shift
491
- ;;
492
- *)
493
- set fnord "$@" "$arg"
494
- shift # fnord
495
- shift # $arg
496
- ;;
497
- esac
498
- done
499
-
500
- test -z "$dashmflag" && dashmflag=-M
501
- # Require at least two characters before searching for `:'
502
- # in the target name. This is to cope with DOS-style filenames:
503
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
504
- "$@" $dashmflag |
505
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
506
- rm -f "$depfile"
507
- cat < "$tmpdepfile" > "$depfile"
508
- tr ' ' '
509
- ' < "$tmpdepfile" | \
510
- ## Some versions of the HPUX 10.20 sed can't process this invocation
511
- ## correctly. Breaking it into two sed invocations is a workaround.
512
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
513
- rm -f "$tmpdepfile"
514
- ;;
515
-
516
- dashXmstdout)
517
- # This case only exists to satisfy depend.m4. It is never actually
518
- # run, as this mode is specially recognized in the preamble.
519
- exit 1
520
- ;;
521
-
522
- makedepend)
523
- "$@" || exit $?
524
- # Remove any Libtool call
525
- if test "$libtool" = yes; then
526
- while test "X$1" != 'X--mode=compile'; do
527
- shift
528
- done
529
- shift
530
- fi
531
- # X makedepend
532
- shift
533
- cleared=no eat=no
534
- for arg
535
- do
536
- case $cleared in
537
- no)
538
- set ""; shift
539
- cleared=yes ;;
540
- esac
541
- if test $eat = yes; then
542
- eat=no
543
- continue
544
- fi
545
- case "$arg" in
546
- -D*|-I*)
547
- set fnord "$@" "$arg"; shift ;;
548
- # Strip any option that makedepend may not understand. Remove
549
- # the object too, otherwise makedepend will parse it as a source file.
550
- -arch)
551
- eat=yes ;;
552
- -*|$object)
553
- ;;
554
- *)
555
- set fnord "$@" "$arg"; shift ;;
556
- esac
557
- done
558
- obj_suffix=`echo "$object" | sed 's/^.*\././'`
559
- touch "$tmpdepfile"
560
- ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
561
- rm -f "$depfile"
562
- # makedepend may prepend the VPATH from the source file name to the object.
563
- # No need to regex-escape $object, excess matching of '.' is harmless.
564
- sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
565
- sed '1,2d' "$tmpdepfile" | tr ' ' '
566
- ' | \
567
- ## Some versions of the HPUX 10.20 sed can't process this invocation
568
- ## correctly. Breaking it into two sed invocations is a workaround.
569
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
570
- rm -f "$tmpdepfile" "$tmpdepfile".bak
571
- ;;
572
-
573
- cpp)
574
- # Important note: in order to support this mode, a compiler *must*
575
- # always write the preprocessed file to stdout.
576
- "$@" || exit $?
577
-
578
- # Remove the call to Libtool.
579
- if test "$libtool" = yes; then
580
- while test "X$1" != 'X--mode=compile'; do
581
- shift
582
- done
583
- shift
584
- fi
585
-
586
- # Remove `-o $object'.
587
- IFS=" "
588
- for arg
589
- do
590
- case $arg in
591
- -o)
592
- shift
593
- ;;
594
- $object)
595
- shift
596
- ;;
597
- *)
598
- set fnord "$@" "$arg"
599
- shift # fnord
600
- shift # $arg
601
- ;;
602
- esac
603
- done
604
-
605
- "$@" -E |
606
- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
607
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
608
- sed '$ s: \\$::' > "$tmpdepfile"
609
- rm -f "$depfile"
610
- echo "$object : \\" > "$depfile"
611
- cat < "$tmpdepfile" >> "$depfile"
612
- sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
613
- rm -f "$tmpdepfile"
614
- ;;
615
-
616
- msvisualcpp)
617
- # Important note: in order to support this mode, a compiler *must*
618
- # always write the preprocessed file to stdout.
619
- "$@" || exit $?
620
-
621
- # Remove the call to Libtool.
622
- if test "$libtool" = yes; then
623
- while test "X$1" != 'X--mode=compile'; do
624
- shift
625
- done
626
- shift
627
- fi
628
-
629
- IFS=" "
630
- for arg
631
- do
632
- case "$arg" in
633
- -o)
634
- shift
635
- ;;
636
- $object)
637
- shift
638
- ;;
639
- "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
640
- set fnord "$@"
641
- shift
642
- shift
643
- ;;
644
- *)
645
- set fnord "$@" "$arg"
646
- shift
647
- shift
648
- ;;
649
- esac
650
- done
651
- "$@" -E 2>/dev/null |
652
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
653
- rm -f "$depfile"
654
- echo "$object : \\" > "$depfile"
655
- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
656
- echo " " >> "$depfile"
657
- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
658
- rm -f "$tmpdepfile"
659
- ;;
660
-
661
- msvcmsys)
662
- # This case exists only to let depend.m4 do its work. It works by
663
- # looking at the text of this script. This case will never be run,
664
- # since it is checked for above.
665
- exit 1
666
- ;;
667
-
668
- none)
669
- exec "$@"
670
- ;;
671
-
672
- *)
673
- echo "Unknown depmode $depmode" 1>&2
674
- exit 1
675
- ;;
676
- esac
677
-
678
- exit 0
679
-
680
- # Local Variables:
681
- # mode: shell-script
682
- # sh-indentation: 2
683
- # eval: (add-hook 'write-file-hooks 'time-stamp)
684
- # time-stamp-start: "scriptversion="
685
- # time-stamp-format: "%:y-%02m-%02d.%02H"
686
- # time-stamp-time-zone: "UTC"
687
- # time-stamp-end: "; # UTC"
688
- # End: