paul@UUNET.UU.NET (Paul Hudson) (02/14/89)
Although the new gcc-ccp works with the SUNPRO make in the sense of writing the dependencies to a file, it appears it neglects to write the pre-processed output! The reason is that "printdeps" is used as a flag for this and for -M. Although there is another flag inhibit_output, it isn't even examined if printdeps is non-zero - see the code fragment from cccp.c included here. if (dump_macros) dump_all_macros (); else if (print_deps) { fputs (deps_buffer, deps_stream); putc ('\n', deps_stream); if (deps_stream != stdout) { fclose (deps_stream); if (ferror (deps_stream)) fatal ("I/O error on output"); } } else if (! inhibit_output) { if (write (fileno (stdout), outbuf.buf, outbuf.bufp - outbuf.buf) < 0) fatal ("I/O error on output"); } This was a very confusing bug - the identical command line executed outside of make worked, of course, because the appropiate enviroment variables weren't set. Just shows what a bad design decision sun made when adding this feature. Paul Hudson Snail mail: Monotype ADG Email: ...!ukc!acorn!moncam!paul Science Park, paul@moncam.co.uk Milton Road, "Sun Microsysytems: Cambridge, The Company is Arrogant (TM)" CB4 4FQ