[PATCH weston] clients: Fix build without Cairo/GLES2

Pekka Paalanen ppaalanen at gmail.com
Mon Feb 20 14:02:12 UTC 2017


On Mon, 20 Feb 2017 13:58:40 +0200
Pekka Paalanen <ppaalanen at gmail.com> wrote:

> And a second time with the correct email address for Bryce, sorry.
> 
> Daniel, looks like there is typo in the commit with the email address.
> 
> 
> Thanks,
> pq
> 
> On Mon, 20 Feb 2017 13:50:35 +0200
> Pekka Paalanen <ppaalanen at gmail.com> wrote:
> 
> > On Thu, 16 Feb 2017 21:52:23 +0000
> > Daniel Stone <daniels at collabora.com> wrote:
> >   
> > > If we're building with EGL support generally, but without Cairo/GLESv2,
> > > building the clients fail, because window.c defines the EGL native
> > > types, however platform.h also brings these in.
> > > 
> > > Signed-off-by: Daniel Stone <daniels at collabora.com>
> > > Cc: Emil Velikov <emil.velikov at collabora.com>
> > > Cc: Bryce Harrington <brycef at osg.samsung.com>
> > > ---
> > >  clients/window.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/clients/window.c b/clients/window.c
> > > index 59fc07e..95796d4 100644
> > > --- a/clients/window.c
> > > +++ b/clients/window.c
> > > @@ -55,7 +55,7 @@
> > >  #include <EGL/eglext.h>
> > >  
> > >  #include <cairo-gl.h>
> > > -#else /* HAVE_CAIRO_EGL */
> > > +#elif !defined(ENABLE_EGL) /* platform.h defines these if EGL is enabled */
> > >  typedef void *EGLDisplay;
> > >  typedef void *EGLConfig;
> > >  typedef void *EGLContext;    
> > 
> > Hi,
> > 
> > how do you trigger this build failure?
> > 
> > I'm building with cairo=image and EGL enabled, and I haven't seen this
> > issue.
> > 
> > Reading the code, I believe the problem is when:
> > #define ENABLE_EGL
> > /* #undef HAVE_CAIRO_EGL */
> > 
> > But that is how my config.h always ends up. Is it a compiler version
> > thing? Do different EGL stacks define things differently?
> > 
> > However, I do see the path how one gets those redefined and I should be
> > hitting it every time I build, but apparently my gcc 4.9 just silently
> > ignores the redefinition. Anyway:
> > 
> > Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> > 
> > I would be ok landing this for the release, but since we are so close
> > to the final release perhaps and I have not seen the failure myself (I
> > cannot give a Tested-by), I'll leave the decision for Bryce.
> > 
> > At least it does not regress my usual build.

Ok, now I see the build warning:

  CC       clients/libtoytoolkit_la-window.lo
In file included from /home/pq/git/weston/shared/platform.h:34:0,
                 from /home/pq/git/weston/clients/window.h:35,
                 from /home/pq/git/weston/clients/window.c:83:
/home/pq/local/include/EGL/egl.h:99:0: warning: "EGL_NO_DISPLAY" redefined
 #define EGL_NO_DISPLAY                    EGL_CAST(EGLDisplay,0)
 ^
/home/pq/git/weston/clients/window.c:62:0: note: this is the location of the previous definition
 #define EGL_NO_DISPLAY ((EGLDisplay)0)
 ^

It's not the typedefs, it's the EGL_NO_DISPLAY that has changed in Mesa
between 12.0 and 17.0.

Tested-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>


Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 801 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20170220/c60deeac/attachment.sig>


More information about the wayland-devel mailing list