Boost logo

Boost-Build :

Subject: Re: [Boost-build] how to add include directories for compile but not for scan
From: Nogradi, Chris (Chris.Nogradi_at_[hidden])
Date: 2012-04-23 15:06:16


I tried the HCACHEFILE feature from the current BB SVN on our 30 second no-op incremental builds and saw only a 2 second improvement.

Francois, are you thinking about merging in the jamplus changes yourself?

Chris

-----Original Message-----
From: boost-build-bounces_at_[hidden] [mailto:boost-build-bounces_at_[hidden]] On Behalf Of François Jacques
Sent: Monday, April 23, 2012 1:57 PM
To: Boost.Build developer's and user's list
Subject: Re: [Boost-build] how to add include directories for compile but not for scan

Hello,

I like the idea of tagging dependency directories as static - this
could be very useful.

Educating myself on the HCACHEFILE feature, I've stumbled on changes
that were submitted by Matt Armstrong to perforce jam to improve the
HCACHE. These changes eventually were integrated by Craig McPheeters
as an updated canonical version of the header cache on perforce
contributions.

<http://maillist.perforce.com/pipermail/jamming/2002-January/000784.html>

These changes were integrated in the jamplus fork, but diffing jamplus
with bjam source trees, it seems that BoostJam didn't got those
changes integrated and they seem to make a big difference.

With recent typesafety refactoring (a good thing, IMHO) it makes it
harder to bring these changes, but working with an old version it
should make this more feasible. It seems that the changes are worth it
considering the boost (pun intended) we would get in dependencies
processing.

-François

2012/4/23 Nogradi, Chris <Chris.Nogradi_at_[hidden]>:
> Thanks for correcting me.  I presumed that since the compiler had less to do, that bjam would also have less to do.  But I do remember now that the header scanner is dumb and always looks at all headers in a file and from the documentation:
>
> "Precompiled headers must be used purely as a way to improve compilation time, not to save the number of #include statements. If a source file needs to include some header, explicitly include it in the source file, even if the same header is included from the precompiled header. This makes sure that your project will build even if precompiled headers are not supported."
>
> Maybe the header scanner for C/C++ files could be improved to be pre-compiler aware?
>
> Chris
>
> -----Original Message-----
> From: boost-build-bounces_at_[hidden] [mailto:boost-build-bounces_at_[hidden]] On Behalf Of George Georgiev
> Sent: Friday, April 20, 2012 5:59 PM
> To: Boost.Build developer's and user's list
> Subject: Re: [Boost-build] how to add include directories for compile but not for scan
>
> Precompiled headers feature optimizes the compilation process. I am
> looking for feature that optimizes the dependency checking (scanning)
> process.
>
> For example instead:
>    lib prebuilt_xerces
>      :
>      :
>        xerces/lib/xerces-c_static_3.lib
>      :
>      :
>        <include>xerces/include
>        <library>advapi32
>        <define>XERCES_STATIC_LIBRARY
>      ;
>
> I to be able to do:
> ...
>       <compile-include>xerces/include
> ...
>
> or something, that will result in all the headers in xerces/include to
> be ignored during the dependency scanning process, but xerces/include
> still to be added in the list of additinal include directories when
> the compiler is executed.
>
> Thanks,
> George
>
>
> On Fri, Apr 20, 2012 at 12:56 PM, Nogradi, Chris
> <Chris.Nogradi_at_[hidden]> wrote:
>> Take a look at the precompiled headers feature. I have not yet used it but it may be what you are looking for.
>>
>> Chris
>>
>> -----Original Message-----
>> From: boost-build-bounces_at_[hidden] [mailto:boost-build-bounces_at_[hidden]] On Behalf Of George Georgiev
>> Sent: Friday, April 20, 2012 2:28 PM
>> To: boost-build_at_[hidden]
>> Subject: [Boost-build] how to add include directories for compile but not for scan
>>
>> Hi,
>>
>> I am working on project depending on very big number of external
>> libraries. I very rarely (never) change the header files for these
>> libraries.
>>
>> Is there a way to specify some of the <include>s to be added to the
>> compiler instructions but to be ignored from bjam scan.
>>
>> Thanks,
>> George
>> _______________________________________________
>> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
>>
>>
>> This e-mail and any attachments may contain confidential material for the sole use of the intended recipient. If you are not the intended recipient, please be aware that any disclosure, copying, distribution or use of this e-mail or any attachment is prohibited. If you have received this e-mail in error, please contact the sender and delete all copies.
>>
>> Thank you for your cooperation.
>>
>> _______________________________________________
>> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
>
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk