Thanks. I had not seen the leftover (void) d (this was to remove an unused-variable warning, but clearly not intended to be in this patch). Was there any other unrelated change? Thanks again, Christophe > On 28 Apr 2017, at 13:52, Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> wrote: > > > > ----- Original Message ----- >> Hi >> >> Apparently, it is available on macos: >> https://trac.macports.org/browser/trunk/dports/graphics/libepoxy/Portfile >> >> but your patch looks correct nonetheless (with the commit summary updated) > > Ah it may be just epoxy/egl.h not availale on macos, my bad > >> >> ----- Original Message ----- >>> Signed-off-by: Christophe de Dinechin <dinechin@xxxxxxxxxx> >>> --- >>> configure.ac | 13 ++++++++++--- >>> src/Makefile.am | 2 +- >>> src/spice-widget-priv.h | 6 +++--- >>> src/spice-widget.c | 27 ++++++++++++++------------- >>> 4 files changed, 28 insertions(+), 20 deletions(-) >>> >>> diff --git a/configure.ac b/configure.ac >>> index a6ac2de..caa2dc9 100644 >>> --- a/configure.ac >>> +++ b/configure.ac >>> @@ -74,9 +74,16 @@ esac >>> AC_MSG_RESULT([$os_mac]) >>> AM_CONDITIONAL([OS_MAC],[test "$os_mac" = "yes"]) >>> >>> -AC_CHECK_HEADERS([sys/socket.h netinet/in.h arpa/inet.h]) >>> -AC_CHECK_HEADERS([termios.h]) >>> - >>> +AC_CHECK_HEADERS([sys/socket.h netinet/in.h arpa/inet.h termios.h]) >>> +AC_CHECK_HEADERS([epoxy/egl.h], >>> + [have_egl=yes], >>> + [have_egl=no]) >>> +AC_MSG_CHECKING([if we can use EGL in libepoxy)]) >>> +AC_MSG_RESULT([$have_egl]) >>> +AM_CONDITIONAL([HAVE_EGL],[test "$have_egl" = "yes"]) >>> +AS_IF([test "$have_egl" = "yes"], >>> + AC_DEFINE([HAVE_EGL], [1], [Define if supporting EGL])) >>> + >>> AC_CHECK_LIBM >>> AC_SUBST(LIBM) >>> >>> diff --git a/src/Makefile.am b/src/Makefile.am >>> index 4fa7357..bb7ad6c 100644 >>> --- a/src/Makefile.am >>> +++ b/src/Makefile.am >>> @@ -145,7 +145,7 @@ SPICE_GTK_SOURCES_COMMON += \ >>> spice-widget-cairo.c \ >>> $(NULL) >>> >>> -if !OS_WIN32 >>> +if HAVE_EGL >>> SPICE_GTK_SOURCES_COMMON += \ >>> spice-widget-egl.c \ >>> $(NULL) >>> diff --git a/src/spice-widget-priv.h b/src/spice-widget-priv.h >>> index e29e1b7..5b3216f 100644 >>> --- a/src/spice-widget-priv.h >>> +++ b/src/spice-widget-priv.h >>> @@ -24,7 +24,7 @@ >>> #include <windows.h> >>> #endif >>> >>> -#ifndef G_OS_WIN32 >>> +#ifdef HAVE_EPOXY_EGL_H >>> #include <epoxy/egl.h> >>> #endif >>> >>> @@ -133,7 +133,7 @@ struct _SpiceDisplayPrivate { >>> int x11_accel_denominator; >>> int x11_threshold; >>> #endif >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> struct { >>> gboolean context_ready; >>> gboolean enabled; >>> @@ -150,7 +150,7 @@ struct _SpiceDisplayPrivate { >>> gboolean call_draw_done; >>> SpiceGlScanout scanout; >>> } egl; >>> -#endif >>> +#endif // HAVE_EGL >>> }; >>> >>> int spice_cairo_image_create (SpiceDisplay *display); >>> diff --git a/src/spice-widget.c b/src/spice-widget.c >>> index 5bbba8f..91aed58 100644 >>> --- a/src/spice-widget.c >>> +++ b/src/spice-widget.c >>> @@ -235,7 +235,7 @@ static gint get_display_id(SpiceDisplay *display) >>> >>> static bool egl_enabled(SpiceDisplayPrivate *d) >>> { >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> return d->egl.enabled; >>> #else >>> return false; >>> @@ -574,7 +574,7 @@ static void grab_notify(SpiceDisplay *display, gboolean >>> was_grabbed) >>> } >>> >>> #if GTK_CHECK_VERSION(3,16,0) >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> /* Ignore GLib's too-new warnings */ >>> G_GNUC_BEGIN_IGNORE_DEPRECATIONS >>> static gboolean >>> @@ -646,7 +646,7 @@ static void spice_display_init(SpiceDisplay *display) >>> gtk_stack_set_visible_child(d->stack, area); >>> >>> #if GTK_CHECK_VERSION(3,16,0) >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> /* Ignore GLib's too-new warnings */ >>> G_GNUC_BEGIN_IGNORE_DEPRECATIONS >>> area = gtk_gl_area_new(); >>> @@ -977,6 +977,7 @@ static void set_mouse_accel(SpiceDisplay *display, >>> gboolean enabled) >>> } >>> #else >>> g_warning("Mouse acceleration code missing for your platform"); >>> + (void) d; >>> #endif >>> } >>> >>> @@ -1305,7 +1306,7 @@ static gboolean do_color_convert(SpiceDisplay >>> *display, >>> GdkRectangle *r) >>> return true; >>> } >>> >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> static void set_egl_enabled(SpiceDisplay *display, bool enabled) >>> { >>> SpiceDisplayPrivate *d = display->priv; >>> @@ -1341,7 +1342,7 @@ static gboolean draw_event(GtkWidget *widget, cairo_t >>> *cr, gpointer data) >>> SpiceDisplayPrivate *d = display->priv; >>> g_return_val_if_fail(d != NULL, false); >>> >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> if (egl_enabled(d) && >>> g_str_equal(gtk_stack_get_visible_child_name(d->stack), >>> "draw-area")) { >>> spice_egl_update_display(display); >>> @@ -2101,7 +2102,7 @@ static void size_allocate(GtkWidget *widget, >>> GtkAllocation *conf, gpointer data) >>> d->ww = conf->width; >>> d->wh = conf->height; >>> recalc_geometry(widget); >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> if (egl_enabled(d)) >>> spice_egl_resize_display(display, conf->width, conf->height); >>> #endif >>> @@ -2144,7 +2145,7 @@ static void realize(GtkWidget *widget) >>> static void unrealize(GtkWidget *widget) >>> { >>> spice_cairo_image_destroy(SPICE_DISPLAY(widget)); >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> spice_egl_unrealize_display(SPICE_DISPLAY(widget)); >>> #endif >>> >>> @@ -2500,7 +2501,7 @@ static void update_area(SpiceDisplay *display, >>> .height = height >>> }; >>> >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> if (egl_enabled(d)) { >>> const SpiceGlScanout *so = >>> spice_display_get_gl_scanout(SPICE_DISPLAY_CHANNEL(d->display)); >>> @@ -2597,7 +2598,7 @@ static void invalidate(SpiceChannel *channel, >>> .height = h >>> }; >>> >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> set_egl_enabled(display, false); >>> #endif >>> >>> @@ -2661,7 +2662,7 @@ static void cursor_set(SpiceCursorChannel *channel, >>> } else >>> g_warn_if_reached(); >>> >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> if (egl_enabled(d)) >>> spice_egl_cursor_set(display); >>> #endif >>> @@ -2833,7 +2834,7 @@ static void inputs_channel_event(SpiceChannel >>> *channel, >>> SpiceChannelEvent event, >>> spice_display_set_keypress_delay(display, delay); >>> } >>> >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> G_GNUC_INTERNAL >>> void spice_display_widget_gl_scanout(SpiceDisplay *display) >>> { >>> @@ -2942,7 +2943,7 @@ static void channel_new(SpiceSession *s, SpiceChannel >>> *channel, gpointer data) >>> mark(display, primary.marked); >>> } >>> >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> spice_g_signal_connect_object(channel, "notify::gl-scanout", >>> G_CALLBACK(spice_display_widget_gl_scanout), >>> display, G_CONNECT_SWAPPED); >>> @@ -3102,7 +3103,7 @@ GdkPixbuf *spice_display_get_pixbuf(SpiceDisplay >>> *display) >>> g_return_val_if_fail(d != NULL, NULL); >>> g_return_val_if_fail(d->display != NULL, NULL); >>> >>> -#ifndef G_OS_WIN32 >>> +#if HAVE_EGL >>> if (egl_enabled(d)) { >>> GdkPixbuf *tmp; >>> >>> -- >>> 2.11.0 (Apple Git-81) >>> >>> _______________________________________________ >>> Spice-devel mailing list >>> Spice-devel@xxxxxxxxxxxxxxxxxxxxx >>> https://lists.freedesktop.org/mailman/listinfo/spice-devel >>> >> > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/spice-devel _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel