Re: Guile support in GNU make

Paul Smith <[email protected]>
Newsgroups gmane.comp.gnu.make.devel
Organization GNU's Not Unix!
Message-ID <1326754020.3482.357.camel@homebase>
On Mon, 2012-01-16 at 10:02 +0200, Boris Kolpackov wrote:
> Hi Paul,
> 
> Paul D. Smith <[email protected]> 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 <[email protected]>          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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.