[Mesa-dev] Can --enable-shared-glapi die?

Kenneth Graunke kenneth at whitecape.org
Mon Jul 23 15:15:00 PDT 2012

On 07/23/2012 12:59 PM, Ian Romanick wrote:
> Perhaps someone can refresh my memory as to what exactly this option
> does?  Can we make this the default and remove the option from configure?

The --enable-shared-glapi option allows programs to use both libGL.so
and libGLESv2.so without zillions of conflicting linker symbols.  IIRC
it basically extracts the API dispatch stuff into libglapi.so and makes
both libraries depend on a single copy.

I'm failing at email archaeology, but I know we've talked about this
before.  I believe Chia-I said he thought it would be a good idea to
make it the default, but essentially left the option as a chicken bit,
in case it didn't work in all situations.

It looks like Matt Turner, Jon Turney, and Homer Hsing also approved of
the change.  Somebody had a patch but I can't find it now.

The only trouble I know about is that if your libglapi gets out of sync
with your libGL/libGLES, all hell breaks loose: glCompileShader gets
routed to glLinkProgram and so on.  Apps fail in spectacular ways.  But
as long as you keep them in sync (and it's not hard), then it works fine.

I'm all for making shared-glapi mandatory.  People who care about GLES
will want it (and thus distros would want it), there's no real downside,
and reducing the number of configurations would be great.

More information about the mesa-dev mailing list