This is the mail archive of the automake-prs@sourceware.org mailing list for the automake project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: automake/483: "missing" doesn't handle "--output" for missing makeinfo


The following reply was made to PR automake/483; it has been noted by GNATS.

From: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
To: Dennis.J.Linse@SAIC.com, automake-gnats@sources.redhat.com,
	automake-patches@gnu.org
Cc:  
Subject: Re: automake/483: "missing" doesn't handle "--output" for missing makeinfo
Date: Sat, 22 Apr 2006 14:11:22 +0200

 --hoZxPH4CaxYzWscb
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 
 * Ralf Wildenhues wrote on Sat, Apr 22, 2006 at 02:00:56PM CEST:
 
 > 	* lib/missing: Remove superfluous quotes.  Replace all uses of
 > 	`[' by `test', for consistency, and for..
 > 	* tests/missing4.test: ..this new test.
 > 	* tests/Makefile.am: Update.
 
 D'oh, I started that one before Alexandre's patch to create
 missing4.test was in, and forgot to check that now.
 
 Sorry about that, here's an updated version of the second patch.
 
 Cheers,
 Ralf
 
 --hoZxPH4CaxYzWscb
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename="missing-test-quotes-2.diff"
 
 	* lib/missing: Remove superfluous quotes.  Replace all uses of
 	`[' by `test', for consistency, and for..
 	* tests/missing5.test: ..this new test.
 	* tests/Makefile.am: Update.
 
 Index: lib/missing
 ===================================================================
 RCS file: /cvs/automake/automake/lib/missing,v
 retrieving revision 1.30
 diff -u -r1.30 missing
 --- lib/missing	12 Jan 2006 21:11:14 -0000	1.30
 +++ lib/missing	22 Apr 2006 12:07:49 -0000
 @@ -44,7 +46,7 @@
  
  msg="missing on your system"
  
 -case "$1" in
 +case $1 in
  --run)
    # Try to run requested program, and just exit if it succeeds.
    run=
 @@ -106,7 +109,7 @@
  # 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
 +case $1 in
    lex|yacc)
      # Not GNU programs, they don't have --version.
      ;;
 @@ -135,7 +138,7 @@
  
  # If it does not exist, or fails to run (possibly an outdated version),
  # try to emulate it.
 -case "$1" in
 +case $1 in
    aclocal*)
      echo 1>&2 "\
  WARNING: \`$1' is $msg.  You should only need it if
 @@ -164,7 +167,7 @@
      test -z "$files" && files="config.h"
      touch_files=
      for f in $files; do
 -      case "$f" in
 +      case $f in
        *:*) touch_files="$touch_files "`echo "$f" |
  				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
        *) touch_files="$touch_files $f.in";;
 @@ -214,25 +217,25 @@
           in order for those modifications to take effect.  You can get
           \`Bison' from any GNU archive site."
      rm -f y.tab.c y.tab.h
 -    if [ $# -ne 1 ]; then
 +    if test $# -ne 1; then
          eval LASTARG="\${$#}"
 -	case "$LASTARG" in
 +	case $LASTARG in
  	*.y)
  	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
 -	    if [ -f "$SRCFILE" ]; then
 +	    if test -f "$SRCFILE"; then
  	         cp "$SRCFILE" y.tab.c
  	    fi
  	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
 -	    if [ -f "$SRCFILE" ]; then
 +	    if test -f "$SRCFILE"; then
  	         cp "$SRCFILE" y.tab.h
  	    fi
  	  ;;
  	esac
      fi
 -    if [ ! -f y.tab.h ]; then
 +    if test ! -f y.tab.h; then
  	echo >y.tab.h
      fi
 -    if [ ! -f y.tab.c ]; then
 +    if test ! -f y.tab.c; then
  	echo 'main() { return 0; }' >y.tab.c
      fi
      ;;
 @@ -244,18 +247,18 @@
           in order for those modifications to take effect.  You can get
           \`Flex' from any GNU archive site."
      rm -f lex.yy.c
 -    if [ $# -ne 1 ]; then
 +    if test $# -ne 1; then
          eval LASTARG="\${$#}"
 -	case "$LASTARG" in
 +	case $LASTARG in
  	*.l)
  	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
 -	    if [ -f "$SRCFILE" ]; then
 +	    if test -f "$SRCFILE"; then
  	         cp "$SRCFILE" lex.yy.c
  	    fi
  	  ;;
  	esac
      fi
 -    if [ ! -f lex.yy.c ]; then
 +    if test ! -f lex.yy.c; then
  	echo 'main() { return 0; }' >lex.yy.c
      fi
      ;;
 @@ -322,13 +324,13 @@
      fi
      firstarg="$1"
      if shift; then
 -	case "$firstarg" in
 +	case $firstarg in
  	*o*)
  	    firstarg=`echo "$firstarg" | sed s/o//`
  	    tar "$firstarg" "$@" && exit 0
  	    ;;
  	esac
 -	case "$firstarg" in
 +	case $firstarg in
  	*h*)
  	    firstarg=`echo "$firstarg" | sed s/h//`
  	    tar "$firstarg" "$@" && exit 0
 Index: tests/Makefile.am
 ===================================================================
 RCS file: /cvs/automake/automake/tests/Makefile.am,v
 retrieving revision 1.603
 diff -u -r1.603 Makefile.am
 --- tests/Makefile.am	21 Apr 2006 19:02:29 -0000	1.603
 +++ tests/Makefile.am	22 Apr 2006 12:07:50 -0000
 @@ -358,6 +358,7 @@
  missing2.test \
  missing3.test \
  missing4.test \
 +missing5.test \
  mkinstall.test \
  mkinst2.test \
  mkinst3.test \
 --- /dev/null	2006-04-22 14:16:50.823007744 +0200
 +++ tests/missing5.test	2006-04-22 13:51:28.000000000 +0200
 @@ -0,0 +1,67 @@
 +#! /bin/sh
 +# Copyright (C) 2006  Free Software Foundation, Inc.
 +#
 +# This file is part of GNU Automake.
 +#
 +# GNU Automake is free software; you can redistribute it and/or modify
 +# it under the terms of the GNU General Public License as published by
 +# the Free Software Foundation; either version 2, or (at your option)
 +# any later version.
 +#
 +# GNU Automake is distributed in the hope that it will be useful,
 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +# GNU General Public License for more details.
 +#
 +# You should have received a copy of the GNU General Public License
 +# along with Automake; see the file COPYING.  If not, write to
 +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 +# Boston, MA 02110-1301, USA.
 +
 +# test how well `missing' finds output file names of various tools.
 +# PR automake/483.
 +
 +. ./defs || exit 1
 +
 +set -e
 +
 +# these programs may be invoked by `missing'
 +needed_tools='chmod find sed test touch'
 +needed_tools_csep=`echo $needed_tools | sed 's/ /, /g'`
 +
 +cat >configure.in <<EOF
 +AC_INIT([missing4], [1.0])
 +m4_foreach([tool], [$needed_tools_csep],
 +	   [AC_PATH_PROG(tool, tool, [false])
 +	    AC_CONFIG_FILES(tool, chmod +x tool)
 +	   ])
 +AC_OUTPUT
 +EOF
 +
 +for tool in $needed_tools; do
 +  cat >$tool.in <<EOF
 +#! /bin/sh
 +exec @$tool@ "\$@"
 +EOF
 +done
 +
 +$AUTOCONF
 +./configure
 +
 +echo output-file > output-file
 +cp output-file my--output--file-o
 +
 +save_PATH=$PATH
 +PATH=.
 +export PATH
 +missing --help
 +missing --version
 +for tool in autom4te help2man makeinfo; do
 +  missing --run $tool -o my--output--file-o input
 +  missing --run $tool --output my--output--file-o input
 +done
 +PATH=$save_PATH
 +export PATH
 +diff output-file my--output--file-o
 +test ! -f ./--file-o
 +test ! -f input
 
 --hoZxPH4CaxYzWscb--


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]