Quantcast

more bjam questions

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

more bjam questions

Boost - Build mailing list
Here are two (more) questions about bjam internals:

1) what mechanism does bjam use to set up directories into which any
target files are being built ? Is there an implicit rule that is being
invoked for this to work automagically ?

2) Is there a mechanism to have bjam clean up intermediate files ? For
example, if I Use the `exe foo : foo.cpp ;` rule, there will be an
intermediate `foo.o` file generated. Can I instruct bjam to remove that
automatically in the process once `foo` is created ?

Thanks,

        Stefan

--

      ...ich hab' noch einen Koffer in Berlin...

_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: more bjam questions

Boost - Build mailing list
AMDG

On 04/29/2017 07:38 AM, Stefan Seefeld via Boost-build wrote:
> Here are two (more) questions about bjam internals:
>
> 1) what mechanism does bjam use to set up directories into which any
> target files are being built ? Is there an implicit rule that is being
> invoked for this to work automagically ?
>

  It's implemented in common.MkDir here:
https://github.com/boostorg/build/blob/develop/src/tools/common.jam#L653
which is called by virtual-target.actualize-location
https://github.com/boostorg/build/blob/develop/src/build/virtual-target.jam#L606

> 2) Is there a mechanism to have bjam clean up intermediate files ? For
> example, if I Use the `exe foo : foo.cpp ;` rule, there will be an
> intermediate `foo.o` file generated. Can I instruct bjam to remove that
> automatically in the process once `foo` is created ?
>

  testing.jam does this.  The method is to mark the
intermediate files as TEMPORARY and then call
RmTemps $(target) : $(sources) ;
as the last updating action of the exe.
There is no high-level interface for this.

In Christ,
Steven Watanabe

_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: more bjam questions

Boost - Build mailing list
On 29.04.2017 13:00, Steven Watanabe via Boost-build wrote:

> AMDG
>
> On 04/29/2017 07:38 AM, Stefan Seefeld via Boost-build wrote:
>> Here are two (more) questions about bjam internals:
>>
>> 1) what mechanism does bjam use to set up directories into which any
>> target files are being built ? Is there an implicit rule that is being
>> invoked for this to work automagically ?
>>
>   It's implemented in common.MkDir here:
> https://github.com/boostorg/build/blob/develop/src/tools/common.jam#L653
> which is called by virtual-target.actualize-location
> https://github.com/boostorg/build/blob/develop/src/build/virtual-target.jam#L606
>
>> 2) Is there a mechanism to have bjam clean up intermediate files ? For
>> example, if I Use the `exe foo : foo.cpp ;` rule, there will be an
>> intermediate `foo.o` file generated. Can I instruct bjam to remove that
>> automatically in the process once `foo` is created ?
>>
>   testing.jam does this.  The method is to mark the
> intermediate files as TEMPORARY and then call
> RmTemps $(target) : $(sources) ;
> as the last updating action of the exe.
> There is no high-level interface for this.

Wonderful, thanks for the prompt reply !

        Stefan


>
> In Christ,
> Steven Watanabe
>
> _______________________________________________
> Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build


--

      ...ich hab' noch einen Koffer in Berlin...

_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Loading...