pgsql: Move interpreter shared library detection to configure

Started by Peter Eisentrautabout 11 years ago6 messagescomitters
Jump to latest
#1Peter Eisentraut
peter_e@gmx.net

Move interpreter shared library detection to configure

For building PL/Perl, PL/Python, and PL/Tcl, we need a shared library of
libperl, libpython, and libtcl, respectively. Previously, this was
checked in the makefiles, skipping the PL build with a warning if no
shared library was available. Now this is checked in configure, with an
error if no shared library is available.

The previous situation arose because in the olden days, the configure
options --with-perl, --with-python, and --with-tcl controlled whether
frontend interfaces for those languages would be built. The procedural
languages were added later, and shared libraries were often not
available in the beginning. So it was decided skip the builds of the
procedural languages in those cases. The frontend interfaces have since
been removed from the tree, and shared libraries are now available most
of the time, so that setup makes much less sense now.

Also, the new setup allows contrib modules and pgxs users to rely on the
respective PLs being available based on configure flags.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/d664a10f9623fd2198b257e513bce849d439a773

Modified Files
--------------
config/python.m4 | 1 -
configure | 41 +++++++++++++++++++++++++++++++++++++----
configure.in | 38 +++++++++++++++++++++++++++++++++++++-
src/Makefile.global.in | 3 ---
src/pl/plperl/GNUmakefile | 21 ---------------------
src/pl/plpython/Makefile | 32 --------------------------------
src/pl/tcl/Makefile | 26 --------------------------
7 files changed, 74 insertions(+), 88 deletions(-)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#2Michael Paquier
michael@paquier.xyz
In reply to: Peter Eisentraut (#1)
Re: pgsql: Move interpreter shared library detection to configure

On Sat, May 2, 2015 at 10:39 AM, Peter Eisentraut <peter_e@gmx.net> wrote:

Move interpreter shared library detection to configure

For building PL/Perl, PL/Python, and PL/Tcl, we need a shared library of
libperl, libpython, and libtcl, respectively. Previously, this was
checked in the makefiles, skipping the PL build with a warning if no
shared library was available. Now this is checked in configure, with an
error if no shared library is available.

The previous situation arose because in the olden days, the configure
options --with-perl, --with-python, and --with-tcl controlled whether
frontend interfaces for those languages would be built. The procedural
languages were added later, and shared libraries were often not
available in the beginning. So it was decided skip the builds of the
procedural languages in those cases. The frontend interfaces have since
been removed from the tree, and shared libraries are now available most
of the time, so that setup makes much less sense now.

Also, the new setup allows contrib modules and pgxs users to rely on the
respective PLs being available based on configure flags.

This is hurting OSX platforms at least older than 10.6 (I can get
configure working on my 10.8 laptop), and OpenBSD.
--
Michael

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#3Peter Eisentraut
peter_e@gmx.net
In reply to: Michael Paquier (#2)
Re: pgsql: Move interpreter shared library detection to configure

On 5/1/15 10:22 PM, Michael Paquier wrote:

On Sat, May 2, 2015 at 10:39 AM, Peter Eisentraut <peter_e@gmx.net> wrote:

Move interpreter shared library detection to configure

This is hurting OSX platforms at least older than 10.6 (I can get
configure working on my 10.8 laptop), and OpenBSD.

The OpenBSD case is intentional, because that would previously silently
skip the build, which is what we wanted to get rid of.

The OS X case, who knows. I have put back the explicit platform
detection that was previously there to fix that.

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#4Andrew Dunstan
andrew@dunslane.net
In reply to: Peter Eisentraut (#3)
Re: pgsql: Move interpreter shared library detection to configure

On 05/01/2015 11:16 PM, Peter Eisentraut wrote:

On 5/1/15 10:22 PM, Michael Paquier wrote:

On Sat, May 2, 2015 at 10:39 AM, Peter Eisentraut <peter_e@gmx.net> wrote:

Move interpreter shared library detection to configure

This is hurting OSX platforms at least older than 10.6 (I can get
configure working on my 10.8 laptop), and OpenBSD.

The OpenBSD case is intentional, because that would previously silently
skip the build, which is what we wanted to get rid of.

The OS X case, who knows. I have put back the explicit platform
detection that was previously there to fix that.

This has also broken frogmouth, which hitherto was happily build and
running plpython. See
<http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=frogmouth&amp;dt=2015-05-02%2012%3A31%3A05&gt;

cheers

andrew

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#5Peter Eisentraut
peter_e@gmx.net
In reply to: Andrew Dunstan (#4)
Re: pgsql: Move interpreter shared library detection to configure

On 5/2/15 11:09 AM, Andrew Dunstan wrote:

On 05/01/2015 11:16 PM, Peter Eisentraut wrote:

On 5/1/15 10:22 PM, Michael Paquier wrote:

On Sat, May 2, 2015 at 10:39 AM, Peter Eisentraut <peter_e@gmx.net>
wrote:

Move interpreter shared library detection to configure

This is hurting OSX platforms at least older than 10.6 (I can get
configure working on my 10.8 laptop), and OpenBSD.

The OpenBSD case is intentional, because that would previously silently
skip the build, which is what we wanted to get rid of.

The OS X case, who knows. I have put back the explicit platform
detection that was previously there to fix that.

This has also broken frogmouth, which hitherto was happily build and
running plpython. See
<http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=frogmouth&amp;dt=2015-05-02%2012%3A31%3A05&gt;

That was an oversight. I have attempted a fix.

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#6Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#1)
Re: pgsql: Move interpreter shared library detection to configure

Peter Eisentraut <peter_e@gmx.net> writes:

Move interpreter shared library detection to configure

BTW, the installation documentation concerning Python (installation.sgml
lines 219ff) is badly in need of updates following this commit.

regards, tom lane

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers