[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