Sorry to keep adding in my 2c but I have also submitted a plugin
implementation so I have a couple of ideas


On 29 April 2013 17:33, Eli Zaretskii <e...@gnu.org> wrote:

>
> 2. The fact that the dynamic object's file extension (.so) is exposed
>    to the Makefile is unfortunate, because it will hurt portability of
>    Makefiles: the extension on Windows is .dll.  Can we omit the
>    extension and append it internally?
>

"load" allows one to build the plugin from within the makefile so you have
to deal with platform specific problems right there.


> 4. It would be good to have at least a single simple example of a
>    dynamic extension, either in the tarball or in the manual.  The
>    only ones I found are in the test suite; did I miss something?
>

This is a great idea.


> 6. API:
>
>    . I suggest to request that the buffers for expansions and
>      evaluation by gmk_expand and gmk_eval be provided by the caller.
>      It is not safe (and not very convenient) to return buffers
>      allocated internally by these functions, because the dynamic
>      object might be compiled/linked with an incompatible
>      implementation of memory allocation routines.
>

Yes!

IMHO the plugin needs to be able to allocate and deallocate memory in
"gmakes world" i.e. you need gmk_alloc() and gmk_free().

Here's one of the tests:
static char * func_test (const char *funcname, int argc, char **argv)
{
    if (strcmp (funcname, "test-expand") == 0)
        return test_expand (argv[0]);

    if (strcmp (funcname, "test-eval") == 0)
        return test_eval (argv[0]);

    return strdup ("unknown");
}

That strdup at the end should be a gmk_strdup() if possible.

:-) Probably seems like over-engineering.

Regards, Tim

> _______________________________________________
> Bug-make mailing list
> Bug-make@gnu.org
> https://lists.gnu.org/mailman/listinfo/bug-make
>



-- 
You could help some brave and decent people to have access to uncensored
news by making a donation at:

http://www.thezimbabwean.co.uk/friends/
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to