Boost logo

Boost-Build :

From: Ali Azarbayejani (ali_at_[hidden])
Date: 2003-05-30 18:33:54


> Ali Azarbayejani wrote:
>
>
>> In the current system, how can you possibly declare a patched file
>> without making it a main target? I want the user to be able to declare
>> something like
>>
>> extract foo : foo.tar.gz ;
>> patch foo/b : patches/foo/b : <dependency>foo ;
>
>
> If you want this functionality for end users, then I agree, "foo/b" looks
> right name. I have one question left: why the user is expected to update
> 'foo/b'. Is it because either "foo.tar.gz" or the set of patches can change
> while user is working on a project?

I don't understand the question. It's true that either the tarfile or
the patches can change (the tarfile normally doesn't, but the patches
normally may). But that seems to me irrelevant with regards to why
foo/b needs to be a main target.

The user needs to convey the information that 'foo/b' requires patching,
so such a declaration is necessary. The only way I know to represent
the declared information in the BBv2 system is by creating a main target.

Also, the extracted or patched file must be a main target because other
external projects will want to use these extracted and patched files and
there's no way to properly refer to them if they are not main-targets.

>> > I'm still to be persuaded that targets should have slashed..
>
>>
>> I'm still to be persuaded that you can implement the above example
>> without multiple main targets that have the same base name. If you
>> can't, then it would be a hard argument to invent some way of
>> distinguishing them other then their pathnames, which are already
>> guaranteed to be unique.
>>
>> Let me know your prognosis of the above, or if you still need more
>> clarification of the example.
>
>
> It's still possible to use some name-mangling scheme for main targets, but
> it's not that nice. I'm +0.5 towards using different separator for targets
> now. I'll hope to have fully formed opinion on Monday.

I agree with you, but my point was that any name-mangling scheme you
invent is ultimately equivalent to the file pathname, so why not just
use the natural name?

Dave and I discussed this a bit today.in person and I think I convinced
him about target ids based on a more detailed analysis of my use case.
So perhaps if Dave could summarize the conclusions from a third point of
view, that might help clarify the issues.

Thanks and have a good weekend,
--Ali

 


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