diff --git a/configure.ac b/configure.ac index 3545ef21aa..890282eb51 100644 --- a/configure.ac +++ b/configure.ac @@ -62,6 +62,7 @@ m4_define([alsa_required_version], [1.0.0]) m4_define([rsvg_required_version], [2.36.0]) m4_define([wmf_required_version], [0.2.8]) m4_define([pygtk_required_version], [2.10.4]) +m4_define([pycairo_required_version], [1.0.2]) m4_define([poppler_required_version], [0.12.4]) m4_define([poppler_data_required_version], [0.4.7]) m4_define([libgudev_required_version], [167]) @@ -1906,6 +1907,9 @@ if test "x$enable_python" != xno; then AC_SUBST(PYGTK_DEFSDIR) AC_MSG_RESULT($PYGTK_DEFSDIR) + PKG_CHECK_MODULES(PYCAIRO, pycairo >= pycairo_required_version,, + [pycheck_error([PyCairo pycairo_required_version or newer], [it])]) + GIMP_DETECT_CFLAGS(PYGIMP_EXTRA_CFLAGS, '-fno-strict-aliasing') AC_SUBST(PYGIMP_EXTRA_CFLAGS) fi diff --git a/plug-ins/pygimp/Makefile.am b/plug-ins/pygimp/Makefile.am index b7092fa838..6ac8f1c11c 100644 --- a/plug-ins/pygimp/Makefile.am +++ b/plug-ins/pygimp/Makefile.am @@ -25,6 +25,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir) \ $(PYTHON_INCLUDES) \ $(PYGTK_CFLAGS) \ + $(PYCAIRO_CFLAGS) \ $(GTK_CFLAGS) \ $(GEGL_CFLAGS) diff --git a/plug-ins/pygimp/gimpuimodule.c b/plug-ins/pygimp/gimpuimodule.c index 20e9fab0be..a7b63859db 100644 --- a/plug-ins/pygimp/gimpuimodule.c +++ b/plug-ins/pygimp/gimpuimodule.c @@ -25,6 +25,9 @@ #include #include +#include +Pycairo_CAPI_t *Pycairo_CAPI; + #include #include @@ -44,6 +47,16 @@ static char gimpui_doc[] = void init_gimpui(void); +static gboolean +init_pycairo(void) +{ + Pycairo_IMPORT; + if (Pycairo_CAPI == NULL) + return FALSE; + + return TRUE; +} + PyMODINIT_FUNC init_gimpui(void) { @@ -66,6 +79,8 @@ init_gimpui(void) pygimp_init_pygobject(); init_pygtk(); + if (!init_pycairo()) + return; init_pygimpcolor(); init_pygimp();