Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2007-12-02 08:54:50

on Sun Dec 02 2007, Vladimir Prus <> wrote:

> On Sunday 02 December 2007 03:49:36 David Abrahams wrote:
>> on Sat Dec 01 2007, Vladimir Prus <> wrote:
>> > I had just got a totally crazy idea -- we have some algorithms
>> > to compute target paths, and --abbreviate-paths options, and it
>> > not quite good yet.
>> What's wrong with it?
> The fact that as new features are added, the paths still become
> longer, and longer.

1) Abbreviation can be made a little more aggressive

2) You could bring back the elimination of non-relevant features from
   build paths that we had in BBv1

...But your point stands.

>> > How about just using MD5 or SHA-1 of build properties to form
>> > target path? Might sound scary, but after working with git for
>> > a bit, I find that using SHA-1 to identify things is not so
>> > bad, as copy-paste works.
>> What do you mean by "copy-paste works?"
> I mean what while nobody can remember SHA-1 identifier, you can also
> either write it down, or get is from output of some command, and then
> copy-paste to other commands that need it.

Yeah, but what you can't do is look at a path and understand anything
about what it means.

> Likewise, since bjam prints the full path to the target it creates,
> you can copy-paste the path if you want to run the binary, or look
> at some other target.

Assuming that other target ends up in the same directory, yeah.

>> > To make things easier, we might put a file in each build
>> > directory that lists all the properties of the files in that
>> > directory.
>> >
>> > Comments?
>> I don't mind the idea, but I thought it would be better not to lose
>> all mnemonic value in the path.
> Does "all" above mean you suggest to retain *some* of mnemoric, like
> toolset/variant?

No, I was saying that abbreviating paths retains some mnemonic value,
while hashing them does not.

Dave Abrahams
Boost Consulting

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at