Diff for /gforth/missing between versions 1.2 and 1.6

version 1.2, 2002/12/24 14:47:24 version 1.6, 2007/12/31 18:40:24
Line 1 Line 1
 #! /bin/sh  #! /bin/sh
 # Common stub for a few missing GNU programs while installing.  # Common stub for a few missing GNU programs while installing.
 # Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.  
   scriptversion=2006-05-10.23
   
   # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,2007 Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.  # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
   
 # This program is free software; you can redistribute it and/or modify  # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by  # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 2, or (at your option)  # the Free Software Foundation; either version 3, or (at your option)
 # any later version.  # any later version.
   
 # This program is distributed in the hope that it will be useful,  # This program is distributed in the hope that it will be useful,
Line 14 Line 17
 # GNU General Public License for more details.  # GNU General Public License for more details.
   
 # You should have received a copy of the GNU General Public License  # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software  # along with this program. If not, see http://www.gnu.org/licenses/.
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  
 # 02111-1307, USA.  
   
 # As a special exception to the GNU General Public License, if you  # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a  # distribute this file as part of a program that contains a
Line 29  if test $# -eq 0; then Line 30  if test $# -eq 0; then
 fi  fi
   
 run=:  run=:
   sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
   sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
   
 # In the cases where this matters, `missing' is being run in the  # In the cases where this matters, `missing' is being run in the
 # srcdir already.  # srcdir already.
Line 38  else Line 41  else
   configure_ac=configure.in    configure_ac=configure.in
 fi  fi
   
 case "$1" in  msg="missing on your system"
   
   case $1 in
 --run)  --run)
   # Try to run requested program, and just exit if it succeeds.    # Try to run requested program, and just exit if it succeeds.
   run=    run=
   shift    shift
   "$@" && exit 0    "$@" && exit 0
     # Exit code 63 means version mismatch.  This often happens
     # when the user try to use an ancient version of a tool on
     # a file that requires a minimum version.  In this case we
     # we should proceed has if the program had been absent, or
     # if --run hadn't been passed.
     if test $? = 63; then
       run=:
       msg="probably too old"
     fi
   ;;    ;;
 esac  
   
 # If it does not exist, or fails to run (possibly an outdated version),  
 # try to emulate it.  
 case "$1" in  
   
   -h|--h|--he|--hel|--help)    -h|--h|--he|--hel|--help)
     echo "\      echo "\
Line 67  Supported PROGRAM values: Line 76  Supported PROGRAM values:
   aclocal      touch file \`aclocal.m4'    aclocal      touch file \`aclocal.m4'
   autoconf     touch file \`configure'    autoconf     touch file \`configure'
   autoheader   touch file \`config.h.in'    autoheader   touch file \`config.h.in'
     autom4te     touch the output file, or create a stub one
   automake     touch all \`Makefile.in' files    automake     touch all \`Makefile.in' files
   bison        create \`y.tab.[ch]', if possible, from existing .[ch]    bison        create \`y.tab.[ch]', if possible, from existing .[ch]
   flex         create \`lex.yy.c', if possible, from existing .c    flex         create \`lex.yy.c', if possible, from existing .c
Line 74  Supported PROGRAM values: Line 84  Supported PROGRAM values:
   lex          create \`lex.yy.c', if possible, from existing .c    lex          create \`lex.yy.c', if possible, from existing .c
   makeinfo     touch the output file    makeinfo     touch the output file
   tar          try tar, gnutar, gtar, then tar without non-portable flags    tar          try tar, gnutar, gtar, then tar without non-portable flags
   yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"    yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
   
   Send bug reports to <bug-automake@gnu.org>."
       exit $?
     ;;      ;;
   
   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)    -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
     echo "missing 0.4 - GNU automake"      echo "missing $scriptversion (GNU Automake)"
       exit $?
     ;;      ;;
   
   -*)    -*)
Line 87  Supported PROGRAM values: Line 101  Supported PROGRAM values:
     exit 1      exit 1
     ;;      ;;
   
   aclocal*)  esac
   
   # Now exit if we have it, but it failed.  Also exit now if we
   # don't have it and --version was passed (most likely to detect
   # the program).
   case $1 in
     lex|yacc)
       # Not GNU programs, they don't have --version.
       ;;
   
     tar)
       if test -n "$run"; then
          echo 1>&2 "ERROR: \`tar' requires --run"
          exit 1
       elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
          exit 1
       fi
       ;;
   
     *)
     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then      if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
        # We have it, but it failed.         # We have it, but it failed.
        exit 1         exit 1
       elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
          # Could not run --version or --help.  This is probably someone
          # running `$TOOL --version' or `$TOOL --help' to check whether
          # $TOOL exists and not knowing $TOOL uses missing.
          exit 1
     fi      fi
       ;;
   esac
   
   # If it does not exist, or fails to run (possibly an outdated version),
   # try to emulate it.
   case $1 in
     aclocal*)
     echo 1>&2 "\      echo 1>&2 "\
 WARNING: \`$1' is missing on your system.  You should only need it if  WARNING: \`$1' is $msg.  You should only need it if
          you modified \`acinclude.m4' or \`${configure_ac}'.  You might want           you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
          to install the \`Automake' and \`Perl' packages.  Grab them from           to install the \`Automake' and \`Perl' packages.  Grab them from
          any GNU archive site."           any GNU archive site."
Line 102  WARNING: \`$1' is missing on your system Line 146  WARNING: \`$1' is missing on your system
     ;;      ;;
   
   autoconf)    autoconf)
     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then  
        # We have it, but it failed.  
        exit 1  
     fi  
   
     echo 1>&2 "\      echo 1>&2 "\
 WARNING: \`$1' is missing on your system.  You should only need it if  WARNING: \`$1' is $msg.  You should only need it if
          you modified \`${configure_ac}'.  You might want to install the           you modified \`${configure_ac}'.  You might want to install the
          \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU           \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
          archive site."           archive site."
Line 116  WARNING: \`$1' is missing on your system Line 155  WARNING: \`$1' is missing on your system
     ;;      ;;
   
   autoheader)    autoheader)
     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then  
        # We have it, but it failed.  
        exit 1  
     fi  
   
     echo 1>&2 "\      echo 1>&2 "\
 WARNING: \`$1' is missing on your system.  You should only need it if  WARNING: \`$1' is $msg.  You should only need it if
          you modified \`acconfig.h' or \`${configure_ac}'.  You might want           you modified \`acconfig.h' or \`${configure_ac}'.  You might want
          to install the \`Autoconf' and \`GNU m4' packages.  Grab them           to install the \`Autoconf' and \`GNU m4' packages.  Grab them
          from any GNU archive site."           from any GNU archive site."
Line 130  WARNING: \`$1' is missing on your system Line 164  WARNING: \`$1' is missing on your system
     test -z "$files" && files="config.h"      test -z "$files" && files="config.h"
     touch_files=      touch_files=
     for f in $files; do      for f in $files; do
       case "$f" in        case $f in
       *:*) touch_files="$touch_files "`echo "$f" |        *:*) touch_files="$touch_files "`echo "$f" |
                                        sed -e 's/^[^:]*://' -e 's/:.*//'`;;                                         sed -e 's/^[^:]*://' -e 's/:.*//'`;;
       *) touch_files="$touch_files $f.in";;        *) touch_files="$touch_files $f.in";;
Line 140  WARNING: \`$1' is missing on your system Line 174  WARNING: \`$1' is missing on your system
     ;;      ;;
   
   automake*)    automake*)
     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then  
        # We have it, but it failed.  
        exit 1  
     fi  
   
     echo 1>&2 "\      echo 1>&2 "\
 WARNING: \`$1' is missing on your system.  You should only need it if  WARNING: \`$1' is $msg.  You should only need it if
          you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.           you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
          You might want to install the \`Automake' and \`Perl' packages.           You might want to install the \`Automake' and \`Perl' packages.
          Grab them from any GNU archive site."           Grab them from any GNU archive site."
Line 156  WARNING: \`$1' is missing on your system Line 185  WARNING: \`$1' is missing on your system
     ;;      ;;
   
   autom4te)    autom4te)
     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then  
        # We have it, but it failed.  
        exit 1  
     fi  
   
     echo 1>&2 "\      echo 1>&2 "\
 WARNING: \`$1' is needed, and you do not seem to have it handy on your  WARNING: \`$1' is needed, but is $msg.
          system.  You might have modified some files without having the           You might have modified some files without having the
          proper tools for further handling them.           proper tools for further handling them.
          You can get \`$1Help2man' as part of \`Autoconf' from any GNU           You can get \`$1' as part of \`Autoconf' from any GNU
          archive site."           archive site."
   
     file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`      file=`echo "$*" | sed -n "$sed_output"`
     test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`      test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
     if test -f "$file"; then      if test -f "$file"; then
         touch $file          touch $file
     else      else
Line 185  WARNING: \`$1' is needed, and you do not Line 209  WARNING: \`$1' is needed, and you do not
   
   bison|yacc)    bison|yacc)
     echo 1>&2 "\      echo 1>&2 "\
 WARNING: \`$1' is missing on your system.  You should only need it if  WARNING: \`$1' $msg.  You should only need it if
          you modified a \`.y' file.  You may need the \`Bison' package           you modified a \`.y' file.  You may need the \`Bison' package
          in order for those modifications to take effect.  You can get           in order for those modifications to take effect.  You can get
          \`Bison' from any GNU archive site."           \`Bison' from any GNU archive site."
     rm -f y.tab.c y.tab.h      rm -f y.tab.c y.tab.h
     if [ $# -ne 1 ]; then      if test $# -ne 1; then
         eval LASTARG="\${$#}"          eval LASTARG="\${$#}"
         case "$LASTARG" in          case $LASTARG in
         *.y)          *.y)
             SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`              SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
             if [ -f "$SRCFILE" ]; then              if test -f "$SRCFILE"; then
                  cp "$SRCFILE" y.tab.c                   cp "$SRCFILE" y.tab.c
             fi              fi
             SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`              SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
             if [ -f "$SRCFILE" ]; then              if test -f "$SRCFILE"; then
                  cp "$SRCFILE" y.tab.h                   cp "$SRCFILE" y.tab.h
             fi              fi
           ;;            ;;
         esac          esac
     fi      fi
     if [ ! -f y.tab.h ]; then      if test ! -f y.tab.h; then
         echo >y.tab.h          echo >y.tab.h
     fi      fi
     if [ ! -f y.tab.c ]; then      if test ! -f y.tab.c; then
         echo 'main() { return 0; }' >y.tab.c          echo 'main() { return 0; }' >y.tab.c
     fi      fi
     ;;      ;;
   
   lex|flex)    lex|flex)
     echo 1>&2 "\      echo 1>&2 "\
 WARNING: \`$1' is missing on your system.  You should only need it if  WARNING: \`$1' is $msg.  You should only need it if
          you modified a \`.l' file.  You may need the \`Flex' package           you modified a \`.l' file.  You may need the \`Flex' package
          in order for those modifications to take effect.  You can get           in order for those modifications to take effect.  You can get
          \`Flex' from any GNU archive site."           \`Flex' from any GNU archive site."
     rm -f lex.yy.c      rm -f lex.yy.c
     if [ $# -ne 1 ]; then      if test $# -ne 1; then
         eval LASTARG="\${$#}"          eval LASTARG="\${$#}"
         case "$LASTARG" in          case $LASTARG in
         *.l)          *.l)
             SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`              SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
             if [ -f "$SRCFILE" ]; then              if test -f "$SRCFILE"; then
                  cp "$SRCFILE" lex.yy.c                   cp "$SRCFILE" lex.yy.c
             fi              fi
           ;;            ;;
         esac          esac
     fi      fi
     if [ ! -f lex.yy.c ]; then      if test ! -f lex.yy.c; then
         echo 'main() { return 0; }' >lex.yy.c          echo 'main() { return 0; }' >lex.yy.c
     fi      fi
     ;;      ;;
   
   help2man)    help2man)
     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then  
        # We have it, but it failed.  
        exit 1  
     fi  
   
     echo 1>&2 "\      echo 1>&2 "\
 WARNING: \`$1' is missing on your system.  You should only need it if  WARNING: \`$1' is $msg.  You should only need it if
          you modified a dependency of a manual page.  You may need the           you modified a dependency of a manual page.  You may need the
          \`Help2man' package in order for those modifications to take           \`Help2man' package in order for those modifications to take
          effect.  You can get \`Help2man' from any GNU archive site."           effect.  You can get \`Help2man' from any GNU archive site."
   
     file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`      file=`echo "$*" | sed -n "$sed_output"`
     if test -z "$file"; then      test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
         file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`      if test -f "$file"; then
     fi  
     if [ -f "$file" ]; then  
         touch $file          touch $file
     else      else
         test -z "$file" || exec >$file          test -z "$file" || exec >$file
Line 262  WARNING: \`$1' is missing on your system Line 279  WARNING: \`$1' is missing on your system
     ;;      ;;
   
   makeinfo)    makeinfo)
     if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then  
        # We have makeinfo, but it failed.  
        exit 1  
     fi  
   
     echo 1>&2 "\      echo 1>&2 "\
 WARNING: \`$1' is missing on your system.  You should only need it if  WARNING: \`$1' is $msg.  You should only need it if
          you modified a \`.texi' or \`.texinfo' file, or any other file           you modified a \`.texi' or \`.texinfo' file, or any other file
          indirectly affecting the aspect of the manual.  The spurious           indirectly affecting the aspect of the manual.  The spurious
          call might also be the consequence of using a buggy \`make' (AIX,           call might also be the consequence of using a buggy \`make' (AIX,
          DU, IRIX).  You might want to install the \`Texinfo' package or           DU, IRIX).  You might want to install the \`Texinfo' package or
          the \`GNU make' package.  Grab either from any GNU archive site."           the \`GNU make' package.  Grab either from any GNU archive site."
     file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`      # The file to touch is that specified with -o ...
       file=`echo "$*" | sed -n "$sed_output"`
       test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
     if test -z "$file"; then      if test -z "$file"; then
       file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`        # ... or it is the one specified with @setfilename ...
       file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`        infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
     fi        file=`sed -n '
           /^@setfilename/{
             s/.* \([^ ]*\) *$/\1/
             p
             q
           }' $infile`
         # ... or it is derived from the source name (dir/f.texi becomes f.info)
         test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
       fi
       # If the file does not exist, the user really needs makeinfo;
       # let's fail without touching anything.
       test -f $file || exit 1
     touch $file      touch $file
     ;;      ;;
   
   tar)    tar)
     shift      shift
     if test -n "$run"; then  
       echo 1>&2 "ERROR: \`tar' requires --run"  
       exit 1  
     fi  
   
     # We have already tried tar in the generic part.      # We have already tried tar in the generic part.
     # Look for gnutar/gtar before invocation to avoid ugly error      # Look for gnutar/gtar before invocation to avoid ugly error
Line 300  WARNING: \`$1' is missing on your system Line 321  WARNING: \`$1' is missing on your system
     fi      fi
     firstarg="$1"      firstarg="$1"
     if shift; then      if shift; then
         case "$firstarg" in          case $firstarg in
         *o*)          *o*)
             firstarg=`echo "$firstarg" | sed s/o//`              firstarg=`echo "$firstarg" | sed s/o//`
             tar "$firstarg" "$@" && exit 0              tar "$firstarg" "$@" && exit 0
             ;;              ;;
         esac          esac
         case "$firstarg" in          case $firstarg in
         *h*)          *h*)
             firstarg=`echo "$firstarg" | sed s/h//`              firstarg=`echo "$firstarg" | sed s/h//`
             tar "$firstarg" "$@" && exit 0              tar "$firstarg" "$@" && exit 0
Line 323  WARNING: I can't seem to be able to run Line 344  WARNING: I can't seem to be able to run
   
   *)    *)
     echo 1>&2 "\      echo 1>&2 "\
 WARNING: \`$1' is needed, and you do not seem to have it handy on your  WARNING: \`$1' is needed, and is $msg.
          system.  You might have modified some files without having the           You might have modified some files without having the
          proper tools for further handling them.  Check the \`README' file,           proper tools for further handling them.  Check the \`README' file,
          it often tells you about the needed prerequirements for installing           it often tells you about the needed prerequisites for installing
          this package.  You may also peek at any GNU archive site, in case           this package.  You may also peek at any GNU archive site, in case
          some other package would contain this missing \`$1' program."           some other package would contain this missing \`$1' program."
     exit 1      exit 1
Line 334  WARNING: \`$1' is needed, and you do not Line 355  WARNING: \`$1' is needed, and you do not
 esac  esac
   
 exit 0  exit 0
   
   # Local variables:
   # eval: (add-hook 'write-file-hooks 'time-stamp)
   # time-stamp-start: "scriptversion="
   # time-stamp-format: "%:y-%02m-%02d.%02H"
   # time-stamp-end: "$"
   # End:

Removed from v.1.2  
changed lines
  Added in v.1.6


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>