From: Dave F. <dav...@co...> - 2004-03-23 08:44:20
|
On Tuesday 23 March 2004 08:35 am, Patrick Earl wrote: > On Monday 22 March 2004 17:21, Dave Fancella wrote: > > With the library copied to jazz/src it failed to link. So I copied > > it to /usr/local/lib and ran ldconfig, and the damn thing is > > compiling every single .cpp again. Shouldn't have to, I didn't > > change anything! ;( This could take awhile, so unless you really > > want to stick around, you should take off. > > That reminds me. Jazz takes a long time to compile. There's probably > too many headers being included in too many places. Some of the > headers even have code in them. Anyone know a good way to weed out > header dependencies? Brute force? No good way.... There's a lot of inline functions that require the compiler to know about the class it's calling. Whenever we see an inline function, I think we should ask "Does this really need to be inline?". The only reason I know of to use inline functions is performance. Granted that's a good reason. Anyway, then we should determine if the inline function requires knowledge of a class that is being included in a header file. If the answer is 'no' we can leave it inline, whether or not it needs to be, because performance is a good thing. Then we need to use forward declarations as much as possible in the header files so that each cpp file includes all the headers it needs to run, but each header file ideally should only include header files it needs. I also noticed quite a few header files being included that weren't needed at all. So there's a lot of places where we can eliminate included header files with forward declarations, and a lot of places where we can eliminate included header files that are needlessly included and move them to the .cpp file instead. I figure as I factor out engine code from the GUI I'll check each file I touch and either mark it as unfinished (with a '\todo' comment :) ), or finish it and just put a regular comment to say it's done. Maybe doxygen has a directive we can use and later ignore for this purpose. But if we all do this, then eventually the job will either be done or properly sized anyway and we'll know how big a job it is. :) Or we can just ignore it and wait for GCC 3.4, which is rumored to have precompiled header support contributed by Apple..... Dave > BTW, ldconfig only affects shared libraries. > > I change the configure.in file and it should now let you have the > libwx_gtk_xrc.a file in your src dir. > > Patrick > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > jazzplusplus-devel mailing list > jaz...@li... > https://lists.sourceforge.net/lists/listinfo/jazzplusplus-devel -- Visit my website! http://www.davefancella.com/?event=em Is knowledge knowable? If not, how do we know that? |