[gimp] Issue #4201: meson: pdbgen not working.



commit f9cf16f46fff2fafd009be97d31c581fa5a98763
Author: Jehan <jehan girinstud io>
Date:   Mon Mar 28 15:13:17 2022 +0200

    Issue #4201: meson: pdbgen not working.
    
    Fix the dependency by making the stamp an actual (yet empty/no-op)
    header file which is included by all generated source file. This way, we
    ensure that meson rebuild .o files when the .pdb sources are changed.
    
    This is the second solution proposed by eli-schwartz here:
    https://github.com/mesonbuild/meson/issues/10196#issuecomment-1080053413

 app/pdb/Makefile.am                 | 1 +
 app/pdb/brush-cmds.c                | 2 ++
 app/pdb/brush-select-cmds.c         | 2 ++
 app/pdb/brushes-cmds.c              | 2 ++
 app/pdb/buffer-cmds.c               | 2 ++
 app/pdb/channel-cmds.c              | 2 ++
 app/pdb/context-cmds.c              | 2 ++
 app/pdb/debug-cmds.c                | 2 ++
 app/pdb/display-cmds.c              | 2 ++
 app/pdb/drawable-cmds.c             | 2 ++
 app/pdb/drawable-color-cmds.c       | 2 ++
 app/pdb/drawable-edit-cmds.c        | 2 ++
 app/pdb/dynamics-cmds.c             | 2 ++
 app/pdb/edit-cmds.c                 | 2 ++
 app/pdb/file-cmds.c                 | 2 ++
 app/pdb/floating-sel-cmds.c         | 2 ++
 app/pdb/font-select-cmds.c          | 2 ++
 app/pdb/fonts-cmds.c                | 2 ++
 app/pdb/gimp-cmds.c                 | 2 ++
 app/pdb/gimprc-cmds.c               | 2 ++
 app/pdb/gradient-cmds.c             | 2 ++
 app/pdb/gradient-select-cmds.c      | 2 ++
 app/pdb/gradients-cmds.c            | 2 ++
 app/pdb/help-cmds.c                 | 2 ++
 app/pdb/image-cmds.c                | 2 ++
 app/pdb/image-color-profile-cmds.c  | 2 ++
 app/pdb/image-convert-cmds.c        | 2 ++
 app/pdb/image-grid-cmds.c           | 2 ++
 app/pdb/image-guides-cmds.c         | 2 ++
 app/pdb/image-sample-points-cmds.c  | 2 ++
 app/pdb/image-select-cmds.c         | 2 ++
 app/pdb/image-transform-cmds.c      | 2 ++
 app/pdb/image-undo-cmds.c           | 2 ++
 app/pdb/internal-procs.c            | 2 ++
 app/pdb/item-cmds.c                 | 2 ++
 app/pdb/item-transform-cmds.c       | 2 ++
 app/pdb/layer-cmds.c                | 2 ++
 app/pdb/message-cmds.c              | 2 ++
 app/pdb/paint-tools-cmds.c          | 2 ++
 app/pdb/palette-cmds.c              | 2 ++
 app/pdb/palette-select-cmds.c       | 2 ++
 app/pdb/palettes-cmds.c             | 2 ++
 app/pdb/pattern-cmds.c              | 2 ++
 app/pdb/pattern-select-cmds.c       | 2 ++
 app/pdb/patterns-cmds.c             | 2 ++
 app/pdb/pdb-cmds.c                  | 2 ++
 app/pdb/plug-in-cmds.c              | 2 ++
 app/pdb/plug-in-compat-cmds.c       | 2 ++
 app/pdb/progress-cmds.c             | 2 ++
 app/pdb/selection-cmds.c            | 2 ++
 app/pdb/text-layer-cmds.c           | 2 ++
 app/pdb/text-tool-cmds.c            | 2 ++
 app/pdb/unit-cmds.c                 | 2 ++
 app/pdb/vectors-cmds.c              | 2 ++
 libgimp/Makefile.am                 | 1 +
 libgimp/gimp_pdb.c                  | 2 ++
 libgimp/gimpbrush_pdb.c             | 2 ++
 libgimp/gimpbrushes_pdb.c           | 2 ++
 libgimp/gimpbrushselect_pdb.c       | 2 ++
 libgimp/gimpbuffer_pdb.c            | 2 ++
 libgimp/gimpchannel_pdb.c           | 2 ++
 libgimp/gimpcontext_pdb.c           | 2 ++
 libgimp/gimpdebug_pdb.c             | 2 ++
 libgimp/gimpdisplay_pdb.c           | 2 ++
 libgimp/gimpdrawable_pdb.c          | 2 ++
 libgimp/gimpdrawablecolor_pdb.c     | 2 ++
 libgimp/gimpdrawableedit_pdb.c      | 2 ++
 libgimp/gimpdynamics_pdb.c          | 2 ++
 libgimp/gimpedit_pdb.c              | 2 ++
 libgimp/gimpfile_pdb.c              | 2 ++
 libgimp/gimpfloatingsel_pdb.c       | 2 ++
 libgimp/gimpfonts_pdb.c             | 2 ++
 libgimp/gimpfontselect_pdb.c        | 2 ++
 libgimp/gimpgimprc_pdb.c            | 2 ++
 libgimp/gimpgradient_pdb.c          | 2 ++
 libgimp/gimpgradients_pdb.c         | 2 ++
 libgimp/gimpgradientselect_pdb.c    | 2 ++
 libgimp/gimphelp_pdb.c              | 2 ++
 libgimp/gimpimage_pdb.c             | 2 ++
 libgimp/gimpimagecolorprofile_pdb.c | 2 ++
 libgimp/gimpimageconvert_pdb.c      | 2 ++
 libgimp/gimpimagegrid_pdb.c         | 2 ++
 libgimp/gimpimageguides_pdb.c       | 2 ++
 libgimp/gimpimagesamplepoints_pdb.c | 2 ++
 libgimp/gimpimageselect_pdb.c       | 2 ++
 libgimp/gimpimagetransform_pdb.c    | 2 ++
 libgimp/gimpimageundo_pdb.c         | 2 ++
 libgimp/gimpitem_pdb.c              | 2 ++
 libgimp/gimpitemtransform_pdb.c     | 2 ++
 libgimp/gimplayer_pdb.c             | 2 ++
 libgimp/gimpmessage_pdb.c           | 2 ++
 libgimp/gimppainttools_pdb.c        | 2 ++
 libgimp/gimppalette_pdb.c           | 2 ++
 libgimp/gimppalettes_pdb.c          | 2 ++
 libgimp/gimppaletteselect_pdb.c     | 2 ++
 libgimp/gimppattern_pdb.c           | 2 ++
 libgimp/gimppatterns_pdb.c          | 2 ++
 libgimp/gimppatternselect_pdb.c     | 2 ++
 libgimp/gimppdb_pdb.c               | 2 ++
 libgimp/gimpplugin_pdb.c            | 2 ++
 libgimp/gimpprogress_pdb.c          | 2 ++
 libgimp/gimpselection_pdb.c         | 2 ++
 libgimp/gimptextlayer_pdb.c         | 2 ++
 libgimp/gimptexttool_pdb.c          | 2 ++
 libgimp/gimpunit_pdb.c              | 2 ++
 libgimp/gimpvectors_pdb.c           | 2 ++
 pdb/Makefile.am                     | 8 ++++----
 pdb/app.pl                          | 2 ++
 pdb/lib.pl                          | 1 +
 pdb/meson-pdbgen.sh                 | 2 +-
 pdb/meson.build                     | 8 ++++----
 111 files changed, 222 insertions(+), 9 deletions(-)
---
diff --git a/app/pdb/Makefile.am b/app/pdb/Makefile.am
index 5e2f82f37d..e74aad0604 100644
--- a/app/pdb/Makefile.am
+++ b/app/pdb/Makefile.am
@@ -5,6 +5,7 @@ AM_CPPFLAGS = \
        -I$(top_builddir)               \
        -I$(top_srcdir)                 \
        -I$(top_builddir)/app           \
+       -I$(top_builddir)/pdb           \
        -I$(top_srcdir)/app             \
        $(CAIRO_CFLAGS)                 \
        $(GEGL_CFLAGS)                  \
diff --git a/app/pdb/brush-cmds.c b/app/pdb/brush-cmds.c
index b8437b4380..522550d771 100644
--- a/app/pdb/brush-cmds.c
+++ b/app/pdb/brush-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <string.h>
 
 #include <gegl.h>
diff --git a/app/pdb/brush-select-cmds.c b/app/pdb/brush-select-cmds.c
index 83cb3c7dba..6e5b038867 100644
--- a/app/pdb/brush-select-cmds.c
+++ b/app/pdb/brush-select-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/brushes-cmds.c b/app/pdb/brushes-cmds.c
index e4d620ee74..5d7c49e627 100644
--- a/app/pdb/brushes-cmds.c
+++ b/app/pdb/brushes-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <string.h>
 
 #include <gegl.h>
diff --git a/app/pdb/buffer-cmds.c b/app/pdb/buffer-cmds.c
index 25770ddcc2..60409daeae 100644
--- a/app/pdb/buffer-cmds.c
+++ b/app/pdb/buffer-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <string.h>
 
 #include <gegl.h>
diff --git a/app/pdb/channel-cmds.c b/app/pdb/channel-cmds.c
index 05c9a818b6..f510017906 100644
--- a/app/pdb/channel-cmds.c
+++ b/app/pdb/channel-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <cairo.h>
 
 #include <gegl.h>
diff --git a/app/pdb/context-cmds.c b/app/pdb/context-cmds.c
index cba40dd37f..68ef9f304c 100644
--- a/app/pdb/context-cmds.c
+++ b/app/pdb/context-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <cairo.h>
 
 #include <gegl.h>
diff --git a/app/pdb/debug-cmds.c b/app/pdb/debug-cmds.c
index a0d689ab6c..38deb42471 100644
--- a/app/pdb/debug-cmds.c
+++ b/app/pdb/debug-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/display-cmds.c b/app/pdb/display-cmds.c
index c943ca7186..3a51aed55c 100644
--- a/app/pdb/display-cmds.c
+++ b/app/pdb/display-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/drawable-cmds.c b/app/pdb/drawable-cmds.c
index b61efdb8a8..7934ab3e36 100644
--- a/app/pdb/drawable-cmds.c
+++ b/app/pdb/drawable-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/drawable-color-cmds.c b/app/pdb/drawable-color-cmds.c
index 0356c24e02..c986ce11dd 100644
--- a/app/pdb/drawable-color-cmds.c
+++ b/app/pdb/drawable-color-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/drawable-edit-cmds.c b/app/pdb/drawable-edit-cmds.c
index 066f46bcf2..0c8ffbf747 100644
--- a/app/pdb/drawable-edit-cmds.c
+++ b/app/pdb/drawable-edit-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/dynamics-cmds.c b/app/pdb/dynamics-cmds.c
index 7e598d66d8..5099c65da5 100644
--- a/app/pdb/dynamics-cmds.c
+++ b/app/pdb/dynamics-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/edit-cmds.c b/app/pdb/edit-cmds.c
index ad24a23ddb..21dbd23d11 100644
--- a/app/pdb/edit-cmds.c
+++ b/app/pdb/edit-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/file-cmds.c b/app/pdb/file-cmds.c
index 33485a7c9a..e42069a40a 100644
--- a/app/pdb/file-cmds.c
+++ b/app/pdb/file-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <string.h>
 
 #include <gegl.h>
diff --git a/app/pdb/floating-sel-cmds.c b/app/pdb/floating-sel-cmds.c
index b5c06910d4..c6d0d09d54 100644
--- a/app/pdb/floating-sel-cmds.c
+++ b/app/pdb/floating-sel-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/font-select-cmds.c b/app/pdb/font-select-cmds.c
index ced8191bf4..93878ac93f 100644
--- a/app/pdb/font-select-cmds.c
+++ b/app/pdb/font-select-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/fonts-cmds.c b/app/pdb/fonts-cmds.c
index 10896a50d3..bf74f772d6 100644
--- a/app/pdb/fonts-cmds.c
+++ b/app/pdb/fonts-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/gimp-cmds.c b/app/pdb/gimp-cmds.c
index 7c2c6a7d6a..4a072ddacb 100644
--- a/app/pdb/gimp-cmds.c
+++ b/app/pdb/gimp-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/gimprc-cmds.c b/app/pdb/gimprc-cmds.c
index 326fd5ba39..87976770b5 100644
--- a/app/pdb/gimprc-cmds.c
+++ b/app/pdb/gimprc-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <string.h>
 
 #include <gegl.h>
diff --git a/app/pdb/gradient-cmds.c b/app/pdb/gradient-cmds.c
index 640804e3bd..2f5a2b864b 100644
--- a/app/pdb/gradient-cmds.c
+++ b/app/pdb/gradient-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <cairo.h>
 #include <string.h>
 
diff --git a/app/pdb/gradient-select-cmds.c b/app/pdb/gradient-select-cmds.c
index 7af3cf80e3..ca83f48fa8 100644
--- a/app/pdb/gradient-select-cmds.c
+++ b/app/pdb/gradient-select-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/gradients-cmds.c b/app/pdb/gradients-cmds.c
index f69261dc52..8eeb11b664 100644
--- a/app/pdb/gradients-cmds.c
+++ b/app/pdb/gradients-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <string.h>
 
 #include <gegl.h>
diff --git a/app/pdb/help-cmds.c b/app/pdb/help-cmds.c
index a0676f511f..ad23e9d3ac 100644
--- a/app/pdb/help-cmds.c
+++ b/app/pdb/help-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/image-cmds.c b/app/pdb/image-cmds.c
index 3930f26c26..1762387982 100644
--- a/app/pdb/image-cmds.c
+++ b/app/pdb/image-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <cairo.h>
 
 #include <gegl.h>
diff --git a/app/pdb/image-color-profile-cmds.c b/app/pdb/image-color-profile-cmds.c
index f67ddbb85d..ba57055d31 100644
--- a/app/pdb/image-color-profile-cmds.c
+++ b/app/pdb/image-color-profile-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <cairo.h>
 
 #include <gegl.h>
diff --git a/app/pdb/image-convert-cmds.c b/app/pdb/image-convert-cmds.c
index 71d0f2ad5d..c5f7c23527 100644
--- a/app/pdb/image-convert-cmds.c
+++ b/app/pdb/image-convert-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/image-grid-cmds.c b/app/pdb/image-grid-cmds.c
index 79690529d7..557e491f0b 100644
--- a/app/pdb/image-grid-cmds.c
+++ b/app/pdb/image-grid-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <cairo.h>
 
 #include <gegl.h>
diff --git a/app/pdb/image-guides-cmds.c b/app/pdb/image-guides-cmds.c
index 44d4df3283..b63eb0a6a0 100644
--- a/app/pdb/image-guides-cmds.c
+++ b/app/pdb/image-guides-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/image-sample-points-cmds.c b/app/pdb/image-sample-points-cmds.c
index 68bd5b0e4b..51c0fbdf22 100644
--- a/app/pdb/image-sample-points-cmds.c
+++ b/app/pdb/image-sample-points-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/image-select-cmds.c b/app/pdb/image-select-cmds.c
index 9b67d64cb7..67d871ace7 100644
--- a/app/pdb/image-select-cmds.c
+++ b/app/pdb/image-select-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <cairo.h>
 
 #include <gegl.h>
diff --git a/app/pdb/image-transform-cmds.c b/app/pdb/image-transform-cmds.c
index 9bf66f2900..27fbed55dd 100644
--- a/app/pdb/image-transform-cmds.c
+++ b/app/pdb/image-transform-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/image-undo-cmds.c b/app/pdb/image-undo-cmds.c
index 025991d336..a6046714e7 100644
--- a/app/pdb/image-undo-cmds.c
+++ b/app/pdb/image-undo-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/internal-procs.c b/app/pdb/internal-procs.c
index 08410e66eb..c557bee278 100644
--- a/app/pdb/internal-procs.c
+++ b/app/pdb/internal-procs.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <glib-object.h>
 
 #include "pdb-types.h"
diff --git a/app/pdb/item-cmds.c b/app/pdb/item-cmds.c
index d01200e179..1b2e17f16e 100644
--- a/app/pdb/item-cmds.c
+++ b/app/pdb/item-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/item-transform-cmds.c b/app/pdb/item-transform-cmds.c
index f2209a66ec..b2212ab35a 100644
--- a/app/pdb/item-transform-cmds.c
+++ b/app/pdb/item-transform-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/layer-cmds.c b/app/pdb/layer-cmds.c
index 3c7a13a010..970e846a97 100644
--- a/app/pdb/layer-cmds.c
+++ b/app/pdb/layer-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <cairo.h>
 
 #include <gegl.h>
diff --git a/app/pdb/message-cmds.c b/app/pdb/message-cmds.c
index 5198e1fe4a..bc29ea3bfe 100644
--- a/app/pdb/message-cmds.c
+++ b/app/pdb/message-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <string.h>
 
 #include <gegl.h>
diff --git a/app/pdb/paint-tools-cmds.c b/app/pdb/paint-tools-cmds.c
index 0c0a5f7cb1..f4a04f7dac 100644
--- a/app/pdb/paint-tools-cmds.c
+++ b/app/pdb/paint-tools-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/palette-cmds.c b/app/pdb/palette-cmds.c
index 64f96456e4..d645c0988d 100644
--- a/app/pdb/palette-cmds.c
+++ b/app/pdb/palette-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <cairo.h>
 #include <string.h>
 
diff --git a/app/pdb/palette-select-cmds.c b/app/pdb/palette-select-cmds.c
index 162491db48..01e0c84a66 100644
--- a/app/pdb/palette-select-cmds.c
+++ b/app/pdb/palette-select-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/palettes-cmds.c b/app/pdb/palettes-cmds.c
index 1bfbee4a2a..14ebcf572a 100644
--- a/app/pdb/palettes-cmds.c
+++ b/app/pdb/palettes-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <string.h>
 
 #include <gegl.h>
diff --git a/app/pdb/pattern-cmds.c b/app/pdb/pattern-cmds.c
index 3eaba1ba8f..79980b437d 100644
--- a/app/pdb/pattern-cmds.c
+++ b/app/pdb/pattern-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <string.h>
 
 #include <gegl.h>
diff --git a/app/pdb/pattern-select-cmds.c b/app/pdb/pattern-select-cmds.c
index c5d1bc81aa..284b4f924c 100644
--- a/app/pdb/pattern-select-cmds.c
+++ b/app/pdb/pattern-select-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/patterns-cmds.c b/app/pdb/patterns-cmds.c
index 353444237f..cf16f1dd03 100644
--- a/app/pdb/patterns-cmds.c
+++ b/app/pdb/patterns-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <string.h>
 
 #include <gegl.h>
diff --git a/app/pdb/pdb-cmds.c b/app/pdb/pdb-cmds.c
index cb0aabfd4d..5f5f2de201 100644
--- a/app/pdb/pdb-cmds.c
+++ b/app/pdb/pdb-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/plug-in-cmds.c b/app/pdb/plug-in-cmds.c
index 78b82a0e5e..1ff9320858 100644
--- a/app/pdb/plug-in-cmds.c
+++ b/app/pdb/plug-in-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <stdlib.h>
 #include <string.h>
 
diff --git a/app/pdb/plug-in-compat-cmds.c b/app/pdb/plug-in-compat-cmds.c
index 2d25fa25c6..af49eb86eb 100644
--- a/app/pdb/plug-in-compat-cmds.c
+++ b/app/pdb/plug-in-compat-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <cairo.h>
 
 #include <gegl.h>
diff --git a/app/pdb/progress-cmds.c b/app/pdb/progress-cmds.c
index 02a5fe7827..475abed075 100644
--- a/app/pdb/progress-cmds.c
+++ b/app/pdb/progress-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/selection-cmds.c b/app/pdb/selection-cmds.c
index 7bdde9fe1b..a65d8e68b3 100644
--- a/app/pdb/selection-cmds.c
+++ b/app/pdb/selection-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/text-layer-cmds.c b/app/pdb/text-layer-cmds.c
index 591d2dfe1b..cb15a5e7d3 100644
--- a/app/pdb/text-layer-cmds.c
+++ b/app/pdb/text-layer-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <cairo.h>
 
 #include <gegl.h>
diff --git a/app/pdb/text-tool-cmds.c b/app/pdb/text-tool-cmds.c
index a3cfdf3be3..137234f949 100644
--- a/app/pdb/text-tool-cmds.c
+++ b/app/pdb/text-tool-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/unit-cmds.c b/app/pdb/unit-cmds.c
index 44235eb427..13389437e9 100644
--- a/app/pdb/unit-cmds.c
+++ b/app/pdb/unit-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <gegl.h>
 
 #include <gdk-pixbuf/gdk-pixbuf.h>
diff --git a/app/pdb/vectors-cmds.c b/app/pdb/vectors-cmds.c
index 8d1314c40a..f9dd6a63c4 100644
--- a/app/pdb/vectors-cmds.c
+++ b/app/pdb/vectors-cmds.c
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include <string.h>
 
 #include <gegl.h>
diff --git a/libgimp/Makefile.am b/libgimp/Makefile.am
index fa034a1f24..db6c042767 100644
--- a/libgimp/Makefile.am
+++ b/libgimp/Makefile.am
@@ -74,6 +74,7 @@ AM_CPPFLAGS = \
        -DG_LOG_DOMAIN=\"LibGimp\"      \
        -DGIMP_COMPILATION              \
        -I$(top_srcdir)                 \
+       -I$(top_builddir)/pdb           \
        $(GTK_CFLAGS)                   \
        $(GEGL_CFLAGS)                  \
        $(GEXIV2_CFLAGS)                \
diff --git a/libgimp/gimp_pdb.c b/libgimp/gimp_pdb.c
index e4bba68103..f517aab679 100644
--- a/libgimp/gimp_pdb.c
+++ b/libgimp/gimp_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpbrush_pdb.c b/libgimp/gimpbrush_pdb.c
index 801ca645b0..e440760c8c 100644
--- a/libgimp/gimpbrush_pdb.c
+++ b/libgimp/gimpbrush_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpbrushes_pdb.c b/libgimp/gimpbrushes_pdb.c
index 43898291d4..122a7e54e6 100644
--- a/libgimp/gimpbrushes_pdb.c
+++ b/libgimp/gimpbrushes_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpbrushselect_pdb.c b/libgimp/gimpbrushselect_pdb.c
index 96854a70e2..0ab224b9dc 100644
--- a/libgimp/gimpbrushselect_pdb.c
+++ b/libgimp/gimpbrushselect_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpbuffer_pdb.c b/libgimp/gimpbuffer_pdb.c
index 1425ee501e..9ef5168cf6 100644
--- a/libgimp/gimpbuffer_pdb.c
+++ b/libgimp/gimpbuffer_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpchannel_pdb.c b/libgimp/gimpchannel_pdb.c
index 97eeca2a39..e04fa4c758 100644
--- a/libgimp/gimpchannel_pdb.c
+++ b/libgimp/gimpchannel_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpcontext_pdb.c b/libgimp/gimpcontext_pdb.c
index e6d5e7a5f7..d15c50de88 100644
--- a/libgimp/gimpcontext_pdb.c
+++ b/libgimp/gimpcontext_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpdebug_pdb.c b/libgimp/gimpdebug_pdb.c
index f232f96573..c320a364f1 100644
--- a/libgimp/gimpdebug_pdb.c
+++ b/libgimp/gimpdebug_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpdisplay_pdb.c b/libgimp/gimpdisplay_pdb.c
index ed736909ef..a4d0eafec7 100644
--- a/libgimp/gimpdisplay_pdb.c
+++ b/libgimp/gimpdisplay_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpdrawable_pdb.c b/libgimp/gimpdrawable_pdb.c
index cb4d295dfe..726184d2c6 100644
--- a/libgimp/gimpdrawable_pdb.c
+++ b/libgimp/gimpdrawable_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpdrawablecolor_pdb.c b/libgimp/gimpdrawablecolor_pdb.c
index 27e8eb7709..92d5c50b27 100644
--- a/libgimp/gimpdrawablecolor_pdb.c
+++ b/libgimp/gimpdrawablecolor_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpdrawableedit_pdb.c b/libgimp/gimpdrawableedit_pdb.c
index 2ffb341833..e2ef9d43f4 100644
--- a/libgimp/gimpdrawableedit_pdb.c
+++ b/libgimp/gimpdrawableedit_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpdynamics_pdb.c b/libgimp/gimpdynamics_pdb.c
index 4d6d1bd2ad..7e25e0ae8a 100644
--- a/libgimp/gimpdynamics_pdb.c
+++ b/libgimp/gimpdynamics_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpedit_pdb.c b/libgimp/gimpedit_pdb.c
index e03b7c1644..594648f566 100644
--- a/libgimp/gimpedit_pdb.c
+++ b/libgimp/gimpedit_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpfile_pdb.c b/libgimp/gimpfile_pdb.c
index e68676721a..7fb20d5c25 100644
--- a/libgimp/gimpfile_pdb.c
+++ b/libgimp/gimpfile_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpfloatingsel_pdb.c b/libgimp/gimpfloatingsel_pdb.c
index 6c682c6d18..21bd23c473 100644
--- a/libgimp/gimpfloatingsel_pdb.c
+++ b/libgimp/gimpfloatingsel_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpfonts_pdb.c b/libgimp/gimpfonts_pdb.c
index 8b15183c3b..20c941daf5 100644
--- a/libgimp/gimpfonts_pdb.c
+++ b/libgimp/gimpfonts_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpfontselect_pdb.c b/libgimp/gimpfontselect_pdb.c
index d9604124c1..10223193ff 100644
--- a/libgimp/gimpfontselect_pdb.c
+++ b/libgimp/gimpfontselect_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpgimprc_pdb.c b/libgimp/gimpgimprc_pdb.c
index f8693bb7c4..309eef24ef 100644
--- a/libgimp/gimpgimprc_pdb.c
+++ b/libgimp/gimpgimprc_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpgradient_pdb.c b/libgimp/gimpgradient_pdb.c
index f2786ac5fb..e6aeccc1cf 100644
--- a/libgimp/gimpgradient_pdb.c
+++ b/libgimp/gimpgradient_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpgradients_pdb.c b/libgimp/gimpgradients_pdb.c
index b431138d20..f4ac66f46d 100644
--- a/libgimp/gimpgradients_pdb.c
+++ b/libgimp/gimpgradients_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpgradientselect_pdb.c b/libgimp/gimpgradientselect_pdb.c
index 3d98aff036..c55c341bf2 100644
--- a/libgimp/gimpgradientselect_pdb.c
+++ b/libgimp/gimpgradientselect_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimphelp_pdb.c b/libgimp/gimphelp_pdb.c
index 7b30908dd1..1b58a8c60a 100644
--- a/libgimp/gimphelp_pdb.c
+++ b/libgimp/gimphelp_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpimage_pdb.c b/libgimp/gimpimage_pdb.c
index 2371de93e7..704a81b9c8 100644
--- a/libgimp/gimpimage_pdb.c
+++ b/libgimp/gimpimage_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpimagecolorprofile_pdb.c b/libgimp/gimpimagecolorprofile_pdb.c
index aa259f68ce..e2f761d40b 100644
--- a/libgimp/gimpimagecolorprofile_pdb.c
+++ b/libgimp/gimpimagecolorprofile_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpimageconvert_pdb.c b/libgimp/gimpimageconvert_pdb.c
index 240c210ece..79c034c237 100644
--- a/libgimp/gimpimageconvert_pdb.c
+++ b/libgimp/gimpimageconvert_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpimagegrid_pdb.c b/libgimp/gimpimagegrid_pdb.c
index 4e9ddd3fb5..9f8859fdb1 100644
--- a/libgimp/gimpimagegrid_pdb.c
+++ b/libgimp/gimpimagegrid_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpimageguides_pdb.c b/libgimp/gimpimageguides_pdb.c
index 65187e01c9..36ddf3420a 100644
--- a/libgimp/gimpimageguides_pdb.c
+++ b/libgimp/gimpimageguides_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpimagesamplepoints_pdb.c b/libgimp/gimpimagesamplepoints_pdb.c
index 914dc66593..fc01324c3c 100644
--- a/libgimp/gimpimagesamplepoints_pdb.c
+++ b/libgimp/gimpimagesamplepoints_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpimageselect_pdb.c b/libgimp/gimpimageselect_pdb.c
index 416f42c6c7..2b7b2404f8 100644
--- a/libgimp/gimpimageselect_pdb.c
+++ b/libgimp/gimpimageselect_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpimagetransform_pdb.c b/libgimp/gimpimagetransform_pdb.c
index b493377827..7c4e57df4f 100644
--- a/libgimp/gimpimagetransform_pdb.c
+++ b/libgimp/gimpimagetransform_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpimageundo_pdb.c b/libgimp/gimpimageundo_pdb.c
index a0681f674b..25069334aa 100644
--- a/libgimp/gimpimageundo_pdb.c
+++ b/libgimp/gimpimageundo_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpitem_pdb.c b/libgimp/gimpitem_pdb.c
index 931ddc5b7c..c87fe9cdae 100644
--- a/libgimp/gimpitem_pdb.c
+++ b/libgimp/gimpitem_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpitemtransform_pdb.c b/libgimp/gimpitemtransform_pdb.c
index 3fd1fe5340..987ae28b06 100644
--- a/libgimp/gimpitemtransform_pdb.c
+++ b/libgimp/gimpitemtransform_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimplayer_pdb.c b/libgimp/gimplayer_pdb.c
index 6fe4971175..7255db5623 100644
--- a/libgimp/gimplayer_pdb.c
+++ b/libgimp/gimplayer_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpmessage_pdb.c b/libgimp/gimpmessage_pdb.c
index efdf86c407..85d4a305f6 100644
--- a/libgimp/gimpmessage_pdb.c
+++ b/libgimp/gimpmessage_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimppainttools_pdb.c b/libgimp/gimppainttools_pdb.c
index 71bf6d6b5e..2bc6437e24 100644
--- a/libgimp/gimppainttools_pdb.c
+++ b/libgimp/gimppainttools_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimppalette_pdb.c b/libgimp/gimppalette_pdb.c
index 4e32db3824..10f420dad9 100644
--- a/libgimp/gimppalette_pdb.c
+++ b/libgimp/gimppalette_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimppalettes_pdb.c b/libgimp/gimppalettes_pdb.c
index 469450a4b0..bef4106ca5 100644
--- a/libgimp/gimppalettes_pdb.c
+++ b/libgimp/gimppalettes_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimppaletteselect_pdb.c b/libgimp/gimppaletteselect_pdb.c
index 7b404967e6..6a1ebaa9c6 100644
--- a/libgimp/gimppaletteselect_pdb.c
+++ b/libgimp/gimppaletteselect_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimppattern_pdb.c b/libgimp/gimppattern_pdb.c
index e2b81c0b4f..f5cce3380c 100644
--- a/libgimp/gimppattern_pdb.c
+++ b/libgimp/gimppattern_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimppatterns_pdb.c b/libgimp/gimppatterns_pdb.c
index 82e21eab65..b3de373ebc 100644
--- a/libgimp/gimppatterns_pdb.c
+++ b/libgimp/gimppatterns_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimppatternselect_pdb.c b/libgimp/gimppatternselect_pdb.c
index 5dd4efe166..d1f9fbde90 100644
--- a/libgimp/gimppatternselect_pdb.c
+++ b/libgimp/gimppatternselect_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimppdb_pdb.c b/libgimp/gimppdb_pdb.c
index a98e322b54..4359db6dc1 100644
--- a/libgimp/gimppdb_pdb.c
+++ b/libgimp/gimppdb_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 #include "gimppdb_pdb.h"
 
diff --git a/libgimp/gimpplugin_pdb.c b/libgimp/gimpplugin_pdb.c
index 6cffe28847..78ae928227 100644
--- a/libgimp/gimpplugin_pdb.c
+++ b/libgimp/gimpplugin_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 #include "gimpplugin_pdb.h"
 
diff --git a/libgimp/gimpprogress_pdb.c b/libgimp/gimpprogress_pdb.c
index d96f3fa98d..97cb70c5da 100644
--- a/libgimp/gimpprogress_pdb.c
+++ b/libgimp/gimpprogress_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpselection_pdb.c b/libgimp/gimpselection_pdb.c
index 58ef250850..da2bddf35e 100644
--- a/libgimp/gimpselection_pdb.c
+++ b/libgimp/gimpselection_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimptextlayer_pdb.c b/libgimp/gimptextlayer_pdb.c
index daab2b838f..cc3f40012d 100644
--- a/libgimp/gimptextlayer_pdb.c
+++ b/libgimp/gimptextlayer_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimptexttool_pdb.c b/libgimp/gimptexttool_pdb.c
index a15cc6f395..1db9c66040 100644
--- a/libgimp/gimptexttool_pdb.c
+++ b/libgimp/gimptexttool_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/libgimp/gimpunit_pdb.c b/libgimp/gimpunit_pdb.c
index 684faf043c..6c2eff976c 100644
--- a/libgimp/gimpunit_pdb.c
+++ b/libgimp/gimpunit_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 #include "gimpunit_pdb.h"
 
diff --git a/libgimp/gimpvectors_pdb.c b/libgimp/gimpvectors_pdb.c
index e9ae9fcdbd..0d8b6f85af 100644
--- a/libgimp/gimpvectors_pdb.c
+++ b/libgimp/gimpvectors_pdb.c
@@ -22,6 +22,8 @@
 
 #include "config.h"
 
+#include "stamp-pdbgen.h"
+
 #include "gimp.h"
 
 
diff --git a/pdb/Makefile.am b/pdb/Makefile.am
index 5c18b49bfe..74facacc4e 100644
--- a/pdb/Makefile.am
+++ b/pdb/Makefile.am
@@ -101,7 +101,7 @@ pdbgen_deps = \
 stamp_files = \
        stamp-enums             \
        stamp-groups            \
-       stamp-pdbgen            \
+       stamp-pdbgen.h          \
        stamp-enum-code         \
        stamp-enum-code-py
 
@@ -132,14 +132,14 @@ stamp-groups: Makefile.am
        && rm $$rootme/groups.pl.tmp \
        && echo timestamp > $$rootme/stamp-groups
 
-stamp-pdbgen: $(pdbgen_deps) $(pdb_scripts) $(pdb_groups) Makefile.am
+stamp-pdbgen.h: $(pdbgen_deps) $(pdb_scripts) $(pdb_groups) Makefile.am
        rootme=`pwd`; \
        destdir=`cd $(top_srcdir) && pwd`; export destdir; \
        builddir=`cd $(top_builddir) && pwd`; export builddir; \
        cd $(srcdir) && \
           PDBGEN_BACKUP=$(PDBGEN_BACKUP) PDBGEN_GROUPS=$(PDBGEN_GROUPS) \
           $(PERL) pdbgen.pl app lib \
-       && echo timestamp > $$rootme/stamp-pdbgen
+       && echo "/* Generated on `date`. */" > $$rootme/stamp-pdbgen.h
 
 stamp-enum-code: $(srcdir)/enumcode.pl $(enum_deps)
        rootme=`pwd`; \
@@ -150,4 +150,4 @@ stamp-enum-code: $(srcdir)/enumcode.pl $(enum_deps)
          $(PERL) enumcode.pl \
         && echo timestamp > $$rootme/stamp-enum-code
 
-all-local: stamp-pdbgen stamp-enum-code
+all-local: stamp-pdbgen.h stamp-enum-code
diff --git a/pdb/app.pl b/pdb/app.pl
index 4a0783ee0b..c48967ed6c 100644
--- a/pdb/app.pl
+++ b/pdb/app.pl
@@ -935,6 +935,7 @@ GPL
        open CFILE, "> $cfile" or die "Can't open $cfile: $!\n";
        print CFILE $gpl;
        print CFILE qq/#include "config.h"\n\n/;
+       print CFILE qq/#include "stamp-pdbgen.h"\n\n/;
        print CFILE $headers, "\n";
        print CFILE $extra->{decls}, "\n" if exists $extra->{decls};
        print CFILE "\n", $extra->{code} if exists $extra->{code};
@@ -981,6 +982,7 @@ HEADER
        open IFILE, "> $internal" or die "Can't open $internal: $!\n";
        print IFILE $gpl;
        print IFILE qq@#include "config.h"\n\n@;
+       print IFILE qq/#include "stamp-pdbgen.h"\n\n/;
        print IFILE qq@#include <glib-object.h>\n\n@;
        print IFILE qq@#include "pdb-types.h"\n\n@;
        print IFILE qq@#include "gimppdb.h"\n\n@;
diff --git a/pdb/lib.pl b/pdb/lib.pl
index a4b86af52a..9bca67ea0d 100644
--- a/pdb/lib.pl
+++ b/pdb/lib.pl
@@ -742,6 +742,7 @@ HEADER
         print CFILE " * $cname\n";
         print CFILE $lgpl_bottom;
         print CFILE qq/#include "config.h"\n\n/;
+       print CFILE qq/#include "stamp-pdbgen.h"\n\n/;
        print CFILE $out->{headers}, "\n" if exists $out->{headers};
        print CFILE qq/#include "gimp.h"\n/;
 
diff --git a/pdb/meson-pdbgen.sh b/pdb/meson-pdbgen.sh
index b822b2f048..ab1ada7b75 100755
--- a/pdb/meson-pdbgen.sh
+++ b/pdb/meson-pdbgen.sh
@@ -12,4 +12,4 @@ export BUILD builddir
 
 cd "$top_srcdir"/pdb
 $PERL pdbgen.pl app lib
-echo `date` > $top_builddir/pdb/stamp-pdbgen
+echo "/* Generated on `date`. */" > $top_builddir/pdb/stamp-pdbgen.h
diff --git a/pdb/meson.build b/pdb/meson.build
index 384ef7b89d..66997ae21b 100644
--- a/pdb/meson.build
+++ b/pdb/meson.build
@@ -119,7 +119,7 @@ if meson.version().version_compare('>=0.57.0')
     ],
   )
 
-  pdbgen = custom_target('stamp-pdbgen',
+  pdbgen = custom_target('stamp-pdbgen.h',
     input : [
       files(
         'meson-pdbgen.sh',
@@ -135,7 +135,7 @@ if meson.version().version_compare('>=0.57.0')
       groups_pl,
       pdb_sources,
     ],
-    output: [ 'stamp-pdbgen', ],
+    output: [ 'stamp-pdbgen.h', ],
     env: perl_env,
     command: [
       pdbgen_run, perl, meson.source_root(), meson.build_root()
@@ -165,7 +165,7 @@ else
     ],
   )
 
-  pdbgen = custom_target('stamp-pdbgen',
+  pdbgen = custom_target('stamp-pdbgen.h',
     input : [
       files(
         'meson-pdbgen.sh',
@@ -181,7 +181,7 @@ else
       groups_pl,
       pdb_sources,
     ],
-    output: [ 'stamp-pdbgen', ],
+    output: [ 'stamp-pdbgen.h', ],
     command: [
       env, perl_env, pdbgen_run, perl, meson.source_root(), meson.build_root()
     ],


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