[C++-sig] Re: Building/testing extensions: boost-python-runtest
David Abrahams
dave at boost-consulting.com
Fri Sep 10 18:11:09 CEST 2004
"Niall Douglas" <s_sourceforge at nedprod.com> writes:
> On 9 Sep 2004 at 13:01, David Abrahams wrote:
>
>> >> >> For which compilers/platforms does that combination of
>> >> >> environment variables work?
>> >
>> > For simple programs, all of them.
>>
>> Boost.Python isn't simple, though.
>
> It's simple enough. You're not running any special preprocessors and
> you don't need any special command line options.
On many platforms, I certainly do.
> You're not building
> it into multiple libraries.
>
>> > Actually Neal's scons file is far
>> > too long, scons can read most of that stuff from environment
>> > variables. And since it's python, you'd just write an
>> > "includeBoost()" function.
>>
>> So you have to set up a bunch of environment variables that describe
>> the specifics of how to use those compilers?
>
> No not at all, but then neither did Neal's example. You do need to
> supply where Boost lives though scons would usually include
> /usr/local/include etc. automatically.
Okay.
>> > In the scons files for TnFOX, they are identical on Linux and Win32
>> > except for the really nasty hacks I've inserted to make it work
>> > inside VMWare off the same source tree. I do have a per-compiler
>> > directory with per-compiler .py files which sets per-compiler
>> > command line options
>>
>> Aha. That's a part that Boost.Build is eliminating.
>
> I'd very much doubt if Boost.Build could automatically disable
> specific warnings and such :)
>
> My per-compiler files are simply for per-compiler settings. If you
> weren't exerting as fine control as I am, you could just pass -O2 and
> that would would on almost every compiler.
?? Lots of compilers don't respond to -O2.
The point is that Boost.Build abstracts away the meaning of particular
compiler options, so that Jamfiles are written in terms of features
and values, many of which are applicable across compilers.
>> > but other than that it's literally that easy.
>
> I've not used Boost.Build much but I have found it much less
> intuitive to alter than scons. scons is a python file, it's far
> easier than XML-like obscurely named commands.
There are no "XML-like commands" in Boost.Build. The syntax for
specifying feature,value pairs in Jamfiles uses angle brackets
(<feature>value), but I am trying to change things so the command-line
syntax of feature=value will work in Jamfiles also.
--
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com
More information about the Cplusplus-sig
mailing list