automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: automake 1.7.2 & DJGPP: tests and make SHELL=/bin/sh


From: Alexandre Duret-Lutz
Subject: Re: automake 1.7.2 & DJGPP: tests and make SHELL=/bin/sh
Date: Fri, 10 Jan 2003 19:10:47 +0100
User-agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-pc-linux-gnu)

>>> "Richard" == Richard Dawe <address@hidden> writes:

[...]

 Richard> I am not suggesting that this patch should below be
 Richard> included. How can this problem be solved in a portable
 Richard> manner? Perhaps they could use ${SHELL} from
 Richard> tests/defs. Actually, why do the tests override the
 Richard> setting of SHELL on the make command-line?

Some do because they are attempting to run parts of Makefile.in
directly (so they need to override the address@hidden@ statement
in Makefile.in).  I've changed these to use SHELL=$SHELL.

Other did because some Make implementations inherit SHELL from
the environment when `make -e' is used.  However tests/defs now
overrides SHELL so that isn't an issue anymore.

Here is the patch I'm installing on HEAD and branch-1-7.

2003-01-10  Alexandre Duret-Lutz  <address@hidden>

        * Makefile.am (maintainer-check): Do not require SHELL=/bin/sh
        after $MAKE -e.
        * tests/ansi3.test, tests/ansi5.test, tests/cond22.test,
        tests/man2.test, tests/subobj3.test, tests/suffix8.test,
        tests/suffix11.test: Do not set SHELL=/bin/sh after $MAKE -e.
        $SHELL is overridden by tests/defs, so it won't hurt even
        if $MAKE -e uses the $SHELL envvar.
        * tests/ansi.test, tests/insh2.test, tests/texinfo.test,
        tests/texinfo8.test: Use SHELL=$SHELL, not SHELL=/bin/sh.
        Reported by Richard Dawe.

Index: Makefile.am
===================================================================
RCS file: /cvs/automake/automake/Makefile.am,v
retrieving revision 1.205.2.1
diff -u -r1.205.2.1 Makefile.am
--- Makefile.am 27 Sep 2002 14:18:52 -0000      1.205.2.1
+++ Makefile.am 10 Jan 2003 18:06:09 -0000
@@ -2,8 +2,8 @@
 
 ## Makefile for Automake.
 
-## Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2002 Free
-## Software Foundation, Inc.
+## Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003
+## Free Software Foundation, Inc.
 
 ## 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
@@ -213,24 +213,17 @@
 ## recursive targets are used.  Better use an envvar.  SHELL is an exception,
 ## POSIX says it can't come from the environment.
        @if grep -E '\$$MAKE .*(SHELL=.*=|=.*SHELL=)' $(srcdir)/tests/*.test; 
then \
-         echo 'Rewrite "$$MAKE foo=bar SHELL=/bin/sh" as "foo=bar $$MAKE -e 
SHELL=/bin/sh"' 1>&2; \
+         echo 'Rewrite "$$MAKE foo=bar SHELL=$$SHELL" as "foo=bar $$MAKE -e 
SHELL=$$SHELL"' 1>&2; \
          echo ' in the above lines, it is more portable.' 1>&2; \
          exit 1; \
        fi
        @if grep -v SHELL $(srcdir)/tests/*.test | grep '\$$MAKE .*=' ; then \
-         echo 'Rewrite "$$MAKE foo=bar" as "foo=bar $$MAKE -e SHELL=/bin/sh" 
in the above lines,' 1>&2; \
+         echo 'Rewrite "$$MAKE foo=bar" as "foo=bar $$MAKE -e" in the above 
lines,' 1>&2; \
          echo 'it is more portable.' 1>&2; \
          exit 1; \
        fi
-## On NetBSD (1.5) and OSF, the $SHELL variable is still inherited from
-## the environment.
-       @if grep '$$MAKE.* -e' $(srcdir)/tests/*.test | grep -v '-e.*SHELL' ; 
then \
-         echo 'Always overwrite SHELL when using "$$MAKE -e".' 1>&2; \
-         echo 'Use "$$MAKE -e SHELL=/bin/sh" in the above lines.' 1>&2; \
-         exit 1; \
-       fi
        @if grep 'SHELL=.*\$$MAKE' $(srcdir)/tests/*.test; then \
-         echo '$$MAKE ignores the SHELL envvar, use "$$MAKE SHELL=/bin/sh" in' 
1>&2; \
+         echo '$$MAKE ignores the SHELL envvar, use "$$MAKE SHELL=$$SHELL" in' 
1>&2; \
          echo 'the above lines.' 1>&2; \
          exit 1; \
        fi
Index: THANKS
===================================================================
RCS file: /cvs/automake/automake/THANKS,v
retrieving revision 1.186.2.13
diff -u -r1.186.2.13 THANKS
--- THANKS      5 Jan 2003 22:40:41 -0000       1.186.2.13
+++ THANKS      10 Jan 2003 18:06:14 -0000
@@ -173,6 +173,7 @@
 Ramón García Fernández address@hidden
 Rich Wales             address@hidden
 Richard Boulton                address@hidden
+Richard Dawe           address@hidden
 Rob Savoye             address@hidden
 Robert Bihlmeyer       address@hidden
 Robert Boehne          address@hidden
Index: tests/ansi.test
===================================================================
RCS file: /cvs/automake/automake/tests/ansi.test,v
retrieving revision 1.8
diff -u -r1.8 ansi.test
--- tests/ansi.test     8 Sep 2002 13:07:55 -0000       1.8
+++ tests/ansi.test     10 Jan 2003 18:06:14 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002
+# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003
 # Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
@@ -41,4 +41,4 @@
 $AUTOMAKE || exit 1
 
 $FGREP -v @SET_MAKE@ Makefile.in > Makefile.sed
-$MAKE -s -f Makefile.sed SHELL=/bin/sh magic | grep 'ansi2knr\.c'
+$MAKE -s -f Makefile.sed SHELL=$SHELL magic | grep 'ansi2knr\.c'
Index: tests/ansi3.test
===================================================================
RCS file: /cvs/automake/automake/tests/ansi3.test,v
retrieving revision 1.11
diff -u -r1.11 ansi3.test
--- tests/ansi3.test    8 Sep 2002 13:07:55 -0000       1.11
+++ tests/ansi3.test    10 Jan 2003 18:06:14 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 1998, 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
 #
@@ -57,5 +57,5 @@
    && $AUTOCONF \
    && $AUTOMAKE -a \
    && CC='gcc' ./configure \
-   && ANSI2KNR=./ansi2knr U=_ $MAKE -e SHELL=/bin/sh \
+   && ANSI2KNR=./ansi2knr U=_ $MAKE -e \
    && ./hello
Index: tests/ansi5.test
===================================================================
RCS file: /cvs/automake/automake/tests/ansi5.test,v
retrieving revision 1.7
diff -u -r1.7 ansi5.test
--- tests/ansi5.test    8 Sep 2002 13:07:55 -0000       1.7
+++ tests/ansi5.test    10 Jan 2003 18:06:15 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
 #
@@ -90,6 +90,6 @@
 mv one/Makefile one/Makefile.old
 sed -e 's,ANSI2KNR =,ANSI2KNR = ./ansi2knr,' < one/Makefile.old > one/Makefile
 
-U=_ $MAKE -e SHELL=/bin/sh
+U=_ $MAKE -e
 ./one/joe
 ./two/maude
Index: tests/cond22.test
===================================================================
RCS file: /cvs/automake/automake/tests/cond22.test,v
retrieving revision 1.3
diff -u -r1.3 cond22.test
--- tests/cond22.test   8 Sep 2002 13:07:55 -0000       1.3
+++ tests/cond22.test   10 Jan 2003 18:06:15 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2002  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
 #
@@ -68,6 +68,6 @@
 $AUTOCONF
 $AUTOMAKE
 ./configure
-OBJEXT=oo $MAKE -e SHELL=/bin/sh echo > output
+OBJEXT=oo $MAKE -e echo > output
 cat output
 $FGREP 'BEG: one.oo two.oo three.oo three2.oo :END' output
Index: tests/insh2.test
===================================================================
RCS file: /cvs/automake/automake/tests/insh2.test,v
retrieving revision 1.7
diff -u -r1.7 insh2.test
--- tests/insh2.test    8 Sep 2002 13:07:55 -0000       1.7
+++ tests/insh2.test    10 Jan 2003 18:06:15 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002
+# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003
 # Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
@@ -33,4 +33,4 @@
 $AUTOMAKE || exit 1
 
 $FGREP -v @SET_MAKE@ Makefile.in > Makefile.sed
-$MAKE -s -f Makefile.sed SHELL=/bin/sh magic | grep install-sh
+$MAKE -s -f Makefile.sed SHELL=$SHELL magic | grep install-sh
Index: tests/man2.test
===================================================================
RCS file: /cvs/automake/automake/tests/man2.test,v
retrieving revision 1.3.2.1
diff -u -r1.3.2.1 man2.test
--- tests/man2.test     4 Dec 2002 17:46:35 -0000       1.3.2.1
+++ tests/man2.test     10 Jan 2003 18:06:15 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2002  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
 #
@@ -42,13 +42,13 @@
 
 # Let's play with $DESTDIR too, it shouldn't hurt.
 ./configure --prefix=''
-DESTDIR="`pwd`/=inst" $MAKE -e SHELL=/bin/sh install
+DESTDIR="`pwd`/=inst" $MAKE -e install
 
 test -f ./=inst/man/man2/foo.2
 test -f ./=inst/man/man4/foo.4
 test -f ./=inst/man/man4/bar.4
 
-DESTDIR="`pwd`/=inst" $MAKE -e SHELL=/bin/sh uninstall
+DESTDIR="`pwd`/=inst" $MAKE -e uninstall
 
 test ! -f ./=inst/man/man2/foo.2
 test ! -f ./=inst/man/man4/foo.4
Index: tests/subobj3.test
===================================================================
RCS file: /cvs/automake/automake/tests/subobj3.test,v
retrieving revision 1.13
diff -u -r1.13 subobj3.test
--- tests/subobj3.test  8 Sep 2002 13:07:56 -0000       1.13
+++ tests/subobj3.test  10 Jan 2003 18:06:15 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 1999, 2000, 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003  Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
 #
@@ -61,5 +61,5 @@
    && $AUTOCONF \
    && $AUTOMAKE -a \
    && ./configure \
-   && ANSI2KNR=./ansi2knr U=_ $MAKE -e SHELL=/bin/sh \
+   && ANSI2KNR=./ansi2knr U=_ $MAKE -e \
    && ./hello
Index: tests/suffix11.test
===================================================================
RCS file: /cvs/automake/automake/tests/suffix11.test,v
retrieving revision 1.1.2.1
diff -u -r1.1.2.1 suffix11.test
--- tests/suffix11.test 29 Nov 2002 17:53:03 -0000      1.1.2.1
+++ tests/suffix11.test 10 Jan 2003 18:06:15 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2002  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
 #
@@ -56,7 +56,7 @@
 # But this should work anyway.
 $AUTOMAKE -a -Wno-portability
 ./configure
-env OBJEXT=foo $MAKE -e SHELL=/bin/sh print >stdout
+env OBJEXT=foo $MAKE -e print >stdout
 cat stdout
 grep 'BEGIN: foo.foo :END' stdout
 grep 'BEGIN: bar.foo :END' stdout
Index: tests/suffix8.test
===================================================================
RCS file: /cvs/automake/automake/tests/suffix8.test,v
retrieving revision 1.5
diff -u -r1.5 suffix8.test
--- tests/suffix8.test  19 Sep 2002 09:16:05 -0000      1.5
+++ tests/suffix8.test  10 Jan 2003 18:06:16 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2002  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
 #
@@ -73,7 +73,7 @@
 $AUTOCONF
 $AUTOMAKE -a
 ./configure
-env OBJEXT=foo $MAKE -e SHELL=/bin/sh print >stdout
+env OBJEXT=foo $MAKE -e print >stdout
 cat stdout
 grep 'BEGIN: foo.foo :END' stdout
 grep 'BEGIN: bar.lo :END' stdout
Index: tests/texinfo.test
===================================================================
RCS file: /cvs/automake/automake/tests/texinfo.test,v
retrieving revision 1.8
diff -u -r1.8 texinfo.test
--- tests/texinfo.test  8 Sep 2002 13:07:56 -0000       1.8
+++ tests/texinfo.test  10 Jan 2003 18:06:16 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002
+# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003
 # Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
@@ -37,4 +37,4 @@
 $AUTOMAKE || exit 1
 
 $FGREP -v @SET_MAKE@ Makefile.in > Makefile.sed
-$MAKE -s -f Makefile.sed SHELL=/bin/sh magic | grep 'texinfo\.tex'
+$MAKE -s -f Makefile.sed SHELL=$SHELL magic | grep 'texinfo\.tex'
Index: tests/texinfo8.test
===================================================================
RCS file: /cvs/automake/automake/tests/texinfo8.test,v
retrieving revision 1.11
diff -u -r1.11 texinfo8.test
--- tests/texinfo8.test 8 Sep 2002 13:07:56 -0000       1.11
+++ tests/texinfo8.test 10 Jan 2003 18:06:16 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 1999, 2000, 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003  Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
 #
@@ -49,7 +49,7 @@
 
 $FGREP -v @SET_MAKE@ sub/Makefile.in > sub/Makefile.sed
 test -f sub/texinfo.tex &&
-$MAKE -s -f sub/Makefile.sed SHELL=/bin/sh magic | grep 'texinfo\.tex'
+$MAKE -s -f sub/Makefile.sed SHELL=$SHELL magic | grep 'texinfo\.tex'
 stat=$?
 
 exit $stat
-- 
Alexandre Duret-Lutz





reply via email to

[Prev in Thread] Current Thread [Next in Thread]