[Mesa-dev] [PATCH] glx: Refactor the configure options for glx implementation choice

Brian Paul brianp at vmware.com
Fri Apr 15 18:28:16 UTC 2016


On 04/15/2016 12:07 PM, Emil Velikov wrote:
> On 15 April 2016 at 16:36, Chuck Atkins <chuck.atkins at kitware.com> wrote:
>> Instead of cascading support for various different implementations of
>> GLX, all three options are now specified through the --enable-glx
>> option:
>>
> Bth having the single switch looks a lot cleaner imho. Wondering if
> one shouldn't use --with-glx as this is the strange we handle non
> "yes/no" kind of things in mesa.
>
> I'm leaning that's a bad idea since people already use --enable-glx
>
>>    --enable-glx=dri          : Enable the DRI-based GLX
>>    --enable-glx=xlib         : Enable the classic Xlib-based GLX
>>    --enable-glx=gallium-xlib : Enable the gallium Xlib-based GLX
>
>>    --enable-glx[=yes]        : Defaults to dri if DRI is enabled, else
>>                                gallium-xlib if gallium is enabled, else
>>                                xlib
> This final option changes things in a subtle way although I doubt it
> will cause any issues in reality.
>
>> This removes the --enable-xlib-glx option and fixes a bug in which both
>> the classic xlib-glx and gallium xlib-glx implementations were getting
>> built causing differnt versioned and conflicting libGL libraries to be
> "differently versioned", although I'm not sure why it was done in such
> a way to begin with.
>
> Brian is it so allow easy access to the library in $top_builddir/lib
> or there is more to it ?

Having the top-level lib/ directory is definitely a convenience.  But 
I'm not sure I know what you're asking.

-Brian


>
>> installed.
>
> Please add the following to the commit message (and any r-b, acked-by... tags)
> Bugzilla: https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.freedesktop.org_show-5Fbug.cgi-3Fid-3D94086&d=BQIBaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=T0t4QG7chq2ZwJo6wilkFznRSFy-8uDKartPGbomVj8&m=AoePNe_JPkc2d_iac0B2nvn3KkDTMiSXdvEInWIaKEg&s=kc8bbdi7-Wb-5hCHt94mc77yXTRh2e_Dp6jVuHscp04&e=
>
>> ---
>>   configure.ac            | 108 +++++++++++++++++++++++++-----------------------
>>   src/gallium/Makefile.am |   2 +-
>>   src/mesa/Makefile.am    |   2 +-
>>   3 files changed, 59 insertions(+), 53 deletions(-)
>>
>> diff --git a/configure.ac b/configure.ac
>> index 8c82c43..090b7af 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -858,8 +858,8 @@ AC_ARG_ENABLE([dri3],
>>       [enable_dri3="$enableval"],
>>       [enable_dri3="$dri3_default"])
>>   AC_ARG_ENABLE([glx],
>> -    [AS_HELP_STRING([--enable-glx],
>> -        [enable GLX library @<:@default=enabled@:>@])],
>> +    [AS_HELP_STRING([--enable-glx[=dri|xlib|gallium-xlib]],
>> +        [enable the GLX library and choose an implementation
>> @<:@default=dri@:>@])],
>>       [enable_glx="$enableval"],
>>       [enable_glx=yes])
> "enable_glx=dri" to reflect the help string.
>
>
>> +    # Check individual dependencies
>> +    case "x$enable_glx" in
>> +    xdri)
>> +        if test "x$enable_dri" = xno; then
>> +            AC_MSG_ERROR([DRI-based GLX requires DRI to be enabled])
>> +        fi
>> +        ;;
>> +    xxlib | xgallium-xlib )
>> +        if test "x$enable_dri" = xyes; then
>> +            AC_MSG_ERROR([Xlib-based GLX cannot be built with DRI enabled])
>> +        fi
> As the user can explicitly request gallium-xlib, in which case we
> should check for test -n "$with_gallium_drivers".
>
>> +        ;;
>> +    esac
>> +    ;;
>> +xno)
>> +    ;;
>> +*)
>> +    AC_MSG_ERROR([Illegal value for --enable-dri: $enable_dri])
> Typos s/dri/glx/
>
>
>> @@ -1546,7 +1549,8 @@ if test -n "$with_dri_drivers"; then
>>   fi
>>
>>   AM_CONDITIONAL(NEED_MEGADRIVER, test -n "$DRI_DIRS")
>> -AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \
>> +AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_glx" = xxlib -o \
>> +                                  "x$enable_glx" = xgallium-xlib -o \
> I think that we don't need libmesa for the gallium one. Did you try
> building without it ?
>
> Thank again for untangling this Chuck !
> Emil
>



More information about the mesa-dev mailing list