Mercurial > hg > sv-dependency-builds
comparison src/vamp-plugin-sdk-2.5/build/README.linux @ 23:619f715526df sv_v2.1
Update Vamp plugin SDK to 2.5
author | Chris Cannam |
---|---|
date | Thu, 09 May 2013 10:52:46 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
22:b07fe9e906dc | 23:619f715526df |
---|---|
1 | |
2 The Vamp Plugin SDK -- Platform Notes for Linux and other GNU platforms | |
3 ======================================================================= | |
4 | |
5 Building at the command line | |
6 ---------------------------- | |
7 | |
8 To build the SDK, example plugins, and command-line host: | |
9 | |
10 $ ./configure | |
11 $ make | |
12 | |
13 To install after a successful make, run "make install" as root (or via | |
14 sudo). | |
15 | |
16 | |
17 Installing the Example Plugins | |
18 ------------------------------ | |
19 | |
20 To install the example plugins so you can load them in Vamp hosts, | |
21 copy the files | |
22 | |
23 examples/vamp-example-plugins.so | |
24 and | |
25 examples/vamp-example-plugins.cat | |
26 | |
27 to | |
28 /usr/local/lib/vamp/ | |
29 or | |
30 $HOME/vamp/ | |
31 | |
32 | |
33 Plugin Linkage | |
34 -------------- | |
35 | |
36 Vamp plugins are distributed as dynamic libraries (.so files). A | |
37 properly packaged Vamp plugin library should export exactly one public | |
38 symbol, namely the Vamp API entry point vampGetPluginDescriptor. | |
39 | |
40 The default for the GNU linker is to export all of the symbols in the | |
41 library. This will work (the host will be able to load the plugin), | |
42 but it unnecessarily pollutes the host's symbol namespace, it may | |
43 cause symbol collisions in some esoteric circumstances, and it | |
44 increases the amount of time the plugin takes to load. | |
45 | |
46 To improve this behaviour, you can instruct the linker to export only | |
47 the one required symbol using a linker script. To do this, place the | |
48 text | |
49 | |
50 { | |
51 global: vampGetPluginDescriptor; | |
52 local: *; | |
53 }; | |
54 | |
55 into a text file, and then use the --version-script option to the | |
56 linker to tell it to refer to this file. All other symbols will then | |
57 be properly hidden. | |
58 | |
59 The Makefile included in this SDK uses this method to manage symbol | |
60 visibility for the included example plugins, using the file | |
61 build/vamp-plugin.map. There are other methods that will work too, | |
62 but this one is simple and has the advantage of requiring no changes | |
63 to the code. | |
64 | |
65 | |
66 Test Your Plugins | |
67 ----------------- | |
68 | |
69 The Vamp Plugin Tester is a vital utility which you can use to test | |
70 your plugins for common problems. It can help you if you're having | |
71 problems getting your plugin to work at all, and you're strongly | |
72 advised to use it before you release anything. Download it from the | |
73 Vamp plugins site now! | |
74 |