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