To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / build / README.linux

History | View | Annotate | Download (2.11 KB)

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