[Mesa-dev] [Mesa-stable] [PATCH 1/5] wayland-egl: allow shipping the library or not

Eric Engestrom eric.engestrom at intel.com
Tue Jun 5 15:38:57 UTC 2018


On Tuesday, 2018-06-05 16:24:59 +0100, Emil Velikov wrote:
> On 5 June 2018 at 16:07, Eric Engestrom <eric.engestrom at intel.com> wrote:
> > On Tuesday, 2018-06-05 15:14:30 +0100, Emil Velikov wrote:
> >> From: Emil Velikov <emil.velikov at collabora.com>
> >>
> >> Recently the wayland-egl library and pkg-config file were moved to the
> >> Wayland repository. With that a strange conflict came to be - which one
> >> should be used and when.
> >>
> >> The long term goal is to remove the Mesa copies, but with this patch we
> >> allow builders to explicitly select if they want it.
> >>
> >> Note: since the header (wayland-egl-backend.h) is now used by C++
> >> people, s/private/driver_private/ was applied.
> >>
> >> Cc: Eric Engestrom <eric.engestrom at intel.com>
> >> CC: 18.0 18.1 <mesa-stable at freedesktop.org>
> >> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> >> ---
> >>  configure.ac                            | 17 +++++++++++++++++
> >>  meson.build                             | 12 ++++++++++++
> >>  meson_options.txt                       |  6 ++++++
> >>  src/Makefile.am                         |  2 ++
> >>  src/egl/Makefile.am                     |  1 +
> >>  src/egl/drivers/dri2/platform_wayland.c | 12 ++++++++++++
> >>  src/egl/meson.build                     |  2 +-
> >>  src/meson.build                         |  2 +-
> >>  8 files changed, 52 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/configure.ac b/configure.ac
> >> index 02dca4547c8..5ea52242bd1 100644
> >> --- a/configure.ac
> >> +++ b/configure.ac
> >> @@ -89,6 +89,7 @@ LIBOMXIL_BELLAGIO_REQUIRED=0.0
> >>  LIBOMXIL_TIZONIA_REQUIRED=0.10.0
> >>  LIBVA_REQUIRED=0.39.0
> >>  VDPAU_REQUIRED=1.1
> >> +# TODO: Bump to 1.15 -> the first version that ships wayland-egl-backend
> >>  WAYLAND_REQUIRED=1.11
> >>  WAYLAND_PROTOCOLS_REQUIRED=1.8
> >>  XCB_REQUIRED=1.9.3
> >> @@ -1766,6 +1767,18 @@ if test "x$enable_glx_read_only_text" = xyes; then
> >>      DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
> >>  fi
> >>
> >> +dnl
> >> +dnl TEMPORARY: mostly for stable releases
> >> +dnl
> >> +dnl It will allow easier management as the wayland-egl library was
> >> +dnl moved to the Wayland project
> >> +dnl
> >> +AC_ARG_ENABLE(bundled-wayland-egl,
> >> +   [AS_HELP_STRING([--disable-bundled-wayland-egl],
> >> +                [disable shipping of the wayland-egl library and pkg-config file @<:@default=enabled@:>@])],
> >> +   [enable_wayland_egl=$enableval], [enable_wayland_egl=yes])
> >> +AM_CONDITIONAL(BUILD_WAYLAND_EGL, test "x$enable_wayland_egl" = xyes)
> >
> > I'm not sure I see the benefit of your variant of adding all the
> > complexity of a new option and immediately making it an error to use it.
> > Could you explain your logic?
> >
> In all fairness, it should have been introduced when wayland-egl was
> proposed for Wayland inclusion.

Would've made sense back then, but not nowadays IMO.

> Back then I was under the naive assumption that, distribution maintainers will:
>  - read mesa-maintainers@ or the wayland release notes
>  - will know how to address the multiple copies of libwayland-egl.so
> 
> Since then a distribution (wish shall remain unnamed), kind of
> foobar'd both of the above.
> 
> All the complexity is ~40loc, with ~30 of which #idef guards. The
> annoyance might be far greater though.
> 
> If you think it's too much, sure - I'll more or less squash 1+2.

squashing 1+2 is basically my patch, plus an option that can't be used ¯\_(ツ)_/¯

Like you said though, it's not so much code complexity as it is annoyance
I think; I can live with it if there's a benefit, I just don't see it :)

> 
> Thanks
> Emil


More information about the mesa-dev mailing list