*/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.
This commit is contained in:
@ -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~
|
||||
|
||||
|
||||
Reference in New Issue
Block a user