Boost logo

Boost-Build :

Subject: Re: [Boost-build] intermediate directory control
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2012-05-12 20:14:55


AMDG

On 05/12/2012 11:47 AM, George Georgiev wrote:
> Hi,
>
> I am working on project that involves code generation. This involves
> very often I to need to browse the intermediate directories. Also I
> use Jenkins as a CI system with a relatively big matrix of properties.
> Combining the way Jenkins creates paths with how boost do makes the
> intermediate directories very long (more than 255 characters), which
> creates build issues on windows.
>
> The long story short I need to be able to control the intermediate
> directories and I am looking for one or all of these features:
>
> 1. Ability to exclude properties from the path. For example: my
> project is always threading-multi excluding this level form the
> intermediate path is not going to create any collision.
> 2. Ability to create directory name alies. For example: if I could
> rename architecture-x86 to arch-x86 or even x86 it still is going to
> be completely clear for me what it is about.
> 3. Ability to combine several properties in a single sub directory
> level. For example instead:
> darwin-4.2.1/debug/address-model-64/architecture-x86/link-static/threading-multi
> I to be able to have
> darwin-4.2.1_address-model-64_architecture-x86/debug_link-static_threading-multi
>
> I am looking for advice how to do it based on the currently
> implemented features or pointers how to implement them myself.
>

--abbreviate-paths reduces the path length
somewhat. If that isn't enough --hash
converts the entire property path into
a single MD5 checksum.

Finally, if a composite feature (like <variant>debug)
is present, the features it includes are not listed
explicitly. You can probably exploit this to
reduce the path length with judicious use of
composite features.

In Christ,
Steven Watanabe


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