Blame missing

Packit Service b7e772
#! /bin/sh
Packit Service b7e772
# Common stub for a few missing GNU programs while installing.
Packit Service b7e772
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
Packit Service b7e772
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
Packit Service b7e772
Packit Service b7e772
# This program is free software; you can redistribute it and/or modify
Packit Service b7e772
# it under the terms of the GNU General Public License as published by
Packit Service b7e772
# the Free Software Foundation; either version 2, or (at your option)
Packit Service b7e772
# any later version.
Packit Service b7e772
Packit Service b7e772
# This program is distributed in the hope that it will be useful,
Packit Service b7e772
# but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service b7e772
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service b7e772
# GNU General Public License for more details.
Packit Service b7e772
Packit Service b7e772
# You should have received a copy of the GNU General Public License
Packit Service b7e772
# along with this program; if not, write to the Free Software
Packit Service b7e772
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
Packit Service b7e772
# 02111-1307, USA.
Packit Service b7e772
Packit Service b7e772
# As a special exception to the GNU General Public License, if you
Packit Service b7e772
# distribute this file as part of a program that contains a
Packit Service b7e772
# configuration script generated by Autoconf, you may include it under
Packit Service b7e772
# the same distribution terms that you use for the rest of that program.
Packit Service b7e772
Packit Service b7e772
if test $# -eq 0; then
Packit Service b7e772
  echo 1>&2 "Try \`$0 --help' for more information"
Packit Service b7e772
  exit 1
Packit Service b7e772
fi
Packit Service b7e772
Packit Service b7e772
run=:
Packit Service b7e772
Packit Service b7e772
# In the cases where this matters, `missing' is being run in the
Packit Service b7e772
# srcdir already.
Packit Service b7e772
if test -f configure.ac; then
Packit Service b7e772
  configure_ac=configure.ac
Packit Service b7e772
else
Packit Service b7e772
  configure_ac=configure.in
Packit Service b7e772
fi
Packit Service b7e772
Packit Service b7e772
case "$1" in
Packit Service b7e772
--run)
Packit Service b7e772
  # Try to run requested program, and just exit if it succeeds.
Packit Service b7e772
  run=
Packit Service b7e772
  shift
Packit Service b7e772
  "$@" && exit 0
Packit Service b7e772
  ;;
Packit Service b7e772
esac
Packit Service b7e772
Packit Service b7e772
# If it does not exist, or fails to run (possibly an outdated version),
Packit Service b7e772
# try to emulate it.
Packit Service b7e772
case "$1" in
Packit Service b7e772
Packit Service b7e772
  -h|--h|--he|--hel|--help)
Packit Service b7e772
    echo "\
Packit Service b7e772
$0 [OPTION]... PROGRAM [ARGUMENT]...
Packit Service b7e772
Packit Service b7e772
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
Packit Service b7e772
error status if there is no known handling for PROGRAM.
Packit Service b7e772
Packit Service b7e772
Options:
Packit Service b7e772
  -h, --help      display this help and exit
Packit Service b7e772
  -v, --version   output version information and exit
Packit Service b7e772
  --run           try to run the given command, and emulate it if it fails
Packit Service b7e772
Packit Service b7e772
Supported PROGRAM values:
Packit Service b7e772
  aclocal      touch file \`aclocal.m4'
Packit Service b7e772
  autoconf     touch file \`configure'
Packit Service b7e772
  autoheader   touch file \`config.h.in'
Packit Service b7e772
  automake     touch all \`Makefile.in' files
Packit Service b7e772
  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
Packit Service b7e772
  flex         create \`lex.yy.c', if possible, from existing .c
Packit Service b7e772
  help2man     touch the output file
Packit Service b7e772
  lex          create \`lex.yy.c', if possible, from existing .c
Packit Service b7e772
  makeinfo     touch the output file
Packit Service b7e772
  tar          try tar, gnutar, gtar, then tar without non-portable flags
Packit Service b7e772
  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
Packit Service b7e772
    ;;
Packit Service b7e772
Packit Service b7e772
  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
Packit Service b7e772
    echo "missing 0.4 - GNU automake"
Packit Service b7e772
    ;;
Packit Service b7e772
Packit Service b7e772
  -*)
Packit Service b7e772
    echo 1>&2 "$0: Unknown \`$1' option"
Packit Service b7e772
    echo 1>&2 "Try \`$0 --help' for more information"
Packit Service b7e772
    exit 1
Packit Service b7e772
    ;;
Packit Service b7e772
Packit Service b7e772
  aclocal*)
Packit Service b7e772
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
Packit Service b7e772
       # We have it, but it failed.
Packit Service b7e772
       exit 1
Packit Service b7e772
    fi
Packit Service b7e772
Packit Service b7e772
    echo 1>&2 "\
Packit Service b7e772
WARNING: \`$1' is missing on your system.  You should only need it if
Packit Service b7e772
         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
Packit Service b7e772
         to install the \`Automake' and \`Perl' packages.  Grab them from
Packit Service b7e772
         any GNU archive site."
Packit Service b7e772
    touch aclocal.m4
Packit Service b7e772
    ;;
Packit Service b7e772
Packit Service b7e772
  autoconf)
Packit Service b7e772
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
Packit Service b7e772
       # We have it, but it failed.
Packit Service b7e772
       exit 1
Packit Service b7e772
    fi
Packit Service b7e772
Packit Service b7e772
    echo 1>&2 "\
Packit Service b7e772
WARNING: \`$1' is missing on your system.  You should only need it if
Packit Service b7e772
         you modified \`${configure_ac}'.  You might want to install the
Packit Service b7e772
         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
Packit Service b7e772
         archive site."
Packit Service b7e772
    touch configure
Packit Service b7e772
    ;;
Packit Service b7e772
Packit Service b7e772
  autoheader)
Packit Service b7e772
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
Packit Service b7e772
       # We have it, but it failed.
Packit Service b7e772
       exit 1
Packit Service b7e772
    fi
Packit Service b7e772
Packit Service b7e772
    echo 1>&2 "\
Packit Service b7e772
WARNING: \`$1' is missing on your system.  You should only need it if
Packit Service b7e772
         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
Packit Service b7e772
         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
Packit Service b7e772
         from any GNU archive site."
Packit Service b7e772
    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
Packit Service b7e772
    test -z "$files" && files="config.h"
Packit Service b7e772
    touch_files=
Packit Service b7e772
    for f in $files; do
Packit Service b7e772
      case "$f" in
Packit Service b7e772
      *:*) touch_files="$touch_files "`echo "$f" |
Packit Service b7e772
				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
Packit Service b7e772
      *) touch_files="$touch_files $f.in";;
Packit Service b7e772
      esac
Packit Service b7e772
    done
Packit Service b7e772
    touch $touch_files
Packit Service b7e772
    ;;
Packit Service b7e772
Packit Service b7e772
  automake*)
Packit Service b7e772
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
Packit Service b7e772
       # We have it, but it failed.
Packit Service b7e772
       exit 1
Packit Service b7e772
    fi
Packit Service b7e772
Packit Service b7e772
    echo 1>&2 "\
Packit Service b7e772
WARNING: \`$1' is missing on your system.  You should only need it if
Packit Service b7e772
         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
Packit Service b7e772
         You might want to install the \`Automake' and \`Perl' packages.
Packit Service b7e772
         Grab them from any GNU archive site."
Packit Service b7e772
    find . -type f -name Makefile.am -print |
Packit Service b7e772
	   sed 's/\.am$/.in/' |
Packit Service b7e772
	   while read f; do touch "$f"; done
Packit Service b7e772
    ;;
Packit Service b7e772
Packit Service b7e772
  autom4te)
Packit Service b7e772
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
Packit Service b7e772
       # We have it, but it failed.
Packit Service b7e772
       exit 1
Packit Service b7e772
    fi
Packit Service b7e772
Packit Service b7e772
    echo 1>&2 "\
Packit Service b7e772
WARNING: \`$1' is needed, and you do not seem to have it handy on your
Packit Service b7e772
         system.  You might have modified some files without having the
Packit Service b7e772
         proper tools for further handling them.
Packit Service b7e772
         You can get \`$1' as part of \`Autoconf' from any GNU
Packit Service b7e772
         archive site."
Packit Service b7e772
Packit Service b7e772
    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
Packit Service b7e772
    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
Packit Service b7e772
    if test -f "$file"; then
Packit Service b7e772
	touch $file
Packit Service b7e772
    else
Packit Service b7e772
	test -z "$file" || exec >$file
Packit Service b7e772
	echo "#! /bin/sh"
Packit Service b7e772
	echo "# Created by GNU Automake missing as a replacement of"
Packit Service b7e772
	echo "#  $ $@"
Packit Service b7e772
	echo "exit 0"
Packit Service b7e772
	chmod +x $file
Packit Service b7e772
	exit 1
Packit Service b7e772
    fi
Packit Service b7e772
    ;;
Packit Service b7e772
Packit Service b7e772
  bison|yacc)
Packit Service b7e772
    echo 1>&2 "\
Packit Service b7e772
WARNING: \`$1' is missing on your system.  You should only need it if
Packit Service b7e772
         you modified a \`.y' file.  You may need the \`Bison' package
Packit Service b7e772
         in order for those modifications to take effect.  You can get
Packit Service b7e772
         \`Bison' from any GNU archive site."
Packit Service b7e772
    rm -f y.tab.c y.tab.h
Packit Service b7e772
    if [ $# -ne 1 ]; then
Packit Service b7e772
        eval LASTARG="\${$#}"
Packit Service b7e772
	case "$LASTARG" in
Packit Service b7e772
	*.y)
Packit Service b7e772
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
Packit Service b7e772
	    if [ -f "$SRCFILE" ]; then
Packit Service b7e772
	         cp "$SRCFILE" y.tab.c
Packit Service b7e772
	    fi
Packit Service b7e772
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
Packit Service b7e772
	    if [ -f "$SRCFILE" ]; then
Packit Service b7e772
	         cp "$SRCFILE" y.tab.h
Packit Service b7e772
	    fi
Packit Service b7e772
	  ;;
Packit Service b7e772
	esac
Packit Service b7e772
    fi
Packit Service b7e772
    if [ ! -f y.tab.h ]; then
Packit Service b7e772
	echo >y.tab.h
Packit Service b7e772
    fi
Packit Service b7e772
    if [ ! -f y.tab.c ]; then
Packit Service b7e772
	echo 'main() { return 0; }' >y.tab.c
Packit Service b7e772
    fi
Packit Service b7e772
    ;;
Packit Service b7e772
Packit Service b7e772
  lex|flex)
Packit Service b7e772
    echo 1>&2 "\
Packit Service b7e772
WARNING: \`$1' is missing on your system.  You should only need it if
Packit Service b7e772
         you modified a \`.l' file.  You may need the \`Flex' package
Packit Service b7e772
         in order for those modifications to take effect.  You can get
Packit Service b7e772
         \`Flex' from any GNU archive site."
Packit Service b7e772
    rm -f lex.yy.c
Packit Service b7e772
    if [ $# -ne 1 ]; then
Packit Service b7e772
        eval LASTARG="\${$#}"
Packit Service b7e772
	case "$LASTARG" in
Packit Service b7e772
	*.l)
Packit Service b7e772
	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
Packit Service b7e772
	    if [ -f "$SRCFILE" ]; then
Packit Service b7e772
	         cp "$SRCFILE" lex.yy.c
Packit Service b7e772
	    fi
Packit Service b7e772
	  ;;
Packit Service b7e772
	esac
Packit Service b7e772
    fi
Packit Service b7e772
    if [ ! -f lex.yy.c ]; then
Packit Service b7e772
	echo 'main() { return 0; }' >lex.yy.c
Packit Service b7e772
    fi
Packit Service b7e772
    ;;
Packit Service b7e772
Packit Service b7e772
  help2man)
Packit Service b7e772
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
Packit Service b7e772
       # We have it, but it failed.
Packit Service b7e772
       exit 1
Packit Service b7e772
    fi
Packit Service b7e772
Packit Service b7e772
    echo 1>&2 "\
Packit Service b7e772
WARNING: \`$1' is missing on your system.  You should only need it if
Packit Service b7e772
	 you modified a dependency of a manual page.  You may need the
Packit Service b7e772
	 \`Help2man' package in order for those modifications to take
Packit Service b7e772
	 effect.  You can get \`Help2man' from any GNU archive site."
Packit Service b7e772
Packit Service b7e772
    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
Packit Service b7e772
    if test -z "$file"; then
Packit Service b7e772
	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
Packit Service b7e772
    fi
Packit Service b7e772
    if [ -f "$file" ]; then
Packit Service b7e772
	touch $file
Packit Service b7e772
    else
Packit Service b7e772
	test -z "$file" || exec >$file
Packit Service b7e772
	echo ".ab help2man is required to generate this page"
Packit Service b7e772
	exit 1
Packit Service b7e772
    fi
Packit Service b7e772
    ;;
Packit Service b7e772
Packit Service b7e772
  makeinfo)
Packit Service b7e772
    if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
Packit Service b7e772
       # We have makeinfo, but it failed.
Packit Service b7e772
       exit 1
Packit Service b7e772
    fi
Packit Service b7e772
Packit Service b7e772
    echo 1>&2 "\
Packit Service b7e772
WARNING: \`$1' is missing on your system.  You should only need it if
Packit Service b7e772
         you modified a \`.texi' or \`.texinfo' file, or any other file
Packit Service b7e772
         indirectly affecting the aspect of the manual.  The spurious
Packit Service b7e772
         call might also be the consequence of using a buggy \`make' (AIX,
Packit Service b7e772
         DU, IRIX).  You might want to install the \`Texinfo' package or
Packit Service b7e772
         the \`GNU make' package.  Grab either from any GNU archive site."
Packit Service b7e772
    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
Packit Service b7e772
    if test -z "$file"; then
Packit Service b7e772
      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
Packit Service b7e772
      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
Packit Service b7e772
    fi
Packit Service b7e772
    touch $file
Packit Service b7e772
    ;;
Packit Service b7e772
Packit Service b7e772
  tar)
Packit Service b7e772
    shift
Packit Service b7e772
    if test -n "$run"; then
Packit Service b7e772
      echo 1>&2 "ERROR: \`tar' requires --run"
Packit Service b7e772
      exit 1
Packit Service b7e772
    fi
Packit Service b7e772
Packit Service b7e772
    # We have already tried tar in the generic part.
Packit Service b7e772
    # Look for gnutar/gtar before invocation to avoid ugly error
Packit Service b7e772
    # messages.
Packit Service b7e772
    if (gnutar --version > /dev/null 2>&1;; then
Packit Service b7e772
       gnutar "$@" && exit 0
Packit Service b7e772
    fi
Packit Service b7e772
    if (gtar --version > /dev/null 2>&1;; then
Packit Service b7e772
       gtar "$@" && exit 0
Packit Service b7e772
    fi
Packit Service b7e772
    firstarg="$1"
Packit Service b7e772
    if shift; then
Packit Service b7e772
	case "$firstarg" in
Packit Service b7e772
	*o*)
Packit Service b7e772
	    firstarg=`echo "$firstarg" | sed s/o//`
Packit Service b7e772
	    tar "$firstarg" "$@" && exit 0
Packit Service b7e772
	    ;;
Packit Service b7e772
	esac
Packit Service b7e772
	case "$firstarg" in
Packit Service b7e772
	*h*)
Packit Service b7e772
	    firstarg=`echo "$firstarg" | sed s/h//`
Packit Service b7e772
	    tar "$firstarg" "$@" && exit 0
Packit Service b7e772
	    ;;
Packit Service b7e772
	esac
Packit Service b7e772
    fi
Packit Service b7e772
Packit Service b7e772
    echo 1>&2 "\
Packit Service b7e772
WARNING: I can't seem to be able to run \`tar' with the given arguments.
Packit Service b7e772
         You may want to install GNU tar or Free paxutils, or check the
Packit Service b7e772
         command line arguments."
Packit Service b7e772
    exit 1
Packit Service b7e772
    ;;
Packit Service b7e772
Packit Service b7e772
  *)
Packit Service b7e772
    echo 1>&2 "\
Packit Service b7e772
WARNING: \`$1' is needed, and you do not seem to have it handy on your
Packit Service b7e772
         system.  You might have modified some files without having the
Packit Service b7e772
         proper tools for further handling them.  Check the \`README' file,
Packit Service b7e772
         it often tells you about the needed prerequisites for installing
Packit Service b7e772
         this package.  You may also peek at any GNU archive site, in case
Packit Service b7e772
         some other package would contain this missing \`$1' program."
Packit Service b7e772
    exit 1
Packit Service b7e772
    ;;
Packit Service b7e772
esac
Packit Service b7e772
Packit Service b7e772
exit 0