[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The Crystal Space `configure' script option `--enable-meta-info-embedding' controls whether or not the build system embeds the plugin meta-information into plugin modules (if supported by the platform), and whether or not the plugin loader looks for embedded meta-information. If this option is disabled, or if embedding is not supported by the platform, then the meta-information is laid down alongside the built plugin module (`.so' or `.dll') in a text file with the same name as the plugin module, except with extension `.csplugin'. The meta-information embedding option is enabled, by default.
The platform-specific plugin loaders are capable of reading plugin meta-information when it is embedded and when it exists in a stand-alone `.csplugin' resource. Even when configured for embedding, the plugin loaders will still be able to recognize and utilize external `.csplugin' resource. This means that Crystal Space-based projects with unsophisticated build systems, which are incapable of embedding meta-information into the plugin module, can still create usable plugins by simply placing a copy of the `.csplugin' file alongside the plugin executable (`.so' or `.dll').
External projects which are based upon Crystal Space's Jam build system (`CS/mk/jam') inherit, for free, the capability of embedding meta-information within plugin modules (if supported by the platform). Simply grab the newer `.jam' files from `CS/mk/jam', and add a few definitions to the project's `Jamconfig' file. The exact set of definitions is platform-specific, so consult the appropriate Jam file (`unix.jam', `win32.jam', or `macosx.jam') to determine precisely which which definitions are required. Here is a list of definitions required at the time of writing:
EMBED_META = yes
LIBBFD.AVAILABLE = yes
OBJCOPY.AVAILABLE = yes
CMD.OBJCOPY = objcopy
EMBED_META = yes
EMBED_META = yes
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated using texi2html 1.76.