automake-patches
[Top][All Lists]
Advanced

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

IRIX compiler omits some dependencies with -MDupdate


From: Ralf Wildenhues
Subject: IRIX compiler omits some dependencies with -MDupdate
Date: Sat, 13 May 2006 11:25:44 +0200
User-agent: Mutt/1.5.11+cvs20060403

Somehow, IRIX64 6.5 cc and CC, presenting themselves as
  MIPSpro Compilers: Version 7.4.4m

have a quite buggy `-MDupdate' mechanism; it more or less randomly
forgets to list some headers included with double quotes; or maybe only
the first one, I don't know.  For example, the test in m4/depend.m4
leads to this dependency file:
| sub/conftest.o : \
| sub/conftst4.h sub/conftst5.h sub/conftst6.h sub/conftst2.h sub/conftst3.h

Weird, huh?  Note it also forgets to add the .c file, but that may be
intended, and I don't think it breaks dependency tracking, due to the
inference rules Automake puts in place.  Anyway, the new depcomp6.test
exposes this failure -- so at least adding that paid out already.  :-)

For lack of more knowledge, how about this check to diagnose and skip
this depcomp method?  This will make depcomp fall back to depmode
`none', or `dashmstdout' (if --enable-dependency-tracking was given).

It'd probably be good if someone with a support contract could file a
bug...

Cheers,
Ralf

        * m4/depend.m4 (_AM_DEPENDENCIES): The IRIX MIPSpro compiler
        7.4.4m may omit the first included header dependency information
        with `-MDupdate'.  Refine test to catch this.

Index: m4/depend.m4
===================================================================
RCS file: /cvs/automake/automake/m4/depend.m4,v
retrieving revision 1.36
diff -u -r1.36 depend.m4
--- m4/depend.m4        9 Apr 2006 07:46:55 -0000       1.36
+++ m4/depend.m4        13 May 2006 09:22:39 -0000
@@ -99,6 +99,7 @@
        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
        $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
          >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
        grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
        grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then




reply via email to

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