[358] | 1 | <HTML><HEAD><META content="text/html; charset=utf8" http-equiv="Content-Type"><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Building on Windows and UNIX</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/build-winunix-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
|
---|
| 2 |
|
---|
| 3 |
|
---|
| 4 | <A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 5 |
|
---|
| 6 |
|
---|
| 7 |
|
---|
| 8 | <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
|
---|
| 9 |
|
---|
| 10 | <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 11 | <A href="releases.html" onMouseOut="rolloverOff('side-releases');" onMouseOver="rolloverOn('side-releases');"><IMG alt="Release Info" border="0" height="12" hspace="0" name="side-releases" onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');" src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 12 |
|
---|
| 13 |
|
---|
| 14 |
|
---|
| 15 |
|
---|
| 16 |
|
---|
| 17 |
|
---|
| 18 | <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
|
---|
| 19 |
|
---|
| 20 | <A href="install.html" onMouseOut="rolloverOff('side-install');" onMouseOver="rolloverOn('side-install');"><IMG alt="Installation" border="0" height="12" hspace="0" name="side-install" onLoad="rolloverLoad('side-install','graphics/install-label-2.jpg','graphics/install-label-3.jpg');" src="graphics/install-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 21 | <A href="http://xml.apache.org/xerces-c/download.cgi" onMouseOut="rolloverOff('side-ext-18');" onMouseOver="rolloverOn('side-ext-18');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-18" onLoad="rolloverLoad('side-ext-18','graphics/ext-18-label-2.jpg','graphics/ext-18-label-3.jpg');" src="graphics/ext-18-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 22 | <A href="build.html" onMouseOut="rolloverOff('side-build');" onMouseOver="rolloverOn('side-build');"><IMG alt="Build Instructions" border="0" height="12" hspace="0" name="side-build" onLoad="rolloverLoad('side-build','graphics/build-label-2.jpg','graphics/build-label-3.jpg');" src="graphics/build-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 23 |
|
---|
| 24 |
|
---|
| 25 |
|
---|
| 26 |
|
---|
| 27 | <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
|
---|
| 28 |
|
---|
| 29 | <A href="faqs.html" onMouseOut="rolloverOff('side-faqs');" onMouseOver="rolloverOn('side-faqs');"><IMG alt="FAQs" border="0" height="12" hspace="0" name="side-faqs" onLoad="rolloverLoad('side-faqs','graphics/faqs-label-2.jpg','graphics/faqs-label-3.jpg');" src="graphics/faqs-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 30 |
|
---|
| 31 | <A href="samples.html" onMouseOut="rolloverOff('side-samples');" onMouseOver="rolloverOn('side-samples');"><IMG alt="Samples" border="0" height="12" hspace="0" name="side-samples" onLoad="rolloverLoad('side-samples','graphics/samples-label-2.jpg','graphics/samples-label-3.jpg');" src="graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 32 |
|
---|
| 33 |
|
---|
| 34 |
|
---|
| 35 |
|
---|
| 36 |
|
---|
| 37 |
|
---|
| 38 |
|
---|
| 39 |
|
---|
| 40 |
|
---|
| 41 |
|
---|
| 42 |
|
---|
| 43 |
|
---|
| 44 |
|
---|
| 45 |
|
---|
| 46 |
|
---|
| 47 |
|
---|
| 48 | <A href="api.html" onMouseOut="rolloverOff('side-api');" onMouseOver="rolloverOn('side-api');"><IMG alt="API Docs" border="0" height="12" hspace="0" name="side-api" onLoad="rolloverLoad('side-api','graphics/api-label-2.jpg','graphics/api-label-3.jpg');" src="graphics/api-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 49 |
|
---|
| 50 | <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
|
---|
| 51 |
|
---|
| 52 | <A href="ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-68');" onMouseOver="rolloverOn('side-ext-68');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-68" onLoad="rolloverLoad('side-ext-68','graphics/ext-68-label-2.jpg','graphics/ext-68-label-3.jpg');" src="graphics/ext-68-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 53 |
|
---|
| 54 | <A href="program.html" onMouseOut="rolloverOff('side-program');" onMouseOver="rolloverOn('side-program');"><IMG alt="Programming" border="0" height="12" hspace="0" name="side-program" onLoad="rolloverLoad('side-program','graphics/program-label-2.jpg','graphics/program-label-3.jpg');" src="graphics/program-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 55 |
|
---|
| 56 |
|
---|
| 57 |
|
---|
| 58 |
|
---|
| 59 |
|
---|
| 60 |
|
---|
| 61 |
|
---|
| 62 |
|
---|
| 63 | <A href="migrate.html" onMouseOut="rolloverOff('side-migrate');" onMouseOver="rolloverOn('side-migrate');"><IMG alt="Migration Guide" border="0" height="12" hspace="0" name="side-migrate" onLoad="rolloverLoad('side-migrate','graphics/migrate-label-2.jpg','graphics/migrate-label-3.jpg');" src="graphics/migrate-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 64 |
|
---|
| 65 |
|
---|
| 66 | <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
|
---|
| 67 |
|
---|
| 68 | <A href="feedback.html" onMouseOut="rolloverOff('side-feedback');" onMouseOver="rolloverOn('side-feedback');"><IMG alt="Feedback" border="0" height="12" hspace="0" name="side-feedback" onLoad="rolloverLoad('side-feedback','graphics/feedback-label-2.jpg','graphics/feedback-label-3.jpg');" src="graphics/feedback-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 69 | <A href="bug-report.html" onMouseOut="rolloverOff('side-bug-report');" onMouseOver="rolloverOn('side-bug-report');"><IMG alt="Bug-Reporting" border="0" height="12" hspace="0" name="side-bug-report" onLoad="rolloverLoad('side-bug-report','graphics/bug-report-label-2.jpg','graphics/bug-report-label-3.jpg');" src="graphics/bug-report-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 70 | <A href="pdf.html" onMouseOut="rolloverOff('side-pdf');" onMouseOver="rolloverOn('side-pdf');"><IMG alt="PDF Document" border="0" height="12" hspace="0" name="side-pdf" onLoad="rolloverLoad('side-pdf','graphics/pdf-label-2.jpg','graphics/pdf-label-3.jpg');" src="graphics/pdf-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 71 |
|
---|
| 72 | <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
|
---|
| 73 |
|
---|
| 74 |
|
---|
| 75 | <A href="http://xml.apache.org/websrc/cvsweb.cgi/xml-xerces/c/" onMouseOut="rolloverOff('side-ext-100');" onMouseOver="rolloverOn('side-ext-100');"><IMG alt="CVS Repository" border="0" height="12" hspace="0" name="side-ext-100" onLoad="rolloverLoad('side-ext-100','graphics/ext-100-label-2.jpg','graphics/ext-100-label-3.jpg');" src="graphics/ext-100-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 76 |
|
---|
| 77 |
|
---|
| 78 | <A href="http://marc.theaimsgroup.com/?l=xerces-c-dev" onMouseOut="rolloverOff('side-ext-102');" onMouseOver="rolloverOn('side-ext-102');"><IMG alt="Mail Archive" border="0" height="12" hspace="0" name="side-ext-102" onLoad="rolloverLoad('side-ext-102','graphics/ext-102-label-2.jpg','graphics/ext-102-label-3.jpg');" src="graphics/ext-102-label-3.jpg" vspace="0" width="120"></A><BR>
|
---|
| 79 |
|
---|
| 80 |
|
---|
| 81 | <IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
|
---|
| 82 | <A name="WinNT"><!--anchor--></A>
|
---|
| 83 | <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ on Windows using Microsoft Visual C++</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
|
---|
| 84 | <P>Xerces-C++ source distribution comes with Microsoft Visual C++ projects and workspaces to
|
---|
| 85 | help you build Xerces-C++. The following describes the steps you need
|
---|
| 86 | to build Xerces-C++.</P>
|
---|
| 87 |
|
---|
| 88 | <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ library</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
|
---|
| 89 | <P>To build Xerces-C++ from the source distribution (using MSVC), you will
|
---|
| 90 | need to open the workspace containing the project. If you are
|
---|
| 91 | building your application, you may want to add the Xerces-C++
|
---|
| 92 | project inside your applications's workspace.</P>
|
---|
| 93 | <P>The workspace containing the Xerces-C++ project file and
|
---|
| 94 | all other samples is in:</P>
|
---|
| 95 | <P>For MSVC Version 6:</P>
|
---|
| 96 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>xerces-c-src2_6_0\Projects\Win32\VC6\xerces-all\xerces-all.dsw</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 97 | <P>For MSVC Version 7 (Visual C++.Net):</P>
|
---|
| 98 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>xerces-c-src2_6_0\Projects\Win32\VC7\xerces-all\xerces-all.sln</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 99 |
|
---|
| 100 | <P>Once you are inside MSVC, you need to build the project marked
|
---|
| 101 | <B>XercesLib</B>.</P>
|
---|
| 102 | <P>If you want to include the Xerces-C++ project separately,
|
---|
| 103 | you need to pick up:</P>
|
---|
| 104 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>(For MSVC V6) xerces-c-src2_6_0\Projects\Win32\VC6\xerces-all\XercesLib\XercesLib.dsp
|
---|
| 105 | (For MSVC V7) xerces-c-src2_6_0\Projects\Win32\VC7\xerces-all\XercesLib\XercesLib.vcproj</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 106 | <P>You must make sure that you are linking your application with
|
---|
| 107 | the xerces-c_2.lib library and also make sure that
|
---|
| 108 | the associated DLL is somewhere in your path.</P>
|
---|
| 109 | <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If you are working on the AlphaWorks version which uses ICU,
|
---|
| 110 | you must have the ICU data DLL named <CODE><FONT face="courier, monospaced">icudata.dll</FONT></CODE> available from your path
|
---|
| 111 | setting. For finding out where you can
|
---|
| 112 | get ICU from and build it, look at the <A href="build-misc.html#faq-1">How to Build ICU</A>.</I></FONT></TD></TR></TABLE>
|
---|
| 113 |
|
---|
| 114 | </FONT></TD></TR></TABLE><BR>
|
---|
| 115 | <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building samples</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
|
---|
| 116 | <P>If you are using the source package, inside the same workspace (xerces-all.dsw), you'll find several other
|
---|
| 117 | projects. These are for the samples. Select all the samples and right click
|
---|
| 118 | on the selection. Then choose "Build (selection only)" to build all the
|
---|
| 119 | samples in one shot.</P>
|
---|
| 120 |
|
---|
| 121 | <P>If you are using the binary package, load the xerces-c2_6_0-win32\samples\Projects\Win32\VC6\samples.dsw
|
---|
| 122 | Microsoft Visual C++ workspace inside your MSVC IDE. Then select all the samples and right click
|
---|
| 123 | on the selection. Then choose "Build (selection only)" to build all the
|
---|
| 124 | samples in one shot.</P>
|
---|
| 125 | </FONT></TD></TR></TABLE><BR>
|
---|
| 126 | </FONT></TD></TR></TABLE><BR>
|
---|
| 127 |
|
---|
| 128 | <A name="WinIntel"><!--anchor--></A>
|
---|
| 129 | <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ 64 bit binary on Windows XP using Intel C++ Compiler</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
|
---|
| 130 | <P>Xerces-C++ source distribution comes with Microsoft Visual C++ NMake Files which
|
---|
| 131 | work with Intel C++ Compiler. The following describes the steps you need
|
---|
| 132 | to build Xerces-C++ 64 bit binary using Intel C++ Compiler.</P>
|
---|
| 133 |
|
---|
| 134 | <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ library</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
|
---|
| 135 | <P>Xerces-C++ source distribution provides a makefile <CODE><FONT face="courier, monospaced">all.mak</FONT></CODE>
|
---|
| 136 | which will build everything including samples, tests and the parser library.</P>
|
---|
| 137 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
|
---|
| 138 | cd xerces-c-src2_6_0\Projects\Win32\VC6\xerces-all\all
|
---|
| 139 | nmake -f all.mak "CFG=all - Win64 Release" CPP=ecl.exe
|
---|
| 140 | </PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 141 |
|
---|
| 142 | <P>If you want to just build the Xerces-C++ parser library alone, then</P>
|
---|
| 143 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
|
---|
| 144 | cd xerces-c-src2_6_0\Projects\Win32\VC6\xerces-all\XercesLib
|
---|
| 145 | nmake -f XercesLib.mak "CFG=XercesLib - Win64 Release" CPP=ecl.exe
|
---|
| 146 | </PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 147 |
|
---|
| 148 | <P>You must make sure that you are linking your application with
|
---|
| 149 | the xerces-c_2.lib library and also make sure that
|
---|
| 150 | the associated DLL is somewhere in your path.</P>
|
---|
| 151 | </FONT></TD></TR></TABLE><BR>
|
---|
| 152 | </FONT></TD></TR></TABLE><BR>
|
---|
| 153 |
|
---|
| 154 | <A name="WinBorlandBuilder"><!--anchor--></A>
|
---|
| 155 | <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ on Windows using Borland C++Builder</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
|
---|
| 156 | <P>Xerces-C++ sourec distribution comes with Borland C++Builder6 projects to help you
|
---|
| 157 | build Xerces-C++. The following describes the steps you need to build
|
---|
| 158 | Xerces-C++.</P>
|
---|
| 159 |
|
---|
| 160 | <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ library</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
|
---|
| 161 | <P> The library and demo projects are all contained in the Xerces-all project group:
|
---|
| 162 | </P>
|
---|
| 163 |
|
---|
| 164 | <UL>
|
---|
| 165 | <LI> xerces-c-src2_6_0\Projects\Win32\BCB6\Xerces-all\Xerces-all.bpg </LI>
|
---|
| 166 | </UL>
|
---|
| 167 |
|
---|
| 168 | <P> Each project in the group refers a directory below \Xerces-all.
|
---|
| 169 | For example, the XercesLib project files are contained in the directory
|
---|
| 170 | </P>
|
---|
| 171 |
|
---|
| 172 | <UL>
|
---|
| 173 | <LI> xerces-c-src2_6_0\Projects\Win32\BCB6\Xerces-all\XercesLib </LI>
|
---|
| 174 | </UL>
|
---|
| 175 |
|
---|
| 176 | <P> To build any project, open the project manager. Double click on the project
|
---|
| 177 | name. Then select "Project|Build" from the menu. For example, double click
|
---|
| 178 | on XercesLib.dll in the manager. Then select "Project|Build XercesLib" from
|
---|
| 179 | the menu.
|
---|
| 180 |
|
---|
| 181 | Once the library has been built, include XercesLib.lib with in application's
|
---|
| 182 | project and place XercesLib.dll somewhere in your path.
|
---|
| 183 | </P>
|
---|
| 184 |
|
---|
| 185 | </FONT></TD></TR></TABLE><BR>
|
---|
| 186 | </FONT></TD></TR></TABLE><BR>
|
---|
| 187 |
|
---|
| 188 | <A name="WinBorlandCC"><!--anchor--></A>
|
---|
| 189 | <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ on Windows using Borland C++ Compiler</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
|
---|
| 190 | <P>Xerces-C++ sourec distribution comes with Borland C++ Compiler make files to help you
|
---|
| 191 | build Xerces-C++. The following describes the steps you need to build
|
---|
| 192 | Xerces-C++.</P>
|
---|
| 193 |
|
---|
| 194 | <OL>
|
---|
| 195 | <LI>Change directory to <CODE><FONT face="courier, monospaced"> xerces-c-src2_6_0\Projects\Win32\BCC.551\Xerces-all</FONT></CODE></LI>
|
---|
| 196 | <LI>Run <CODE><FONT face="courier, monospaced">MakeBuildDirs.bat</FONT></CODE>.</LI>
|
---|
| 197 | <LI>Then issue</LI>
|
---|
| 198 | <UL>
|
---|
| 199 | <LI><CODE><FONT face="courier, monospaced">make -f Xerces-all.mak</FONT></CODE>
|
---|
| 200 | <BR>to build the dll (without deprecated DOM API) and tests, or</LI>
|
---|
| 201 | <LI><CODE><FONT face="courier, monospaced">make -f Xerces-all.mak -DWITHDEPRDOM=Y</FONT></CODE>
|
---|
| 202 | <BR>to build the dll with deprecated DOM API (approx. 300k larger) and tests</LI>
|
---|
| 203 | </UL>
|
---|
| 204 | </OL>
|
---|
| 205 | </FONT></TD></TR></TABLE><BR>
|
---|
| 206 |
|
---|
| 207 | <A name="CygWin"><!--anchor--></A>
|
---|
| 208 | <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ on Windows using Cygwin</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
|
---|
| 209 | <P><B>Do not jump into the build directly before reading this.</B></P>
|
---|
| 210 |
|
---|
| 211 | <P>Xerces-C++ may be built in the
|
---|
| 212 | <A href="http://www.cygwin.com">Cygwin</A> environment for use
|
---|
| 213 | by Cygwin applications. As with the <A href="#UNIX">UNIX</A>
|
---|
| 214 | platforms, Xerces-C++ on Cygwin uses
|
---|
| 215 | <A href="http://www.gnu.org">GNU</A> tools. Therefore, with a
|
---|
| 216 | couple of notable exceptions, Xerces-C++ on Cygwin is built using
|
---|
| 217 | the same instructions as the UNIX platforms. The build environment
|
---|
| 218 | variable XERCESCROOT must be set to the proper path containing the
|
---|
| 219 | Xerces-C++ sources and <B>runConfigure</B> must be run with the
|
---|
| 220 | "-pcygwin -cgcc -xg++" arguments.</P>
|
---|
| 221 |
|
---|
| 222 | <P>Note that Cygwin is different from the UNIX platforms in the way
|
---|
| 223 | that it finds libraries at run time. While UNIX platforms may use the
|
---|
| 224 | environment variable LD_LIBRARY_PATH, Cygwin uses the PATH environment
|
---|
| 225 | variable.</P>
|
---|
| 226 |
|
---|
| 227 | <P>There is an issue with the
|
---|
| 228 | <A href="http://www.gnu.org/software/gcc/gcc.html">gcc/g++</A>
|
---|
| 229 | compiler version 2.95, where C++ exceptions thrown from a dll will
|
---|
| 230 | cause the application to crash, regardless of whether there is a "catch"
|
---|
| 231 | statement. This bug doesn't occur in tests using gcc 3.1 or 3.2, so it
|
---|
| 232 | is recommended that you use gcc 3.1 or higher.</P>
|
---|
| 233 | </FONT></TD></TR></TABLE><BR>
|
---|
| 234 |
|
---|
| 235 | <A name="UNIX"><!--anchor--></A>
|
---|
| 236 | <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ on UNIX platforms</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
|
---|
| 237 | <P>Xerces-C++ uses
|
---|
| 238 | <A href="http://www.gnu.org">GNU</A> tools like
|
---|
| 239 | <A href="http://www.gnu.org/software/autoconf/autoconf.html">Autoconf</A> and
|
---|
| 240 | <A href="http://www.gnu.org/software/make/make.html">GNU Make</A>
|
---|
| 241 | to build the system. You must first make sure you
|
---|
| 242 | have these tools installed on your system before proceeding.
|
---|
| 243 | If you do not have required tools, ask your system administrator
|
---|
| 244 | to get them for you. These tools are free under the GNU Public License
|
---|
| 245 | and may be obtained from the
|
---|
| 246 | <A href="http://www.gnu.org">Free Software Foundation</A>.</P>
|
---|
| 247 |
|
---|
| 248 | <P><B>Do not jump into the build directly before reading this.</B></P>
|
---|
| 249 |
|
---|
| 250 | <P>Spending some time reading the following instructions will save you a
|
---|
| 251 | lot of wasted time and support-related e-mail communication.
|
---|
| 252 | The Xerces-C++ build instructions are a little different from
|
---|
| 253 | normal product builds. Specifically, there are some wrapper-scripts
|
---|
| 254 | that have been written to make life easier for you. You are free
|
---|
| 255 | not to use these scripts and use
|
---|
| 256 | <A href="http://www.gnu.org/software/autoconf/autoconf.html">Autoconf</A> and
|
---|
| 257 | <A href="http://www.gnu.org/software/make/make.html">GNU Make</A>
|
---|
| 258 | directly, but we want to make sure you
|
---|
| 259 | <A href="#runConfigure-example">know what you are by-passing</A>
|
---|
| 260 | and what risks you are taking. So read the following instructions
|
---|
| 261 | carefully before attempting to build it yourself.</P>
|
---|
| 262 |
|
---|
| 263 | <P>Besides having all necessary build tools, you also need to know what
|
---|
| 264 | compilers we have tested Xerces-C++ on. The following table lists the
|
---|
| 265 | relevant platforms and compilers.</P>
|
---|
| 266 |
|
---|
| 267 |
|
---|
| 268 | <TABLE border="0" cellpadding="2" cellspacing="2" width="100%">
|
---|
| 269 | <TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Operating System</B></B>
|
---|
| 270 | </FONT></TD><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Compiler</B></B>
|
---|
| 271 | </FONT></TD></TR>
|
---|
| 272 | <TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>32-bit binary</B></B>
|
---|
| 273 | </FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
|
---|
| 274 | </FONT></TD></TR>
|
---|
| 275 | <TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Windows NT
|
---|
| 276 | </FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">MS Visual C++ 6.0 SP3
|
---|
| 277 | </FONT></TD></TR>
|
---|
| 278 | <TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">AIX 5.1
|
---|
| 279 | </FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">xlC_r 6.0.0
|
---|
| 280 | </FONT></TD></TR>
|
---|
| 281 | <TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Solaris 2.8
|
---|
| 282 | </FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Forte C++ Version 6 Update 2
|
---|
| 283 | </FONT></TD></TR>
|
---|
| 284 | <TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">HP-UX 11i
|
---|
| 285 | </FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">aCC A.03.52 with pthreads
|
---|
| 286 | </FONT></TD></TR>
|
---|
| 287 | <TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Redhat Linux 8.0 (IA32)
|
---|
| 288 | </FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">gcc 3.2
|
---|
| 289 | </FONT></TD></TR>
|
---|
| 290 |
|
---|
| 291 | <TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>64-bit binary</B></B>
|
---|
| 292 | </FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
|
---|
| 293 | </FONT></TD></TR>
|
---|
| 294 | <TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">AIX 5.1
|
---|
| 295 | </FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">xlC_r 6.0.0
|
---|
| 296 | </FONT></TD></TR>
|
---|
| 297 | <TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Solaris 2.8
|
---|
| 298 | </FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Forte C++ Version 6 Update 2
|
---|
| 299 | </FONT></TD></TR>
|
---|
| 300 | <TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">HP-UX 11i
|
---|
| 301 | </FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">aCC A.03.52 with pthreads
|
---|
| 302 | </FONT></TD></TR>
|
---|
| 303 | <TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">SuSE Linux 8.0 (AMD64)
|
---|
| 304 | </FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">gcc 3.2.2
|
---|
| 305 | </FONT></TD></TR>
|
---|
| 306 | </TABLE>
|
---|
| 307 |
|
---|
| 308 |
|
---|
| 309 |
|
---|
| 310 |
|
---|
| 311 | <P>If you are not using any of these compilers, you are taking a calculated risk
|
---|
| 312 | by exploring new grounds. Your effort in making Xerces-C++ work on this
|
---|
| 313 | new compiler is greatly appreciated and any problems you face can be addressed
|
---|
| 314 | on the <A href="mailto:xerces-c-dev@xml.apache.org ">Xerces-C++ mailing list</A>.
|
---|
| 315 | </P>
|
---|
| 316 |
|
---|
| 317 |
|
---|
| 318 | <P><B>Differences between the UNIX platforms:</B> The description below is
|
---|
| 319 | generic, but as every programmer is aware, there are minor differences
|
---|
| 320 | within the various UNIX flavors the world has been bestowed with.
|
---|
| 321 | The one difference that you need to watch out in the discussion below,
|
---|
| 322 | pertains to the system environment variable for finding libraries.
|
---|
| 323 | On <B>Linux</B> and <B>Solaris</B>, the environment variable name is called
|
---|
| 324 | <CODE><FONT face="courier, monospaced">LD_LIBRARY_PATH</FONT></CODE>, on <B>AIX</B> it is <CODE><FONT face="courier, monospaced">LIBPATH</FONT></CODE>,
|
---|
| 325 | on <B>Mac OS X</B> it is <CODE><FONT face="courier, monospaced">DYLD_LIBRARY_PATH</FONT></CODE>,
|
---|
| 326 | while on <B>HP-UX</B> it is <CODE><FONT face="courier, monospaced">SHLIB_PATH</FONT></CODE>. The following
|
---|
| 327 | discussion assumes you are working on Linux, but it is with subtle
|
---|
| 328 | understanding that you know how to interpret it for the other UNIX flavors.</P>
|
---|
| 329 |
|
---|
| 330 | <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If you wish to build Xerces-C++ with ICU,
|
---|
| 331 | look at the <A href="build-misc.html#faq-1">Building Xerces-C++ with ICU</A>.
|
---|
| 332 | It tells you where you can get ICU and how to build Xerces-C++ with it.</I></FONT></TD></TR></TABLE>
|
---|
| 333 |
|
---|
| 334 | <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Setting build environment variables</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
|
---|
| 335 | <P>Before doing the build, you must first set your environment variables
|
---|
| 336 | to pick-up the compiler and also specify where you extracted Xerces-C++
|
---|
| 337 | on your machine.
|
---|
| 338 | While the first one is probably set for you by the system administrator, just
|
---|
| 339 | make sure you can invoke the compiler. You may do so by typing the
|
---|
| 340 | compiler invocation command without any parameters (e.g. xlc_r, or g++, or cc)
|
---|
| 341 | and check if you get a proper response back.</P>
|
---|
| 342 | <P>Next set your Xerces-C++ root path as follows:</P>
|
---|
| 343 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>export XERCESCROOT=<full path to xerces-c-src2_6_0></PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 344 |
|
---|
| 345 | <P>This should be the full path of the directory where you extracted Xerces-C++.</P>
|
---|
| 346 | </FONT></TD></TR></TABLE><BR>
|
---|
| 347 |
|
---|
| 348 | <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ library</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
|
---|
| 349 | <P>As mentioned earlier, to build Xerces-C++ from the source distribution,
|
---|
| 350 | you must be ready with the GNU tools like
|
---|
| 351 | <A href="http://www.gnu.org/software/autoconf/autoconf.html">autoconf</A> and
|
---|
| 352 | <A href="http://www.gnu.org/software/make/make.html">gmake</A>
|
---|
| 353 | before you attempt the build.</P>
|
---|
| 354 |
|
---|
| 355 | <P>The autoconf tool is required on only one platform and produces
|
---|
| 356 | a set of portable scripts (configure) that you can run on all
|
---|
| 357 | other platforms without actually having the autoconf tool installed
|
---|
| 358 | everywhere. In all probability the autoconf-generated script
|
---|
| 359 | (called <CODE><FONT face="courier, monospaced">configure</FONT></CODE>) is already in your <CODE><FONT face="courier, monospaced">src/xercesc</FONT></CODE>
|
---|
| 360 | directory. If not, type:</P>
|
---|
| 361 |
|
---|
| 362 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>cd $XERCESCROOT/src/xercesc
|
---|
| 363 | autoconf</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 364 |
|
---|
| 365 | <P>This generates a shell-script called <CODE><FONT face="courier, monospaced">configure</FONT></CODE>. It is tempting to run
|
---|
| 366 | this script directly as is normally the case, but wait a minute.
|
---|
| 367 | Even if you are
|
---|
| 368 | using the default compilers like
|
---|
| 369 | <A href="http://www.gnu.org/software/gcc/gcc.html">gcc</A> and
|
---|
| 370 | <A href="http://www.gnu.org/software/gcc/gcc.html">g++</A>
|
---|
| 371 | you need to export a few more
|
---|
| 372 | environment variables before you can invoke configure.</P>
|
---|
| 373 |
|
---|
| 374 | <P>Rather than make you to figure out what strange environment
|
---|
| 375 | variables you need to use, we have provided you with a wrapper
|
---|
| 376 | script that does the job for you. All you need to tell the script
|
---|
| 377 | is what your compiler is, and what options you are going to use
|
---|
| 378 | inside your build, and the script does everything for you. Here
|
---|
| 379 | is what the script takes as input:</P>
|
---|
| 380 |
|
---|
| 381 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
|
---|
| 382 | runConfigure: Helper script to run "configure" for one of the supported platforms
|
---|
| 383 | Usage: runConfigure "options"
|
---|
| 384 | where options may be any of the following:
|
---|
| 385 | -p <platform> (accepts 'aix', 'linux', 'freebsd',
|
---|
| 386 | 'netbsd', 'solaris', 'hp-10', 'hp-11', 'openserver', 'unixware',
|
---|
| 387 | 'os400', 'irix', 'ptx', 'tru64', 'macosx, 'cygwin', 'qnx')
|
---|
| 388 | [required: no default]
|
---|
| 389 | -c <C compiler name> (e.g. gcc, cc, xlc_r, icc or ecc)
|
---|
| 390 | [default is make default; cc for gnu make]
|
---|
| 391 | -x <C++ compiler name> (e.g. g++, CC, aCC, xlC_r, QCC
|
---|
| 392 | icc or ecc) [default is make default; g++ for gnu make]
|
---|
| 393 | -d (specifies that you want to build debug version)
|
---|
| 394 | [default: no debug]
|
---|
| 395 | -m <message loader> can be 'inmem', 'icu', 'MsgFile' or
|
---|
| 396 | 'iconv' [default: inmem]
|
---|
| 397 | -n <net accessor> can be 'fileonly', 'libwww', 'socket' or
|
---|
| 398 | 'native' [default: socket]
|
---|
| 399 | -t <transcoder> can be 'icu', 'Iconv400', 'Uniconv390',
|
---|
| 400 | 'IconvFBSD', 'IconvGNU' or 'native'
|
---|
| 401 | [default: native]
|
---|
| 402 | -r <thread option> can be 'pthread' or 'dce'
|
---|
| 403 | (AIX, HP-11, and Solaris) or 'sproc' (IRIX) or 'none'
|
---|
| 404 | [default: pthread]
|
---|
| 405 | -b <bitsToBuild> (accepts '64', '32') [default: 32]
|
---|
| 406 | -l <extra linker options>
|
---|
| 407 | -z <extra compiler options>
|
---|
| 408 | -P <install-prefix>
|
---|
| 409 | -C <any one extra configure options>
|
---|
| 410 | -h (get help on the above commands)
|
---|
| 411 | </PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 412 |
|
---|
| 413 | <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Xerces-C++ can be built as either a standalone library or as a library
|
---|
| 414 | dependent on International Components for Unicode (ICU). For simplicity,
|
---|
| 415 | the following discussion only explains standalone builds.</I></FONT></TD></TR></TABLE>
|
---|
| 416 |
|
---|
| 417 | <A name="runConfigure-example"><!--anchor--></A>
|
---|
| 418 | <P>Some additional explanation may be helpful for some of the options:</P>
|
---|
| 419 | <UL><LI><B>-m <message loader>, -t <transcoder> </B>
|
---|
| 420 | <BR>If you specify <CODE><FONT face="courier, monospaced">icu</FONT></CODE> as the value for either of
|
---|
| 421 | these options, you must already have set the
|
---|
| 422 | environment variable ICUROOT</LI>
|
---|
| 423 | <LI><B>-n <net accessor></B>
|
---|
| 424 | <BR>The default value <CODE><FONT face="courier, monospaced">socket</FONT></CODE> handles HTTP URL's.
|
---|
| 425 | The value <CODE><FONT face="courier, monospaced">native</FONT></CODE> is only supported for macosx.
|
---|
| 426 | </LI>
|
---|
| 427 | </UL>
|
---|
| 428 | <P>One of the common ways to build Xerces-C++ is as follows:</P>
|
---|
| 429 |
|
---|
| 430 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthread</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 431 |
|
---|
| 432 | <P>The response will be something like the following (extra line
|
---|
| 433 | breaks have been added for readability). See especially the end,
|
---|
| 434 | which tells you how <B>configure</B> was invoked.</P>
|
---|
| 435 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
|
---|
| 436 | Generating makefiles with the following options ...
|
---|
| 437 | Platform: linux
|
---|
| 438 | C Compiler: gcc
|
---|
| 439 | C++ Compiler: g++
|
---|
| 440 | Message Loader: inmem
|
---|
| 441 | Net Accessor: socket
|
---|
| 442 | Transcoder: native
|
---|
| 443 | Thread option: pthread
|
---|
| 444 | bitsToBuild option: 32
|
---|
| 445 | Extra compile options:
|
---|
| 446 | Extra link options:
|
---|
| 447 | Extra configure options:
|
---|
| 448 | Debug is OFF
|
---|
| 449 |
|
---|
| 450 | creating cache ./config.cache
|
---|
| 451 | checking for gcc... gcc
|
---|
| 452 | checking whether the C compiler
|
---|
| 453 | (gcc -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS
|
---|
| 454 | -DXML_USE_NETACCESSOR_SOCKET ) works... yes
|
---|
| 455 | checking whether the C compiler
|
---|
| 456 | (gcc -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS
|
---|
| 457 | -DXML_USE_NETACCESSOR_SOCKET ) is a cross-compiler... no
|
---|
| 458 | checking whether we are using GNU C... yes
|
---|
| 459 | checking whether gcc accepts -g... yes
|
---|
| 460 | checking for c++... g++
|
---|
| 461 | checking whether the C++ compiler
|
---|
| 462 | (g++ -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS
|
---|
| 463 | -DXML_USE_NETACCESSOR_SOCKET ) works... yes
|
---|
| 464 | checking whether the C++ compiler
|
---|
| 465 | (g++ -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS
|
---|
| 466 | -DXML_USE_NETACCESSOR_SOCKET ) is a cross-compiler... yes
|
---|
| 467 | checking whether we are using GNU C++... yes
|
---|
| 468 | checking whether g++ accepts -g... yes
|
---|
| 469 | checking for a BSD compatible install... /usr/bin/install -c
|
---|
| 470 | checking for autoconf... autoconf
|
---|
| 471 | checking how to run the C preprocessor... gcc -E
|
---|
| 472 | checking for ANSI C header files... yes
|
---|
| 473 | checking for XMLByte... no
|
---|
| 474 | checking host system type... i686-pc-linux-gnu
|
---|
| 475 | updating cache ./config.cache
|
---|
| 476 | creating ./config.status
|
---|
| 477 | creating Makefile
|
---|
| 478 | creating util/Makefile
|
---|
| 479 | creating util/Transcoders/ICU/Makefile
|
---|
| 480 | creating util/Transcoders/Iconv/Makefile
|
---|
| 481 | creating util/Transcoders/Iconv390/Makefile
|
---|
| 482 | creating util/Transcoders/Uniconv390/Makefile
|
---|
| 483 | creating util/Transcoders/Iconv400/Makefile
|
---|
| 484 | creating util/Transcoders/IconvFBSD/Makefile
|
---|
| 485 | creating util/Transcoders/MacOSUnicodeConverter/Makefile
|
---|
| 486 | creating util/Platforms/Makefile
|
---|
| 487 | creating util/Platforms/Solaris/Makefile
|
---|
| 488 | creating util/Platforms/AIX/Makefile
|
---|
| 489 | creating util/Platforms/Linux/Makefile
|
---|
| 490 | creating util/Platforms/FreeBSD/Makefile
|
---|
| 491 | creating util/Platforms/HPUX/Makefile
|
---|
| 492 | creating util/Platforms/OS390/Makefile
|
---|
| 493 | creating util/Platforms/OS400/Makefile
|
---|
| 494 | creating util/Platforms/IRIX/Makefile
|
---|
| 495 | creating util/Platforms/PTX/Makefile
|
---|
| 496 | creating util/Platforms/OpenServer/Makefile
|
---|
| 497 | creating util/Platforms/UnixWare/Makefile
|
---|
| 498 | creating util/Platforms/Tru64/Makefile
|
---|
| 499 | creating util/Platforms/MacOS/Makefile
|
---|
| 500 | creating util/Compilers/Makefile
|
---|
| 501 | creating util/MsgLoaders/InMemory/Makefile
|
---|
| 502 | creating util/MsgLoaders/ICU/Makefile
|
---|
| 503 | creating util/MsgLoaders/MsgCatalog/Makefile
|
---|
| 504 | creating util/MsgLoaders/MsgFile/Makefile
|
---|
| 505 | creating util/NetAccessors/Socket/Makefile
|
---|
| 506 | creating util/NetAccessors/libWWW/Makefile
|
---|
| 507 | creating util/NetAccessors/MacOSURLAccessCF/Makefile
|
---|
| 508 | creating util/regx/Makefile
|
---|
| 509 | creating validators/Makefile
|
---|
| 510 | creating validators/common/Makefile
|
---|
| 511 | creating validators/datatype/Makefile
|
---|
| 512 | creating validators/DTD/Makefile
|
---|
| 513 | creating validators/schema/Makefile
|
---|
| 514 | creating validators/schema/identity/Makefile
|
---|
| 515 | creating framework/Makefile
|
---|
| 516 | creating dom/Makefile
|
---|
| 517 | creating dom/impl/Makefile
|
---|
| 518 | creating dom/deprecated/Makefile
|
---|
| 519 | creating parsers/Makefile
|
---|
| 520 | creating internal/Makefile
|
---|
| 521 | creating sax/Makefile
|
---|
| 522 | creating sax2/Makefile
|
---|
| 523 | creating ../../obj/Makefile
|
---|
| 524 |
|
---|
| 525 | Having build problems?
|
---|
| 526 | Read instructions at http://xml.apache.org/xerces-c/build.html
|
---|
| 527 | Still cannot resolve it?
|
---|
| 528 | Find out if someone else had the same problem before.
|
---|
| 529 | Go to http://marc.theaimsgroup.com/?l=xerces-c-dev
|
---|
| 530 |
|
---|
| 531 | In future, you may also directly type the following commands to create the Makefiles.
|
---|
| 532 |
|
---|
| 533 | export TRANSCODER="NATIVE"
|
---|
| 534 | export MESSAGELOADER="INMEM"
|
---|
| 535 | export NETACCESSOR="Socket"
|
---|
| 536 | export THREADS="pthread"
|
---|
| 537 | export BITSTOBUILD="32"
|
---|
| 538 | export CC="gcc"
|
---|
| 539 | export CXX="g++"
|
---|
| 540 | export CXXFLAGS=" -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER
|
---|
| 541 | -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET "
|
---|
| 542 | export CFLAGS=" -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER
|
---|
| 543 | -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET "
|
---|
| 544 | export LDFLAGS=" "
|
---|
| 545 | export LIBS=" -lpthread "
|
---|
| 546 | configure
|
---|
| 547 |
|
---|
| 548 | If the result of the above commands look OK to you, go to the directory
|
---|
| 549 | $HOME/xerces-c-src2_6_0/src/xercesc and type "gmake" to make the XERCES-C system.</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 550 |
|
---|
| 551 | <P>So now you see what the wrapper script has actually been doing! It has
|
---|
| 552 | invoked <CODE><FONT face="courier, monospaced">configure</FONT></CODE>
|
---|
| 553 | to create the Makefiles in the individual sub-directories, but in addition
|
---|
| 554 | to that, it has set a few environment variables to correctly configure
|
---|
| 555 | your compiler and compiler flags too.</P>
|
---|
| 556 |
|
---|
| 557 | <P>Now that the Makefiles are all created, you are ready to do the actual build.</P>
|
---|
| 558 |
|
---|
| 559 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>gmake</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 560 |
|
---|
| 561 | <P>Is that it? Yes, that's all you need to build Xerces-C++.</P>
|
---|
| 562 | </FONT></TD></TR></TABLE><BR>
|
---|
| 563 |
|
---|
| 564 | <TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building samples</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
|
---|
| 565 | <P>The installation process for the samples is same on all UNIX
|
---|
| 566 | platforms.
|
---|
| 567 | </P>
|
---|
| 568 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>cd xerces-c2_6_0-linux/samples
|
---|
| 569 | ./runConfigure -p<platform> -c<C_compiler> -x<C++_compiler>
|
---|
| 570 | gmake</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 571 | <P>This will create the object files in each sample directory
|
---|
| 572 | and the executables in ' xerces-c2_6_0-linux/bin' directory.</P>
|
---|
| 573 |
|
---|
| 574 | <P>Note that <B>runConfigure</B> is just a helper script and you are free to
|
---|
| 575 | use <B>./configure</B> with the correct parameters to make it work
|
---|
| 576 | on any platform-compiler combination of your choice. The script needs the following parameters:
|
---|
| 577 |
|
---|
| 578 | </P>
|
---|
| 579 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
|
---|
| 580 | runConfigure: Helper script to run "configure" for one of the supported platforms
|
---|
| 581 | Usage: runConfigure "options"
|
---|
| 582 | where options may be any of the following:
|
---|
| 583 | -p <platform> (accepts 'aix', 'beos', 'linux', 'freebsd', 'netbsd',
|
---|
| 584 | 'solaris', 'hp-10', 'hp-11', 'openserver', 'unixware',
|
---|
| 585 | 'os400', 'irix', 'ptx', 'tru64', 'macosx', 'cygwin')
|
---|
| 586 | [required; no default]
|
---|
| 587 | -c <C compiler name> (e.g. gcc, cc, xlc_r, icc or ecc)
|
---|
| 588 | [default is make default; cc for gnu make]
|
---|
| 589 | -x <C++ compiler name> (e.g. g++, CC, aCC, xlC_r, QCC,
|
---|
| 590 | icc or ecc) [default is make default; g++ for gnu make]
|
---|
| 591 | -d (specifies that you want to build debug version) [default: not debug]
|
---|
| 592 | -r <thread option> can be 'pthread' or 'dce'
|
---|
| 593 | (AIX, HP-11, and Solaris) or 'sproc' (IRIX) or 'none'
|
---|
| 594 | [default: pthread]
|
---|
| 595 | -b <bitsToBuild> (accepts '64', '32') [default: 32]
|
---|
| 596 | -l <extra linker options>
|
---|
| 597 | -z <extra compiler options>
|
---|
| 598 | -h (get help on the above commands)
|
---|
| 599 | </PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 600 |
|
---|
| 601 | <TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I><B>NOTE:</B>The code samples in this section assume that you are working on the Linux binary drop.
|
---|
| 602 | If you are using some other UNIX flavor, please replace '-linux' with the appropriate
|
---|
| 603 | platform name in the code samples.</I></FONT></TD></TR></TABLE>
|
---|
| 604 |
|
---|
| 605 | <P>To delete all the generated object files and executables, type:</P>
|
---|
| 606 | <DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>gmake clean</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV>
|
---|
| 607 | </FONT></TD></TR></TABLE><BR>
|
---|
| 608 | </FONT></TD></TR></TABLE><BR>
|
---|
| 609 |
|
---|
| 610 | <A name="UNIX_SingleThread"><!--anchor--></A>
|
---|
| 611 | <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ as a single-threaded library on Unix platforms</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
|
---|
| 612 | <P>To build a single-threaded library on Unix platforms you have to update
|
---|
| 613 | one or more of the following files <CODE><FONT face="courier, monospaced">Makefile.incl, Makefile.in, runConfigure</FONT></CODE>.
|
---|
| 614 | The following steps guide you to create a single-threaded library for each platform:</P>
|
---|
| 615 |
|
---|
| 616 | <P>For Aix - </P>
|
---|
| 617 | <UL>
|
---|
| 618 | <LI>Replace <CODE><FONT face="courier, monospaced">xlc_r</FONT></CODE> and <CODE><FONT face="courier, monospaced">xlC_r</FONT></CODE> libraries with
|
---|
| 619 | <CODE><FONT face="courier, monospaced">xlc</FONT></CODE> and <CODE><FONT face="courier, monospaced">xlC</FONT></CODE> respectively</LI>
|
---|
| 620 | <LI>Replace <CODE><FONT face="courier, monospaced">makeC++SharedLib_r</FONT></CODE> with <CODE><FONT face="courier, monospaced">makeC++SharedLib</FONT></CODE></LI>
|
---|
| 621 | <LI>Remove the flag <CODE><FONT face="courier, monospaced">-D_THREAD_SAFE</FONT></CODE></LI>
|
---|
| 622 | <LI>Remove inclusion of any threaded library directories from the <CODE><FONT face="courier, monospaced">LIBPATH</FONT></CODE></LI>
|
---|
| 623 | <LI>Remove inclusion of <CODE><FONT face="courier, monospaced">-lpthreads</FONT></CODE> and <CODE><FONT face="courier, monospaced">-lpthread_compat</FONT></CODE></LI>
|
---|
| 624 | <LI>Add <CODE><FONT face="courier, monospaced">-DAPP_NO_THREADS</FONT></CODE> to define the variable under AIX specific options
|
---|
| 625 | in <CODE><FONT face="courier, monospaced">Makefile.incl</FONT></CODE></LI>
|
---|
| 626 | </UL>
|
---|
| 627 |
|
---|
| 628 | <P>For Solaris -</P>
|
---|
| 629 | <UL>
|
---|
| 630 | <LI>Add <CODE><FONT face="courier, monospaced">-DAPP_NO_THREADS</FONT></CODE> to define the variable under SOLARIS
|
---|
| 631 | specific options in <CODE><FONT face="courier, monospaced">Makefile.incl</FONT></CODE></LI>
|
---|
| 632 | <LI>Remove compiler switch <CODE><FONT face="courier, monospaced">-mt</FONT></CODE></LI>
|
---|
| 633 | <LI>Remove <CODE><FONT face="courier, monospaced">-D_REENTRANT</FONT></CODE> flag from the 'compile' options</LI>
|
---|
| 634 | <LI>Remove inclusion of <CODE><FONT face="courier, monospaced">-lpthread</FONT></CODE></LI>
|
---|
| 635 | </UL>
|
---|
| 636 |
|
---|
| 637 | <P>For Linux -</P>
|
---|
| 638 | <UL>
|
---|
| 639 | <LI>Add <CODE><FONT face="courier, monospaced">-DAPP_NO_THREADS</FONT></CODE> to define the variable under LINUX
|
---|
| 640 | specific options in <CODE><FONT face="courier, monospaced">Makefile.incl</FONT></CODE></LI>
|
---|
| 641 | <LI>Remove <CODE><FONT face="courier, monospaced">-D_REENTRANT</FONT></CODE> flag from the 'compile' options</LI>
|
---|
| 642 | <LI>Remove inclusion of <CODE><FONT face="courier, monospaced">-lpthread</FONT></CODE></LI>
|
---|
| 643 | </UL>
|
---|
| 644 |
|
---|
| 645 |
|
---|
| 646 | <P>For HPUX -</P>
|
---|
| 647 | <UL>
|
---|
| 648 | <LI>Add <CODE><FONT face="courier, monospaced">-DAPP_NO_THREADS</FONT></CODE> to define the variable under HP
|
---|
| 649 | specific options in <CODE><FONT face="courier, monospaced">Makefile.incl</FONT></CODE></LI>
|
---|
| 650 | <LI>Remove inclusion of <CODE><FONT face="courier, monospaced">-lpthread</FONT></CODE> and <CODE><FONT face="courier, monospaced">-lcma</FONT></CODE></LI>
|
---|
| 651 | <LI>Remove threading defines like <CODE><FONT face="courier, monospaced">-D_PTHREADS_DRAFT4 ,
|
---|
| 652 | -DXML_USE_DCE</FONT></CODE></LI>
|
---|
| 653 | </UL>
|
---|
| 654 | </FONT></TD></TR></TABLE><BR>
|
---|
| 655 | </TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
|
---|
| 656 | Copyright © 1999-2004 The Apache Software Foundation.
|
---|
| 657 | All Rights Reserved.
|
---|
| 658 | </I></FONT></TD></TR></TABLE></BODY></HTML> |
---|