From 0ef3795f0a294d97cbeb4fe0faf4c6a5e83e387e Mon Sep 17 00:00:00 2001 From: Ell Date: Sun, 27 Aug 2017 15:22:44 -0400 Subject: [PATCH] */Makefile.am: work around a bug in the new glib-genmarshal glib-genmarshal was rewritten in glib 2.53.4, and as of now (2.53.6) it has a bug where it unconditionally generates marshaler bodies, even for standard marshalers, even with --stdinc. This causes libgimpwidgets to define and export g_cclosure_marshal_VOID__INT() and g_cclosure_marshal_VOID__OBJECT(), which upsets defcheck, and breaks the build. Work around this for now by using --header --body when generating the marshal.c files, which includes the prototypes in the source, instead of including the header ourselves. This is the only code path where the new glib-genmarshal doesn't generate bodies for standard marshalers. Note, however, that this usage is deprecated, so we'll probably want to change it back once it's fixed. --- app/core/Makefile.am | 5 ++--- libgimp/Makefile.am | 5 ++--- libgimpwidgets/Makefile.am | 3 +-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/app/core/Makefile.am b/app/core/Makefile.am index 3b028cfbe9..70dbbaf499 100644 --- a/app/core/Makefile.am +++ b/app/core/Makefile.am @@ -442,13 +442,12 @@ gen_sources = xgen-gmh xgen-gmc xgen-cec CLEANFILES = $(gen_sources) gimpmarshal.h: $(srcdir)/gimpmarshal.list - $(GLIB_GENMARSHAL) --prefix=gimp_marshal $(srcdir)/gimpmarshal.list --header >> xgen-gmh \ + $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=gimp_marshal $(srcdir)/gimpmarshal.list --header >> xgen-gmh \ && (cmp -s xgen-gmh $(@F) || cp xgen-gmh $(@F)) \ && rm -f xgen-gmh xgen-gmh~ gimpmarshal.c: gimpmarshal.h - echo "#include \"gimpmarshal.h\"" >> xgen-gmc \ - && $(GLIB_GENMARSHAL) --prefix=gimp_marshal $(srcdir)/gimpmarshal.list --body >> xgen-gmc \ + $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=gimp_marshal $(srcdir)/gimpmarshal.list --header --body >> xgen-gmc \ && cp xgen-gmc $(@F) \ && rm -f xgen-gmc xgen-gmc~ diff --git a/libgimp/Makefile.am b/libgimp/Makefile.am index cc31d3a429..6fd9c9b3b5 100644 --- a/libgimp/Makefile.am +++ b/libgimp/Makefile.am @@ -459,12 +459,11 @@ gimpenums.c: $(srcdir)/gimpenums.h $(srcdir)/gimpenums.c.tail $(GIMP_MKENUMS) Ma && rm -f xgen-cec gimpuimarshal.h: $(srcdir)/gimpuimarshal.list - $(GLIB_GENMARSHAL) --prefix=_gimpui_marshal $(srcdir)/gimpuimarshal.list --header >> xgen-umh \ + $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=_gimpui_marshal $(srcdir)/gimpuimarshal.list --header >> xgen-umh \ && (cmp -s xgen-umh $(@F) || cp xgen-umh $(@F)) \ && rm -f xgen-umh xgen-umh~ gimpuimarshal.c: gimpuimarshal.h - echo "#include \"gimpuimarshal.h\"" >> xgen-umc \ - && $(GLIB_GENMARSHAL) --prefix=_gimpui_marshal $(srcdir)/gimpuimarshal.list --body >> xgen-umc \ + $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=_gimpui_marshal $(srcdir)/gimpuimarshal.list --header --body >> xgen-umc \ && cp xgen-umc $(@F) \ && rm -f xgen-umc xgen-umc~ diff --git a/libgimpwidgets/Makefile.am b/libgimpwidgets/Makefile.am index 8d8d29c8c2..c63ec77f22 100644 --- a/libgimpwidgets/Makefile.am +++ b/libgimpwidgets/Makefile.am @@ -337,8 +337,7 @@ gimpwidgetsmarshal.h: $(srcdir)/gimpwidgetsmarshal.list && rm -f xgen-wmh xgen-wmh~ gimpwidgetsmarshal.c: gimpwidgetsmarshal.h - $(AM_V_GEN) echo "#include \"gimpwidgetsmarshal.h\"" >> xgen-wmc \ - && $(GLIB_GENMARSHAL) --prefix=_gimp_widgets_marshal $(srcdir)/gimpwidgetsmarshal.list --body >> xgen-wmc \ + $(AM_V_GEN) $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=_gimp_widgets_marshal $(srcdir)/gimpwidgetsmarshal.list --header --body >> xgen-wmc \ && cp xgen-wmc $(@F) \ && rm -f xgen-wmc xgen-wmc~