You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@xerces.apache.org by Matthew Baker <Ma...@gmd.de> on 2000/03/29 10:09:44 UTC

IRIX changes so far (somewhat long)

Re compiling on IRIX, shall I get the ball rolling then by submitting my
changes.

I'm using the MIPSpro version 7.3.1.1m compiler on an Octane running IRIX
6.5.  I am compiling the binaries as n32.  One of the target machines for
my project is an Origin on which binaries will be 64-bit so in time I'll
be able to test that too.

Attached are diffs for the following files:

src/Makefile.incl
src/runConfigure
src/util/PlatformUtils.hpp
src/util/Platforms/IRIX/IRIXPlatformUtils.cpp
samples/Makefile.incl
samples/runConfigure

I think that's all I changed.  Here is a summary:

src/Makefile.incl
-----------------
There is an extra target for .cpp.o already in Makefile.incl for IRIX,
presumably so that the linker can find the ii_files directory that CC
generates.  I changed it slightly because it wasn't working for files
nested more deeply that one directory within src.

src/runConfigure
----------------
Added an 'irix' target so that runConfigure would execute :) In order
to compile for non-default ABIs, I use the -z option, eg -z-n32.  This
sets $compileroption in runConfigure but this variable doesn't seem to get
added to the CFLAGS and CXXFLAGS, so I corrected this.

src/utils/PlatformUtils.hpp
---------------------------
IRIXPlatformUtils.cpp defines some methods of PlatformUtils for which
there are no declarations in PlatformUtils.hpp.  Also a static variable.
I don't quite understand this, as the same methods are implemented for
other architectures, eg Solaris.  Why does it compile for them?  I got an
error, so I added the declarations to PlatformUtils.hpp.  This might break
the compilation on other architectures if their PlatformUtils.cpp doesn't
implement them.  Maybe someone can propose a better solution.

src/util/Platforms/IRIX/IRIXPlatformUtils.cpp
---------------------------------------------
Added support for ABIs other than o32 (ie library path env variable),
defined the static data member added to PlatformUtils.hpp (see above),
implemented some missing methods (for the most part by copying the Solaris
code).  I kept my changes minimal because I don't really understand Xerces
yet.  Someone else may have more appropriate changes to this file.

samples/Makefile.incl
---------------------
Added IRIX target definitions.  They were in src/Makefile.incl but seemed
not to be in samples/Makefile.incl.

samples/runConfigure
--------------------
Added the 'irix' target.  Also added the -z flag as I needed it to compile
for non-default ABIs.

It compiles, links, doesn't give me any missing symbol or duplicate symbol
errors, and runs the small number of test programs I tried.

I haven't tried compiling with gcc (gcc doesn't work very well here) so
the gcc stuff I added to samples/Makefile.incl is possibly wrong :)

I look forward to hearing any feedback from the other IRIX users.

Cheers,
Matthew

--
Dr. Matthew Baker           matthew.baker@gmd.de
GMD - FIT.MMK               http://fit.gmd.de/hci/pages/matthew.baker.html