[Mesa-dev] [PATCH 1/2] configure: error out of building GBM without dri

Emil Velikov emil.l.velikov at gmail.com
Fri May 9 17:50:26 PDT 2014


On 09/05/14 23:14, Kenneth Graunke wrote:
> On 05/05/2014 02:09 PM, Emil Velikov wrote:
>> Both backends require --enable-dri, and building an empty libgbm
>> makes little to no sense. Error out at configure to prevent the
>> user from shooting themselves in the foot.
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78225
>> Cc: "10.1 10.2" <mesa-stable at lists.freedesktop.org>
>> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
>> ---
>>
>> Strictly speaking, not crucial for mesa-stable, although it
>> will be nice to have. I do not feel too strong either way.
>>
>> -Emil
>>
>>  configure.ac | 7 +++++++
>>  1 file changed, 7 insertions(+)
>>
>> diff --git a/configure.ac b/configure.ac
>> index e77ed77..371c17f 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -1179,6 +1179,13 @@ if test "x$enable_gbm" = xyes; then
>>          if test "x$enable_shared_glapi" = xno; then
>>              AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
>>          fi
>> +    else
>> +        # Strictly speaking libgbm does not require --enable-dri, although
>> +        # both of its backends do. Thus one can build libgbm without any
>> +        # backends if --disable-dri is set.
>> +        # To avoid unnecessary complexity of checking if at least one backend
>> +        # is available when building, just mandate --enable-dri.
>> +        AC_MSG_ERROR([gbm requires --enable-dri])
>>      fi
>>  fi
>>  AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes)
>>
> 
> Sounds good to me - thanks Emil!
> 
> Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
> 
> (I didn't look at patch 2, since I know approximately 0 about the
> Gallium llvm and xatracker stuff.)
> 
In case you're interested here is a five line summary (wrt final libraries):

XA recently got the ability (via gallium/aux module) to load individual pipe
drivers and their respective winsys, with the latter two built into a shared
library worth ~5MiB (for each driver). Roughly speaking one can relate them to
libGL and *_dri.so + unstable interface. LLVM is used all over the place. When
static linked, our libraries inherit all of its exported symbols - fun.

Thanks for sticking until the end :)
Emil



More information about the mesa-dev mailing list