<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 10/08/2015 12:29 PM, Emil Velikov wrote:<br>
    <blockquote cite="mid:5616B625.1050608@gmail.com" type="cite">
      <pre wrap="">On 06/10/15 20:58, Kyle Brenneman wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">On 10/06/2015 12:43 PM, Emil Velikov wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">On 6 October 2015 at 16:39, Kyle Brenneman <a class="moz-txt-link-rfc2396E" href="mailto:kbrenneman@nvidia.com"><kbrenneman@nvidia.com></a> wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="">On 10/06/2015 07:34 AM, Emil Velikov wrote:
</pre>
            <blockquote type="cite">
              <pre wrap="">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.
</pre>
            </blockquote>
            <pre wrap="">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.

</pre>
          </blockquote>
          <pre wrap="">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.
</pre>
        </blockquote>
        <pre wrap="">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.

</pre>
      </blockquote>
      <pre wrap="">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 ?

</pre>
      <blockquote type="cite">
        <pre wrap="">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?
</pre>
      </blockquote>
      <pre wrap="">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]
</pre>
    </blockquote>
    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.<br>
    <br>
    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.<br>
    <br>
    Does that sound like a good place for them?<br>
  </body>
</html>