I ran into some
minor problems while trying to compile Xalan-C 1.2 on MSVC 6 using STLPort 4.0.
The problems were most likely related to my particular configuration of STLPort,
however IMHO, the changes would make the Xalan source code more portable
(although marginally) across STL
implementations/configurations.
My particular
problems were seen in the following files:
XSLT/NamespacesHandler.cpp (lines 111 and 120)
XSLT/OutputContextStack.cpp (lines 108 and 134)
XSLT/ResultNamespacesStack.cpp (line 179)
XSLT/StylesheetHandler.cpp (lines 1870 and 1873)
PlatformSupport/ArenaAllocator.hpp (line 201)
PlatformSupport/ReusableArenaAllocator.hpp (lines 135 and
178)
The problem was
always related to using the operator != for comparing STL iterators. Changing
this to (IMHO more portable) !(x == y) fixed my problems.
I was wondering what
the opinions of the Xalan dev community were regarding such issues with STL
compatibility and what, if anything, should be done to address these. My comment
is biased totally towards not having to modify Xalan source code when I get a
fresh release in order to compile it for my uses :-)
Also, the reason I
recompiled Xalan was to turn off the STD allocators which were causing trouble
in my case when mixed with (my configuration of) STLPort
4.0.
Thanks,
Samar
