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.
This commit is contained in:
Michael Natterer 2019-08-07 18:43:21 +02:00
parent 7f0c801559
commit e437e00adf
13 changed files with 24 additions and 8 deletions

View File

@ -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 \

View File

@ -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 = \

View File

@ -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__ */

View File

@ -31,6 +31,7 @@
#include "gimp-private.h"
#include "gimpgpcompat.h"
#include "gimpgpparams.h"
#include "gimpplugin_pdb.h"
#include "gimplegacy-private.h"

View File

@ -30,6 +30,7 @@
#include "gimp-shm.h"
#include "gimpgpparams.h"
#include "gimpplugin-private.h"
#include "gimpplugin_pdb.h"
#include "gimpprocedure-private.h"

View File

@ -30,6 +30,7 @@
#include "libgimpbase/gimpwire.h"
#include "gimpplugin-private.h"
#include "gimpplugin_pdb.h"
#include "gimpprocedure-private.h"

View File

@ -23,6 +23,7 @@
#include "config.h"
#include "gimp.h"
#include "gimpplugin_pdb.h"
/**
* _gimp_plugin_domain_register:

View File

@ -28,6 +28,7 @@
#include "gimpgpparams.h"
#include "gimpplugin-private.h"
#include "gimpplugin_pdb.h"
#include "gimpprocedure-private.h"

View File

@ -23,6 +23,7 @@
#include "config.h"
#include "gimp.h"
#include "gimpunit_pdb.h"
/**
* _gimp_unit_get_number_of_units:

View File

@ -377,4 +377,6 @@ CODE
$desc = 'Plug-in';
$lib_private = 1;
1;

View File

@ -376,4 +376,6 @@ CODE
$desc = 'Units';
$lib_private = 1;
1;

View File

@ -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";

View File

@ -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