The following comment has been added to this issue: Author: Tobias Patton Created: Mon, 20 Sep 2004 2:31 PM Body: Codewarrior for MacOS provide its own implementations of the C and C++ standard libraries called MSL. It is possible to build a Mach-O binaries using the MSL libraries and headers. It is also possible to build a Mach-O binaries using the BSD C library that ships with Mac OS X, and the MSL C++ library that ships with Codewarrior. This combination is explicitly supported by Metrowerks, and is how we're building our product.
To accomplish this setup, it's only necessary to change the order of header and library access paths so that /usr/lib and /usr/include are searched before {Compiler}/MSL/MSC_C. If you like, I could send along a copy of the project I'm using to build Xerces-C to these specifications. You can read more about this in the release notes for CW 9 for MacOS. Specifically, look in the "Release Notes/Mach-O" directory. I'm not surprised that building with gcc and XCode works. It's the combination of BSD C and MSL C++ that causes the problems. --------------------------------------------------------------------- View this comment: http://issues.apache.org/jira/browse/XERCESC-1265?page=comments#action_53262 --------------------------------------------------------------------- View the issue: http://issues.apache.org/jira/browse/XERCESC-1265 Here is an overview of the issue: --------------------------------------------------------------------- Key: XERCESC-1265 Summary: Cannot build Mach-O library using CW Pro 9 and BSD C headers Type: Bug Status: Unassigned Priority: Major Project: Xerces-C++ Components: Build Versions: 2.5.0 Assignee: Reporter: Tobias Patton Created: Wed, 25 Aug 2004 4:47 PM Updated: Mon, 20 Sep 2004 2:31 PM Environment: Mac OS X 10.3. Codewarrior 9.3 Description: It should be possible to build Xerces as a static Mach-O library using the BSD C headers instead of the MSL C Headers. With the latest source code distribution, this is not possible. It can, however, be done by making two small changes to the source. The changes I made may not be the best way to accomplish this goal. My interest is in touching as few files as possible to get the Mach-O libary to build. Other parties may be interested in doing it right. Here is the diff to MacOSDefs.hpp: [EMAIL PROTECTED] TMXL]\$ p4 diff /Users/tpatton/PerforceDepot/workspace.tobias_patton/oem/xerces-c/src/xercesc/util/Platforms/MacOS/MacOSDefs.hpp#4 /Users/tpatton/PerforceDepot/workspace.tobias_patton/oem/xerces-c/src/xercesc/util/Platforms/MacOS/MacOSDefs.hpp#3 /Users/tpatton/PerforceDepot/workspace.tobias_patton/oem/xerces-c/src/xercesc/util/Platforms/MacOS/MacOSDefs.hpp#4 - file(s) up-to-date. ==== //depot/workspace.tobias_patton/oem/xerces-c/src/xercesc/util/Platforms/MacOS/MacOSDefs.hpp#3 - /Users/tpatton/PerforceDepot/workspace.tobias_patton/oem/xerces-c/src/xercesc/util/Platforms/MacOS/MacOSDefs.hpp ==== 77a78,109 > //-- Creo Change 8/24/04 > // [ tpatton ] > // > // Code in <xercesc/util/platforms/MacOS/> expects some function and types > // to be in the std:: namespace, which is where the MSL C headers put them. > // However, the BSD header put them in global namesapce. If we're using > // the BSD C headers, move them into std:: namespace. > > #if defined( __MACH__ ) && ! _MSL_USING_MW_C_HEADERS > > #include <cstring> > > namespace std > { > typedef unsigned long size_t; > using ::memcpy; > using ::memmove; > using ::strlen; > using ::wint_t; > > //-- towupper() is a macro defined in <wctype.h> > > static wint_t towupper(wint_t wc ) > { > return __toupper( wc ); > } > } > > #endif > > //-- END Creo change. > [EMAIL PROTECTED] TMXL]\$ and here is the diff to MacOSUnicodeConverter.cpp: [EMAIL PROTECTED] TMXL]\$ p4 diff /Users/tpatton/PerforceDepot/workspace.tobias_patton/oem/xerces-c/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp /Users/tpatton/PerforceDepot/workspace.tobias_patton/oem/xerces-c/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp#3 /Users/tpatton/PerforceDepot/workspace.tobias_patton/oem/xerces-c/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp - file(s) not opened on this client. ==== //depot/workspace.tobias_patton/oem/xerces-c/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp#3 - /Users/tpatton/PerforceDepot/workspace.tobias_patton/oem/xerces-c/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp ==== 73c73,80 < #include <cwctype> --- > > //-- Creo Change 8/24/04 > // [ tpatton ] > #if _MSL_USING_MW_C_HEADERS > #include <cwctype> > #endif > // > // END Creo Change [EMAIL PROTECTED] TMXL]\$ --------------------------------------------------------------------- JIRA INFORMATION: This message is automatically generated by JIRA. If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]