3 files changed, 68 insertions, 58 deletions
diff --git a/INSTALL b/INSTALL
deleted file mode 100644
@@ -1,35 +0,0 @@
-This software requires only Python to build.
-Like an auto* project, building has three phases:
-* Configure: ./waf configure [OPTIONS]
- ./waf configure --prefix=/some/where --debug --strict
- If --debug is not given, the flags from the environment variables
- CFLAGS and CXXFLAGS will be used.
- The default prefix is /usr/local
-* Build: ./waf [OPTIONS]
- ./waf -j4
-* Install: ./waf install [OPTIONS]
- The environment variable DESTDIR can be used to add any prefix to
- the install paths (useful for packaging). Example:
- DESTDIR=/home/drobilla/packages ./waf install
-*** IMPORTANT: You must use absolute paths everywhere
-Run './waf --help' for detailed option information.
@@ -1,37 +1,82 @@
-This is a repository of all the extensions, scripts, and other useful LV2
-related tools at <http://lv2plug.in/>. Contributions are welcome, please
-send patches to the LV2 mailing list (see admin page at
-<http://lists.lv2plug.in/> to subscribe or browse archives).
-Note that many components of this repository are experimental, and NOT
-suitable for release or packaging. Release tarballs suitable for
-distribution can be found in build/default/spec after running gendoc.py.
+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.
-The build system and documentation generation requires only Python
+This package contains specifications (a C header and/or a schema in Turtle),
+documentation generation tools, and example plugins.
+Building and installation requires only Python 2.6 and, optionally, Doxygen.
-** Installing Core/Extension Bundles **
-sudo ./waf install
-The installation directory can be modified with the --lv2-dir or
---lv2-user options to ./waf configure, e.g.:
+A typical build looks something like this:
-./waf configure --lv2-dir /path/to/dir/to/place/bundles/under
+ ./waf configure --prefix /foo
+ sudo ./waf install
+or, for packaging:
-./waf configure --lv2-user
+ DESTDIR=/foo/lv2 ./waf install
-which will install to the default user LV2 directory (e.g. ~/.lv2).
+For help on the various options available, run:
+ ./waf --help
+The bundle installation directory can be set with the --lv2-dir option, e.g.:
-** Generating Core/Extension Documentation **
+ ./waf configure --lv2-dir /foo/lib/lv2
+Similarly, --lv2-user will install to the user LV2 directory (e.g. ~/.lv2).
-Documentation output will be in build/default/doc.
+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.
+See <http://lv2plug.in/trac/wiki/Filesystem_Hierarchy_Standard> 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.
+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"
+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.
+If you are having problems with symbolic links for whatever reason, configure
+with the --copy-headers option, which will make copies instead.
+Configuring with the --docs option will build the documentation for all the
+included specifications if Doxygen is available. For example:
+ ./waf configure --docs
@@ -16,7 +16,7 @@ import waflib.Scripting as Scripting
LV2EXT_VERSION = datetime.date.isoformat(datetime.datetime.now()).replace('-', '.')
# Variables for 'waf dist'
-APPNAME = 'lv2world'
+APPNAME = 'lv2'
VERSION = LV2EXT_VERSION
# Mandatory variables