<AWT Dev> 6839999: Cumulative fix for 6762511 and 6838003

Kelly O'Hair Kelly.Ohair at Sun.COM
Wed Jun 17 17:15:34 UTC 2009


Well, I'm not a member of the awt team, so I suspect you should
check with them. It does seem to be a pretty specific awt change.

-kto


Andrew John Hughes wrote:
> 2009/6/17 Kelly O'Hair <Kelly.Ohair at sun.com>:
>>
>> Anthony Petrov wrote:
>>> So, build-dev,
>>>
>>> Any opinions? Can we make sure the header is always present on Sol10u2?
>> I'm very much ok with this change. I hate copying system include stuff.
>>
>> We could add a specific sanity check, but my preference would to not,
>> Too many sanity checks as it is... :^(
>>
>> At some point I would rather change many of the sanity checks to just
>> simpler verifications that packages have been installed on a system.
>> Seems like an easier way to go.
>>
>> We could change the OS version check to look for Solaris 10u2, but
>> I'm not exactly sure how to do that right off the top of my head.
>> No 'uname' option to tell ne it's Solaris 10 Update 2. :^(
>> I gues we would have to grok it out of /etc/release. :^(
>>
>>> Perhaps we could add it to the requirements list for building OpenJDK?
>> That's fine with me. The README-builds.html file just needs to be adjusted.
>>
>> -kto
>>
> 
> So should I push the original webrev
> http://fuseyism.com/xrender/webrev.01/ (which uses the standard header
> instead) to the awt gate?
> 
>>> --
>>> 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