Building
You may build plugins from scratch.
For successful build you need the following packages to be installed:
- gcc >= 4.7 OR clang >= 10.0.1
- gcc-c++ >= 4.7 OR clang-c++ >= 10.0.1
- libgcc_s1 >= 5.2
- libstdc++-devel >= 4.7
- jack-devel >= 1.9.5
- lv2-devel >= 1.10
- ladspa-devel >= 1.13
- libsndfile-devel >= 1.0.25
- libcairo-devel >= 1.14
- php >= 5.5.14
- libGL-devel >= 11.2.2
Currently there is no automake/CMake supported, so to build plugins you have to type:
make clean make make install
By default, all supported formats of plugins are built. You may control list of built plugin formats by specifying BUILD_MODULES variable:
make clean make BUILD_MODULES='lv2 vst doc' make install
Available modules are:
- ladspa - LADSPA plugin binaries
- lv2 - LV2 plugin binaries
- vst - LinuxVST plugin binaries
- jack - JACK plugin binaries
- doc - HTML documentation
Also possible (but not recommended) to specify compile targets:
make clean make build_ladspa make build_lv2 make build_vst make build_jack make build_doc
By default plugins use '/usr/local' path as installation directory. To override this path, you can run build with specifying PREFIX variable:
make clean make PREFIX=/usr make install
Several DEs like GNOME don't support XDG format, so desktop icon installations are available as a separate build task:
make install_xdg
By default, 'make install' will install all plugin formats (LADSPA, LV2, LinuxVST, JACK) and documentation. To install them separately, you can issue following commands:
make clean make make install_ladspa make install_lv2 make install_vst make install_jack make install_doc
To build binaries for debugging/profiling, use the following commands:
make clean make profile
To build binaries for testing (developers only), use the following commands:
make clean make test
To build both release binaries and binaries for testing, use the following commands:
make clean make all test
After issuing this command, the system will build release binaries into '.build' subdirectory and test binaries into '.test' subdirectory
You may also specify the installation root by specifying DESTDIR attribute:
make install DESTDIR=<installation-root>
To perform cross-building between different architectures, you first should have a corresponding toolchain. By default, LSP plugins use 'uname' tool for detecting target architecture and set internal variable BUILD_PROFILE to the detected value. Currently supported values are 'x86_64', 'i586', 'armv7a'. To build plugins for another architecture, just issue following commands:
make clean make BUILD_PROFILE=<target architecture>
To automatically build tarballs with binaries, you may use 'release' target:
make clean make release
After issuing these commands, '.release' subdirectory will contain tarballs with binaries, documentation and sources. To perform release for another architecture, same way with BUILD_PROFILE is possible:
make clean make BUILD_PROFILE=<target architecture> release
To remove all previsously built tarballs, just issue:
make unrelease