[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