Closed Bug 105005 Opened 24 years ago Closed 24 years ago

xprint Makefile doesn't do dependencies right

Categories

(SeaMonkey :: Build Config, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dbaron, Assigned: netscape)

Details

Attachments

(2 files)

The VPATH hackery in the gfx/src/xprint/Makefile.in doesn't do dependencies right. See the current orange on the comet tinderbox. modules/zlib/standalone/Makefile.in probably does work right.
Nope, standalone zlib doesn't get it correct either. The problem is caused by a descrepancy in what the build system sees as the name of the object file and what gcc thinks that it should be. If the name of the src file is foo.c, then gcc -MD gives foo.o as the name of the rule in the .deps/foo.pp file. We can work around this by using the mkdepend rules instead of gcc -MD for those dirs.
That seems like a messy solution, since compiler-generated dependencies generally work very well. One interesting thing I found is that cpp outputs the correct filename when I pass -MD to gcc but not when I use -Wp,-Md,file.pp. So gcc is probably not passing something to cpp when we use -Wp,-MD, but perhaps we could explicitly pass it with -Wp...
Is it really required to kill the VPATH ? ;-(
At this point, yes. gcc (<= 2.95.3) -MD doesn't give the proper dependency target rule if you change the name of the output file to something other than srcfile.o. dbaron claims that gcc3 gets it right but we need to work everywhere. And the mkdepend workaround was causing problems elsewhere.
Comment on attachment 53885 [details] [diff] [review] Scrap the extra VPATH and use INSTALL to symlink srcfiles to avoid rebuilds r=jag
Attachment #53885 - Flags: review+
Checked in.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: