This is the mail archive of the automake@gnu.org mailing list for the automake project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Automake 1.8.2 compiler dependency type checking fails onSolaris sh


>>> "Mark" == Mark Phillips <msp@nortelnetworks.com> 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  <adl@gnu.org>

	* 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		snowball3@bigfoot.com
 Mark Galassi		rosalia@nis.lanl.gov
 Mark Mitchell		mark@codesourcery.com
+Mark Phillips		msp@nortelnetworks.com
 Markku Rossi		mtr@ngs.fi
 Markus F.X.J. Oberhumer	k3040e4@wildsau.idv-edu.uni-linz.ac.at
 Martin Frydl		martin@idoox.com
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




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]