[gimp/gimp-2-8] */Makefile.am: work around a bug in the new glib-genmarshal



commit 32eb0831a43b3cb4ba3f0ae954d1d144267cb94b
Author: Ell <ell_se yahoo com>
Date:   Sun Aug 27 15:22:44 2017 -0400

    */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.
    
    (cherry picked from commit 0ef3795f0a294d97cbeb4fe0faf4c6a5e83e387e)

 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 de6c124..5afd401 100644
--- a/app/core/Makefile.am
+++ b/app/core/Makefile.am
@@ -416,13 +416,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 35c20b5..6c7601f 100644
--- a/libgimp/Makefile.am
+++ b/libgimp/Makefile.am
@@ -439,12 +439,11 @@ gimpenums.c: $(srcdir)/gimpenums.h $(srcdir)/gimpenums.c.tail $(GIMP_MKENUMS)
        && 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 c32c80a..6477c57 100644
--- a/libgimpwidgets/Makefile.am
+++ b/libgimpwidgets/Makefile.am
@@ -317,8 +317,7 @@ gimpwidgetsmarshal.h: $(srcdir)/gimpwidgetsmarshal.list
        && rm -f xgen-wmh xgen-wmh~
 
 gimpwidgetsmarshal.c: gimpwidgetsmarshal.h
-       echo "#include \"gimpwidgetsmarshal.h\"" >> xgen-wmc \
-       && $(GLIB_GENMARSHAL) --prefix=_gimp_widgets_marshal $(srcdir)/gimpwidgetsmarshal.list --body >> 
xgen-wmc \
+       $(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~
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]