2009/6/17 Kelly O'Hair <kelly.oh...@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?
>>>>
>>>>
>>>>
>



-- 
Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8

Reply via email to