make-alpha
[Top][All Lists]
Advanced

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

Re: Guile support in GNU make


From: Paul Smith
Subject: Re: Guile support in GNU make
Date: Mon, 16 Jan 2012 17:47:00 -0500

On Mon, 2012-01-16 at 10:02 +0200, Boris Kolpackov wrote:
> Hi Paul,
> 
> Paul D. Smith <address@hidden> writes:
> 
> > However, it would really only be useful to people shipping binary
> > versions of make: to build from source you'd still need the Guile
> > development package installed if you wanted Guile support.  It would,
> > though, enable packagers to ship GNU make binary packages with Guile
> > enabled, but without depending on the Guile library packages.
> 
> In my experience, "packagers" really dislike when a program insists
> on static linking (or worse includes another module's source code
> verbatim) since that inflates the size of the distribution.

I should have jumped in to clarify when Eli mentioned "static linking"
before.

The make configure setup doesn't do static linking.  The arguments used
to link Guile are whatever is provided by Guile's pkg-config.  Again, I
personally am not that jazzed about pkg-config: I liked the old method
which allowed the configure user to choose whether to link statically,
dynamically, where the library was at link time, etc. but Guile uses
pkg-config, so that's how GNU make finds Guile.

So, unless your distro's Guile package (or the one you installed
yourself) provides a pkg-config definition that specifies static linking
or doesn't include a shared version of libguile, you're going to get
dynamic linking.


What I was talking about above was going even further than that:
avoiding even install-time dependencies!  This is only possible if we
create a "load" command as in my other message.

If we had a "load" command and used that for getting access to guile,
then the dependency of the make distro package on the libguile package
would be optional (no install-time dependency) because it would only be
loaded if your makefile contained a "load guile" statement somewhere.

if you ran "load guile" and the libguile package was not installed, make
would fail.  If you didn't run "load guile" then make would work fine
even if libguile was not installed.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <address@hidden>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.mad-scientist.net
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist




reply via email to

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