Commit 0ef3795f authored by Ell's avatar Ell

*/ 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.
parent f3d684b0
......@@ -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~
......@@ -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~
......@@ -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~
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment