Mercurial > hg > sv-dependency-builds
diff src/vamp-plugin-sdk-2.4/build/README.linux @ 12:b7bda433d832
Add Vamp SDK source
author | Chris Cannam |
---|---|
date | Wed, 20 Mar 2013 15:58:35 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/vamp-plugin-sdk-2.4/build/README.linux Wed Mar 20 15:58:35 2013 +0000 @@ -0,0 +1,74 @@ + +The Vamp Plugin SDK -- Platform Notes for Linux and other GNU platforms +======================================================================= + +Building at the command line +---------------------------- + +To build the SDK, example plugins, and command-line host: + +$ ./configure +$ make + +To install after a successful make, run "make install" as root (or via +sudo). + + +Installing the Example Plugins +------------------------------ + +To install the example plugins so you can load them in Vamp hosts, +copy the files + + examples/vamp-example-plugins.so +and + examples/vamp-example-plugins.cat + +to + /usr/local/lib/vamp/ +or + $HOME/vamp/ + + +Plugin Linkage +-------------- + +Vamp plugins are distributed as dynamic libraries (.so files). A +properly packaged Vamp plugin library should export exactly one public +symbol, namely the Vamp API entry point vampGetPluginDescriptor. + +The default for the GNU linker is to export all of the symbols in the +library. This will work (the host will be able to load the plugin), +but it unnecessarily pollutes the host's symbol namespace, it may +cause symbol collisions in some esoteric circumstances, and it +increases the amount of time the plugin takes to load. + +To improve this behaviour, you can instruct the linker to export only +the one required symbol using a linker script. To do this, place the +text + +{ + global: vampGetPluginDescriptor; + local: *; +}; + +into a text file, and then use the --version-script option to the +linker to tell it to refer to this file. All other symbols will then +be properly hidden. + +The Makefile included in this SDK uses this method to manage symbol +visibility for the included example plugins, using the file +build/vamp-plugin.map. There are other methods that will work too, +but this one is simple and has the advantage of requiring no changes +to the code. + + +Test Your Plugins +----------------- + +The Vamp Plugin Tester is a vital utility which you can use to test +your plugins for common problems. It can help you if you're having +problems getting your plugin to work at all, and you're strongly +advised to use it before you release anything. Download it from the +Vamp plugins site now! +