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) ----- 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