[Mesa-stable] [Mesa-dev] [PATCH 1/5] wayland-egl: allow shipping the library or not
Eric Engestrom
eric.engestrom at intel.com
Tue Jun 5 16:53:13 UTC 2018
On Tuesday, 2018-06-05 17:17:03 +0100, Emil Velikov wrote:
> On 5 June 2018 at 16:38, Eric Engestrom <eric.engestrom at intel.com> wrote:
> > 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.
> >
> Hindsight is always 20-20 :-\
>
> >> 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 ¯\_(ツ)_/¯
> >
> Almost. The devil is in the detail - egl{,-backend}, version, removed
> over-linking.
OK, I'll look carefully at the devil^Wdetails tomorrow :)
>
> > 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 :)
> >
> In case you've missed it - this patch is for stable@ due to the fun
> distros are having.
It's too late for distros, they've had to manually delete
libwayland-egl.so for several months now. I don't think adding code to
change the behaviour of 18.1 mid-cycle is a good idea at this point, I'd
rather leave that branch as is, and delete cleanly for 18.2
>
> Just remembered that we'd want this for modular distros like Gentoo.
> I don't think there's other way of keeping track of when to rm -rf
> *wayland-egl*. The only solution is the toggle + the following, fairly
> obvious, two-liner.
>
> bundled-wayland-egl? (
> <=dev-libs/wayland-1.15.0:=[${MULTILIB_USEDEP}]
> )
>
> Plus distros can drop their rm hacks as well ;-)
>
> Did I manage to sway you to the dark side?
> Emil
More information about the mesa-stable
mailing list