On Wednesday, October 23, 2002, at 07:48 AM, Bobby Thomale wrote:
In the MacOS.hpp file, it checks to see if you are compiling a Mach-O target. If you are, it reasons, you must be using the Apple BSD headers as well. This logic is even documented in a comment:
// If __MACH__, we're using the BSD standard C library, not the MSL: #if __MACH__
The problem with this is that, starting with CW Pro 8, it is actually possible to build a Mach-O target and use the MSL in place of the BSD libraries.
OK, I'll be happy to fix this. The check for __MACH__ was simply to echo what Metrowerks themselves did in CodeWarrior Pro 7, and it hasn't yet been updated for CodeWarrior Pro 8. How can we detect which version of the C standard library headers are being used at compile time? We want something that works for both Pro 7 and Pro 8.
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. -- Darin