[OpenJDK 2D-Dev] _LITTLE_ENDIAN

Roman Kennke Roman.Kennke at Sun.COM
Tue Jun 23 21:51:00 UTC 2009


Hi,

> Someone would need to make darn sure that ALL uses of the old
> name have been changed. I counted 362 references to this variable
> in the openjdk7 repositories, I assume a similar number in openjdk6.
> The closed jdk sources have an additional 13 references to this
> _LITTLE_ENDIAN name Sun would need to change too.
> 
> Do you really want to change 362+ lines for this name change?

Surely not. I haven't counted and I blindly assumed we talk about lcms 
only here. Sorry. In this case I would revert to #undef _LITTLE_ENDIAN 
or -U_LITTLE_ENDIAN on platforms that do crazy stuff. No code changes 
needed then...

/Roman

> 
> -kto
> 
> 
> Roman Kennke wrote:
>> Hi,
>>
>> first of all, I think this is a LCMS problem, so we should think about 
>> how to fix this _upstream_, otherwise we end up maintaining a patched 
>> version of lcms *shudder*.
>>
>> Then I don't think it's a good idea to depend on such 'internal' 
>> defines. One OS defines or not _LITTLE_ENDIAN, others (like VxWorks) 
>> define it either as 0 or 1, depending on the systems, even others 
>> don't care and define __LITTLE_ENDIAN or whatever. IMO, a better way 
>> to solve this is to make LCMS check LCMS_LITTLE_ENDIAN, and define it 
>> somewhere. Configure based builds would figure this out when running 
>> configure. OpenJDK would set this in the files mentioned below, 
>> instead of setting _LITTLE_ENDIAN. AFAICS, this is the only way to 
>> make sure we don't conflict with any internal settings of some OS 
>> include or compiler.
>>
>>> For better or worse, there seems to be
>>> ./common/Defs-linux.gmk:CFLAGS_REQUIRED_amd64   += 
>>> -fno-omit-frame-pointer -D_LITTLE_ENDIAN
>>> ./common/Defs-linux.gmk:CFLAGS_REQUIRED_i586    += 
>>> -fno-omit-frame-pointer -D_LITTLE_ENDIAN
>>> ./common/Defs-linux.gmk:CFLAGS_REQUIRED_ia64    += 
>>> -fno-omit-frame-pointer -D_LITTLE_ENDIAN
>>> ./common/Defs-solaris.gmk:  # The macro _LITTLE_ENDIAN needs to be 
>>> defined the same to avoid the
>>> ./common/Defs-solaris.gmk:  #   Sun C compiler warning message: 
>>> warning: macro redefined: _LITTLE_ENDIAN
>>> ./common/Defs-solaris.gmk:  CPPFLAGS_COMMON +=  -DcpuIntel 
>>> -D_LITTLE_ENDIAN= -D$(LIBARCH)
>>> ./common/Defs-windows.gmk:CPPFLAGS_COMMON = -DWIN32 -DIAL 
>>> -D_LITTLE_ENDIAN
>>> ./netbeans/awt2d/README:    D3D_OVERLOADS; UNICODE; _UNICODE; WIN32; 
>>> IAL; _LITTLE_ENDIAN; WIN32; _X86_;
>>
>>
>> /Roman




More information about the build-dev mailing list