|
Boost Users : |
From: Bobby Thomale (bobby-thomale_at_[hidden])
Date: 2002-10-24 09:53:39
Cool ... results ... :-)
I love how responsive the Boost community is. Have I mentioned lately that
you guys rock? I am replying to this whole thing at once.
Chris Little wrote:
> Change the line to
>
> #if defined(__MACH__) && __MACH__
>
> This was talked about in June on this list and I thought someone had
> submitted a patch but I guess not. I'm still building CFM apps so I hadn't
> noticed.
Yep. That was me, too, that started that discussion. The original line was
#ifdef __MACH__. I suggested the above, then someone else (Darin I think)
pointed out that #if __MACH__ does the same thing and is shorter. :-)
#if __MACH__ is what it does now, that is equivalent to your above line. So
that was a different problem which is solved.
(Looks like you guys already figured that out later in the discussion...)
Then Darin Adler wrote:
> OK, I'll be happy to fix this.
That's great. Again, thanks for being so responsive guys!
>> There are also people who use other STL implementations, such as
>> STLPORT.
>
> It doesn't really matter which STL implementation you are using. The
> stuff in macos.hpp is for the C standard library. MSL C, not MSL C++.
> The STL is part of the C++ library, and that's handled by msl.hpp, etc.
> While there may be a problem there, it's not the same one you mention
> above.
Sure. I was just giving a for-instance, I am not actually using STLPORT or
know of any probs with it. I think I understand what you are saying though.
In the "BOOST_STDLIB_CONFIG" macros and files, "STDLIB" means "The Standard
C++ Libraries (STL) only" and not "The Standard C/C++ Libraries." Got it -
that wasn't obvious to me.
So if someone were using STLPORT, for instance, that doesn't replace your
standard C libs too - it is just a C++ STL implementation built on top of
whatever C libs you happen to be using?
Very interesting and cool. My confusion was partly because I wasn't sure
what you guys meant by "STDLIB" and also because CW always tended to lump
the standard C libraries, and their C++ STL stuff all together into one big
set of libraries, and call it one name.
I haven't actually tried STLPORT or any of the other third party STL libs, I
was assuming they replaced all of your standard libraries, not just the C++
portion. Now that I think about it, though, that'd require them to chase
platform changes, which would be abstracted for them by the C libraries.
The C libs tend to be a platform specific abstraction layer, which is why C
library stuff for Boost goes in a "platform" file not "STDLIB."
Got it. Makes perfect sense now. Thanks!
Later Darin wrote:
>> For CWP8 it looks like the line should be
>>
>> #if __MACH__ && !defined(_MSL_USING_MSL_C)
>
> That will work for CodeWarrior Pro 7 too, because _MSL_USING_MSL_C
> won't be defined under 7. I'll take care of it.
Sounds like a good fix. I will get Jessica to try it out. I'm sending it
to her now - it should do the trick.
>> I'm not sure what to do for CWP7 though. Now that I'm running Jaguar
>> (and thus gcc 3.1) CWP7 can't even build a simple mach-o console app
>> due to conflicts in standard library headers.
>
> Sure, that's a problem. It's too bad that CodeWarrior Pro 7 is not
> compatible with Jaguar. But nothing for Boost to worry about.
Yep - the MW party line on Jaguar problems is "Upgrade to CW Pro 8."
-- Bobby
---------------------------------------------------------------------
Bobby Thomale
Senior Software Developer
Inoveon Corporation
http://www.inoveon.com/
---------------------------------------------------------------------
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net