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
9 months ago
doc Clean up Doxygen index 1 year ago
lv2 LV2 1.18.2 11 months ago
lv2specgen do not install 9 months ago
meson fixup! WIP: Switch to Meson 11 months ago
plugins Format all code with clang-format 11 months ago
resources/logo Clean up and minify SVG logos 1 year ago
schemas.lv2 Fix xsd.ttl style 3 years ago
util Rename spec metadata files to name.meta.ttl 2 years ago
waflib@b600c928b2 Update autowaf 11 months ago
.clang-tidy Suppress clang-tidy C11 warnings 11 months ago
.gitignore Ignore top-level generated NEWS file 2 years ago
.gitlab-ci.yml Fix CI configuration 1 year ago
.gitmodules Fix autowaf submodule reference 2 years ago
COPYING Remove individual extension pkg-config files and build scripts. 10 years ago Install standard headers to simpler include paths 3 years ago Add pkgconfig file for all of LV2. 10 years ago do not install 9 months ago
meson_options.txt fixup! WIP: Switch to Meson 11 months ago
waf Update waf wrapper to print submodule help message 2 years ago
wscript LV2 1.18.2 11 months 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