From: Andrew Dunstan Date: Mon, 7 Oct 2013 03:07:28 +0000 (-0400) Subject: Document support for VPATH builds of extensions. X-Git-Tag: REL9_1_10~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6ed3c5f7b2846be9e176ea1c99b2d45bba0d6972;p=postgresql Document support for VPATH builds of extensions. Cédric Villemain and me. --- diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml index b571b5f66b..7db906aebb 100644 --- a/doc/src/sgml/extend.sgml +++ b/doc/src/sgml/extend.sgml @@ -928,7 +928,7 @@ include $(PGXS) To use the PGXS infrastructure for your extension, you must write a simple makefile. In the makefile, you need to set some variables - and finally include the global PGXS makefile. + and include the global PGXS makefile. Here is an example that builds an extension module named isbn_issn, consisting of a shared library containing some C code, an extension control file, a SQL script, and a documentation @@ -1164,6 +1164,33 @@ include $(PGXS) + + You can also run make in a directory outside the source + tree of your extension, if you want to keep the build directory separate. + This procedure is also called a + VPATHVPATH + build. Here's how: + + mkdir build_dir + cd build_dir + make -f /path/to/extension/source/tree/Makefile + make -f /path/to/extension/source/tree/Makefile install + + + + + Alternatively, you can set up a directory for a VPATH build in a similar + way to how it is done for the core code. One way to to this is using the + core script config/prep_buildtree. Once this has been done + you can build by setting the make variable + USE_VPATH like this: + + make USE_VPATH=/path/to/extension/source/tree + make USE_VPATH=/path/to/extension/source/tree install + + This procedure can work with a greater variety of directory layouts. + + The scripts listed in the REGRESS variable are used for regression testing of your module, which can be invoked by make