/usr/portage/eclass/makeedit.eclass contains export CFLAGS="${CFLAGS} -Wno-return-type -w" export CXXFLAGS="${CXXFLAGS} -Wno-return-type -w" This continually adds these flags to CFLAGS. That's not so bad after a clean build [they still get added more than once though] but for a ebuild /blah/blah/mozilla-firefox unpack ebuild /blah/blah/mozilla-firefox compile <fix a bug> ebuild /blah/blah/mozilla-firefox compile etc ebuild /blah/blah/mozilla-firefox install ebuild /blah/blah/mozilla-firefox qmerge The flags keep getting added and added. The end result is that the command line is different and ccache fails to get a hit on an otherwise identical compile. For mozilla-firefox, which this affects, it's quite a loss given the compile time - it doesn't break the build though, so I've marked this minor. An easier way to see this do "ebuild /blah/blah/mozilla-firefox-0.9.1 help" a few times and watch c flags. Reproducible: Always Steps to Reproduce: See details Actual Results: See details Expected Results: Only add the warning flags once
okay, this has remained fairly low priority right now, I'll look at it in a while though (sorta playing catchup) However, it can either be solved with a shiney sparkley lockfile to test for done or not, or by attempting magic on the files.. haven't considered which is the best idea. if you have a good solution prepackaged, I'll put it in ;)
*Nudge*
Actually, this hasn't been working for a while anyway, because mozconfig.eclass calls filter-flags which removes the specially-added makeedit flags. Should be all set now. Also shortened and sped up edit_makefiles, and gave makeedit.eclass some instructions. http://www.gentoo.org/cgi-bin/viewcvs.cgi/eclass/makeedit.eclass?r1=1.7&r2=1.8 http://www.gentoo.org/cgi-bin/viewcvs.cgi/eclass/mozconfig.eclass?r1=1.10&r2=1.11