Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2007-03-15 13:51:08


on Thu Mar 15 2007, Vladimir Prus <ghost-AT-cs.msu.su> wrote:

> David Abrahams wrote:
>
>>
>> on Tue Mar 13 2007, Vladimir Prus <ghost-AT-cs.msu.su> wrote:
>>
>>> Matthias Schabel wrote:
>>>
>> I disagree with both assertions. It's not very different (darwin.jam
>> contains only a small amount of additional code), and even if it were,
>> the differences should not result in a different toolset name.
>>
>> Configuring python on windows and unix is very different, but you
>> wouldn't call the windows python toolset "win32" instead of "python,"
>> would you?
>
> I don't think I see much of an analogy here.

Really? AFAIK nobody but us refers to Apple's gcc as "darwin" --
that's actually the name of the plaform. What happens when Apple
comes out with its own version of some other tool like python or
xsltproc? Are we going to call it "darwin2?"

> Anyway, there's FSF gcc and there's Apple gcc, both can run on
> OSX. Do distinguish between them, you need either different toolset
> name, or some extra feature.

Or a subfeature of the toolset. I think this is related to the
agreement I summarize at the bottom of
http://news.gmane.org/find-root.php?message_id=%3c87abz776o6.fsf%40valverde.peloton%3e

> The only practical difference I know, is that with different toolset name,
> if you have a condition that applies to both gcc version, you'd have
> to write:
>
> <toolset>gcc:whatever
> <toolset>darwin:whatever
>
> Such conditions are mostly needed to workaround platform differences,
> and I have no idea if having to write two lines instead of one is
> big enough annoyance.

The problem isn't that it's a big annoyance. The problems are:

  a. it's error-prone. People who don't use MacOS every day will
     forget to include a case for "darwin" in a great many
     GCC-specific build descriptions. The two toolsets have a lot
     more in common than they have different, so most of the time,
     that will result in wrong builds.

  b. It's a terrible name. "Darwin" is the name of the platform, and
     is not a good description of the toolset.

  c. Most new BB users will not think of using a toolset named darwin
     when compiling with gcc on MacOS X. I've already seen several
     posts where you had to tell a user, "use the darwin toolset, not
     gcc."

When configuring gcc to target MacOS, the default assumption of the
build system ought to be that it's Apple GCC. "Nobody" uses FSF gcc
on MacOS.

-- 
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