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 Other Platforms</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-other-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="iSeries"><!--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 iSeries (AS/400)</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>The following addresses the requirements and build of
|
---|
85 | Xerces-C++ natively on the iSeries.
|
---|
86 | </P>
|
---|
87 | <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">
|
---|
88 | <P><B>Requirements:</B></P>
|
---|
89 |
|
---|
90 | <UL>
|
---|
91 | <LI>OS/400 <CODE><FONT face="courier, monospaced">QSHELL</FONT></CODE> interpreter installed (install base option 30, operating system)</LI>
|
---|
92 | <LI>OS/400 - Portable App Solutions Environment (PASE) installed (install base option 33, operating system)</LI>
|
---|
93 | <LI>iSeries Tools for Developers, PRPQ 5799-PTL (these are the gnu utilities)</LI>
|
---|
94 | <LI>For v5: WebSphere Development ToolsSet, 5722-WDS ( installed option 52, Compiler - ILE C++)</LI>
|
---|
95 | </UL>
|
---|
96 |
|
---|
97 | <P><B>Recommendation:</B></P>
|
---|
98 |
|
---|
99 | <UL>
|
---|
100 | <LI>There is one option when building the XML4C parser on iSeries.
|
---|
101 | For code page translation, you can use the iSeries
|
---|
102 | native <CODE><FONT face="courier, monospaced">Iconv400</FONT></CODE> support or <CODE><FONT face="courier, monospaced">icu</FONT></CODE> as the transcoder plug in. If you choose ICU, follow the instructions
|
---|
103 | to build the ICU service program with the ICU download. Those instructions
|
---|
104 | are not included here. We recommend the use of <CODE><FONT face="courier, monospaced">Iconv400</FONT></CODE>.</LI>
|
---|
105 | </UL>
|
---|
106 |
|
---|
107 | <P><B>Setup Instructions:</B></P>
|
---|
108 |
|
---|
109 | <UL>
|
---|
110 | <LI>Make sure that you have the requirements installed on your iSeries.
|
---|
111 | We highly recommend that you read the write up that accompanies the
|
---|
112 | iSeries Tools for Developers PRPQ. There are install instructions as well as
|
---|
113 | information about how modules, programs and service programs can be
|
---|
114 | created in Unix-like fashion using gnu utilities. Note that symbolic
|
---|
115 | links are use in the file system to point to actual iSeries <CODE><FONT face="courier, monospaced">*module</FONT></CODE>,
|
---|
116 | <CODE><FONT face="courier, monospaced">*pgm</FONT></CODE> and <CODE><FONT face="courier, monospaced">*srvpgm</FONT></CODE> objects in libraries.</LI>
|
---|
117 |
|
---|
118 | <LI>Download the source zip file (NT version) directly to an iSeries IFS directory
|
---|
119 | after creating a directory (eg. /XML4Cxxx) and then extract
|
---|
120 | the source using a mapped drive. To do this, from Windows Explorer,
|
---|
121 | select Tools -> Map Network Drive. Then select an available drive (e.g. F:) and
|
---|
122 | specify an iSeries system you want to extract the zip file to
|
---|
123 | (e.g. \\<your iSeries name>\root). Click on Finish. Then find the .zip file
|
---|
124 | and right click on it and select Extract To ...
|
---|
125 | Then select the files you want to extract to the iSeries system.</LI>
|
---|
126 |
|
---|
127 | <LI>Create iSeries target library. This library will be the target
|
---|
128 | for the resulting modules and Xerces-C++ service program. You will
|
---|
129 | specify this library on the OUTPUTDIR environment variable
|
---|
130 | in step 4.</LI>
|
---|
131 |
|
---|
132 | <LI>Set up the following environment variables in your build process
|
---|
133 | (use <CODE><FONT face="courier, monospaced">ADDENVVAR</FONT></CODE> or <CODE><FONT face="courier, monospaced">WRKENVVAR CL</FONT></CODE> commands):</LI>
|
---|
134 | </UL>
|
---|
135 | <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>
|
---|
136 | XERCESCROOT - <the full path up to the Xerces-C++ src directory, but not including 'src'>
|
---|
137 | MAKE - '/qibm/proddata/developertools/qsh/bin/gmake'
|
---|
138 | OUTPUTDIR - <identifies target iSeries library for *module, *pgm and *srvpgm objects>
|
---|
139 | PATH - '/usr/bin:/qibm/proddata/developertools/qsh/bin'
|
---|
140 | ICUROOT - (if using ICU) <the path of your ICU installation>
|
---|
141 | </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>
|
---|
142 |
|
---|
143 | <UL>
|
---|
144 | <LI>For v4r5m0 systems, add QCXXN, to your build process library list.
|
---|
145 | This results in the resolution of CRTCPPMOD used by the icc compiler.</LI>
|
---|
146 | </UL>
|
---|
147 |
|
---|
148 | <P>You may want to put the environment variables and library list
|
---|
149 | setup instructions in a <CODE><FONT face="courier, monospaced">CL</FONT></CODE> program so you will not forget these steps
|
---|
150 | during your build.</P>
|
---|
151 |
|
---|
152 | <P><B>Configure</B></P>
|
---|
153 |
|
---|
154 | <P>To configure the make files for an iSeries build do the following under Qsh:</P>
|
---|
155 | <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>qsh:
|
---|
156 | cd <full path to Xerces-C++>/src/xercesc
|
---|
157 | edit runConfigure and comment out the line:
|
---|
158 | getoptErr=`getopt p:c:x:dm:n:t:r:b:l:z:P:C:h $*`
|
---|
159 | runConfigure -p os400 -x icc -c icc -m inmem -t Iconv400 -r none</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>
|
---|
160 |
|
---|
161 | <P>Troubleshooting:</P>
|
---|
162 | <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>error: configure: error: installation or configuration problem:
|
---|
163 | C compiler cannot create executables.</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>
|
---|
164 |
|
---|
165 | <P>If during runConfigure you see the above error message, it
|
---|
166 | can mean one of a few things. Either QCXXN is not on your library
|
---|
167 | list <B>OR</B> the <CODE><FONT face="courier, monospaced">runConfigure</FONT></CODE> cannot create the temporary
|
---|
168 | modules (<CODE><FONT face="courier, monospaced">CONFTest1</FONT></CODE>, etc) it uses to test out the compiler
|
---|
169 | options or <CODE><FONT face="courier, monospaced">PASE</FONT></CODE> is not installed. The second reason happens because the test modules already exist
|
---|
170 | from a previous run of <CODE><FONT face="courier, monospaced">runConfigure</FONT></CODE>. To correct the problem,
|
---|
171 | do the following:</P>
|
---|
172 | <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>CL:
|
---|
173 | DLTMOD <OUTPUTDIR library>/CONFT* and
|
---|
174 | DLTPGM <OUTPUTDIR library>/CONFT*</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>
|
---|
175 |
|
---|
176 | <P><B>Build</B></P>
|
---|
177 | <P>If runConfigure runs fine then do the following under Qsh to actually build the modules:</P>
|
---|
178 | <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>qsh:
|
---|
179 | cd <full path to Xerces-C++>/src/xercesc
|
---|
180 | 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>
|
---|
181 |
|
---|
182 | <P>The above gmake should result in a service program being created
|
---|
183 | in your specified library and a symbolic link to that service program
|
---|
184 | placed in <path to Xerces-C++/lib>. It is highly possible that the
|
---|
185 | service program will not create however due to number of modules and path names,
|
---|
186 | see trouble shooting for the workaround.</P>
|
---|
187 |
|
---|
188 | <P>After the service program has successfully been created and a link established,
|
---|
189 | you can either bind your XML application programs directly to the parser's service program
|
---|
190 | via the <CODE><FONT face="courier, monospaced">BNDSRVPGM</FONT></CODE> option on the <CODE><FONT face="courier, monospaced">CRTPGM</FONT></CODE> or
|
---|
191 | <CODE><FONT face="courier, monospaced">CRTSRVPGM</FONT></CODE> command or you can specify a binding directory
|
---|
192 | on your <CODE><FONT face="courier, monospaced">icc</FONT></CODE> command. To specify an archive file to bind to,
|
---|
193 | use the <CODE><FONT face="courier, monospaced">-L, -l</FONT></CODE> binding options on icc. An archive file
|
---|
194 | on iSeries is a binding directory. To create an archive file, use
|
---|
195 | <CODE><FONT face="courier, monospaced">qar</FONT></CODE> command. (see the iSeries Tools for Developers write up).
|
---|
196 | </P>
|
---|
197 |
|
---|
198 | <P>After building the Xerces-C service program, create a binding directory
|
---|
199 | by doing the following (note, this binding directory is used when building
|
---|
200 | the samples. Also, note that the .a file below can have a different
|
---|
201 | name based on the parser version (using apache xerces versioning)):</P>
|
---|
202 | <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>qsh:
|
---|
203 | cd <full path to Xerces-C++>/lib
|
---|
204 | qar -cuv libxerces-c26.0.so *.o
|
---|
205 | will results in
|
---|
206 | command = CRTBNDDIR BNDDIR(yourlib/libxercesc) TEXT('/yourlib/Xerces-C++/lib/libxerces-c26.0.so')
|
---|
207 | command = ADDBNDDIRE BNDDIR(yourlib/libxercesc) OBJ((yourlib/LIBXERCESC *SRVPGM) )</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>
|
---|
208 |
|
---|
209 |
|
---|
210 | <P><B>Troubleshooting gmake problem:</B></P>
|
---|
211 | <P>Due to the number of modules (the .o symbolic links) that make up the
|
---|
212 | service program and the path to get to those modules, the qshell ld request
|
---|
213 | to create the service program will likely fail because the request is too large,
|
---|
214 | you may get a message like the following at the end of the gmake request:</P>
|
---|
215 | <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>
|
---|
216 | FAILURE: spawnp() with errno = 3491
|
---|
217 | GMAKE: vfork: Argument list too long.
|
---|
218 | </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>
|
---|
219 |
|
---|
220 | <P>If this is the case, you can manually create the service program by doing the following:</P>
|
---|
221 |
|
---|
222 | <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>CL:
|
---|
223 | CRTSRVPGM (<OUTPUTDIR-library>/libxercesc) MODULE(<OUTPUTDIR-library>/*ALL) EXPORT(*ALL) TEXT('XML4C parser version xxx')
|
---|
224 | OPTION(*DUPPROC *DUPVAR *NOWARN) AUT(*USE)
|
---|
225 | </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>
|
---|
226 |
|
---|
227 | <P>Note that if you manually create the service program you want to make sure that
|
---|
228 | you do not include any CONFT* modules or samples modules in the OUTPUTDIR library.
|
---|
229 | After the service program is manually created you can add a symbolic link to the
|
---|
230 | service program into the appropriate /lib directory by qsh:</P>
|
---|
231 |
|
---|
232 | <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>
|
---|
233 | qsh:
|
---|
234 | cd <full path to Xerces-C++>/lib
|
---|
235 | ln -s /qsys.lib/<outputdir>.lib/libxercesc.srvpgm libxerces-c26.0.so
|
---|
236 | qar -cuv libxerces-c26.0.so *.o
|
---|
237 | </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>
|
---|
238 |
|
---|
239 | <P>If you are on a v4 system using the ILE C++ PRPQ compiler (which is referred
|
---|
240 | to as the 'old' compiler) you will get compiler errors requiring a few manual changes
|
---|
241 | to the source:</P>
|
---|
242 |
|
---|
243 | <UL>
|
---|
244 | <LI>src/xercesc/dom/impl/DOMDocumentImpl.cpp</LI>
|
---|
245 | <LI>src/xercesc/dom/impl/DOMDocumentImpl.hpp</LI>
|
---|
246 | <LI>src/xercesc/dom/deprecated/DocumentImpl.cpp</LI>
|
---|
247 | <LI>src/xercesc/dom/deprecated/DocumentImpl.hpp</LI>
|
---|
248 | <LI>src/xercesc/validators/common/ContentSpecNode.hpp</LI>
|
---|
249 | </UL>
|
---|
250 |
|
---|
251 | <P>Update the following routines in src/xercesc/dom/deprecated/DocumentImpl.cpp as follows:</P>
|
---|
252 | <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>
|
---|
253 | void DocumentImpl::setUserData(NodeImpl* n, void* data)
|
---|
254 | {
|
---|
255 | if (!userData && data)
|
---|
256 | #ifdef __OS400__
|
---|
257 | userData = new RefHashTableOf<char>(29, false, new HashPtr());
|
---|
258 | #else
|
---|
259 | userData = new RefHashTableOf<void>(29, false, new HashPtr());
|
---|
260 | #endif
|
---|
261 | if (!data && userData)
|
---|
262 | userData->removeKey((void*)n);
|
---|
263 | else
|
---|
264 | #ifdef __OS400__
|
---|
265 | userData->put((void*)n,(char*)data);
|
---|
266 | #else
|
---|
267 | userData->put((void*)n,data);
|
---|
268 | #endif
|
---|
269 | }
|
---|
270 |
|
---|
271 | void* DocumentImpl::getUserData(NodeImpl* n)
|
---|
272 | {
|
---|
273 | if (userData)
|
---|
274 | #ifdef __OS400__
|
---|
275 | return (void*)userData->get((void*)n);
|
---|
276 | #else
|
---|
277 | return userData->get((void*)n);
|
---|
278 | #endif
|
---|
279 | else
|
---|
280 | return null;
|
---|
281 | }
|
---|
282 | </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>
|
---|
283 |
|
---|
284 | <P>To update src/xercesc/dom/deprecated/DoumentImpl.hpp as follows:</P>
|
---|
285 |
|
---|
286 | <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>
|
---|
287 | #ifdef __OS400__
|
---|
288 | RefHashTableOf<char> *userData;
|
---|
289 | #else
|
---|
290 |
|
---|
291 | RefHashTableOf<void> *userData;
|
---|
292 | #endif
|
---|
293 | </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>
|
---|
294 |
|
---|
295 | <P>Update the following routines in src/xercesc/dom/impl/DOMDocumentImpl.cpp as follows:</P>
|
---|
296 | <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>
|
---|
297 | void DOMDocumentImpl::setUserData(DOMNode* n, void* data)
|
---|
298 | {
|
---|
299 | if (!fUserData && data)
|
---|
300 | #ifdef __OS400__
|
---|
301 | fUserData = new (this) RefHashTableOf<char>(29, false, new (this) HashPtr());
|
---|
302 | #else
|
---|
303 | fUserData = new (this) RefHashTableOf<void>(29, false, new (this) HashPtr());
|
---|
304 | #endif
|
---|
305 |
|
---|
306 | if (!data && fUserData)
|
---|
307 | fUserData->removeKey((void*)n);
|
---|
308 | else
|
---|
309 | #ifdef __OS400__
|
---|
310 | fUserData->put((void*)n,(char*)data);
|
---|
311 | #else
|
---|
312 | fUserData->put((void*)n,data);
|
---|
313 | #endif
|
---|
314 | }
|
---|
315 |
|
---|
316 | void* DOMDocumentImpl::getUserData(const DOMNode* n) const
|
---|
317 | {
|
---|
318 | if (fUserData)
|
---|
319 | #ifdef __OS400__
|
---|
320 | return (void*) fUserData->get((void*)n);
|
---|
321 | #else
|
---|
322 | return fUserData->get((void*)n);
|
---|
323 | #endif
|
---|
324 |
|
---|
325 | else
|
---|
326 | return 0;
|
---|
327 | }
|
---|
328 | </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>
|
---|
329 |
|
---|
330 | <P>To update src/xercesc/dom/impl/DOMDocumentImpl.hpp:</P>
|
---|
331 | <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>
|
---|
332 | #ifdef __OS400__
|
---|
333 | RefHashTableOf<char> *fUserData;
|
---|
334 | #else
|
---|
335 | RefHashTableOf<void> *fUserData;
|
---|
336 | #endif
|
---|
337 | </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>
|
---|
338 | <P>Update validators/common/ContentSpecNode.hpp removing the following:</P>
|
---|
339 | <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>
|
---|
340 | #ifndef __OS400__
|
---|
341 | inline
|
---|
342 | #endif
|
---|
343 | ContentSpecNode::~ContentSpecNode()
|
---|
344 | </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>
|
---|
345 |
|
---|
346 | <P>To build for transcoder ICU:</P>
|
---|
347 | <OL>
|
---|
348 | <LI>Make sure you have an <CODE><FONT face="courier, monospaced">ICUROOT</FONT></CODE> path set up so that you can
|
---|
349 | find the ICU header files (usually <CODE><FONT face="courier, monospaced">/usr/local</FONT></CODE>)</LI>
|
---|
350 | <LI>Make sure you have created a binding directory (symbolic link)
|
---|
351 | in the file system so that you can bind the Xerces-C++ service program
|
---|
352 | to the ICU service program and specify that on the <CODE><FONT face="courier, monospaced">EXTRA_LINK_OPTIONS</FONT></CODE>
|
---|
353 | in <CODE><FONT face="courier, monospaced">src/xercesc/Makefile.incl</FONT></CODE> (usually the default is a link
|
---|
354 | in <CODE><FONT face="courier, monospaced">/usr/local/lib</FONT></CODE>).</LI>
|
---|
355 | </OL>
|
---|
356 |
|
---|
357 | </FONT></TD></TR></TABLE><BR>
|
---|
358 |
|
---|
359 | <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 on iSeries</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">
|
---|
360 |
|
---|
361 | <P>Note that the samples will create programs bind to the BND directory object
|
---|
362 | created by qar referenced above.</P>
|
---|
363 | <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>qsh
|
---|
364 | cd <full path to Xerces-C++>/samples
|
---|
365 | runConfigure -p os400 -x icc -c icc
|
---|
366 | 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>
|
---|
367 |
|
---|
368 | </FONT></TD></TR></TABLE><BR>
|
---|
369 | </FONT></TD></TR></TABLE><BR>
|
---|
370 |
|
---|
371 | <A name="Mac"><!--anchor--></A>
|
---|
372 | <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 Macintosh</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">
|
---|
373 | <P>The Xerces-C++ Mac port has the key following attributes:
|
---|
374 | </P>
|
---|
375 |
|
---|
376 | <OL>
|
---|
377 | <LI>Built atop CoreServices APIs and a limited number of Carbon APIs;
|
---|
378 | supports builds for both Mac OS Classic, Carbon, and Mac OS X systems.
|
---|
379 | </LI>
|
---|
380 |
|
---|
381 | <LI>Has a Mac OS native transcoder that utilizes the built-in Mac OS Unicode
|
---|
382 | converter [MacOSUnicodeConverter].
|
---|
383 | </LI>
|
---|
384 |
|
---|
385 | <LI>Has two Mac OS native netaccessor classes. The first is based on Carbon and
|
---|
386 | classic supported URLAccess and may be used in the broadest variety of
|
---|
387 | configurations [MacOSURLAccess]. The second [MacOSURLAccessCF] is based on
|
---|
388 | CFURLAccess, which requires either Carbon or Mac OS X CoreServices.framework.
|
---|
389 | This second NetAccessor is useful in Mac OS X configurations where reliance on
|
---|
390 | the full Carbon.framework would prohibit execution of the Xerces code in a
|
---|
391 | remote context that has no access to the GUI.
|
---|
392 | </LI>
|
---|
393 |
|
---|
394 | <LI>Supports builds from Metroworks CodeWarrior, Apple Xcode,
|
---|
395 | and Mac OS X shell. Projects for Apple Project Builder are still included,
|
---|
396 | but may not be up to date (you may need to revise the projects to accomodate
|
---|
397 | recent file additions, deletions, or other changes in Xerces-C++).
|
---|
398 | </LI>
|
---|
399 | </OL>
|
---|
400 |
|
---|
401 | <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>Using Xerces-C++ with CodeWarrior</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">
|
---|
402 |
|
---|
403 | <P><B>Xerces-C++ and CodeWarrior:</B>
|
---|
404 | </P>
|
---|
405 |
|
---|
406 | <P>Xerces-C++ may be built with CodeWarrior under Mac OS Classic or Mac OS X. Since
|
---|
407 | the Xerces-C++ code contains some files with very long names, and earlier versions
|
---|
408 | of Mac OS, as well as earlier versions of CodeWarrior, did not support file names
|
---|
409 | longer than 32 characters, CodeWarrior 8.0 is required. If you are building Xerces-C++
|
---|
410 | on a Mac OS 9 system, be extremely carefull in how to unpack and/or transfer the Xerces-C++
|
---|
411 | files to that system, to ensure that their file names are not trancated in the process.
|
---|
412 | </P>
|
---|
413 |
|
---|
414 | <P><B>Installing Xerces-C++ for use with CodeWarrior:</B>
|
---|
415 | </P>
|
---|
416 |
|
---|
417 | <P>Note: versions of CodeWarrior prior to 8.0 did not support HFS+ long file names,
|
---|
418 | and thus required special steps to alter the file names prior to use. This restriction
|
---|
419 | has been removed for CodeWarrior 8.0, and the projects now directly reference the unaltered
|
---|
420 | source tree. The project files in this release require CodeWarrior v8.0 or higher.
|
---|
421 | </P>
|
---|
422 |
|
---|
423 | <P>It is extemely important to ensure that you retrieve and unpack the sources
|
---|
424 | with a tool that does not truncate file names. The command line gnutar utility on Mac
|
---|
425 | OS X will do the right thing; older versions of StuffIt truncate names to 31 characters as
|
---|
426 | they unpack tar archives, though versions >= 7.0.1 seem to work, at least on Mac OS X.
|
---|
427 | The command line tool tar will truncate path names that get too long; gnutar should be
|
---|
428 | used instead. Failure to heed these warnings will result in broken projects.
|
---|
429 | </P>
|
---|
430 |
|
---|
431 | <P><B>Building Xerces-C++ with CodeWarrior:</B>
|
---|
432 | </P>
|
---|
433 |
|
---|
434 | <UL>
|
---|
435 | <LI>Run CodeWarrior (requires CodeWarrior 8.0 with support for long file names).
|
---|
436 | </LI>
|
---|
437 |
|
---|
438 | <LI>Import the project Projects/MacOS/CodeWarrior/XercesLib/XercesLib.mcp.xml,
|
---|
439 | saving it back out to the same directory as XercesLib.mcp.
|
---|
440 | </LI>
|
---|
441 |
|
---|
442 | <LI>This project contains five build targets that build all combinations of
|
---|
443 | classic, carbon, debug, and release versions, with an all target that
|
---|
444 | builds all of these. Build any or all of these.
|
---|
445 | </LI>
|
---|
446 | </UL>
|
---|
447 |
|
---|
448 | <P><B>Building Xerces-C++ Samples with CodeWarrior:</B>
|
---|
449 | </P>
|
---|
450 |
|
---|
451 | <P>A CodeWarrior project is included that builds the DOMPrint sample. This may
|
---|
452 | be used as an example from which to build additional sample projects. Please
|
---|
453 | read the following important notes:
|
---|
454 | </P>
|
---|
455 |
|
---|
456 | <UL>
|
---|
457 | <LI>Once again, it is required that you import the .xml version of the project
|
---|
458 | file, and save it back out.
|
---|
459 | </LI>
|
---|
460 |
|
---|
461 | <LI>The Xerces-C++ sample programs are written to assume a command line interface.
|
---|
462 | To avoid making Macintosh-specific changes to these command line programs,
|
---|
463 | we have opted to instead require that you make a small extension to your
|
---|
464 | CodeWarrior runtime that supports such command line programs. Please read
|
---|
465 | and follow the usage notes in XercesSampleSupport/XercesSampleStartupFragment.c.
|
---|
466 | </LI>
|
---|
467 | </UL>
|
---|
468 |
|
---|
469 | </FONT></TD></TR></TABLE><BR>
|
---|
470 |
|
---|
471 | <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++ with Xcode</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">
|
---|
472 |
|
---|
473 | <P>Projects are included to build the Xerces-C++ library and DOMPrint sample under
|
---|
474 | Apple's Xcode for Mac OS X. The following notes apply:
|
---|
475 | </P>
|
---|
476 |
|
---|
477 | <UL>
|
---|
478 | <LI>Be sure to heed warnings under "special instructions" below regarding which
|
---|
479 | tools must be used to unpack archives: gnutar is your friend.
|
---|
480 | </LI>
|
---|
481 |
|
---|
482 | <LI>The Xcode project builds XercesLib as the framework
|
---|
483 | Xerces.framework. This framework, however, does not currently include a
|
---|
484 | correct set of public headers. Any referencing code must have an include
|
---|
485 | path directive that points into the Xerces-C++ src directory.
|
---|
486 | </LI>
|
---|
487 |
|
---|
488 | <LI>The DOMPrint project illustrates one such usage of the Xerces.framework.
|
---|
489 | </LI>
|
---|
490 | </UL>
|
---|
491 |
|
---|
492 | <P>Projects for Apple's Project Builder environment, which is no longer supported
|
---|
493 | under Mac OS X 10.3, are provided but may be out of date. You may need to add or
|
---|
494 | delete files from the project in order to support changes in Xerces-C++. Please feel
|
---|
495 | free to submit patches against these projects If you care about the Project Builder
|
---|
496 | projects, and want to keep them up to date.
|
---|
497 | </P>
|
---|
498 |
|
---|
499 | </FONT></TD></TR></TABLE><BR>
|
---|
500 |
|
---|
501 | <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++ from the Mac OS X command line</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">
|
---|
502 |
|
---|
503 | <P>Support for Mac OS X command line builds is now included in the standard
|
---|
504 | "unix" Xerces-C++ build infrastructure.
|
---|
505 | </P>
|
---|
506 |
|
---|
507 | <UL>
|
---|
508 | <LI>In general, the Mac OS X command line build follows the generic unix
|
---|
509 | build instructions. You need to set your XERCESCROOT environment variable,
|
---|
510 | <CODE><FONT face="courier, monospaced">./runConfigure</FONT></CODE>, and <CODE><FONT face="courier, monospaced">make</FONT></CODE>. Be sure to heed warnings
|
---|
511 | under "special instructions" below regarding which tools must be used to unpack
|
---|
512 | archives: gnutar is your friend.
|
---|
513 | </LI>
|
---|
514 | </UL>
|
---|
515 |
|
---|
516 | <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>setenv XERCESCROOT "<xerces-c-directory>"
|
---|
517 | cd src/xercesc
|
---|
518 | ./runConfigure -p macosx -n native
|
---|
519 | make</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>
|
---|
520 |
|
---|
521 | <UL>
|
---|
522 | <LI>Similar instructions apply to build the samples and tests, though the
|
---|
523 | <CODE><FONT face="courier, monospaced">-n</FONT></CODE> flag is not used in these cases:
|
---|
524 | </LI>
|
---|
525 | </UL>
|
---|
526 |
|
---|
527 | <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 samples
|
---|
528 | ./runConfigure -p macosx
|
---|
529 | make</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>
|
---|
530 |
|
---|
531 | </FONT></TD></TR></TABLE><BR>
|
---|
532 |
|
---|
533 | <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>Special usage information for Xerces-C++ on the Macintosh</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">
|
---|
534 |
|
---|
535 | <P><B>Unpacking the tar archive</B></P>
|
---|
536 |
|
---|
537 | <P>It is extemely important to ensure that you retrieve and unpack the sources
|
---|
538 | with a tool that does not truncate file names. The command line gnutar utility on Mac
|
---|
539 | OS X will do the right thing; older versions of StuffIt truncate names to 31 characters as
|
---|
540 | they unpack tar archives, though versions >= 7.0.1 seem to work, at least on Mac OS X.
|
---|
541 | The command line tool tar will truncate path names that get too long; gnutar should be
|
---|
542 | used instead. Failure to heed these warnings will result in broken projects.
|
---|
543 | </P>
|
---|
544 |
|
---|
545 | <P><B>File Path Specification</B></P>
|
---|
546 |
|
---|
547 | <P>Apart from the build instructions, above, the most important note
|
---|
548 | about use of Xerces-C++ on the Macintosh is that Xerces-C++ expects
|
---|
549 | all filename paths to be specified in unix syntax. If running natively
|
---|
550 | under a Mac OS X system, this path will be the standard posix path as
|
---|
551 | expected by the shell. The easiest means of creating and interpreting these
|
---|
552 | paths will be through the routines <CODE><FONT face="courier, monospaced">XMLCreateFullPathFromFSRef</FONT></CODE>
|
---|
553 | and <CODE><FONT face="courier, monospaced">XMLParsePathToFSRef</FONT></CODE> as declared in the file
|
---|
554 | <CODE><FONT face="courier, monospaced">MacOSPlatformUtils.hpp</FONT></CODE>. <CODE><FONT face="courier, monospaced">FSSpec</FONT></CODE> variants of these
|
---|
555 | routines are also supplied.
|
---|
556 | </P>
|
---|
557 |
|
---|
558 | <P><B>Mac OS Version Compatibility</B></P>
|
---|
559 |
|
---|
560 | <P>Xerces-C++ requires that several key components of the Mac OS
|
---|
561 | be relatively up to date. It should be readily compatible with any system
|
---|
562 | above Mac OS 9.0. Compatibility with earlier systems may perhaps be achieved
|
---|
563 | if you can install appropriate components.
|
---|
564 | </P>
|
---|
565 |
|
---|
566 | <P>Required components are:
|
---|
567 | </P>
|
---|
568 |
|
---|
569 | <UL>
|
---|
570 | <LI>Unicode Converter and Text Encoding Converter. These provide the base
|
---|
571 | transcoding service used to support Xerces-C++ transcoding requirements.
|
---|
572 | </LI>
|
---|
573 |
|
---|
574 | </UL>
|
---|
575 |
|
---|
576 | <P>Optional components are:
|
---|
577 | </P>
|
---|
578 |
|
---|
579 | <UL>
|
---|
580 | <LI>URLAccess. Provides NetAccessor support to Xerces-C++ for use in
|
---|
581 | fetching network referenced entities. If URLAccess is not installed, any
|
---|
582 | such references will fail; the absence of URLAccess, however, will not
|
---|
583 | in itself prevent Xerces-C++ from running. If Xerces-C++ is
|
---|
584 | configured to use MacOSURLAccessCF, then URLAccess (and thus Carbon)
|
---|
585 | is not required, but CoreServices.framework is required for Mac OS X.
|
---|
586 | </LI>
|
---|
587 |
|
---|
588 | <LI>Multiprocessing library. Provides mutual exclusion support. Once again,
|
---|
589 | the routines will back down gracefully if Multiprocessing support is not
|
---|
590 | available.
|
---|
591 | </LI>
|
---|
592 |
|
---|
593 | <LI>HFS+ APIs. If HFS+ APIs are available, all file access is performed
|
---|
594 | using the HFS+ fork APIs to support long file access, and to support
|
---|
595 | long unicode compliant file names. In the absence of HFS+ APIs, classic
|
---|
596 | HFS APIs are used instead.
|
---|
597 | </LI>
|
---|
598 | </UL>
|
---|
599 | </FONT></TD></TR></TABLE><BR>
|
---|
600 | </FONT></TD></TR></TABLE><BR>
|
---|
601 | </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>
|
---|
602 | Copyright © 1999-2004 The Apache Software Foundation.
|
---|
603 | All Rights Reserved.
|
---|
604 | </I></FONT></TD></TR></TABLE></BODY></HTML> |
---|