annotate src/libogg-1.3.0/missing @ 83:ae30d91d2ffe

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