>>Before submitting the changes, how about just giving everyone a discussion
>>of what was required to make it work. This would give us a chance to
>>comment on what you've done and, if we feel something needs to be changed
>>before accepting it, that you can make those changes and test them out
>>before submitting.

Sorry for the lack of info in the original post. I was none too sure what the
protocol was and didn't want to bombard the list with a very lengthy (and
probably unwanted) initial posting. (Takes a deep breath, here goes ...)

The Tru64 port is currently being hosted on an AlphaServer 4100 5/400 running
Digital Unix/Compaq Tru64 V4.0f (Rev 1229) with 2048Mb of physical memory.

The latest version of Xerces-C was used (1.1.0).

The build environment consists of :-
Compaq C++ V6.2-024 for Digital Unix V40.f 
GNU Make V3.77
GNU autoconf V2.13
GNU m4 V1.4

1) Compiler Support

Created src/util/Compilers/DECCXXDefs.hpp and DECCXXDefs.cpp
        Standard typedefs for XMLCh et al, plus implementation of stricmp &
        strnicmp.

2) Platform Support

Created src/util/Platform/Tru64/Tru64Defs.hpp and Tru64PlatformUtils.cpp
        Defines ENDIANMODE_LITTLE (Tru64Defs.hpp) and the required Platform
        utilities. I based these on the Solaris version; the only major change
        required was to base XMLPlatformUtils::getCurrentMillis () on the use
        of clock_gettime (CLOCK_REALTIME, &) rather than ftime which requires
        _XOPEN_SOURCE_EXTENDED to be defined and thus messes up thread support.

3) Overall XML and Autosense Support

Modified src/util/XML4CDefs.hpp
        Includes Tru64Defs.hpp and DECCXXDefs.hpp if XML_TRU64 is defined.

  Modified src/util/AutoSense.hpp
        Defines XML_TRU64 if __alpha and __osf__ are defined.
        Defines XML_DECCXX is XML_TRU64 and __DECCXX are defined.

4) Makefile Changes

Modified src/util/Platforms/Makefile.in
        Added macro definitions for SUBMODULE, CPP_PUBHEADERS and CPP_OBJECTS
        if the PLATFORM macro is set to TRU64

Modified src/util/Compilers/Makefile.in
        Added DECCXXDefs.hpp to CPP_PUBHEADERS macro
        Added macro definition for CPP_OBJECTS if CXX macro is set to cxx
        and the PLATFORM macro is set to TRU64.

Modified src/Makefile.incl
        Added compiler options if the PLATFORM macro is set to TRU64. The main
        additional compiler switch required was to create a (hidden) template
        instantiation directory ($XERCESCROOT/.cxx_repository using the -ptr
        switch. Other macro definition are as for Solaris.

Modified src/configure.in
        Added trapping of *-*-osf* and setting the PLATFORM macro to TRU64
        when checking for the host type.

Modified src/runConfigure
        Added support for -p tru64 and -x cxx.

5) Building

With the above changes in place I built the system as follows

$ make distclean
$ autoconf
$ ./runConfigure -ptru64 -ccc -xcxx -minmem -nfileonly -tnative
$ make
$ make install

6) Samples

Modified samples/runConfigure, configure.in and Makefile.incl.
        As discussed above.

>>On the subject of the mixed signed/unsigned stuff, yes those are being
>>removed as time goes by. I think that most of them are gone in the current
>>code base. And, BTW, what code base have you been working against? We'd
  >>definitely want any submitted changes to be against the most recent code
>>base.

For the code base stuff see right at the top of this post.

These are the source/header files that DEC CXX got stroppy about.

Signed/unsigned integer conversions and pointless comparisons
IConvTransService.cpp
XMLScanner2.cpp
XMLValidator.cpp
DOMString.cpp
NodeVector.cpp
TextImpl.cpp
CMNode.hpp
CMLeaf.hpp
DFAContentModel.cpp

Unreachable statements:
XMLReader.cpp
XMLScanner2.cpp
NamedNodeMapImpl.cpp
DTDValidator2.cpp

Let me know what you think.

All the best

Gary

--
Gary Gale                               Mail: [EMAIL PROTECTED]
UK Server Group                         Phone: +44 (0) 171 542 8814
Factiva, A Dow Jones & Reuters Company  Web: www.factiva.com

Reply via email to