On 11/13/2015 12:50 PM, Kyle Brenneman wrote:
On 10/08/2015 12:29 PM, Emil Velikov wrote:
On 06/10/15 20:58, Kyle Brenneman wrote:
On 10/06/2015 12:43 PM, Emil Velikov wrote:
On 6 October 2015 at 16:39, Kyle Brenneman<kbrenne...@nvidia.com>  wrote:
On 10/06/2015 07:34 AM, Emil Velikov wrote:
Hello Kyle,

A few questions/points of discussion:

   * What is your take on having a libglvnd 'package', which provides
the headers (and maybe other materials), apart from the libraries ?
I'm basically thinking about OpenGL.h, GLX.h, etc for programs that
wish to use new ABI, and glvnd{Foo,Bar}.h which mesa and other GL
implementations.
I haven't looked much into packaging yet. I'm open to any suggestions that
might make that easier, though.

One thing that I'm planning to do but haven't gotten to yet is to move the
public headers into a separate directory. There's a couple of header files
(libglxabi.h and GLdispatchABI.h) that are intended to be used by vendor
library implementations, and the other headers are all internal.

The headers that you'd use for compiling an application (gl.h, glx.h, etc.)
could easily go into a separate package, too.

By 'packaging' I meant that the relevant files are available after
`make install'. Currently for GLdispatchABI.h and others that's not
the case. We can leave it up-to the distributions to manage the actual
packages (if in doubt a document to guide them), but we can make sure
that the files (including pkg-config and cmake ones, separate set for
user/developer) are there.
The 'make install' command currently doesn't do anything with the
regular GL headers. I would expect that if someone's building an OpenGL
application, then they've probably already installed some version of the
GL headers separately. Still, I could probably add a configure option or
something to include them.

Pretty much what I was wondering. Mostly as I've noticed that the
official Nvidia driver has started shipping some headers which clash
with mesa ones :'( Perhaps the AMD proprietary driver ships some as well ?

Including the public ABI headers in a "make install" does sound like a
good idea. Maybe put them next to the normal GL headers, or under a
GLVND subdirectory?
A separate location sounds better imho. Then again this information will
be made available via the .pc .cmake files. People that don't use them
can hardcode thing as needed :)

[snip]
I agree that a separate directory from the other GL headers would be best. I'm leaning toward putting the libglvnd headers into a sibling directory to the GL headers, probably /usr/include/GLVND.

Putting them in a subdirectory under GL (/usr/include/GL/GLVND) would also be an option. But eventually, libglvnd will have an EGL header there as well, and putting that under /usr/include/GL seems less appropriate.

Does that sound like a good place for them?

Does anyone have any thoughts or opinions on this?

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to