[gimp] pdb, libgimp: hide gimpunit_pdb.h and gimpplugin_pdb.h from the API
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] pdb, libgimp: hide gimpunit_pdb.h and gimpplugin_pdb.h from the API
- Date: Wed, 7 Aug 2019 16:47:43 +0000 (UTC)
commit e437e00adfce95810a90a9ed559616e406ad4f74
Author: Michael Natterer <mitch gimp org>
Date: Wed Aug 7 18:43:21 2019 +0200
pdb, libgimp: hide gimpunit_pdb.h and gimpplugin_pdb.h from the API
They only contain private functions and don't need to be installed or
included by gimp_pdb_headers.h.
The PDB generation part is done by adding a "lib_private" variable
that can be set on PDB groups which should not be public API; the rest
is manual Makefile fiddling.
libgimp/Makefile.am | 7 ++++++-
libgimp/Makefile.gi | 4 ----
libgimp/gimp_pdb_headers.h | 2 --
libgimp/gimplegacy.c | 1 +
libgimp/gimpplugin-private.c | 1 +
libgimp/gimpplugin.c | 1 +
libgimp/gimpplugin_pdb.c | 1 +
libgimp/gimpprocedure-private.c | 1 +
libgimp/gimpunit_pdb.c | 1 +
pdb/groups/plug_in.pdb | 2 ++
pdb/groups/unit.pdb | 2 ++
pdb/lib.pl | 8 +++++++-
pdb/pdbgen.pl | 1 +
13 files changed, 24 insertions(+), 8 deletions(-)
---
diff --git a/libgimp/Makefile.am b/libgimp/Makefile.am
index 7a109ca03a..f9fa4546e4 100644
--- a/libgimp/Makefile.am
+++ b/libgimp/Makefile.am
@@ -125,7 +125,12 @@ libgimp_private_sources = \
gimp-shm.c \
gimp-shm.h \
gimpprocedure-private.c \
- gimpprocedure-private.h
+ gimpprocedure-private.h \
+ \
+ gimpunit_pdb.c \
+ gimpunit_pdb.h \
+ gimpplugin_pdb.c \
+ gimpplugin_pdb.h
libgimp_extra_sources = \
gimpenums.c.tail \
diff --git a/libgimp/Makefile.gi b/libgimp/Makefile.gi
index 823d81dddf..a199273ee1 100644
--- a/libgimp/Makefile.gi
+++ b/libgimp/Makefile.gi
@@ -45,12 +45,10 @@ PDB_WRAPPERS_C = \
$(top_srcdir)/libgimp/gimppatterns_pdb.c \
$(top_srcdir)/libgimp/gimppatternselect_pdb.c \
$(top_srcdir)/libgimp/gimppdb_pdb.c \
- $(top_srcdir)/libgimp/gimpplugin_pdb.c \
$(top_srcdir)/libgimp/gimpprogress_pdb.c \
$(top_srcdir)/libgimp/gimpselection_pdb.c \
$(top_srcdir)/libgimp/gimptextlayer_pdb.c \
$(top_srcdir)/libgimp/gimptexttool_pdb.c \
- $(top_srcdir)/libgimp/gimpunit_pdb.c \
$(top_srcdir)/libgimp/gimpvectors_pdb.c
PDB_WRAPPERS_H = \
@@ -99,12 +97,10 @@ PDB_WRAPPERS_H = \
$(top_srcdir)/libgimp/gimppatterns_pdb.h \
$(top_srcdir)/libgimp/gimppatternselect_pdb.h \
$(top_srcdir)/libgimp/gimppdb_pdb.h \
- $(top_srcdir)/libgimp/gimpplugin_pdb.h \
$(top_srcdir)/libgimp/gimpprogress_pdb.h \
$(top_srcdir)/libgimp/gimpselection_pdb.h \
$(top_srcdir)/libgimp/gimptextlayer_pdb.h \
$(top_srcdir)/libgimp/gimptexttool_pdb.h \
- $(top_srcdir)/libgimp/gimpunit_pdb.h \
$(top_srcdir)/libgimp/gimpvectors_pdb.h
libgimp_introspectable = \
diff --git a/libgimp/gimp_pdb_headers.h b/libgimp/gimp_pdb_headers.h
index 7a9f100854..6950ebc407 100644
--- a/libgimp/gimp_pdb_headers.h
+++ b/libgimp/gimp_pdb_headers.h
@@ -71,12 +71,10 @@
#include <libgimp/gimppatterns_pdb.h>
#include <libgimp/gimppatternselect_pdb.h>
#include <libgimp/gimppdb_pdb.h>
-#include <libgimp/gimpplugin_pdb.h>
#include <libgimp/gimpprogress_pdb.h>
#include <libgimp/gimpselection_pdb.h>
#include <libgimp/gimptextlayer_pdb.h>
#include <libgimp/gimptexttool_pdb.h>
-#include <libgimp/gimpunit_pdb.h>
#include <libgimp/gimpvectors_pdb.h>
#endif /* __GIMP_PDB_HEADERS_H__ */
diff --git a/libgimp/gimplegacy.c b/libgimp/gimplegacy.c
index e778547b8b..c284a331f9 100644
--- a/libgimp/gimplegacy.c
+++ b/libgimp/gimplegacy.c
@@ -31,6 +31,7 @@
#include "gimp-private.h"
#include "gimpgpcompat.h"
#include "gimpgpparams.h"
+#include "gimpplugin_pdb.h"
#include "gimplegacy-private.h"
diff --git a/libgimp/gimpplugin-private.c b/libgimp/gimpplugin-private.c
index cb985f5cdd..1ebcc60633 100644
--- a/libgimp/gimpplugin-private.c
+++ b/libgimp/gimpplugin-private.c
@@ -30,6 +30,7 @@
#include "gimp-shm.h"
#include "gimpgpparams.h"
#include "gimpplugin-private.h"
+#include "gimpplugin_pdb.h"
#include "gimpprocedure-private.h"
diff --git a/libgimp/gimpplugin.c b/libgimp/gimpplugin.c
index 008128f708..c845fa16fb 100644
--- a/libgimp/gimpplugin.c
+++ b/libgimp/gimpplugin.c
@@ -30,6 +30,7 @@
#include "libgimpbase/gimpwire.h"
#include "gimpplugin-private.h"
+#include "gimpplugin_pdb.h"
#include "gimpprocedure-private.h"
diff --git a/libgimp/gimpplugin_pdb.c b/libgimp/gimpplugin_pdb.c
index 76ec84e375..132b36e0f6 100644
--- a/libgimp/gimpplugin_pdb.c
+++ b/libgimp/gimpplugin_pdb.c
@@ -23,6 +23,7 @@
#include "config.h"
#include "gimp.h"
+#include "gimpplugin_pdb.h"
/**
* _gimp_plugin_domain_register:
diff --git a/libgimp/gimpprocedure-private.c b/libgimp/gimpprocedure-private.c
index c0832a03de..c7955e426e 100644
--- a/libgimp/gimpprocedure-private.c
+++ b/libgimp/gimpprocedure-private.c
@@ -28,6 +28,7 @@
#include "gimpgpparams.h"
#include "gimpplugin-private.h"
+#include "gimpplugin_pdb.h"
#include "gimpprocedure-private.h"
diff --git a/libgimp/gimpunit_pdb.c b/libgimp/gimpunit_pdb.c
index cdd557a163..4c826a51d3 100644
--- a/libgimp/gimpunit_pdb.c
+++ b/libgimp/gimpunit_pdb.c
@@ -23,6 +23,7 @@
#include "config.h"
#include "gimp.h"
+#include "gimpunit_pdb.h"
/**
* _gimp_unit_get_number_of_units:
diff --git a/pdb/groups/plug_in.pdb b/pdb/groups/plug_in.pdb
index c244c116d2..cfbc9cbc2f 100644
--- a/pdb/groups/plug_in.pdb
+++ b/pdb/groups/plug_in.pdb
@@ -377,4 +377,6 @@ CODE
$desc = 'Plug-in';
+$lib_private = 1;
+
1;
diff --git a/pdb/groups/unit.pdb b/pdb/groups/unit.pdb
index 3d98e35155..00ca254d38 100644
--- a/pdb/groups/unit.pdb
+++ b/pdb/groups/unit.pdb
@@ -376,4 +376,6 @@ CODE
$desc = 'Units';
+$lib_private = 1;
+
1;
diff --git a/pdb/lib.pl b/pdb/lib.pl
index 151e1e140e..c7f314a1fb 100644
--- a/pdb/lib.pl
+++ b/pdb/lib.pl
@@ -730,6 +730,10 @@ HEADER
print CFILE $out->{headers}, "\n" if exists $out->{headers};
print CFILE qq/#include "gimp.h"\n/;
+ if (exists $main::grp{$group}->{lib_private}) {
+ print CFILE qq/#include "$hname"\n/;
+ }
+
if (exists $main::grp{$group}->{doc_title}) {
$long_desc = &desc_wrap($main::grp{$group}->{doc_long_desc});
print CFILE <<SECTION_DOCS;
@@ -775,7 +779,9 @@ HEADER
$hname = "gimp${hname}";
}
$hname =~ s/_//g; $hname =~ s/pdb\./_pdb./;
- push @groups, $hname;
+ if (! exists $main::grp{$group}->{lib_private}) {
+ push @groups, $hname;
+ }
}
foreach $group (sort @groups) {
print PFILE "#include <libgimp/$group>\n";
diff --git a/pdb/pdbgen.pl b/pdb/pdbgen.pl
index 30288d4c44..d6330f1e17 100755
--- a/pdb/pdbgen.pl
+++ b/pdb/pdbgen.pl
@@ -72,6 +72,7 @@ $evalcode = <<'CODE';
# These are attached to the group structure
my @groupvars = qw($desc $doc_title $doc_short_desc $doc_long_desc
+ $lib_private
@headers %extra);
# Hook some variables into the top-level namespace
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]