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