Re: [HACKERS] Perl library (was Building Postgres) - Mailing list pgsql-hackers

From Mark Hollomon
Subject Re: [HACKERS] Perl library (was Building Postgres)
Date
Msg-id 377799C3.47670B94@americasm01.nt.com
Whole thread Raw
In response to Re: [HACKERS] Building Postgres  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Thomas Lockhart wrote:
> 
> > For v6.5, I think I'm going to do the phased build (the "repeating"
> > option).
> 
> OK, I think I've got a good start at a Postgres-6.5 rpm set. It will
> have the apps using shared libraries, rather than static links. It
> includes more interfaces than past rpms, including ODBC, and I've
> separated out the language-specific features into separate rpms (e.g.
> the tcl interfaces are in postgres-tcl-6.5-1.rpm).
> 
> I'm now trying to package the perl (and next, python) interfaces. Can
> someone with perl installation experience give me some hints on what
> actually needs to be installed and how it has to happen?
> 
> The Postgres source tree uses a perl-based make system which ends up
> with very installation-specific and perl-version-specific target
> paths, but I don't know if these paths are actually used in the final
> product. Will I need to put Makefile.PL, etc., in the binary rpm
> itself, and build the perl interface on the fly for every target
> machine? Can I instead just plop some files into the proper place on
> the target machine in a version-independent way?

The incantation
perl -MConfig -e 'print $Config{archlib},"\n"'

will give you the directory where things need to go.

The pm file goes directly in archlib. The sharedlib and the bootstrap
file go in <archlib>/auto/<extension-name>

<archlib>/Postgres.pm
<archlib>/auto/Postgres/Postgres.so
<archlib>/auto/Postgres/Postgres.bs

That would be a start.

---
Mark Hollomon
mhh@nortelnetworks.com


pgsql-hackers by date:

Previous
From: Maarten Boekhold
Date:
Subject: Re: [HACKERS] Perl library (was Building Postgres)
Next
From: "Oliver Elphick"
Date:
Subject: Re: [HACKERS] Perl library (was Building Postgres)