From d4a970f6962dda28133290194832b726b566ddab Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 7 Jul 2022 18:59:06 -0400 Subject: Switch to meson build system --- README.md | 93 +++++++++++++++++++++------------------------------------------ 1 file changed, 30 insertions(+), 63 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 0a4b4ea..5f4c438 100644 --- a/README.md +++ b/README.md @@ -1,82 +1,49 @@ LV2 === -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. +LV2 is a plugin standard for audio systems. It defines an extensible C API for +plugins, and a format for self-contained "bundle" directories that contain +plugins, metadata, and other resources. See for more +information. +This package contains specifications (C headers and Turtle data files), +documentation generation tools, tests, and example plugins. Installation ------------ -A typical build looks something like this: - - ./waf configure --prefix=/foo - ./waf - 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. +See the [installation instructions](INSTALL.md) for details on how to +configure, build, and install LV2 with meson. +By default, everything is installed within the `prefix` with a UNIX-style +hierarchy, and LV2 bundles are installed in the "lv2" subdirectory of the +`libdir`. The bundle installation directory can be overridden with the +`lv2dir` option. For example, standard system-wide values for various +operating systems are: -Packaging ---------- + meson configure -Dlv2dir=/Library/Audio/Plug-Ins/LV2 + meson configure -Dlv2dir=/boot/common/add-ons/lv2 + meson configure -Dlv2dir=C:/Program Files/Common/LV2 -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`. +The [specification bundles](lv2) are run-time dependencies of LV2 applications. +Programs expect their data to be available somewhere in `LV2_PATH`. See + for details on the +standard installation paths. -See for details on -the standard installation paths. +Headers +------- -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. +The `lv2/` include namespace is reserved for this LV2 distribution. +Other projects may extend LV2, but must place their headers elsewhere. - -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/lv2plug.in/ns/ext/urid/urid.h" - -and the newer simple core style: +Headers are installed to `includedir` with paths like: #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. - - -Documentation -------------- +For backwards compatibility, if the `old_headers` option is set, then headers +are also installed to the older URI-based paths: -Configuring with the --docs option will build the documentation for all the -included specifications if Doxygen is available. For example: - - ./waf configure --docs - ./waf + #include "lv2/lv2plug.in/ns/ext/urid/urid.h" -Specification documentation is also available online at . +Projects still using this style are encourated to migrate to the shorter style +above. -- cgit v1.2.1