toolkit/crashreporter/google-breakpad/autotools/missing

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rwxr-xr-x

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

michael@0 1 #! /bin/sh
michael@0 2 # Common stub for a few missing GNU programs while installing.
michael@0 3
michael@0 4 scriptversion=2006-05-10.23
michael@0 5
michael@0 6 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
michael@0 7 # Free Software Foundation, Inc.
michael@0 8 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
michael@0 9
michael@0 10 # This program is free software; you can redistribute it and/or modify
michael@0 11 # it under the terms of the GNU General Public License as published by
michael@0 12 # the Free Software Foundation; either version 2, or (at your option)
michael@0 13 # any later version.
michael@0 14
michael@0 15 # This program is distributed in the hope that it will be useful,
michael@0 16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
michael@0 17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
michael@0 18 # GNU General Public License for more details.
michael@0 19
michael@0 20 # You should have received a copy of the GNU General Public License
michael@0 21 # along with this program; if not, write to the Free Software
michael@0 22 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
michael@0 23 # 02110-1301, USA.
michael@0 24
michael@0 25 # As a special exception to the GNU General Public License, if you
michael@0 26 # distribute this file as part of a program that contains a
michael@0 27 # configuration script generated by Autoconf, you may include it under
michael@0 28 # the same distribution terms that you use for the rest of that program.
michael@0 29
michael@0 30 if test $# -eq 0; then
michael@0 31 echo 1>&2 "Try \`$0 --help' for more information"
michael@0 32 exit 1
michael@0 33 fi
michael@0 34
michael@0 35 run=:
michael@0 36 sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
michael@0 37 sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
michael@0 38
michael@0 39 # In the cases where this matters, `missing' is being run in the
michael@0 40 # srcdir already.
michael@0 41 if test -f configure.ac; then
michael@0 42 configure_ac=configure.ac
michael@0 43 else
michael@0 44 configure_ac=configure.in
michael@0 45 fi
michael@0 46
michael@0 47 msg="missing on your system"
michael@0 48
michael@0 49 case $1 in
michael@0 50 --run)
michael@0 51 # Try to run requested program, and just exit if it succeeds.
michael@0 52 run=
michael@0 53 shift
michael@0 54 "$@" && exit 0
michael@0 55 # Exit code 63 means version mismatch. This often happens
michael@0 56 # when the user try to use an ancient version of a tool on
michael@0 57 # a file that requires a minimum version. In this case we
michael@0 58 # we should proceed has if the program had been absent, or
michael@0 59 # if --run hadn't been passed.
michael@0 60 if test $? = 63; then
michael@0 61 run=:
michael@0 62 msg="probably too old"
michael@0 63 fi
michael@0 64 ;;
michael@0 65
michael@0 66 -h|--h|--he|--hel|--help)
michael@0 67 echo "\
michael@0 68 $0 [OPTION]... PROGRAM [ARGUMENT]...
michael@0 69
michael@0 70 Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
michael@0 71 error status if there is no known handling for PROGRAM.
michael@0 72
michael@0 73 Options:
michael@0 74 -h, --help display this help and exit
michael@0 75 -v, --version output version information and exit
michael@0 76 --run try to run the given command, and emulate it if it fails
michael@0 77
michael@0 78 Supported PROGRAM values:
michael@0 79 aclocal touch file \`aclocal.m4'
michael@0 80 autoconf touch file \`configure'
michael@0 81 autoheader touch file \`config.h.in'
michael@0 82 autom4te touch the output file, or create a stub one
michael@0 83 automake touch all \`Makefile.in' files
michael@0 84 bison create \`y.tab.[ch]', if possible, from existing .[ch]
michael@0 85 flex create \`lex.yy.c', if possible, from existing .c
michael@0 86 help2man touch the output file
michael@0 87 lex create \`lex.yy.c', if possible, from existing .c
michael@0 88 makeinfo touch the output file
michael@0 89 tar try tar, gnutar, gtar, then tar without non-portable flags
michael@0 90 yacc create \`y.tab.[ch]', if possible, from existing .[ch]
michael@0 91
michael@0 92 Send bug reports to <bug-automake@gnu.org>."
michael@0 93 exit $?
michael@0 94 ;;
michael@0 95
michael@0 96 -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
michael@0 97 echo "missing $scriptversion (GNU Automake)"
michael@0 98 exit $?
michael@0 99 ;;
michael@0 100
michael@0 101 -*)
michael@0 102 echo 1>&2 "$0: Unknown \`$1' option"
michael@0 103 echo 1>&2 "Try \`$0 --help' for more information"
michael@0 104 exit 1
michael@0 105 ;;
michael@0 106
michael@0 107 esac
michael@0 108
michael@0 109 # Now exit if we have it, but it failed. Also exit now if we
michael@0 110 # don't have it and --version was passed (most likely to detect
michael@0 111 # the program).
michael@0 112 case $1 in
michael@0 113 lex|yacc)
michael@0 114 # Not GNU programs, they don't have --version.
michael@0 115 ;;
michael@0 116
michael@0 117 tar)
michael@0 118 if test -n "$run"; then
michael@0 119 echo 1>&2 "ERROR: \`tar' requires --run"
michael@0 120 exit 1
michael@0 121 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
michael@0 122 exit 1
michael@0 123 fi
michael@0 124 ;;
michael@0 125
michael@0 126 *)
michael@0 127 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
michael@0 128 # We have it, but it failed.
michael@0 129 exit 1
michael@0 130 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
michael@0 131 # Could not run --version or --help. This is probably someone
michael@0 132 # running `$TOOL --version' or `$TOOL --help' to check whether
michael@0 133 # $TOOL exists and not knowing $TOOL uses missing.
michael@0 134 exit 1
michael@0 135 fi
michael@0 136 ;;
michael@0 137 esac
michael@0 138
michael@0 139 # If it does not exist, or fails to run (possibly an outdated version),
michael@0 140 # try to emulate it.
michael@0 141 case $1 in
michael@0 142 aclocal*)
michael@0 143 echo 1>&2 "\
michael@0 144 WARNING: \`$1' is $msg. You should only need it if
michael@0 145 you modified \`acinclude.m4' or \`${configure_ac}'. You might want
michael@0 146 to install the \`Automake' and \`Perl' packages. Grab them from
michael@0 147 any GNU archive site."
michael@0 148 touch aclocal.m4
michael@0 149 ;;
michael@0 150
michael@0 151 autoconf)
michael@0 152 echo 1>&2 "\
michael@0 153 WARNING: \`$1' is $msg. You should only need it if
michael@0 154 you modified \`${configure_ac}'. You might want to install the
michael@0 155 \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
michael@0 156 archive site."
michael@0 157 touch configure
michael@0 158 ;;
michael@0 159
michael@0 160 autoheader)
michael@0 161 echo 1>&2 "\
michael@0 162 WARNING: \`$1' is $msg. You should only need it if
michael@0 163 you modified \`acconfig.h' or \`${configure_ac}'. You might want
michael@0 164 to install the \`Autoconf' and \`GNU m4' packages. Grab them
michael@0 165 from any GNU archive site."
michael@0 166 files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
michael@0 167 test -z "$files" && files="config.h"
michael@0 168 touch_files=
michael@0 169 for f in $files; do
michael@0 170 case $f in
michael@0 171 *:*) touch_files="$touch_files "`echo "$f" |
michael@0 172 sed -e 's/^[^:]*://' -e 's/:.*//'`;;
michael@0 173 *) touch_files="$touch_files $f.in";;
michael@0 174 esac
michael@0 175 done
michael@0 176 touch $touch_files
michael@0 177 ;;
michael@0 178
michael@0 179 automake*)
michael@0 180 echo 1>&2 "\
michael@0 181 WARNING: \`$1' is $msg. You should only need it if
michael@0 182 you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
michael@0 183 You might want to install the \`Automake' and \`Perl' packages.
michael@0 184 Grab them from any GNU archive site."
michael@0 185 find . -type f -name Makefile.am -print |
michael@0 186 sed 's/\.am$/.in/' |
michael@0 187 while read f; do touch "$f"; done
michael@0 188 ;;
michael@0 189
michael@0 190 autom4te)
michael@0 191 echo 1>&2 "\
michael@0 192 WARNING: \`$1' is needed, but is $msg.
michael@0 193 You might have modified some files without having the
michael@0 194 proper tools for further handling them.
michael@0 195 You can get \`$1' as part of \`Autoconf' from any GNU
michael@0 196 archive site."
michael@0 197
michael@0 198 file=`echo "$*" | sed -n "$sed_output"`
michael@0 199 test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
michael@0 200 if test -f "$file"; then
michael@0 201 touch $file
michael@0 202 else
michael@0 203 test -z "$file" || exec >$file
michael@0 204 echo "#! /bin/sh"
michael@0 205 echo "# Created by GNU Automake missing as a replacement of"
michael@0 206 echo "# $ $@"
michael@0 207 echo "exit 0"
michael@0 208 chmod +x $file
michael@0 209 exit 1
michael@0 210 fi
michael@0 211 ;;
michael@0 212
michael@0 213 bison|yacc)
michael@0 214 echo 1>&2 "\
michael@0 215 WARNING: \`$1' $msg. You should only need it if
michael@0 216 you modified a \`.y' file. You may need the \`Bison' package
michael@0 217 in order for those modifications to take effect. You can get
michael@0 218 \`Bison' from any GNU archive site."
michael@0 219 rm -f y.tab.c y.tab.h
michael@0 220 if test $# -ne 1; then
michael@0 221 eval LASTARG="\${$#}"
michael@0 222 case $LASTARG in
michael@0 223 *.y)
michael@0 224 SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
michael@0 225 if test -f "$SRCFILE"; then
michael@0 226 cp "$SRCFILE" y.tab.c
michael@0 227 fi
michael@0 228 SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
michael@0 229 if test -f "$SRCFILE"; then
michael@0 230 cp "$SRCFILE" y.tab.h
michael@0 231 fi
michael@0 232 ;;
michael@0 233 esac
michael@0 234 fi
michael@0 235 if test ! -f y.tab.h; then
michael@0 236 echo >y.tab.h
michael@0 237 fi
michael@0 238 if test ! -f y.tab.c; then
michael@0 239 echo 'main() { return 0; }' >y.tab.c
michael@0 240 fi
michael@0 241 ;;
michael@0 242
michael@0 243 lex|flex)
michael@0 244 echo 1>&2 "\
michael@0 245 WARNING: \`$1' is $msg. You should only need it if
michael@0 246 you modified a \`.l' file. You may need the \`Flex' package
michael@0 247 in order for those modifications to take effect. You can get
michael@0 248 \`Flex' from any GNU archive site."
michael@0 249 rm -f lex.yy.c
michael@0 250 if test $# -ne 1; then
michael@0 251 eval LASTARG="\${$#}"
michael@0 252 case $LASTARG in
michael@0 253 *.l)
michael@0 254 SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
michael@0 255 if test -f "$SRCFILE"; then
michael@0 256 cp "$SRCFILE" lex.yy.c
michael@0 257 fi
michael@0 258 ;;
michael@0 259 esac
michael@0 260 fi
michael@0 261 if test ! -f lex.yy.c; then
michael@0 262 echo 'main() { return 0; }' >lex.yy.c
michael@0 263 fi
michael@0 264 ;;
michael@0 265
michael@0 266 help2man)
michael@0 267 echo 1>&2 "\
michael@0 268 WARNING: \`$1' is $msg. You should only need it if
michael@0 269 you modified a dependency of a manual page. You may need the
michael@0 270 \`Help2man' package in order for those modifications to take
michael@0 271 effect. You can get \`Help2man' from any GNU archive site."
michael@0 272
michael@0 273 file=`echo "$*" | sed -n "$sed_output"`
michael@0 274 test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
michael@0 275 if test -f "$file"; then
michael@0 276 touch $file
michael@0 277 else
michael@0 278 test -z "$file" || exec >$file
michael@0 279 echo ".ab help2man is required to generate this page"
michael@0 280 exit 1
michael@0 281 fi
michael@0 282 ;;
michael@0 283
michael@0 284 makeinfo)
michael@0 285 echo 1>&2 "\
michael@0 286 WARNING: \`$1' is $msg. You should only need it if
michael@0 287 you modified a \`.texi' or \`.texinfo' file, or any other file
michael@0 288 indirectly affecting the aspect of the manual. The spurious
michael@0 289 call might also be the consequence of using a buggy \`make' (AIX,
michael@0 290 DU, IRIX). You might want to install the \`Texinfo' package or
michael@0 291 the \`GNU make' package. Grab either from any GNU archive site."
michael@0 292 # The file to touch is that specified with -o ...
michael@0 293 file=`echo "$*" | sed -n "$sed_output"`
michael@0 294 test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
michael@0 295 if test -z "$file"; then
michael@0 296 # ... or it is the one specified with @setfilename ...
michael@0 297 infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
michael@0 298 file=`sed -n '
michael@0 299 /^@setfilename/{
michael@0 300 s/.* \([^ ]*\) *$/\1/
michael@0 301 p
michael@0 302 q
michael@0 303 }' $infile`
michael@0 304 # ... or it is derived from the source name (dir/f.texi becomes f.info)
michael@0 305 test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
michael@0 306 fi
michael@0 307 # If the file does not exist, the user really needs makeinfo;
michael@0 308 # let's fail without touching anything.
michael@0 309 test -f $file || exit 1
michael@0 310 touch $file
michael@0 311 ;;
michael@0 312
michael@0 313 tar)
michael@0 314 shift
michael@0 315
michael@0 316 # We have already tried tar in the generic part.
michael@0 317 # Look for gnutar/gtar before invocation to avoid ugly error
michael@0 318 # messages.
michael@0 319 if (gnutar --version > /dev/null 2>&1); then
michael@0 320 gnutar "$@" && exit 0
michael@0 321 fi
michael@0 322 if (gtar --version > /dev/null 2>&1); then
michael@0 323 gtar "$@" && exit 0
michael@0 324 fi
michael@0 325 firstarg="$1"
michael@0 326 if shift; then
michael@0 327 case $firstarg in
michael@0 328 *o*)
michael@0 329 firstarg=`echo "$firstarg" | sed s/o//`
michael@0 330 tar "$firstarg" "$@" && exit 0
michael@0 331 ;;
michael@0 332 esac
michael@0 333 case $firstarg in
michael@0 334 *h*)
michael@0 335 firstarg=`echo "$firstarg" | sed s/h//`
michael@0 336 tar "$firstarg" "$@" && exit 0
michael@0 337 ;;
michael@0 338 esac
michael@0 339 fi
michael@0 340
michael@0 341 echo 1>&2 "\
michael@0 342 WARNING: I can't seem to be able to run \`tar' with the given arguments.
michael@0 343 You may want to install GNU tar or Free paxutils, or check the
michael@0 344 command line arguments."
michael@0 345 exit 1
michael@0 346 ;;
michael@0 347
michael@0 348 *)
michael@0 349 echo 1>&2 "\
michael@0 350 WARNING: \`$1' is needed, and is $msg.
michael@0 351 You might have modified some files without having the
michael@0 352 proper tools for further handling them. Check the \`README' file,
michael@0 353 it often tells you about the needed prerequisites for installing
michael@0 354 this package. You may also peek at any GNU archive site, in case
michael@0 355 some other package would contain this missing \`$1' program."
michael@0 356 exit 1
michael@0 357 ;;
michael@0 358 esac
michael@0 359
michael@0 360 exit 0
michael@0 361
michael@0 362 # Local variables:
michael@0 363 # eval: (add-hook 'write-file-hooks 'time-stamp)
michael@0 364 # time-stamp-start: "scriptversion="
michael@0 365 # time-stamp-format: "%:y-%02m-%02d.%02H"
michael@0 366 # time-stamp-end: "$"
michael@0 367 # End:

mercurial