LV2 subproject with meson
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Alexandros Theodotou aeb61d6fe0
do not install
2 years ago
doc Clean up Doxygen index 3 years ago
lv2 LV2 1.18.2 2 years ago
lv2specgen Gracefully handle pending releases without dates 3 years ago
meson fixup! WIP: Switch to Meson 2 years ago
plugins Format all code with clang-format 2 years ago
resources/logo Clean up and minify SVG logos 3 years ago
schemas.lv2 Fix xsd.ttl style 4 years ago
util Rename spec metadata files to name.meta.ttl 3 years ago
waflib@b600c928b2 Update autowaf 2 years ago
.clang-tidy Suppress clang-tidy C11 warnings 2 years ago
.gitignore Ignore top-level generated NEWS file 3 years ago
.gitlab-ci.yml Fix CI configuration 3 years ago
.gitmodules Fix autowaf submodule reference 4 years ago
COPYING Remove individual extension pkg-config files and build scripts. 11 years ago Install standard headers to simpler include paths 5 years ago Add pkgconfig file for all of LV2. 11 years ago do not install 2 years ago
meson_options.txt fixup! WIP: Switch to Meson 2 years ago
waf Update waf wrapper to print submodule help message 3 years ago
wscript LV2 1.18.2 2 years ago


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 for more information.

This package contains specifications (C headers and Turtle files), documentation generation tools, and example plugins.

Building and installation requires only Python 2.6. Building the documentation requires Doxygen.


A typical build looks something like this:

./waf configure --prefix=/foo
sudo ./waf install

or, for packaging:

DESTDIR=/home/packager/lv2root ./waf install

For help on the other available options, run:

./waf --help

The bundle installation directory can be set with the --lv2dir option, e.g.:

./waf configure --lv2dir=/foo/lib/lv2

Configuring with --lv2-user will install bundles to the user-local location.


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 LV2_PATH.

See for details on the standard installation paths.

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.

Header Installation

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.

Headers are installed in two paths, the universal URI-based style:

#include "lv2/"

and the newer simple core style:

#include "lv2/urid/urid.h"

Projects are encouraged to migrate to the latter style, though note that this style of include path may only be used by official LV2 specifications.


Configuring with the --docs option will build the documentation for all the included specifications if Doxygen is available. For example:

./waf configure --docs

Specification documentation is also availabe online at