diff options
author | Paul Smith <psmith@gnu.org> | 2013-05-14 22:53:42 -0400 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2013-05-14 22:53:42 -0400 |
commit | c21c1455fdfc6e87d75941f48841c72903e1e0f4 (patch) | |
tree | 07578812e5d846bc943a114db1c3f37a99079982 /doc | |
parent | 58dae243526bd322ae6bec0c4394a117a5fe0171 (diff) | |
download | gunmake-c21c1455fdfc6e87d75941f48841c72903e1e0f4.tar.gz |
Add requirement for plugin_is_GPL_compatible symbol in loaded objects.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/make.texi | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/doc/make.texi b/doc/make.texi index e3e5135..d1ceefb 100644 --- a/doc/make.texi +++ b/doc/make.texi @@ -11058,6 +11058,24 @@ functions may make use of the @code{gmk_expand} and @code{gmk_eval} routines to perform their tasks, then optionally return a string as the result of the function expansion. +@subsubheading Loaded Object Licensing +@cindex loaded object licensing +@cindex plugin_is_GPL_compatible + +Every dynamic extension should define the global symbol +@code{plugin_is_GPL_compatible} to assert that it has been licensed +under a GPL-compatible license. If this symbol does not exist, +@code{make} emits a fatal error and exits when it tries to load your +extension. + +The declared type of the symbol should be @code{int}. It does not need +to be in any allocated section, though. The code merely asserts that +the symbol exists in the global scope. Something like this is enough: + +@example +int plugin_is_GPL_compatible; +@end example + @subsubheading Data Structures @table @code @@ -11185,6 +11203,8 @@ function in a file @file{mk_temp.c}: #include <gnumake.h> +int plugin_is_GPL_compatible; + char * gen_tmpfile(const char *nm, int argc, char **argv) @{ |