On Thu, 23 Mar 2000, Thomas Roell wrote:

> That is what we are actually doing. But more for the reason that 
> glext.h needs always types from gl.h. Especially since some extensions
> are defined in gl.h.
 
Perhaps we should attempt to reach closure on this one?

So, to summarize - it seems like there are five options
on the table here:

1) Require oglbase apps to #include both gl.h and glext.h
   gl.h does NOT include glext.h
   glext.h may or may not include gl.h  (it needs GLint,etc
   so it probably should)

     * This would work with what Mesa/XFree86 4.0.0 does.
     * It would work also with XiG.
     * External configuration stuff must determine
       if this is an oglbase compliant OpenGL.
     * Legacy code compiles OK.

2) Require oglbase apps to #include both gl.h and glext.h
   gl.h does NOT include glext.h
   gl.h defines the symbol GL_HAS_GLEXT
   glext.h may or may not include gl.h (it needs GLint,etc
   so it probably should)

     * This is what Mesa/XFree86 4.0.0 assumes.
     * Dunno if XiG defines the GL_HAS_GLEXT token yet.
     * It's easy to tell if this is an oglbase
       compliant OpenGL.
     * Legacy code compiles OK.

3) Require oglbase apps to #include only glext.h
   gl.h does NOT include glext.h
   glext.h must include gl.h

     * This works with XiG.
     * We'd have to change Mesa's glext.h and suffer
       the consequences for the transition period
       between XFree86 4.0.0 and 4.0.1 or whenever
       is the next opportunity to change Mesa's glext.h
     * External configuration stuff must determine
       if this is an oglbase compliant OpenGL.
     * Legacy code compiles OK.

4) Require oglbase apps to #include only gl.h
   gl.h must include glext.h
   libGL.so must contain 'enough' dummy functions
   for extensions that it does not support to enable
   legacy and newly ported applications to link.

      * This won't work for either Mesa/XFree86 OR XiG
        right now since neither includes glext.h from gl.h.
      * There are 'issues' about keeping
        libGL.so up to date and consistant.
      * There is still a possiblity of a newly ported
        program failing to link - but most legacy apps
        should be OK if we are careful with libGL.so.

5) Require oglbase apps to #include only gl.h
   gl.h must include glext.h
   libGL.so need not contain dummy functions for extensions
   it doesn't implement.

      * This won't work for either Mesa/XFree86 OR XiG
        right now since neither includes glext.h from gl.h.
      * Existing legacy apps and newly ported apps
        will have to be edited (or at least have their
        Makefiles hacked) in order to compile - even if
        they are legitimate OpenGL programs.
      * Everything MUST be oglbase compliant or it
        probably won't compile.


My Opinions:
~~~~~~~~~~~~

I somewhat prefer (1).

I can live with (2) - it's quite bearable.

I can live with (3) - although life could
   be painful for a while with Xfree 4.0.0
   and SuSE 6.4.

I really don't think (4) makes good sense,
   but I could just about live with it if
   it's written into the spec and signed in
   blood.

I strenuously object to (5) - it sucks IMHO.


Conclusions:
~~~~~~~~~~~~

This seems to be largely a matter of taste and current_practice.
So - how do we decide this?

Steve Baker                      (817)619-2657 (Vox/Vox-Mail)
L3Com/Link Simulation & Training (817)619-2466 (Fax)
Work: [EMAIL PROTECTED]            http://www.hti.com
Home: [EMAIL PROTECTED]       http://web2.airmail.net/sjbaker1

Reply via email to