Diffstat (limited to 'README.md')
1 files changed, 24 insertions, 30 deletions
@@ -5,10 +5,11 @@ LV2 is a plugin standard for audio systems. It defines a minimal yet extensible
C API for plugin code and a format for plugin "bundles". See
<http://lv2plug.in> for more information.
-This package contains specifications (a C header and/or a schema in Turtle),
+This package contains specifications (C headers and Turtle files),
documentation generation tools, and example plugins.
-Building and installation requires only Python 2.6 and, optionally, Doxygen.
+Building and installation requires only Python 2.6. Building the documentation
@@ -16,60 +17,51 @@ Installation
A typical build looks something like this:
- ./waf configure --prefix /foo
+ ./waf configure --prefix=/foo
sudo ./waf install
or, for packaging:
- DESTDIR=/foo/lv2 ./waf install
+ DESTDIR=/home/packager/lv2root ./waf install
-For help on the various options available, run:
+For help on the other available options, run:
-The bundle installation directory can be set with the --lv2-dir option, e.g.:
+The bundle installation directory can be set with the --lv2dir option, e.g.:
- ./waf configure --lv2-dir /foo/lib/lv2
+ ./waf configure --lv2dir=/foo/lib/lv2
-Similarly, --lv2-user will install to the user LV2 directory (e.g. ~/.lv2).
+Configuring with `--lv2-user` will install bundles to the user-local location.
-Specification bundles are both a build and run time dependency of programs that
-use LV2. Programs expect their data to be available somewhere in LV2_PATH.
+Specification bundles are both a build-time and run-time dependency of programs
+that use LV2. Programs expect their data to be available somewhere in
-See <http://lv2plug.in/trac/wiki/Filesystem_Hierarchy_Standard> for details on
+See <http://lv2plug.in/pages/filesystem-hierarchy-standard.html> for details on
the standard installation paths.
-Do not split up LV2 bundles, they must remain self-contained. This is a
-requirement, not a suggestion, and it supercedes any rules your distribution
-may have which were likely designed for libraries (note LV2 specifications are
-just text, not libraries). You are free to link or copy things anywhere, but
-under no circumstances should an incomplete part of a bundle be installed.
-Other than that, things may be split up in any way. In particular it is a good
-idea to split specifications, tools, and plugins into separate packages.
+Do not split up LV2 bundles, they are self-contained and must remain whole.
+Other than that, things may be split to suit distribution needs. For example,
+separate packages for specifications, tools, and plugins, may be good idea.
-The install stage installs symbolic links to headers in bundles. This is to
-support universal C includes that do not change from system to system. For
-example, the URID extension's header can always be included like so:
- #include "lv2/lv2plug.in/ns/ext/urid/urid.h"
+By default symbolic links to headers in bundles are installed to `INCLUDEDIR`.
+If symbolic links are a problem, configure with `--copy-headers` and copies
+will be installed instead.
-Note that some specification headers themselves have such include lines, which
-must not be modified. The details of how this is achieved are unimportant and
-may be tailored to particular systems. The requirement is simply that this
-style of include must work for any header in a specification.
+Note that include paths relative to `PREFIX` may not be changed, since projects
+using LV2 use include paths like:
-If you are having problems with symbolic links for whatever reason, configure
-with the --copy-headers option, which will make copies instead.
+ #include "lv2/lv2plug.in/ns/ext/urid/urid.h"
@@ -80,3 +72,5 @@ included specifications if Doxygen is available. For example:
./waf configure --docs
+Specification documentation is also availabe online at <http://lv2plug.in/ns>.