<!DOCTYPE html> <html> <head> <title>Linux Studio Plugins Project</title> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <link rel="stylesheet" href="../../css/style.css" type="text/css"> </head> <body> <div id="body"> <!-- Header --> <div id="header"> <img src="../../img/header.png" alt="Linux Studio Plugins Project" > </div> <!-- Navigation top --> <div id="menu"> <ul> <li class="sel">Building</li> <li><a href="../../index.html">Home</a></li> </ul> </div> <!-- Main content --> <div id="main"> <h1>Building</h1><p> You may build plugins from scratch. </p> <p>For successful build you need the following packages to be installed: </p> <ul> <li>gcc >= 4.7</li> <li>gcc-c++ >= 4.7</li> <li>libgcc_s1 >= 5.2</li> <li>libstdc++-devel >= 4.7</li> <li>jack-devel >= 1.9.5</li> <li>lv2-devel >= 1.10</li> <li>ladspa-devel >= 1.13</li> <li>libexpat-devel >= 2.1</li> <li>libsndfile-devel >= 1.0.25</li> <li>libcairo-devel >= 1.14</li> <li>php >= 5.5.14</li> </ul> <p>For development, additional packages are required to be installed: </p> <ul> <li>glu-devel >= 9.0.0</li> <li>libGL-devel >= 11.2.2</li> </ul> <p>Currently there is no automake/CMake supported, so to build plugins you have to type: </p> <pre>make clean make make install </pre> <p> By default, all supported formats of plugins are built. You may control list of built plugin formats by specifying BUILD_MODULES variable: </p> <pre>make clean make BUILD_MODULES='lv2 vst doc' make install </pre> <p> Available modules are: </p> <ul> <li>ladspa - LADSPA plugin binaries</li> <li>lv2 - LV2 plugin binaries</li> <li>vst - LinuxVST plugin binaries</li> <li>jack - JACK plugin binaries</li> <li>doc - HTML documentation</li> </ul> <p>Also possible (but not recommended) to specify compile targets: </p> <pre>make clean make build_ladspa make build_lv2 make build_vst make build_jack make build_doc </pre> <p> By default plugins use '/usr/local' path as installation directory. To override this path, you can run build with specifying PREFIX variable: </p> <pre>make clean make PREFIX=/usr make install </pre> <p> By default, 'make install' will install all plugin formats (LADSPA, LV2, LinuxVST, JACK) and documentation. To install them separately, you can issue following commands: </p> <pre>make clean make make install_ladspa make install_lv2 make install_vst make install_jack make install_doc </pre> <p> To build binaries for debugging/profiling, use the following commands: </p> <pre>make clean make profile </pre> <p> To build binaries for testing (developers only), use the following commands: </p> <pre>make clean make test </pre> <p> You may also specify the installation root by specifying DESTDIR attribute: </p> <pre>make install DESTDIR=<installation-root> </pre> <p> 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: </p> <pre>make clean make BUILD_PROFILE=<target architecture> </pre> <p> To automatically build tarballs with binaries, you may use 'release' target: </p> <pre>make clean make release </pre> <p> 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: </p> <pre>make clean make BUILD_PROFILE=<target architecture> release </pre> <p> To remove all previsously built tarballs, just issue: </p> <pre>make unrelease </pre> </div> <!-- Navigation bottom --> <div id="menu"> <ul> <li class="sel">Building</li> <li><a href="../../index.html">Home</a></li> </ul> </div> <!-- Footer --> <div id="footer"> <p>(C) Linux Studio Plugins, 2015-2016</p> <p>All rights reserved</p> </div> </div> </body> </html>