Re: pgxs: build infrastructure for extensions v4

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr>
Cc: PostgreSQL Patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: pgxs: build infrastructure for extensions v4
Date: 2004-07-19 21:38:10
Message-ID: 200407192138.i6JLcAd06430@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers 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(at)cri(dot)ensmp(dot)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(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2004-07-19 21:38:17 Re: fix schema ownership on first connection preliminary patch
Previous Message Bruce Momjian 2004-07-19 21:36:38 Re: [HACKERS] Point in Time Recovery

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2004-07-19 21:38:17 Re: fix schema ownership on first connection preliminary patch
Previous Message Bruce Momjian 2004-07-19 21:38:00 Re: add missing options to pg_dumpall