* 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. 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 11:25:33 -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.602 diff -u -r1.602 Makefile.am --- tests/Makefile.am 19 Apr 2006 16:41:32 -0000 1.602 +++ tests/Makefile.am 22 Apr 2006 11:43:36 -0000 @@ -357,6 +357,7 @@ missing.test \ missing2.test \ missing3.test \ +missing4.test \ mkinstall.test \ mkinst2.test \ mkinst3.test \ --- /dev/null 2006-04-22 14:16:50.823007744 +0200 +++ tests/missing4.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 <$tool.in < 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