Re: pgxs: build infrastructure for extensions v4 - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: pgxs: build infrastructure for extensions v4
Date
Msg-id 200407192138.i6JLcAd06430@candle.pha.pa.us
Whole thread Raw
In response to pgxs: build infrastructure for extensions v4  (Fabien COELHO <coelho@cri.ensmp.fr>)
List pgsql-patches
I have Peter reviewing this.

---------------------------------------------------------------------------

Fabien COELHO wrote:
>
> Dear patchers,
>
>
> Please find attached another new version of a patch which provides a
> working infrastructure for pg extensions. I hope it addresses all of
> Peter's comments. I'll be away for the next 3 weeks, so if minor changes
> are required it would be best if you could proceed without me...
>
> The infrastructure is a simple reworking of the already available internal
> infrastructure for contrib, so that it can be used outside of the
> postgresql source tree after installation, without gory details being in
> sight of the user. The documentation is added as a new section in
> "xfunc.sgml".
>
> I updated all contrib makefiles so that they can be used either the
> standard way after a configure, or the new way without needing a configure
> but with an already installed postgreSQL. Just try them with
>
>     "cd contrib/foo ; make USE_PGXS=1 install"
>
> *AFTER* postgresql has been configure, compiled and installed.  It should
> be compiled and installed wrt to the first "pg_config" which is found in
> the path.
>
>
> How it works:
>
>  - necessary files (includes, scripts, makefiles...) are copied under
>    $(pkglibdir)/pgxs on the initial "make install".
>
>    due to gnu-make restriction on how its includes work, these files must
>    be copied with the *same* directory structure as the pg source tree.
>    The fact does not appear at all in the actual infrastructure from the
>    user point of view, but it explains why subdirectories are necessary
>    under pgxs, if you care to have a look.
>
>  - the makefile of any extension is expected to set macro PGXS to
>    "pg_config --pgxs", to include a special makefile, and to
>    set some macros depending on what is to be built, just like in
>    current contrib.
>
>  - I've added two PGXS-triggered conditionnals in Makefile.global,
>    so that includes and libraries are taken where needed.
>
>
> Notes:
>
>  - there is still a "light-install" target that matches the previous
>    "install" behavior, as new "install" matches previous "server-install".
>
>  - I'm not sure the sgml is ok. It looks ok, but is it enough.
>
>  - It validates and works for me.
>
>
> Have a nice day,
>
> --
> Fabien Coelho - coelho@cri.ensmp.fr

Content-Description:

[ Attachment, skipping... ]

>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faqs/FAQ.html

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: fix schema ownership on first connection preliminary patch
Next
From: Simon Riggs
Date:
Subject: Re: [HACKERS] Point in Time Recovery