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