bug-automake
[Top][All Lists]
Advanced

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

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


From: Richard Dawe
Subject: automake 1.7.2 & DJGPP: tests and make SHELL=/bin/sh
Date: Fri, 10 Jan 2003 13:19:53 +0000

Hello.

DJGPP doesn't generally have a shell at /bin/sh.

The DJGPP port of make does special things if you put SHELL=/bin/sh in a
Makefile. It avoids using the normal command shell (command.com), because it
doesn't support Unixy shell constructs like bash's. However, it does not do
special things if you use SHELL=/bin/sh on the make command-line. This feature
is as designed.

Several tests use SHELL=/bin/sh on the command-line. Unfortunately this means
that they invoke command.com and fail on Unixy shell constructs. Below is a
diff that sets SHELL to point to where bash is installed in a DJGPP
installation.

tests/man2.test also uses SHELL=/bin/sh. I haven't included that in the diff
below, because I made other changes to it.

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

Please CC me on any replies, because I'm not subscribed to bug-automake.

Thanks, regards,

-- 
Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]

--- /dev/c/develop/ports/orig/automake-1.7.2/tests/ansi.test    2002-09-08
13:07:54.000000000 +0000
+++ /dev/c/develop/ports/gnu.dev/automake-1.7.2/tests/ansi.test 2003-01-06
22:00:24.000000000 +0000
@@ -41,4 +41,5 @@ $ACLOCAL || exit 1
 $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=/dev/env/DJDIR/bin/bash.exe magic \
+    | grep 'ansi2knr\.c'
--- /dev/c/develop/ports/orig/automake-1.7.2/tests/ansi3.test   2002-09-08
13:07:54.000000000 +0000
+++ /dev/c/develop/ports/gnu.dev/automake-1.7.2/tests/ansi3.test        
2003-01-06
21:56:30.000000000 +0000
@@ -57,5 +57,5 @@ $ACLOCAL \
    && $AUTOCONF \
    && $AUTOMAKE -a \
    && CC='gcc' ./configure \
-   && ANSI2KNR=./ansi2knr U=_ $MAKE -e SHELL=/bin/sh \
+   && ANSI2KNR=./ansi2knr U=_ $MAKE -e SHELL=/dev/env/DJDIR/bin/bash.exe \
    && ./hello
--- /dev/c/develop/ports/orig/automake-1.7.2/tests/ansi5.test   2002-09-08
13:07:54.000000000 +0000
+++ /dev/c/develop/ports/gnu.dev/automake-1.7.2/tests/ansi5.test        
2003-01-06
22:00:16.000000000 +0000
@@ -90,6 +90,6 @@ done
 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 SHELL=/dev/env/DJDIR/bin/bash.exe
 ./one/joe
 ./two/maude
--- /dev/c/develop/ports/orig/automake-1.7.2/tests/cond22.test  2002-09-08
13:07:54.000000000 +0000
+++ /dev/c/develop/ports/gnu.dev/automake-1.7.2/tests/cond22.test       
2003-01-06
22:00:12.000000000 +0000
@@ -68,6 +68,6 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE
 ./configure
-OBJEXT=oo $MAKE -e SHELL=/bin/sh echo > output
+OBJEXT=oo $MAKE -e SHELL=/dev/env/DJDIR/bin/bash.exe echo > output
 cat output
 $FGREP 'BEG: one.oo two.oo three.oo three2.oo :END' output
--- /dev/c/develop/ports/orig/automake-1.7.2/tests/insh2.test   2002-09-08
13:07:54.000000000 +0000
+++ /dev/c/develop/ports/gnu.dev/automake-1.7.2/tests/insh2.test        
2003-01-06
22:00:10.000000000 +0000
@@ -33,4 +33,5 @@ $ACLOCAL || exit 1
 $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=/dev/env/DJDIR/bin/bash.exe magic \
+    | grep install-sh
--- /dev/c/develop/ports/orig/automake-1.7.2/tests/subobj3.test 2002-09-08
13:07:56.000000000 +0000
+++ /dev/c/develop/ports/gnu.dev/automake-1.7.2/tests/subobj3.test      
2003-01-06
22:00:00.000000000 +0000
@@ -61,5 +61,5 @@ $ACLOCAL \
    && $AUTOCONF \
    && $AUTOMAKE -a \
    && ./configure \
-   && ANSI2KNR=./ansi2knr U=_ $MAKE -e SHELL=/bin/sh \
+   && ANSI2KNR=./ansi2knr U=_ $MAKE -e SHELL=/dev/env/DJDIR/bin/bash.exe \
    && ./hello
--- /dev/c/develop/ports/orig/automake-1.7.2/tests/suffix8.test 2002-09-19
09:16:04.000000000 +0000
+++ /dev/c/develop/ports/gnu.dev/automake-1.7.2/tests/suffix8.test      
2003-01-06
21:59:52.000000000 +0000
@@ -73,7 +73,7 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 ./configure
-env OBJEXT=foo $MAKE -e SHELL=/bin/sh print >stdout
+env OBJEXT=foo $MAKE -e SHELL=/dev/env/DJDIR/bin/bash.exe print >stdout
 cat stdout
 grep 'BEGIN: foo.foo :END' stdout
 grep 'BEGIN: bar.lo :END' stdout
--- /dev/c/develop/ports/orig/automake-1.7.2/tests/suffix11.test        
2002-11-29
11:23:22.000000000 +0000
+++ /dev/c/develop/ports/gnu.dev/automake-1.7.2/tests/suffix11.test     
2003-01-06
21:59:56.000000000 +0000
@@ -56,7 +56,7 @@ grep 'Inference rules can have only one 
 # 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 SHELL=/dev/env/DJDIR/bin/bash.exe print >stdout
 cat stdout
 grep 'BEGIN: foo.foo :END' stdout
 grep 'BEGIN: bar.foo :END' stdout
--- /dev/c/develop/ports/orig/automake-1.7.2/tests/texinfo.test 2002-09-08
13:07:56.000000000 +0000
+++ /dev/c/develop/ports/gnu.dev/automake-1.7.2/tests/txinfo.test       
2003-01-06
21:59:48.000000000 +0000
@@ -37,4 +37,5 @@ $ACLOCAL || exit 1
 $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=/dev/env/DJDIR/bin/bash.exe magic \
+    | grep 'texinfo\.tex'
--- /dev/c/develop/ports/orig/automake-1.7.2/tests/texinfo8.test        
2002-09-08
13:07:56.000000000 +0000
+++ /dev/c/develop/ports/gnu.dev/automake-1.7.2/tests/txinfo8.test      
2003-01-06
21:59:42.000000000 +0000
@@ -49,7 +49,8 @@ $AUTOMAKE -a || exit 1
 
 $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=/dev/env/DJDIR/bin/bash.exe magic \
+    | grep 'texinfo\.tex'
 stat=$?
 
 exit $stat




reply via email to

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