[Mesa-dev] mesa: don't install GLX files if GLX is not built

Emil Velikov emil.l.velikov at gmail.com
Thu Jul 7 10:11:32 UTC 2016

[Adding back mesa-dev]

Hi Akihiko Odaki

Before anything, let me say a couple of things about DRI.
The DRI interface is an abstraction layer where you have winsys
(GLX/EGL/other) agnostic DRI module and different DRI loaders, each
implementing different winsys' API. Thus DRI modules do/should not
have any GLX/EGL/other dependencies.

As the location suggests, the file is not meant for developers using
GL/GLX/..., but it's an internal interface. This way loaders/modules
living outside of the mesa tree can reuse it. One such example is the
loader is xserver.

On 7 July 2016 at 00:38, Akihiko Odaki <akihiko.odaki.4i at stu.hosei.ac.jp> wrote:
> I forgot to note that other GL header files are included by the internal DRI
> files.
The dri_interface.h file includes only drm.h afaict, due to historical
reasons. For ease of use (development) the DRI modules can reuse
numerical values from GL/GLES.

> But they are not necessary when developing softwares and some of them
> don't work as expected if the installation lacks GLX.
Yes, as mentioned above - DRI is internal and not something meant for
GL/GLES/EGL/... developers.

>> I assumed the header files in GL/internal are not supposed to be
>> included by users directly, but they can be included by other public
>> header files. If so, GL/internal/dri_interface.h is not necessary to be
>> installed since it is not included by such headers.
>> But, after recieving your email I investigated again to find that
>> GL/internal/dri_interface.h is not included even if GLX is enabled. Now
>> I'm not sure what is the expected usage of GL/internal/dri_interface.h.
>> Should it be installed anyway?
Yes it should. Unfortunately one cannot know whether the
header/interface will be used, during mesa build/install stage.
If you know it's not needed, feel free to nuke it.


More information about the mesa-dev mailing list