# HG changeset patch # User cannam # Date 1215596199 0 # Node ID 8c8854a78dcd5d2fcba32c9dcd9a8e01f49302db # Parent 7fc1041daa9d9dd18839f53284b15f9add29057e * Update README, .la files etc for 1.3 diff -r 7fc1041daa9d -r 8c8854a78dcd Makefile --- a/Makefile Mon Jul 07 17:17:11 2008 +0000 +++ b/Makefile Wed Jul 09 09:36:39 2008 +0000 @@ -57,7 +57,7 @@ # editing for non-Linux platforms. Of course you don't necessarily # have to use "make install". # -INSTALL_PREFIX := /usr +INSTALL_PREFIX := /usr/local INSTALL_API_HEADERS := $(INSTALL_PREFIX)/include/vamp INSTALL_SDK_HEADERS := $(INSTALL_PREFIX)/include/vamp-sdk INSTALL_HOSTEXT_HEADERS := $(INSTALL_PREFIX)/include/vamp-sdk/hostext @@ -80,10 +80,15 @@ # Flags required to tell the compiler to create a dynamically loadable object # DYNAMIC_LDFLAGS = -static-libgcc -shared -Wl,-Bsymbolic -PLUGIN_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,--version-script=vamp-plugin.map SDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,-soname=$(INSTALL_SDK_LINK_ABI) HOSTSDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,-soname=$(INSTALL_HOSTSDK_LINK_ABI) +# Additional flags for making a plugin. This version script tells the +# GNU linker to make all symbols in the library hidden except for the +# public entry point. It's not essential, but makes a tidier library. +PLUGIN_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,--version-script=vamp-plugin.map + + ## For OS/X with g++: #DYNAMIC_LDFLAGS = -dynamiclib #PLUGIN_LDFLAGS = $(DYNAMIC_LDFLAGS) diff -r 7fc1041daa9d -r 8c8854a78dcd README --- a/README Mon Jul 07 17:17:11 2008 +0000 +++ b/README Wed Jul 09 09:36:39 2008 +0000 @@ -49,7 +49,7 @@ About this SDK ============== -This is version 1.2 of the Vamp plugin Software Development Kit. +This is version 1.3 of the Vamp plugin Software Development Kit. Plugins and hosts built with this SDK are binary compatible with those built using version 1.0 of the SDK. @@ -76,16 +76,12 @@ to expose the correct C API for the plugin. Plugin authors should read vamp-sdk/PluginBase.h and Plugin.h for code documentation, and refer to the example plugin code in the examples directory. Plugins -should link with -lvampsdk. [*NOTE: this has changed from vamp-sdk in -previous versions, to avoid conflict with the use of hyphens for -library versioning schemes on some platforms.] +should link with -lvamp-sdk. Hosts may use the Vamp::PluginHostAdapter to convert the loaded plugin's C API back into a Vamp::Plugin object. Host authors should refer to the example host code in the host directory. Hosts should -link with -lvamphostsdk. [*NOTE: this has changed from vamp-hostsdk -in previous versions, to avoid conflict with the use of hyphens for -library versioning schemes on some platforms.] +link with -lvamp-hostsdk. * vamp-sdk/hostext @@ -180,18 +176,51 @@ provides support for plugin category lookup using this scheme. -Building and Installing the SDK and Examples -============================================ +Compiling the SDK and Examples +============================== -To build the SDK, the simple host, and the example plugins, edit the +This SDK is intended for use on Windows, OS/X, Linux, and other POSIX +platforms. + + * Windows + +A project file for Visual Studio is included (VampPluginSDK.vcproj). +This builds the SDK library, but does not build the example plugins or +command-line host. + +Alternatively, when using Visual Studio or another IDE to build a +plugin or host using the SDK, you can simply add the .cpp files in the +vamp-sdk and vamp-sdk/hostext directories to your existing project. + +If you are using a Cygwin or MinGW GNU toolchain, use the included +Makefile (see Linux and other POSIX platforms below). + + * OS/X + +Run "make -f Makefile.osx" to build the SDK, example plugins, and +command-line host. + +Note that the host requires that you have libsndfile +(http://www.mega-nerd.com/libsndfile/) installed. To build only the +SDK and examples, "make -f Makefile.osx sdk examples". + +If you are using an IDE, you may prefer to simply add the .cpp files +in the vamp-sdk and vamp-sdk/hostext directories to your existing +project. + + * Linux and other POSIX platforms + +To build the SDK, example plugins, and command-line host, edit the Makefile to suit your platform according to the comments in it, then run "make". -There is a ready-tweaked Makefile for use on OS/X; to use it, run -"make -f Makefile.osx". +Note that the host requires that you have libsndfile +(http://www.mega-nerd.com/libsndfile/) installed. To build only the +SDK and examples, edit the Makefile then run "make sdk examples". -To use an IDE to build a plugin or host using the Vamp SDK, simply add -the .cpp files in the vamp-sdk directory to your project. + +Installing the Example Plugins +============================== Installing the example plugins so that they can be found by other Vamp hosts depends on your platform: diff -r 7fc1041daa9d -r 8c8854a78dcd vamp-sdk/libvamp-hostsdk.la.in --- a/vamp-sdk/libvamp-hostsdk.la.in Mon Jul 07 17:17:11 2008 +0000 +++ b/vamp-sdk/libvamp-hostsdk.la.in Wed Jul 09 09:36:39 2008 +0000 @@ -3,7 +3,7 @@ old_library='%STATIC%' dependency_libs='' current=2 -age=0 +age=1 revision=0 installed=yes libdir='%LIBS%' diff -r 7fc1041daa9d -r 8c8854a78dcd vamp-sdk/libvamp-sdk.la.in --- a/vamp-sdk/libvamp-sdk.la.in Mon Jul 07 17:17:11 2008 +0000 +++ b/vamp-sdk/libvamp-sdk.la.in Wed Jul 09 09:36:39 2008 +0000 @@ -4,6 +4,6 @@ dependency_libs='' current=1 age=1 -revision=0 +revision=1 installed=yes libdir='%LIBS%'