>> 2.4.1. Include [ header ] files.
>>
>> Public Apache header files which are generated at ./configure time
>> will be merged to include both 32- and 64-bit definitions. The
>> differences between 32- and 64-bit datatypes will be guarded
>> either via the _LP64 macro, or via the appropriate ISA macros:
>>
>> #if defined(_LP64)
>> #define APR_SIZEOF_VOIDP 8
>> #else
>> #define APR_SIZEOF_VOIDP 4
>> #endif
>>
>> #if defined(__sparcv9)
>> #define APR_IS_BIGENDIAN 1
>> #else
>> #define APR_IS_BIGENDIAN 0
>> #endif
>>
>
> __sparcv9 is defined only for 64-bit builds, it is not defined for 32-bit
> builds.
>
> #ifdef guarding on __sparcv9 only will result on (APR_IS_BIGENDIAN == 0) for
> 32-bit sparcv8 builds.
>
> the correct #ifdef guard should be:
>
> #if defined(__sparc) || defined(__sparcv9)
> /* ... */
> #endif
But, is BIGENDIAN (or the BYTE_ORDER) bitness specific ?
Both 32 -bit and 64-bit apr.h header files on sparc have
#define APR_IS_BIGENDIAN 1
and on x86 have
#define APR_IS_BIGENDIAN 0
So, there is no need for "#ifdef " for APR_IS_BIGENDIAN.
-- Seema.