Compile time modules for the plugins would probably be simpler (avoids dynamic linking)
I think the one notable change would be each plugin would need its own init function (init_python, init_logger, etc), and some part of the server code would have to have the #ifdefs to call those or not. The one advantage of the dynamic linking module is there is a standard/common init that is called during the loading.
The idea of third party modules is hard to imagine - unlike say plugins for firefox which tend to be fairly abstract, the plugins for crossfire are really tied to the server they are compiled with. That is/was one source of many problems - a new field is added to some object, the server is recompiled, and maybe even the plugins, but the plugins are not installed so access to the structure gets random values. So I can't ever see anyone distributing a binary only .so file and have it work, unless it was very trivial. So they will always be source, and even if due to license reasons it can't be distributed as part of crossfire, it still wouldn't be hard to just make the appropriate directory in the plugins directory and add the logic for it to get compiled.
_______________________________________________ crossfire mailing list [email protected] http://mailman.metalforge.org/mailman/listinfo/crossfire

