[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Automake 1.8.2 compiler dependency type checking fails on Solaris sh
From: |
Alexandre Duret-Lutz |
Subject: |
Re: Automake 1.8.2 compiler dependency type checking fails on Solaris sh |
Date: |
Sun, 29 Feb 2004 22:26:31 +0100 |
User-agent: |
Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux) |
>>> "Mark" == Mark Phillips <address@hidden> writes:
[...]
Mark> The following piece of sh code (from _AM_DEPENDENCIES) fails using
Mark> /bin/sh or /usr/bin/sh (but works using bash or /usr/xpg4/bin/sh):-
Mark> : > sub/conftest.c
Mark> for i in 1 2 3 4 5 6; do
Mark> echo '#include "conftst'$i'.h"' >> sub/conftest.c
Mark> : > sub/conftst$i.h
Mark> done
Mark> It appears that the processing of the "null" command ":"
Mark> is handled in an inconsistent way by the Solaris sh. In
Mark> particular the ": > sub/conftst$i.h" inside the loop only
Mark> creates ONE file.... Presumable the $i in the redirection
Mark> only gets evaluated once for some reason.
Thanks for the report.
I'm installing this on HEAD and branch-1-8.
2004-02-29 Alexandre Duret-Lutz <address@hidden>
* m4/depend.m4 (_AM_DEPENDENCIES): Use `touch' rather than `: >'
to create numbered dependencies. This fixes a portability issue
when CONFIG_SHELL is forced to /bin/sh on Solaris 8.
Reported by Mark Phillips.
Index: NEWS
===================================================================
RCS file: /cvs/automake/automake/NEWS,v
retrieving revision 1.256.2.30
diff -u -r1.256.2.30 NEWS
--- NEWS 29 Feb 2004 19:10:40 -0000 1.256.2.30
+++ NEWS 29 Feb 2004 21:11:36 -0000
@@ -36,6 +36,10 @@
- Do not generate two build rules for `parser.h' when the
parser appears in two different conditionals.
+ - Work around a Solaris 8 /bin/sh bug in the test for dependency
+ checking. Usually ./configure will not pick this shell; so this
+ fix only helps cases where the shell is forced to /bin/sh.
+
* Bugs introduced by 1.8:
- In some situations (hand-written `m4_include's), aclocal would
Index: THANKS
===================================================================
RCS file: /cvs/automake/automake/THANKS,v
retrieving revision 1.230.2.14
diff -u -r1.230.2.14 THANKS
--- THANKS 29 Feb 2004 19:10:40 -0000 1.230.2.14
+++ THANKS 29 Feb 2004 21:11:36 -0000
@@ -142,6 +142,7 @@
Mark Elbrecht address@hidden
Mark Galassi address@hidden
Mark Mitchell address@hidden
+Mark Phillips address@hidden
Markku Rossi address@hidden
Markus F.X.J. Oberhumer address@hidden
Martin Frydl address@hidden
Index: m4/depend.m4
===================================================================
RCS file: /cvs/automake/automake/m4/depend.m4,v
retrieving revision 1.30.2.2
diff -u -r1.30.2.2 depend.m4
--- m4/depend.m4 11 Jan 2004 12:05:28 -0000 1.30.2.2
+++ m4/depend.m4 29 Feb 2004 21:11:38 -0000
@@ -1,4 +1,4 @@
-# serial 6 -*- Autoconf -*-
+# serial 7 -*- Autoconf -*-
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
# Free Software Foundation, Inc.
@@ -85,7 +85,9 @@
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- : > sub/conftst$i.h
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
--
Alexandre Duret-Lutz