Fri 28 Dec 2007 03:08:14 PM UTC, original submission:
Hi,
I've created a patch for adding 'plugins support' to make.
This enhancement is intended for understanding and debugging of large build systems, specially those where the -n is not enough.
A plugin is a .so where callbacks to events are provided.
I've added about 20 event types (callback hooks) along make, so plugins can 'listen' them and take actions, such as writing a log, parsing commands, etc.
I added the following command line options:
-P myplugin.so
--plugin myplugin.so
which tells make to load the 'myplugin.so' plugin
Plugin support is accomplished by launching a process that loads the plugin, and then opens a message queue where the events are queued by the makes (the top and the children).
Additionally, since the new POSIX behavior related to crlf parsing broke our Makefiles that worked in 3.80, I added an option in the ./configure that controls the default POSIX behavior of make:
If you run ./configure with no parameters, make is generated as in 3.81, that is, POSIX behaved by default, but supporting a --no-posix command line option to make it behave as 3.80.
If you run ./configure --disable-default-posix, make is generated as in 3.80 (non POSIX as default), but supporting a --posix command line option.
Please let me know how to contribute this stuff, if useful. We are using it. We are aware of some bugs in the events dynamics so help is very appreciated.
A final note of this message: I've only diffed the main directory, since I used an older version of automake therefore lots of files were different (just because of the version number).
Daniel Gutson.
|