diff options
-rw-r--r-- | README.md | 54 |
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 +requires Doxygen. Installation @@ -16,60 +17,51 @@ Installation A typical build looks something like this: - ./waf configure --prefix /foo + ./waf configure --prefix=/foo ./waf 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: ./waf --help -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. Packaging --------- -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 +`LV2_PATH`. -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. Header Installation ------------------- -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" Documentation @@ -80,3 +72,5 @@ included specifications if Doxygen is available. For example: ./waf configure --docs ./waf + +Specification documentation is also availabe online at <http://lv2plug.in/ns>. |