summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorAndrew Gierth <rhodiumtoad@postgresql.org>2018-07-31 19:58:39 +0100
committerAndrew Gierth <rhodiumtoad@postgresql.org>2018-07-31 20:07:39 +0100
commitdf163230b92b79468c241e9480e7fb85b7614440 (patch)
tree4af57c0a4cc386242af606c39b3ee5a37e41a8da /doc/src
parentf3eb76b399efb88882b2984fccdefcea540b2749 (diff)
Provide for contrib and pgxs modules to install include files.
This allows out-of-tree PLs and similar code to get access to definitions needed to work with extension data types. The following existing modules now install headers: contrib/cube, contrib/hstore, contrib/isn, contrib/ltree, contrib/seg. Discussion: https://postgr.es/m/87y3euomjh.fsf%40news-spur.riddles.org.uk
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/extend.sgml28
1 files changed, 26 insertions, 2 deletions
diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml
index 348ae71423f..a3cb064131b 100644
--- a/doc/src/sgml/extend.sgml
+++ b/doc/src/sgml/extend.sgml
@@ -1100,13 +1100,15 @@ include $(PGXS)
and include the global <acronym>PGXS</acronym> makefile.
Here is an example that builds an extension module named
<literal>isbn_issn</literal>, consisting of a shared library containing
- some C code, an extension control file, a SQL script, and a documentation
- text file:
+ some C code, an extension control file, a SQL script, an include file
+ (only needed if other modules might need to access the extension functions
+ without going via SQL), and a documentation text file:
<programlisting>
MODULES = isbn_issn
EXTENSION = isbn_issn
DATA = isbn_issn--1.0.sql
DOCS = README.isbn_issn
+HEADERS_isbn_issn = isbn_issn.h
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
@@ -1221,6 +1223,28 @@ include $(PGXS)
</varlistentry>
<varlistentry>
+ <term><varname>HEADERS</varname></term>
+ <listitem>
+ <para>
+ files to install under
+ <literal><replaceable>prefix</replaceable>/include/server/$MODULEDIR/$MODULE_big</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>HEADERS_$MODULE</varname></term>
+ <listitem>
+ <para>
+ files to install under
+ <literal><replaceable>prefix</replaceable>/include/server/$MODULEDIR/$MODULE</literal>,
+ where <literal>$MODULE</literal> must be a module name used
+ in <literal>MODULES</literal> or <literal>MODULE_big</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><varname>SCRIPTS</varname></term>
<listitem>
<para>