snappy_ext 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ext/snappy/extconf.rb +36 -0
- data/ext/snappy/snappy_ext.cc +131 -0
- data/ext/snappy/vendor/snappy-1.0.0/AUTHORS +1 -0
- data/ext/snappy/vendor/snappy-1.0.0/COPYING +28 -0
- data/ext/snappy/vendor/snappy-1.0.0/ChangeLog +3 -0
- data/ext/snappy/vendor/snappy-1.0.0/INSTALL +230 -0
- data/ext/snappy/vendor/snappy-1.0.0/Makefile.am +24 -0
- data/ext/snappy/vendor/snappy-1.0.0/Makefile.in +926 -0
- data/ext/snappy/vendor/snappy-1.0.0/NEWS +3 -0
- data/ext/snappy/vendor/snappy-1.0.0/README +132 -0
- data/ext/snappy/vendor/snappy-1.0.0/aclocal.m4 +9076 -0
- data/ext/snappy/vendor/snappy-1.0.0/autogen.sh +8 -0
- data/ext/snappy/vendor/snappy-1.0.0/compile +99 -0
- data/ext/snappy/vendor/snappy-1.0.0/config.guess +1466 -0
- data/ext/snappy/vendor/snappy-1.0.0/config.h.in +107 -0
- data/ext/snappy/vendor/snappy-1.0.0/config.sub +1579 -0
- data/ext/snappy/vendor/snappy-1.0.0/configure +17962 -0
- data/ext/snappy/vendor/snappy-1.0.0/configure.ac +99 -0
- data/ext/snappy/vendor/snappy-1.0.0/depcomp +530 -0
- data/ext/snappy/vendor/snappy-1.0.0/install-sh +323 -0
- data/ext/snappy/vendor/snappy-1.0.0/ltmain.sh +8413 -0
- data/ext/snappy/vendor/snappy-1.0.0/m4/gtest.m4 +74 -0
- data/ext/snappy/vendor/snappy-1.0.0/missing +360 -0
- data/ext/snappy/vendor/snappy-1.0.0/mkinstalldirs +158 -0
- data/ext/snappy/vendor/snappy-1.0.0/snappy-internal.h +136 -0
- data/ext/snappy/vendor/snappy-1.0.0/snappy-sinksource.cc +46 -0
- data/ext/snappy/vendor/snappy-1.0.0/snappy-sinksource.h +110 -0
- data/ext/snappy/vendor/snappy-1.0.0/snappy-stubs-internal.cc +28 -0
- data/ext/snappy/vendor/snappy-1.0.0/snappy-stubs-internal.h +457 -0
- data/ext/snappy/vendor/snappy-1.0.0/snappy-stubs-public.h +59 -0
- data/ext/snappy/vendor/snappy-1.0.0/snappy-stubs-public.h.in +59 -0
- data/ext/snappy/vendor/snappy-1.0.0/snappy-test.cc +523 -0
- data/ext/snappy/vendor/snappy-1.0.0/snappy-test.h +458 -0
- data/ext/snappy/vendor/snappy-1.0.0/snappy.cc +1001 -0
- data/ext/snappy/vendor/snappy-1.0.0/snappy.h +141 -0
- data/ext/snappy/vendor/snappy-1.0.0/snappy_unittest.cc +1073 -0
- data/ext/snappy/version.h +4 -0
- data/snappy_ext.gemspec +58 -0
- metadata +99 -0
@@ -0,0 +1,74 @@
|
|
1
|
+
dnl GTEST_LIB_CHECK([minimum version [,
|
2
|
+
dnl action if found [,action if not found]]])
|
3
|
+
dnl
|
4
|
+
dnl Check for the presence of the Google Test library, optionally at a minimum
|
5
|
+
dnl version, and indicate a viable version with the HAVE_GTEST flag. It defines
|
6
|
+
dnl standard variables for substitution including GTEST_CPPFLAGS,
|
7
|
+
dnl GTEST_CXXFLAGS, GTEST_LDFLAGS, and GTEST_LIBS. It also defines
|
8
|
+
dnl GTEST_VERSION as the version of Google Test found. Finally, it provides
|
9
|
+
dnl optional custom action slots in the event GTEST is found or not.
|
10
|
+
AC_DEFUN([GTEST_LIB_CHECK],
|
11
|
+
[
|
12
|
+
dnl Provide a flag to enable or disable Google Test usage.
|
13
|
+
AC_ARG_ENABLE([gtest],
|
14
|
+
[AS_HELP_STRING([--enable-gtest],
|
15
|
+
[Enable tests using the Google C++ Testing Framework.
|
16
|
+
(Default is enabled.)])],
|
17
|
+
[],
|
18
|
+
[enable_gtest=])
|
19
|
+
AC_ARG_VAR([GTEST_CONFIG],
|
20
|
+
[The exact path of Google Test's 'gtest-config' script.])
|
21
|
+
AC_ARG_VAR([GTEST_CPPFLAGS],
|
22
|
+
[C-like preprocessor flags for Google Test.])
|
23
|
+
AC_ARG_VAR([GTEST_CXXFLAGS],
|
24
|
+
[C++ compile flags for Google Test.])
|
25
|
+
AC_ARG_VAR([GTEST_LDFLAGS],
|
26
|
+
[Linker path and option flags for Google Test.])
|
27
|
+
AC_ARG_VAR([GTEST_LIBS],
|
28
|
+
[Library linking flags for Google Test.])
|
29
|
+
AC_ARG_VAR([GTEST_VERSION],
|
30
|
+
[The version of Google Test available.])
|
31
|
+
HAVE_GTEST="no"
|
32
|
+
AS_IF([test "x${enable_gtest}" != "xno"],
|
33
|
+
[AC_MSG_CHECKING([for 'gtest-config'])
|
34
|
+
AS_IF([test "x${enable_gtest}" = "xyes"],
|
35
|
+
[AS_IF([test -x "${enable_gtest}/scripts/gtest-config"],
|
36
|
+
[GTEST_CONFIG="${enable_gtest}/scripts/gtest-config"],
|
37
|
+
[GTEST_CONFIG="${enable_gtest}/bin/gtest-config"])
|
38
|
+
AS_IF([test -x "${GTEST_CONFIG}"], [],
|
39
|
+
[AC_MSG_RESULT([no])
|
40
|
+
AC_MSG_ERROR([dnl
|
41
|
+
Unable to locate either a built or installed Google Test.
|
42
|
+
The specific location '${enable_gtest}' was provided for a built or installed
|
43
|
+
Google Test, but no 'gtest-config' script could be found at this location.])
|
44
|
+
])],
|
45
|
+
[AC_PATH_PROG([GTEST_CONFIG], [gtest-config])])
|
46
|
+
AS_IF([test -x "${GTEST_CONFIG}"],
|
47
|
+
[AC_MSG_RESULT([${GTEST_CONFIG}])
|
48
|
+
m4_ifval([$1],
|
49
|
+
[_gtest_min_version="--min-version=$1"
|
50
|
+
AC_MSG_CHECKING([for Google Test at least version >= $1])],
|
51
|
+
[_gtest_min_version="--min-version=0"
|
52
|
+
AC_MSG_CHECKING([for Google Test])])
|
53
|
+
AS_IF([${GTEST_CONFIG} ${_gtest_min_version}],
|
54
|
+
[AC_MSG_RESULT([yes])
|
55
|
+
HAVE_GTEST='yes'],
|
56
|
+
[AC_MSG_RESULT([no])])],
|
57
|
+
[AC_MSG_RESULT([no])])
|
58
|
+
AS_IF([test "x${HAVE_GTEST}" = "xyes"],
|
59
|
+
[GTEST_CPPFLAGS=`${GTEST_CONFIG} --cppflags`
|
60
|
+
GTEST_CXXFLAGS=`${GTEST_CONFIG} --cxxflags`
|
61
|
+
GTEST_LDFLAGS=`${GTEST_CONFIG} --ldflags`
|
62
|
+
GTEST_LIBS=`${GTEST_CONFIG} --libs`
|
63
|
+
GTEST_VERSION=`${GTEST_CONFIG} --version`
|
64
|
+
AC_DEFINE([HAVE_GTEST],[1],[Defined when Google Test is available.])],
|
65
|
+
[AS_IF([test "x${enable_gtest}" = "xyes"],
|
66
|
+
[AC_MSG_ERROR([dnl
|
67
|
+
Google Test was enabled, but no viable version could be found.])
|
68
|
+
])])])
|
69
|
+
AC_SUBST([HAVE_GTEST])
|
70
|
+
AM_CONDITIONAL([HAVE_GTEST],[test "x$HAVE_GTEST" = "xyes"])
|
71
|
+
AS_IF([test "x$HAVE_GTEST" = "xyes"],
|
72
|
+
[m4_ifval([$2], [$2])],
|
73
|
+
[m4_ifval([$3], [$3])])
|
74
|
+
])
|
@@ -0,0 +1,360 @@
|
|
1
|
+
#! /bin/sh
|
2
|
+
# Common stub for a few missing GNU programs while installing.
|
3
|
+
|
4
|
+
scriptversion=2005-06-08.21
|
5
|
+
|
6
|
+
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
|
7
|
+
# Free Software Foundation, Inc.
|
8
|
+
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
9
|
+
|
10
|
+
# This program is free software; you can redistribute it and/or modify
|
11
|
+
# it under the terms of the GNU General Public License as published by
|
12
|
+
# the Free Software Foundation; either version 2, or (at your option)
|
13
|
+
# any later version.
|
14
|
+
|
15
|
+
# This program is distributed in the hope that it will be useful,
|
16
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
17
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
18
|
+
# GNU General Public License for more details.
|
19
|
+
|
20
|
+
# You should have received a copy of the GNU General Public License
|
21
|
+
# along with this program; if not, write to the Free Software
|
22
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
23
|
+
# 02110-1301, USA.
|
24
|
+
|
25
|
+
# As a special exception to the GNU General Public License, if you
|
26
|
+
# distribute this file as part of a program that contains a
|
27
|
+
# configuration script generated by Autoconf, you may include it under
|
28
|
+
# the same distribution terms that you use for the rest of that program.
|
29
|
+
|
30
|
+
if test $# -eq 0; then
|
31
|
+
echo 1>&2 "Try \`$0 --help' for more information"
|
32
|
+
exit 1
|
33
|
+
fi
|
34
|
+
|
35
|
+
run=:
|
36
|
+
|
37
|
+
# In the cases where this matters, `missing' is being run in the
|
38
|
+
# srcdir already.
|
39
|
+
if test -f configure.ac; then
|
40
|
+
configure_ac=configure.ac
|
41
|
+
else
|
42
|
+
configure_ac=configure.in
|
43
|
+
fi
|
44
|
+
|
45
|
+
msg="missing on your system"
|
46
|
+
|
47
|
+
case "$1" in
|
48
|
+
--run)
|
49
|
+
# Try to run requested program, and just exit if it succeeds.
|
50
|
+
run=
|
51
|
+
shift
|
52
|
+
"$@" && exit 0
|
53
|
+
# Exit code 63 means version mismatch. This often happens
|
54
|
+
# when the user try to use an ancient version of a tool on
|
55
|
+
# a file that requires a minimum version. In this case we
|
56
|
+
# we should proceed has if the program had been absent, or
|
57
|
+
# if --run hadn't been passed.
|
58
|
+
if test $? = 63; then
|
59
|
+
run=:
|
60
|
+
msg="probably too old"
|
61
|
+
fi
|
62
|
+
;;
|
63
|
+
|
64
|
+
-h|--h|--he|--hel|--help)
|
65
|
+
echo "\
|
66
|
+
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
67
|
+
|
68
|
+
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
69
|
+
error status if there is no known handling for PROGRAM.
|
70
|
+
|
71
|
+
Options:
|
72
|
+
-h, --help display this help and exit
|
73
|
+
-v, --version output version information and exit
|
74
|
+
--run try to run the given command, and emulate it if it fails
|
75
|
+
|
76
|
+
Supported PROGRAM values:
|
77
|
+
aclocal touch file \`aclocal.m4'
|
78
|
+
autoconf touch file \`configure'
|
79
|
+
autoheader touch file \`config.h.in'
|
80
|
+
automake touch all \`Makefile.in' files
|
81
|
+
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
82
|
+
flex create \`lex.yy.c', if possible, from existing .c
|
83
|
+
help2man touch the output file
|
84
|
+
lex create \`lex.yy.c', if possible, from existing .c
|
85
|
+
makeinfo touch the output file
|
86
|
+
tar try tar, gnutar, gtar, then tar without non-portable flags
|
87
|
+
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
|
88
|
+
|
89
|
+
Send bug reports to <bug-automake@gnu.org>."
|
90
|
+
exit $?
|
91
|
+
;;
|
92
|
+
|
93
|
+
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
94
|
+
echo "missing $scriptversion (GNU Automake)"
|
95
|
+
exit $?
|
96
|
+
;;
|
97
|
+
|
98
|
+
-*)
|
99
|
+
echo 1>&2 "$0: Unknown \`$1' option"
|
100
|
+
echo 1>&2 "Try \`$0 --help' for more information"
|
101
|
+
exit 1
|
102
|
+
;;
|
103
|
+
|
104
|
+
esac
|
105
|
+
|
106
|
+
# Now exit if we have it, but it failed. Also exit now if we
|
107
|
+
# don't have it and --version was passed (most likely to detect
|
108
|
+
# the program).
|
109
|
+
case "$1" in
|
110
|
+
lex|yacc)
|
111
|
+
# Not GNU programs, they don't have --version.
|
112
|
+
;;
|
113
|
+
|
114
|
+
tar)
|
115
|
+
if test -n "$run"; then
|
116
|
+
echo 1>&2 "ERROR: \`tar' requires --run"
|
117
|
+
exit 1
|
118
|
+
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
119
|
+
exit 1
|
120
|
+
fi
|
121
|
+
;;
|
122
|
+
|
123
|
+
*)
|
124
|
+
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
125
|
+
# We have it, but it failed.
|
126
|
+
exit 1
|
127
|
+
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
128
|
+
# Could not run --version or --help. This is probably someone
|
129
|
+
# running `$TOOL --version' or `$TOOL --help' to check whether
|
130
|
+
# $TOOL exists and not knowing $TOOL uses missing.
|
131
|
+
exit 1
|
132
|
+
fi
|
133
|
+
;;
|
134
|
+
esac
|
135
|
+
|
136
|
+
# If it does not exist, or fails to run (possibly an outdated version),
|
137
|
+
# try to emulate it.
|
138
|
+
case "$1" in
|
139
|
+
aclocal*)
|
140
|
+
echo 1>&2 "\
|
141
|
+
WARNING: \`$1' is $msg. You should only need it if
|
142
|
+
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
|
143
|
+
to install the \`Automake' and \`Perl' packages. Grab them from
|
144
|
+
any GNU archive site."
|
145
|
+
touch aclocal.m4
|
146
|
+
;;
|
147
|
+
|
148
|
+
autoconf)
|
149
|
+
echo 1>&2 "\
|
150
|
+
WARNING: \`$1' is $msg. You should only need it if
|
151
|
+
you modified \`${configure_ac}'. You might want to install the
|
152
|
+
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
153
|
+
archive site."
|
154
|
+
touch configure
|
155
|
+
;;
|
156
|
+
|
157
|
+
autoheader)
|
158
|
+
echo 1>&2 "\
|
159
|
+
WARNING: \`$1' is $msg. You should only need it if
|
160
|
+
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
161
|
+
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
162
|
+
from any GNU archive site."
|
163
|
+
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
164
|
+
test -z "$files" && files="config.h"
|
165
|
+
touch_files=
|
166
|
+
for f in $files; do
|
167
|
+
case "$f" in
|
168
|
+
*:*) touch_files="$touch_files "`echo "$f" |
|
169
|
+
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
170
|
+
*) touch_files="$touch_files $f.in";;
|
171
|
+
esac
|
172
|
+
done
|
173
|
+
touch $touch_files
|
174
|
+
;;
|
175
|
+
|
176
|
+
automake*)
|
177
|
+
echo 1>&2 "\
|
178
|
+
WARNING: \`$1' is $msg. You should only need it if
|
179
|
+
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
|
180
|
+
You might want to install the \`Automake' and \`Perl' packages.
|
181
|
+
Grab them from any GNU archive site."
|
182
|
+
find . -type f -name Makefile.am -print |
|
183
|
+
sed 's/\.am$/.in/' |
|
184
|
+
while read f; do touch "$f"; done
|
185
|
+
;;
|
186
|
+
|
187
|
+
autom4te)
|
188
|
+
echo 1>&2 "\
|
189
|
+
WARNING: \`$1' is needed, but is $msg.
|
190
|
+
You might have modified some files without having the
|
191
|
+
proper tools for further handling them.
|
192
|
+
You can get \`$1' as part of \`Autoconf' from any GNU
|
193
|
+
archive site."
|
194
|
+
|
195
|
+
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
|
196
|
+
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
|
197
|
+
if test -f "$file"; then
|
198
|
+
touch $file
|
199
|
+
else
|
200
|
+
test -z "$file" || exec >$file
|
201
|
+
echo "#! /bin/sh"
|
202
|
+
echo "# Created by GNU Automake missing as a replacement of"
|
203
|
+
echo "# $ $@"
|
204
|
+
echo "exit 0"
|
205
|
+
chmod +x $file
|
206
|
+
exit 1
|
207
|
+
fi
|
208
|
+
;;
|
209
|
+
|
210
|
+
bison|yacc)
|
211
|
+
echo 1>&2 "\
|
212
|
+
WARNING: \`$1' $msg. You should only need it if
|
213
|
+
you modified a \`.y' file. You may need the \`Bison' package
|
214
|
+
in order for those modifications to take effect. You can get
|
215
|
+
\`Bison' from any GNU archive site."
|
216
|
+
rm -f y.tab.c y.tab.h
|
217
|
+
if [ $# -ne 1 ]; then
|
218
|
+
eval LASTARG="\${$#}"
|
219
|
+
case "$LASTARG" in
|
220
|
+
*.y)
|
221
|
+
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
222
|
+
if [ -f "$SRCFILE" ]; then
|
223
|
+
cp "$SRCFILE" y.tab.c
|
224
|
+
fi
|
225
|
+
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
226
|
+
if [ -f "$SRCFILE" ]; then
|
227
|
+
cp "$SRCFILE" y.tab.h
|
228
|
+
fi
|
229
|
+
;;
|
230
|
+
esac
|
231
|
+
fi
|
232
|
+
if [ ! -f y.tab.h ]; then
|
233
|
+
echo >y.tab.h
|
234
|
+
fi
|
235
|
+
if [ ! -f y.tab.c ]; then
|
236
|
+
echo 'main() { return 0; }' >y.tab.c
|
237
|
+
fi
|
238
|
+
;;
|
239
|
+
|
240
|
+
lex|flex)
|
241
|
+
echo 1>&2 "\
|
242
|
+
WARNING: \`$1' is $msg. You should only need it if
|
243
|
+
you modified a \`.l' file. You may need the \`Flex' package
|
244
|
+
in order for those modifications to take effect. You can get
|
245
|
+
\`Flex' from any GNU archive site."
|
246
|
+
rm -f lex.yy.c
|
247
|
+
if [ $# -ne 1 ]; then
|
248
|
+
eval LASTARG="\${$#}"
|
249
|
+
case "$LASTARG" in
|
250
|
+
*.l)
|
251
|
+
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
252
|
+
if [ -f "$SRCFILE" ]; then
|
253
|
+
cp "$SRCFILE" lex.yy.c
|
254
|
+
fi
|
255
|
+
;;
|
256
|
+
esac
|
257
|
+
fi
|
258
|
+
if [ ! -f lex.yy.c ]; then
|
259
|
+
echo 'main() { return 0; }' >lex.yy.c
|
260
|
+
fi
|
261
|
+
;;
|
262
|
+
|
263
|
+
help2man)
|
264
|
+
echo 1>&2 "\
|
265
|
+
WARNING: \`$1' is $msg. You should only need it if
|
266
|
+
you modified a dependency of a manual page. You may need the
|
267
|
+
\`Help2man' package in order for those modifications to take
|
268
|
+
effect. You can get \`Help2man' from any GNU archive site."
|
269
|
+
|
270
|
+
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
271
|
+
if test -z "$file"; then
|
272
|
+
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
|
273
|
+
fi
|
274
|
+
if [ -f "$file" ]; then
|
275
|
+
touch $file
|
276
|
+
else
|
277
|
+
test -z "$file" || exec >$file
|
278
|
+
echo ".ab help2man is required to generate this page"
|
279
|
+
exit 1
|
280
|
+
fi
|
281
|
+
;;
|
282
|
+
|
283
|
+
makeinfo)
|
284
|
+
echo 1>&2 "\
|
285
|
+
WARNING: \`$1' is $msg. You should only need it if
|
286
|
+
you modified a \`.texi' or \`.texinfo' file, or any other file
|
287
|
+
indirectly affecting the aspect of the manual. The spurious
|
288
|
+
call might also be the consequence of using a buggy \`make' (AIX,
|
289
|
+
DU, IRIX). You might want to install the \`Texinfo' package or
|
290
|
+
the \`GNU make' package. Grab either from any GNU archive site."
|
291
|
+
# The file to touch is that specified with -o ...
|
292
|
+
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
293
|
+
if test -z "$file"; then
|
294
|
+
# ... or it is the one specified with @setfilename ...
|
295
|
+
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
296
|
+
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
|
297
|
+
# ... or it is derived from the source name (dir/f.texi becomes f.info)
|
298
|
+
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
|
299
|
+
fi
|
300
|
+
# If the file does not exist, the user really needs makeinfo;
|
301
|
+
# let's fail without touching anything.
|
302
|
+
test -f $file || exit 1
|
303
|
+
touch $file
|
304
|
+
;;
|
305
|
+
|
306
|
+
tar)
|
307
|
+
shift
|
308
|
+
|
309
|
+
# We have already tried tar in the generic part.
|
310
|
+
# Look for gnutar/gtar before invocation to avoid ugly error
|
311
|
+
# messages.
|
312
|
+
if (gnutar --version > /dev/null 2>&1); then
|
313
|
+
gnutar "$@" && exit 0
|
314
|
+
fi
|
315
|
+
if (gtar --version > /dev/null 2>&1); then
|
316
|
+
gtar "$@" && exit 0
|
317
|
+
fi
|
318
|
+
firstarg="$1"
|
319
|
+
if shift; then
|
320
|
+
case "$firstarg" in
|
321
|
+
*o*)
|
322
|
+
firstarg=`echo "$firstarg" | sed s/o//`
|
323
|
+
tar "$firstarg" "$@" && exit 0
|
324
|
+
;;
|
325
|
+
esac
|
326
|
+
case "$firstarg" in
|
327
|
+
*h*)
|
328
|
+
firstarg=`echo "$firstarg" | sed s/h//`
|
329
|
+
tar "$firstarg" "$@" && exit 0
|
330
|
+
;;
|
331
|
+
esac
|
332
|
+
fi
|
333
|
+
|
334
|
+
echo 1>&2 "\
|
335
|
+
WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
336
|
+
You may want to install GNU tar or Free paxutils, or check the
|
337
|
+
command line arguments."
|
338
|
+
exit 1
|
339
|
+
;;
|
340
|
+
|
341
|
+
*)
|
342
|
+
echo 1>&2 "\
|
343
|
+
WARNING: \`$1' is needed, and is $msg.
|
344
|
+
You might have modified some files without having the
|
345
|
+
proper tools for further handling them. Check the \`README' file,
|
346
|
+
it often tells you about the needed prerequisites for installing
|
347
|
+
this package. You may also peek at any GNU archive site, in case
|
348
|
+
some other package would contain this missing \`$1' program."
|
349
|
+
exit 1
|
350
|
+
;;
|
351
|
+
esac
|
352
|
+
|
353
|
+
exit 0
|
354
|
+
|
355
|
+
# Local variables:
|
356
|
+
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
357
|
+
# time-stamp-start: "scriptversion="
|
358
|
+
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
359
|
+
# time-stamp-end: "$"
|
360
|
+
# End:
|
@@ -0,0 +1,158 @@
|
|
1
|
+
#! /bin/sh
|
2
|
+
# mkinstalldirs --- make directory hierarchy
|
3
|
+
|
4
|
+
scriptversion=2005-06-29.22
|
5
|
+
|
6
|
+
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
|
7
|
+
# Created: 1993-05-16
|
8
|
+
# Public domain.
|
9
|
+
#
|
10
|
+
# This file is maintained in Automake, please report
|
11
|
+
# bugs to <bug-automake@gnu.org> or send patches to
|
12
|
+
# <automake-patches@gnu.org>.
|
13
|
+
|
14
|
+
errstatus=0
|
15
|
+
dirmode=
|
16
|
+
|
17
|
+
usage="\
|
18
|
+
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
|
19
|
+
|
20
|
+
Create each directory DIR (with mode MODE, if specified), including all
|
21
|
+
leading file name components.
|
22
|
+
|
23
|
+
Report bugs to <bug-automake@gnu.org>."
|
24
|
+
|
25
|
+
# process command line arguments
|
26
|
+
while test $# -gt 0 ; do
|
27
|
+
case $1 in
|
28
|
+
-h | --help | --h*) # -h for help
|
29
|
+
echo "$usage"
|
30
|
+
exit $?
|
31
|
+
;;
|
32
|
+
-m) # -m PERM arg
|
33
|
+
shift
|
34
|
+
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
|
35
|
+
dirmode=$1
|
36
|
+
shift
|
37
|
+
;;
|
38
|
+
--version)
|
39
|
+
echo "$0 $scriptversion"
|
40
|
+
exit $?
|
41
|
+
;;
|
42
|
+
--) # stop option processing
|
43
|
+
shift
|
44
|
+
break
|
45
|
+
;;
|
46
|
+
-*) # unknown option
|
47
|
+
echo "$usage" 1>&2
|
48
|
+
exit 1
|
49
|
+
;;
|
50
|
+
*) # first non-opt arg
|
51
|
+
break
|
52
|
+
;;
|
53
|
+
esac
|
54
|
+
done
|
55
|
+
|
56
|
+
for file
|
57
|
+
do
|
58
|
+
if test -d "$file"; then
|
59
|
+
shift
|
60
|
+
else
|
61
|
+
break
|
62
|
+
fi
|
63
|
+
done
|
64
|
+
|
65
|
+
case $# in
|
66
|
+
0) exit 0 ;;
|
67
|
+
esac
|
68
|
+
|
69
|
+
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
|
70
|
+
# mkdir -p a/c at the same time, both will detect that a is missing,
|
71
|
+
# one will create a, then the other will try to create a and die with
|
72
|
+
# a "File exists" error. This is a problem when calling mkinstalldirs
|
73
|
+
# from a parallel make. We use --version in the probe to restrict
|
74
|
+
# ourselves to GNU mkdir, which is thread-safe.
|
75
|
+
case $dirmode in
|
76
|
+
'')
|
77
|
+
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
|
78
|
+
echo "mkdir -p -- $*"
|
79
|
+
exec mkdir -p -- "$@"
|
80
|
+
else
|
81
|
+
# On NextStep and OpenStep, the `mkdir' command does not
|
82
|
+
# recognize any option. It will interpret all options as
|
83
|
+
# directories to create, and then abort because `.' already
|
84
|
+
# exists.
|
85
|
+
test -d ./-p && rmdir ./-p
|
86
|
+
test -d ./--version && rmdir ./--version
|
87
|
+
fi
|
88
|
+
;;
|
89
|
+
*)
|
90
|
+
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
|
91
|
+
test ! -d ./--version; then
|
92
|
+
echo "mkdir -m $dirmode -p -- $*"
|
93
|
+
exec mkdir -m "$dirmode" -p -- "$@"
|
94
|
+
else
|
95
|
+
# Clean up after NextStep and OpenStep mkdir.
|
96
|
+
for d in ./-m ./-p ./--version "./$dirmode";
|
97
|
+
do
|
98
|
+
test -d $d && rmdir $d
|
99
|
+
done
|
100
|
+
fi
|
101
|
+
;;
|
102
|
+
esac
|
103
|
+
|
104
|
+
for file
|
105
|
+
do
|
106
|
+
case $file in
|
107
|
+
/*) pathcomp=/ ;;
|
108
|
+
*) pathcomp= ;;
|
109
|
+
esac
|
110
|
+
oIFS=$IFS
|
111
|
+
IFS=/
|
112
|
+
set fnord $file
|
113
|
+
shift
|
114
|
+
IFS=$oIFS
|
115
|
+
|
116
|
+
for d
|
117
|
+
do
|
118
|
+
test "x$d" = x && continue
|
119
|
+
|
120
|
+
pathcomp=$pathcomp$d
|
121
|
+
case $pathcomp in
|
122
|
+
-*) pathcomp=./$pathcomp ;;
|
123
|
+
esac
|
124
|
+
|
125
|
+
if test ! -d "$pathcomp"; then
|
126
|
+
echo "mkdir $pathcomp"
|
127
|
+
|
128
|
+
mkdir "$pathcomp" || lasterr=$?
|
129
|
+
|
130
|
+
if test ! -d "$pathcomp"; then
|
131
|
+
errstatus=$lasterr
|
132
|
+
else
|
133
|
+
if test ! -z "$dirmode"; then
|
134
|
+
echo "chmod $dirmode $pathcomp"
|
135
|
+
lasterr=
|
136
|
+
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
137
|
+
|
138
|
+
if test ! -z "$lasterr"; then
|
139
|
+
errstatus=$lasterr
|
140
|
+
fi
|
141
|
+
fi
|
142
|
+
fi
|
143
|
+
fi
|
144
|
+
|
145
|
+
pathcomp=$pathcomp/
|
146
|
+
done
|
147
|
+
done
|
148
|
+
|
149
|
+
exit $errstatus
|
150
|
+
|
151
|
+
# Local Variables:
|
152
|
+
# mode: shell-script
|
153
|
+
# sh-indentation: 2
|
154
|
+
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
155
|
+
# time-stamp-start: "scriptversion="
|
156
|
+
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
157
|
+
# time-stamp-end: "$"
|
158
|
+
# End:
|