<AWT Dev> 6839999: Cumulative fix for 6762511 and 6838003
Anthony Petrov
Anthony.Petrov at Sun.COM
Wed Jun 17 14:29:11 UTC 2009
So, build-dev,
Any opinions? Can we make sure the header is always present on Sol10u2?
Perhaps we could add it to the requirements list for building OpenJDK?
--
best regards,
Anthony
On 06/16/2009 07:25 PM, Anthony Petrov wrote:
> On 06/16/2009 07:21 PM, Andrew John Hughes wrote:
>>>>> Is it really necessary to include a chunk of the header file rather
>>>>> than just doing a #include? If so, may I suggest that the block is
>>>>> dependent on _XRENDER_H_ not being defined?
>>> The header may be absent on Solaris 10 U2 which is now a supported
>>> platform
>>> for building JDK. This was the primary reason to cut'n'paste the
>>> chunk of
>>> code from the xrender header. I think the best solution would be to
>>> wrap the
>>> "imported" chunk of code with the proper #ifdef statement for now.
>>> Can you
>>> make a patch please?
>>>
>>
>> I did:
>>
>> http://fuseyism.com/xrender/webrev.02/
>>
>> Unfortunately, it isn't sufficient. gcc seems to include awt_p.h
>> first, so that when the XRender header is included, it again redefines
>> the structures.
>> I tried also defining _XRENDER_H_ in awt_p.h, but of course because
>> this is not the whole of the header, the XRender pipeline code then
>> fails to compile:
>>
>> In file included from
>> ../../../src/solaris/native/sun/java2d/x11/X11SurfaceData.h:34,
>> from
>> ../../../src/solaris/native/sun/java2d/x11/X11TextRenderer_md.c:31:
>> ../../../src/solaris/native/sun/java2d/x11/MaskBuffer.h:45: error:
>> expected specifier-qualifier-list before 'Picture'
>> ../../../src/solaris/native/sun/java2d/x11/MaskBuffer.h:87: error:
>> expected declaration specifiers or '...' before 'Picture'
>> In file included from
>> ../../../src/solaris/native/sun/java2d/x11/X11SurfaceData.h:35,
>> from
>> ../../../src/solaris/native/sun/java2d/x11/X11TextRenderer_md.c:31:
>> ../../../src/solaris/native/sun/java2d/x11/XRSurfaceData.h:46: error:
>> expected specifier-qualifier-list before 'Picture'
>> ../../../src/solaris/native/sun/java2d/x11/XRSurfaceData.h:64: error:
>> expected '=', ',', ';', 'asm' or '__attribute__' before 'color_black'
>> ../../../src/solaris/native/sun/java2d/x11/XRSurfaceData.h:67: error:
>> expected ')' before 'mask'
>> In file included from
>> ../../../src/solaris/native/sun/java2d/x11/X11SurfaceData.h:35,
>> from
>> ../../../src/solaris/native/sun/java2d/x11/X11TextRenderer_md.c:31:
>> ../../../src/solaris/native/sun/java2d/x11/XRSurfaceData.h:73: error:
>> expected declaration specifiers or '...' before 'XRenderColor'
>> ../../../src/solaris/native/sun/java2d/x11/XRSurfaceData.h:76: error:
>> expected declaration specifiers or '...' before 'XRenderColor'
>> In file included from
>> ../../../src/solaris/native/sun/java2d/x11/X11TextRenderer_md.c:31:
>> ../../../src/solaris/native/sun/java2d/x11/X11SurfaceData.h:118:
>> error: expected specifier-qualifier-list before 'Picture'
>> make[6]: ***
>> [/mnt/builder/icedtea/openjdk-ecj/build/linux-amd64/tmp/sun/sun.awt.X11/xawt/obj64/X11TextRenderer_md.o]
>>
>> Error 1
>>
>> As the XRender pipeline will be a feature of JDK7
>> (http://openjdk.java.net/projects/jdk7/features/), I think support for
>> UNIX platforms without it, such as Solaris 10 U2, will have to be
>> dropped for 7.
> This is a question to discuss on the build-dev mailing list (CC'ed).
> Any tips?
>
> --
> best regards,
> Anthony
>
>
>>
>>> --
>>> best regards,
>>> Anthony
>>>
>>>> Here's a webrev that fixes it by just using the xrender header:
>>>>
>>>> http://fuseyism.com/xrender/webrev.01/
>>>>
>>>> It does mean the header has to be available at build time, but dlsym
>>>> is still used to make it optional at runtime.
>>>> Given the XRender project is going to be merged at some point anyway,
>>>> this hardly seems like a huge sacrifice.
>>>>
>>>> Ok to commit?
>>
>>
>>
More information about the build-dev
mailing list