[Top][All Lists]
[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
- automake 1.7.2 & DJGPP: tests and make SHELL=/bin/sh,
Richard Dawe <=