From: Miroslav F. <cx...@nt...> - 2003-11-18 14:25:21
|
> Why would you do complete rebuilds often? (I'm curious - I've only seen people do complete rebuilds often where they had broken compilers and/or broken build systems, but you might have some unusual requirement?) Like fixing and adjusting bugs in my base libraries ? I am working on someting like Qt and sometimes I need to change things even in base headers... > 39000 header lines sounds like a lot. Does that mean far-reaching dependencies? Is that what causes "complete" (or near No at all. There is almost no chance not to include "windows.h" and some basic C libraries - these together count for 15000 lines. Rest are headers for my classes. > complete) rebuilds often? A long time ago I worked on some MSVC code that used pre-compiled headers, and it appeard to require *all* headers to be included via a single include file, which negated any benefit of precompiled headers. Has this situation changed (or maybe they weren't being used correctly in that project)? No, and in fact this is exactly what I do need. This the best way how to manage headers in complex projects like this anyway (that said, I do not want to begin each file with 100 #includes). > Anyway, just to balance things up in case any gcc developers are listening: I neither need nor want precompiled headers. I'd much rather see the effort going into ANSI compliance and refined error messages from template code. (In my experience precompiled headers, like template repositories, tend to get in the way of build systems - they become too complex to deal with in makefiles or equivalents and too complex to, themselves, maintain.) Well, precompiled headers seem to work very nicely when implemented properly. (10 times compilation speed up is real !). And when implemented right (which is not a case for GC3.4 ufortunately), they work behind scene, not affecting build process any way. Anyway, meanwhile I found a way how to tweak our build process to simulate precompiled headers - I will tweak it to join files that include same headers automatically. There are some catches (well, a lot of them), but in the end I hope to gain desired effect. Mirek |