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

Emil Velikov emil.l.velikov at gmail.com
Fri Apr 15 18:07:30 UTC 2016


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 ?

> installed.

Please add the following to the commit message (and any r-b, acked-by... tags)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94086

> ---
>  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