|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2003-06-17 09:42:38
comeau_at_[hidden] (Greg Comeau) writes:
> In article <ubrwxkeeb.fsf_at_[hidden]>,
> David Abrahams <jamboost_at_[hidden]> wrote:
>>gclbb-jamboost_at_[hidden] writes:
>>> I've presented this at a higher level, and hence as a build
>>> question, because, it seems
>>> the libs are being built in different ways across tools
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>
>>I don't understand the meaning of this. Libraries are built in
>>different ways. Some libraries have build instructions which use
>>tool-specific adjustments to build options, to work around bugs or
>>enable required features.
>
> When you say "build instruction", what is that?
A target specification in a Jamfile. Here are two examples:
lib boost_regex : ../src/$(SOURCES).cpp
:
<sysinclude>$(BOOST_ROOT)
<define>BOOST_REGEX_NO_LIB=1
<define>BOOST_REGEX_STATIC_LINK=1
<no-warn>$(SOURCES).cpp
:
debug release
;
dll boost_regex : ../src/$(SOURCES).cpp
:
<sysinclude>$(BOOST_ROOT)
<define>BOOST_RE_BUILD_DLL=1
<runtime-link>dynamic
<no-warn>$(SOURCES).cpp
:
debug release
;
> Is boost/tools/build/como-win32-tools.jam a build instruction?
No, that's a toolset file which describes how to map build features
onto command-lines for a particular toolset.
> I attempted to touch on this I think in my first post.
> I realize different products will for instance use
> different linkers, or, say, allow shared libraries or not, etc.
> And those seem neutral ways to build the same library
> in different ways. But when the same criteria _on the code_
> is different, then I think it's a different thing.
IIUC you are saying there are some compiler options which are
"neutral" and some which are not. I'm not sure I buy that argument,
but even if I do, I'm still left with... so what?
>>> which seems then to transcend any particular libraries concerns.
>>> I'm posting this to know if my saying this is totally unfounded.
>>
>>Can't say until I understand what you're asking
>
> It seems to me that bugs and such are one thing, and that sometimes
> the bugs interfere, but it also seems to me that when completely
> different dialects of C++ are being used, it seems like odd
> comparisons. As mentioned in another post, for instance, running
> VC++ with /Za and then again without /Za... well, not only can the
> results be completely different but the underlying premise of the
> builds are as well.
We're not comparing compilers here; we're just testing which
compilers you can expect a particular library to work with.
IIUC people want to be able to use como without extensions for
microsoft bugs because they want to be sure they're not
*unintentionally* relying on non-portable behavior (other kinds of
extensions like __declspec are used much more thoughtfully), but
that's really a separate issue from what the tests represent.
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk