Boost logo

Boost-Build :

Subject: Re: [Boost-build] What constitutes equivalence for targets? target vs target.ext
From: Vladimir Prus (ghost_at_[hidden])
Date: 2009-01-29 10:34:24


On Thursday 29 January 2009 17:37:17 Alexander Sack wrote:
> On Thu, Jan 29, 2009 at 4:52 AM, Vladimir Prus
> <vladimir_at_[hidden]> wrote:
> > Alexander Sack wrote:
> >
> >> On Wed, Jan 28, 2009 at 10:21 PM, Steven Watanabe <watanabesj_at_[hidden]> wrote:
> >>> AMDG
> >>>
> >>> Alexander Sack wrote:
> >>>>
> >>>> I have a simple Jamfile that specifies two targets:
> >>>>
> >>>> exe target1 : target1.cc ;
> >>>>
> >>>> exe target1.foo : target1_foo.cc ;
> >>>>
> >>>> When I tried to build them I get:
> >>>>
> >>>> error: Duplicate name of actual target: ...
> >>>> error: previous virtual target { long list of gcc% - I believe gcc.jam
> >>>> dump }
> >>>>
> >>>> Why? This seems like a bug. I'm using bjam 3.1.14, Boost.Build Milestone
> >>>> 12.
> >>>>
> >>>
> >>> The executable is named target1.exe in both cases.
> >>
> >> But its not, I have target1.exe and target1.nodist.exe right? This is UNIX btw.
> >
> > "nodist"? I don't see "nodist" anywhere in your example.
>
> Err sorry, g/nodist/s/nodist/foo/g
>
> The targets I have are actually:
>
> exe target1 : target1.cc : <include>. <link>static ;
>
> exe target1.nodist : target1.nodist.cc : <include>. <link>static ;
>
> Bjam is claiming the above two are equal.

Right. The extension in the target name is removed, and extension appropriate
for the target type is appended.

> If I use "_" instead of
> ".", it works for the second target.

Right, this is the best way.

> BTW I ran into this problem with
> variants. If I use a build variant with a "_" instead of "-" (e.g.
> product-release vs. product_release), it barfs as well.'

This is too vague to comment on, sorry. I suspect this might be a completely
different thing.

- Volodya


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