automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Integration of a Perl XS module with an Automake build system


From: Bob Friesenhahn
Subject: Re: Integration of a Perl XS module with an Automake build system
Date: Tue, 30 Jun 2015 17:06:13 -0500 (CDT)
User-agent: Alpine 2.01 (GSO 1266 2009-07-14)

On Tue, 30 Jun 2015, Gavin Smith wrote:

What you say about using a different compiler is worrying, though, and
I hadn't thought about it before. So basically when compiling an XS
module, you need to use whatever compiler was used to compile perl in
the first place? I think we could retrieve this information and use it
only when compiling the XS module, allowing the rest of the program to
be compiled with the compiler that the configure script or user
chooses.

If you use a system which supports several completely different compilers targeting the same ABI, you immediately find dismay unless you compile Python using the same compiler you plan to use.

This is quite evident on Solaris systems which use the Sun/Oracle compiler to build the bundled Python so it produces Sun compiler options which don't work with GCC.

Something else which changes is the identity of the target, which determines
where build products go in the build tree and when installed.

What, you mean if cross-compiling? It seems impossible: how are we
supposed to know what compiler flags to use? Some information might
have to be provided manually. The same problem must have occurred with
libtool as well, for cross-compiling shared libraries.

Not specifically when cross-compiling. Perl has a particular way to name the directories in which it puts the module in the build tree and installation tree. Part of this includes the basic architecture of the machine (as known to Perl).

Bob
--
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]