[gforth] / gforth / missing  

gforth: gforth/missing

Diff for /gforth/missing between version 1.2 and 1.3

version 1.2, Tue Dec 24 14:47:24 2002 UTC version 1.3, Sat Jun 2 14:25:26 2007 UTC
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
   #   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
Line 15 
Line 19 
   
 # 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, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 # 02111-1307, USA.  # 02110-1301, 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 
Line 33 
 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 
Line 44 
   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 
Line 79 
   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 
Line 87 
   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 
Line 104 
     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 
Line 149 
     ;;      ;;
   
   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 
Line 158 
     ;;      ;;
   
   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 
Line 167 
     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 
Line 177 
     ;;      ;;
   
   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 
Line 188 
     ;;      ;;
   
   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 
Line 212 
   
   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 
Line 282 
     ;;      ;;
   
   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 
Line 324 
     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 
Line 347 
   
   *)    *)
     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 
Line 358 
 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:


Generate output suitable for use with a patch program
Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help