[LAD] LV2 extension #include (lv2config), lv2plug.in SVN [was: current drobilla.net SVN]

David Robillard d at drobilla.net
Tue Nov 16 21:41:52 UTC 2010

On Tue, 2010-10-19 at 11:36 -0500, Gabriel M. Beddingfield wrote:
> > with joeboy's help i realized that my custom-build rdflib is being installed 
> > to /usr/local/lib/python-2.6/site-packages/rdflib.
> >
> > it seems it's not being found there, even though my sys.path includes 
> > /usr/local/lib/python-2.6/site-packages...
> Well... at any rate it appears to be a *new* build 
> dependency.  I've built ingen lots of times without having 
> that python module.

(Skip to bottom for the jist of this email...)

It is actually a dependency of the new lv2config tool.

I suppose this should be mentioned here as well as lv2-dev now that it's
nearly finalized and this list gets much more traffic:

If you are a host or plugin author intending to use any modern LV2
extensions (from lv2plug.in, at least), you will probably need/want to
use the lv2config tool.  Please provide your feedback now, before it is
too late

lv2config is intended to be a widely deployed, available-by-default tool
for any systems with LV2 (i.e. the lv2core bundle/package), and a build
time (and/or extension install time) dependency.  It allows projects to
compile against system-installed LV2 extensions (which was previously
impossible in general), or those included locally with source trees,
without having any namespace specific (e.g. distro specific like
pkgconfig names) identifiers in the code (#include paths are URI based)

This means extension headers are widely useful without needing to be
munged for each project, e.g.:

 * LV2 code can be easily copy/pasted without munging

 * Perhaps most importantly, extension headers can #include other
extension headers

Note the build-time dependency can optionally be avoided by
pre-generating an include tree (in which case you should probably
include the extensions with your code).  The includes are URI based to
achieve this.

Rationale, and more information, is available here:

(Feel free to edit the wiki page with TODO type edits and questions)

Feedback on this from any developers would be very much appreciated, it
has not seen enough eyes yet, but I would like it to become a part of
the upcoming LV2r4 spec so distributions can include it and everyone can
depend on it being installed, and everyone can use a standard way to
check for, and build against/use, installed LV2 extensions.

All lv2plug.in extension stuff, including lv2config, is now available in
SVN at http://lv2plug.in/repo/trunk/


More information about the Linux-audio-dev mailing list