133 lines
4.4 KiB
Plaintext
133 lines
4.4 KiB
Plaintext
Packaging `synthclone`
|
|
======================
|
|
|
|
Contents:
|
|
|
|
1. Install Parts
|
|
2. Install Options For Packagers
|
|
3. Packaging Recommendations
|
|
4. Packaging Scripts
|
|
5. Dependencies
|
|
|
|
1. Install Parts
|
|
----------------
|
|
|
|
A `synthclone` install can be made up of several common parts:
|
|
|
|
1. `synthclone` - The application
|
|
2. libsynthclone - API implementation for `synthclone`
|
|
3. Plugins distributed with `synthclone`, including:
|
|
* libsynthclone_hydrogen
|
|
* libsynthclone_jack
|
|
* libsynthclone_lv2
|
|
* libsynthclone_portmedia
|
|
* libsynthclone_renoise
|
|
* libsynthclone_reverser
|
|
* libsynthclone_sampleloader
|
|
* libsynthclone_sfz
|
|
* libsynthclone_trimmer
|
|
* libsynthclone_zonegenerator
|
|
4. Header files containing the plugin API interface
|
|
5. API documentation, generated by `doxygen`
|
|
|
|
2. Install Options For Packagers
|
|
--------------------------------
|
|
|
|
`synthclone` is built using the typical UNIX build process (`configure`, `make`,
|
|
`make install`). There are several options that you can pass to the configure
|
|
script in order to select what will or will not be built, and where each item
|
|
will be installed:
|
|
|
|
$ ./configure --help
|
|
Usage: configure [options] [qmake-args]
|
|
|
|
Options:
|
|
-h, --help show this help message and exit
|
|
--bin-dir=BINDIR Install directory for synthclone executable
|
|
--build-dir=BUILDDIR Build directory
|
|
--data-dir=DATADIR Install directory for general data files
|
|
--data-root-dir=DATAROOTDIR
|
|
Install root for data files
|
|
--debug Build a debug executable
|
|
--doc-dir=DOCDIR Install directory for synthclone documentation
|
|
--exec-prefix=EXECPREFIX
|
|
Install prefix for executable data
|
|
--include-dir=INCLUDEDIR
|
|
Install directory for system header files
|
|
--lib-dir=LIBDIR Install directory for synthclone shared library
|
|
--make-dir=MAKEDIR Make directory
|
|
--plugin-dir=PLUGINDIR
|
|
Install directory for synthclone plugins
|
|
--prefix=PREFIX Install prefix
|
|
--skip-api-docs=SKIPAPIDOCS
|
|
Don't build API documentation
|
|
--skip-headers=SKIPHEADERS
|
|
Don't build API headers
|
|
--skip-hydrogen=SKIPHYDROGEN
|
|
Don't build the Hydrogen plugin
|
|
--skip-jack=SKIPJACK Don't build the JACK plugin
|
|
--skip-lv2=SKIPLV2 Don't build the LV2 plugin
|
|
--skip-portmedia=SKIPPORTMEDIA
|
|
Don't build the PortMedia plugin
|
|
--skip-renoise=SKIPRENOISE
|
|
Don't build the Renoise plugin
|
|
--skip-reverser=SKIPREVERSER
|
|
Don't build the reverser plugin
|
|
--skip-sample-loader=SKIPSAMPLELOADER
|
|
Don't build the sample loader plugin
|
|
--skip-sfz=SKIPSFZ Don't build the SFZ plugin
|
|
--skip-trimmer=SKIPTRIMMER
|
|
Don't build the trimmer plugin
|
|
--skip-zone-generator=SKIPZONEGENERATOR
|
|
Don't build the zone generator plugin
|
|
|
|
By default, all items are built.
|
|
|
|
Arguments of the form '--skip-[name]' are integer arguments. The specified
|
|
argument can be skipped by passing any non-zero integer as the argument value.
|
|
|
|
After building `synthclone`, you may want to set the install path for
|
|
`synthclone` to a different location than the 'prefix' for packaging purposes.
|
|
To do this, execute:
|
|
|
|
make install INSTALL_ROOT=/path/to/some/location
|
|
|
|
You *must* make sure that the path is not a relative path.
|
|
|
|
3. Package Recommendations
|
|
--------------------------
|
|
|
|
Parts 1-3 should be placed into the main `synthclone` package.
|
|
|
|
Parts 4-5 should be placed into a development package (e.g. synthclone-devel).
|
|
|
|
4. Packaging Scripts
|
|
--------------------
|
|
|
|
Simple packaging scripts have been developed that take care of packaging on
|
|
the following operating systems:
|
|
|
|
Debian Linux:
|
|
./install/build-debian-packages
|
|
|
|
5. Dependencies
|
|
---------------
|
|
|
|
qtmake for qt5, default filenname used by configure stage is
|
|
`qmake-qt5`. If qmake is installed with different filename,
|
|
e.g. qtmake5 with Gentoo Linux, one can specify the filename with the
|
|
--qmake configure option, e.g. --qmake=qmake5 with Gentoo Linux.
|
|
|
|
Qt modules that are required:
|
|
|
|
* `core`
|
|
* `widgets`
|
|
* `sql` from qtsql (dev-qt/designer with Gentoo Linux)
|
|
* `uitools` from qtdesigner (dev-qt/designer with Gentoo Linux)
|
|
* `xml`
|
|
|
|
Other dependencies:
|
|
|
|
* portaudio
|
|
* portmidi
|