You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2001/10/21 10:50:45 UTC

DO NOT REPLY [Bug 4308] New: - Broken detection of endianness

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4308>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4308

Broken detection of endianness

           Summary: Broken detection of endianness
           Product: XalanC
           Version: 1.2.x
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: XalanC
        AssignedTo: xalan-dev@xml.apache.org
        ReportedBy: nick@technisys.com.ar


Xalan currently tries to detect endianness with an ugly mess of define checking.
And this system gives the wrong result on certain Linux platforms. I am Debian
maintainer for Xalan and had to fix it.

It's very easy, since autoconf already have support for this.

Just add:

[...]
# Determine endianness
AC_C_BIGENDIAN
[...]

...to configure.in.

Then in GCCDefinitions.hpp you do:

#if defined(WORDS_BIGENDIAN)
#define XALAN_BIG_ENDIAN
#else
#define XALAN_LITLE_ENDIAN
#endif

... of course, you'll need to have the define from configure here, so I did this:

I've added to GCCDefinitions.hpp this at the top:
#include <Include/xalan-config.h>

...and added this to configure.in:

AC_CONFIG_HEADER(Include/xalan-config.h)