From: Vladimir Prus (ghost_at_[hidden])
Date: 2002-10-17 03:39:10
Markus Schöpflin wrote:
> Vladimir Prus wrote:> Markus Schöpflin wrote:
> > I don't find it confusing yet. Most linux application have
> > "--enable-shared" or "--disable-shared" switch to configure, which
> > controls how libraries internal to application are build -- either
> > as static or as shared. I think it's quite reasonable: most
> > libraries can be build and used in either way, so it's just another
> > features.
> So shared=true will map to --enable-shared and shared=false to
> --disable-shared. Did I get it right?
> > Regarding <lib>my / <dll>my. In V2 we don't use those prefixes that
> > identify type, we just don't need them. And further, as I say
> > above, most of the time I don't want the request specifically
> > static or shared library.
> Well, yes, during development I don't care either. Especially on unix
> platforms. For windows it's more complicated, anyway. For a build that
> ships to a customer it's not that easy. :-)
And when you run in problems, you can control each library individually.
> >> There is another use case I have: Linking to oracle libs. On most
> >> platforms, you _have_ to specify very exactly what get's linked
> >> and how. Currenty I'm using the fact that a rule name can appear
> >> as the prerequisite of a target. For example:
> >> exe hello : hello.cpp : link_to_oracle_libs ;
> >> and link_to_oracle_libs is a rule which inserts the right things
> >> in the linker command line depending on the current build
> >> settings and platform. It would be great if something like this
> >> would be supported in v2 as well.
> > I think a minimal form of this is already supported. You can
> > declare new target type ORACLE_EXE, and specify that it should be
> > building in the same way as EXE, but with certain additional
> > properties. Those properties can be computed dynamically.
> This will do in my special use case. But a more general solution to
> this would be nice.
Do you have an idea of an approach that you'd like. I think that in
general, if you want something special when linking certain kind of
apps, you have to either use a different main target type, or some
additional requirement. In either was, some custom code will be invoked
to adjust build properties.
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