|
Boost-Build : |
From: aneubeck2004 (aneubeck_at_[hidden])
Date: 2004-07-21 02:51:25
--- In jamboost_at_[hidden], Vladimir Prus <ghost_at_c...> wrote:
> David Abrahams wrote:
>
> > > local a = [ modules.peek feature : <os>.attributes ] ;
> > > modules.poke feature : <os>.attributes : $(a) symmetric ;
> > >
> > > this will cause Boost.Build to always include the value of the "os"
> > > feature in build path. We probably need a cleaner way to
accomplish this
> > > task but the main idea will remain the same.
> >
> > Seems to me that the os feature should not be symmetric. Instead it
> > should have a default value of "native" or "host". You're only likely
> > to _explicitly_ build for win32 or linux or whatever if you're
> > interested in cross-compilation. That way the majority of users don't
> > have to see the OS in subvariant paths.
>
> I actually meant that there are two kinds of users: those who don't
care about
> OS at all, and those who care. The latter will just specify that
"os" is
> symmetric.
>
> The problem with using "native" as default is that conditions like
> "<os>LINUX:....." will stop working.
thx Vladimir. Your solution works well for me. I will check the CC
compiler flags. They specify some kind of ordering?!?
Also at least one link option of the gcc compiler is different with
Solaris (-s instead of -Wl,--strip-all).
When it works in all of my cases, I will send you the changes.
Why OS in subvariant paths might be interesting:
In our institute there are lots of different platforms: Sun-Solaris,
Pentium-Linux, Mac-OSX, Pentium-Windows (and most importantly some
multiprocessor Sun machines). The Unix home directories are accessible
from all systems. Depending on the problem and the amount of input, I
change between Linux and Sun machines. Therefore it is neccessary to
have the same source compiled for different platforms without getting
lost.
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