Some compilers can pull header-parse-caching tricks, but in order for that to 
work nicely
- all compilation modules need to import other files in the same order
- the list of macro definitions and other parameters passed into the compiler 
must be the same for all the compilation
modules

Michael Meeks wrote:
> Hi guys,
>
>       I'm still a tad annoyed by our compile times, and was wondering - has a
> footypes.hxx header approach been tried in the past. This would add a
> near complete set of forward declarations of classes, templates, etc.
> necessary to use that library.
>
>       I suspect (at the moment) that people tend to simply include the header
> that creates whatever definition they care about in their headers
> chaining them together into bulky masses of pulled in headers, rather
> than whacking things like:
>
> namespace com { namespace sun { namespace star { namespace uno {
>       class Any;
>       class Exception;
>       template< typename > class Reference;
>       template< typename > class Sequence;
>       class XInterface;
> } } } }
> namespace rtl { class OUString; }
>
>       into their headers to cut such chains (and who can blame them - that
> seems much more readable). Though of course the base Reference class is
> prolly something that we should have ~everywhere - with fwd. decls for
> the interface classes themselves.
>
>       Potentially, by switching to lazily including just the svxtypes.hxx (or
> whatever) header ~everywhere, we could have a smaller, quicker to parse
> code-base (pwrt. no in-lines that get actually compiled) as well as a
> rather more bearable dependency tree.
>
>       Did anyone research this sort of thing in the past ?
>
>       Thanks,
>
>               Michael.
>

Disclaimer: http://www.peralex.com/disclaimer.html


_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to