Re: Guile support in GNU make
Paul Smith <[email protected]>
| Newsgroups | gmane.comp.gnu.make.devel |
|---|---|
| Organization | GNU's Not Unix! |
| Message-ID | <1326658150.3482.259.camel@homebase> |
On Sun, 2012-01-15 at 21:04 +0200, Eli Zaretskii wrote:
> But this cannot be enough to have a truly extensible Make, could it?
It depends on your definition of "extensible" of course.
> (Btw, how come one needs to open and close files in an extension
> language? this should be automatic, no?)
I don't understand what you mean by "automatic". Why _wouldn't_ an
extension language need to open and close files? It's all a matter of
the level of the language; Guile is a complete programming language not
just an extension language. You can always create higher-level
procedures if you prefer a simpler interface:
(define (>> file string)
(let ((port (open-file file "a")))
(display string port)
(newline port)
(close-port port)))
Now call:
(>> "myfile" "some text to go into myfile)
> What I think is needed is to be able to affect Make on a more
> fundamental level. For example, control whether a target will be
> remade given its prerequisites, or dynamically control the built-in
> rules, or maybe access the dependency graph and do something with it.
That's an entirely different thing. To do this would require a whole
new internal API implementation that was stable and comprehensive, that
simply doesn't exist right now, and I don't think is appropriate to try
to create for this release.
At some point, after we have more experience with these extensions and
what people can, and want to, do with them, we will be better able to
decide what, or if, other facilities are needed.
--
-------------------------------------------------------------------------------
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