[Mesa-dev] [PATCH] configure.ac: rework wayland-protocols handling

Andres Gomez agomez at igalia.com
Sun Jul 23 22:35:47 UTC 2017


On Mon, 2017-07-24 at 01:27 +0300, Andres Gomez wrote:
> This is:
> 
> Reviewed-by: Andres Gomez <agomez at igalia.com>

Mmmm ... I hit the send button too quickly.

Just wanted to mention that I share the same concerns than Daniel.
Would it be up to me, I would not be adding the generated files in the
release but I really don't have hard thoughts about it.

Therefore, if you would rather go with this solution, it is fine by me.


> 
> 
> On Fri, 2017-07-21 at 13:02 +0100, Emil Velikov wrote:
> > From: Emil Velikov <emil.velikov at collabora.com>
> > 
> > At dist/distcheck time we need to ensure that all the files and their
> > respective dependencies are handled.
> > 
> > At the moment we'll bail out as the linux-dmabuf rules are guarded in a
> > conditional. Move them outside of it and drop the sources from
> > BUILT_SOURCES.
> > 
> > Thus the files will be generated only as needed, which will happen only
> > after the wayland-protocols dependency is enforced in configure.ac.
> > 
> > v2: add dependency tracking for the header
> > 
> > Cc: Andres Gomez <agomez at igalia.com>
> > Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> > ---
> >  configure.ac        | 13 ++++++++++---
> >  src/egl/Makefile.am | 13 +++++++------
> >  2 files changed, 17 insertions(+), 9 deletions(-)
> > 
> > diff --git a/configure.ac b/configure.ac
> > index 2689fc55e85..2736fbf201b 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -1681,19 +1681,26 @@ if test "x$WAYLAND_SCANNER" = x; then
> >      AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:])
> >  fi
> >  
> > +PKG_CHECK_EXISTS([wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], [have_wayland_protocols=yes], [have_wayland_protocols=no])
> > +if test "x$have_wayland_protocols" = xyes; then
> > +    ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
> > +fi
> > +AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir)
> > +
> >  # Do per platform setups and checks
> >  platforms=`IFS=', '; echo $with_platforms`
> >  for plat in $platforms; do
> >      case "$plat" in
> >      wayland)
> >  
> > -        PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED])
> > -        ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
> > -        AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir)
> > +        PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED])
> >  
> >          if test "x$WAYLAND_SCANNER" = "x:"; then
> >                  AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform])
> >          fi
> > +        if test "x$have_wayland_protocols" = xno; then
> > +                AC_MSG_ERROR([wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED is needed to compile the wayland platform])
> > +        fi
> >          DEFINES="$DEFINES -DHAVE_WAYLAND_PLATFORM"
> >          ;;
> >  
> > diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am
> > index 7c1a4929b81..f881145c0e3 100644
> > --- a/src/egl/Makefile.am
> > +++ b/src/egl/Makefile.am
> > @@ -64,7 +64,6 @@ libEGL_common_la_LIBADD += $(top_builddir)/src/loader/libloader_dri3_helper.la
> >  endif
> >  endif
> >  
> > -if HAVE_PLATFORM_WAYLAND
> >  WL_DMABUF_XML = $(WAYLAND_PROTOCOLS_DATADIR)/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
> >  
> >  drivers/dri2/linux-dmabuf-unstable-v1-protocol.c: $(WL_DMABUF_XML)
> > @@ -75,17 +74,19 @@ drivers/dri2/linux-dmabuf-unstable-v1-client-protocol.h: $(WL_DMABUF_XML)
> >  	$(MKDIR_GEN)
> >  	$(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@
> >  
> > -BUILT_SOURCES += \
> > -	drivers/dri2/linux-dmabuf-unstable-v1-protocol.c \
> > -	drivers/dri2/linux-dmabuf-unstable-v1-client-protocol.h
> > +drivers/dri2/linux-dmabuf-unstable-v1-protocol.lo: drivers/dri2/linux-dmabuf-unstable-v1-client-protocol.h
> > +drivers/dri2/egl_dri2.lo: drivers/dri2/linux-dmabuf-unstable-v1-client-protocol.h
> >  
> > +if HAVE_PLATFORM_WAYLAND
> >  AM_CFLAGS += $(WAYLAND_CFLAGS)
> >  libEGL_common_la_LIBADD += $(WAYLAND_LIBS)
> >  libEGL_common_la_LIBADD += $(LIBDRM_LIBS)
> >  libEGL_common_la_LIBADD += $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la
> >  libEGL_common_la_LIBADD += $(top_builddir)/src/util/libmesautil.la
> > -dri2_backend_FILES += drivers/dri2/platform_wayland.c	\
> > -	drivers/dri2/linux-dmabuf-unstable-v1-protocol.c
> > +dri2_backend_FILES += \
> > +	drivers/dri2/platform_wayland.c	\
> > +	drivers/dri2/linux-dmabuf-unstable-v1-protocol.c \
> > +	drivers/dri2/linux-dmabuf-unstable-v1-client-protocol.h
> >  endif
> >  
> >  if HAVE_PLATFORM_DRM
-- 
Br,

Andres


More information about the mesa-dev mailing list