Boost logo

Boost-Build :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-02-10 19:15:18


----- Original Message -----
From: "Rene Rivera" <grafik666_at_[hidden]>

> >I'd like:
> >
> >rule lib ( target : sources + : requirements * : default-build * )
> >{
> > local real-target = $(PREFIXLIB)$(target:S=$(SUFLIB)) ;
> > type-DEPENDS $(target) : $(real-target) ;
> > declare-local target $(real-target) : ... ;
> >}
>
> OK, I'm done with all the changes to make this happen.

Cool! Docs, too?

> It wasn't as easy as we
> expected :-( There are some drawbacks, or features depending on your
> perspective, of the implementation...
>
> * Multiple targets with the same name are allowed, but only one of each
type.

I wouldn't have expected otherwise.

> * Because of the name resolution, one must specify the correct type when
> depending on another target. For example:
>
> dll test1 : test1.cpp ;
> lib test2 : test2.cpp ;
> exe test_app1 : test_app.cpp <dll>test1 ;
> exe test_app2 : test_app.cpp <lib>test2 ;
> exe test_app3 : test_app.cpp <lib>test1 ; # !! WILL FAIL !!

Fine, seems like a feature to me.

> * Also, because of the names, Python use needed to change. Because the PYD
> type is a real target type, even if it's mostly a DLL, one needs a
different
> type specifier when depending on those targets. For now I use "<pyd>" but
if
> you have a better name that would be great.

pyd is fine. Maybe the thing to do is to look for grist, extract the part
between <> and upcase the name to get the target type. That would make it
completely general.

> Again, I don't know how many people this is going to affect, but it's
going to
> require changes to any Jamfiles that create or depend on DLLs. I have
changes
> for regex, threads, and python, which covers all the "external" ones in
Boost.
>
> So Dave, unless you some problems with the above I'll go ahead commit the
> changes.

No problems, but you should alert John Maddock and Bill Kempf since these
are their projects.

-Dave

P.S. How does the idea of implementing the initialization and PWD features
for V2 sit with you?

 


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