Thread: (Better) support for cross compiled external modules

(Better) support for cross compiled external modules

From
"Johann 'Myrkraverk' Oskarsson"
Date:
Hi all,

Is it possible to add support for cross compiled PGXS modules to the
build system?

That is, when PG is cross compiled, a <host-triplet>-pg_config is
also built for use with external modules?

I'm not adverse to submit a patch for this myself, but would like a
pointer in the general direction for it.


--   Johann Oskarsson                http://www.2ndquadrant.com/    |[]  PostgreSQL Development, 24x7 Support, Training
andServices  --+--                                                                 |  Blog:
http://my.opera.com/myrkraverk/blog/


Re: (Better) support for cross compiled external modules

From
Robert Haas
Date:
On Mon, May 2, 2011 at 10:41 AM, Johann 'Myrkraverk' Oskarsson
<johann@2ndquadrant.com> wrote:
> Hi all,
>
> Is it possible to add support for cross compiled PGXS modules to the
> build system?
>
> That is, when PG is cross compiled, a <host-triplet>-pg_config is
> also built for use with external modules?
>
> I'm not adverse to submit a patch for this myself, but would like a
> pointer in the general direction for it.

Assuming it's not too invasive, I don't see why not.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Re: (Better) support for cross compiled external modules

From
Peter Eisentraut
Date:
On mån, 2011-05-02 at 14:41 +0000, Johann 'Myrkraverk' Oskarsson wrote:
> Is it possible to add support for cross compiled PGXS modules to the
> build system?
> 
> That is, when PG is cross compiled, a <host-triplet>-pg_config is
> also built for use with external modules?
> 
> I'm not adverse to submit a patch for this myself, but would like a
> pointer in the general direction for it.

It's not clear to me how this would fit into the build system.  The
cross-compiled PostgreSQL build will be installed on the host system,
whereas <host-triplet>-pg_config will remain on the build system.  But
we have no way of installing some bits here and some bits there.  Then
again, installing a pg_config on the host system that contains
information for building on the original build system is wrong anyway.

One thing you could do is always install <host-triplet>-pg_config when
cross-compiling, and then have your surrounding package mechanism figure
out what to install where.  Possibly make pg_config a symlink to the
above.