======================================================================= *** Ecasound - INSTALL *** ======================================================================= The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It also creates the file `config.h' in the top-level source directory. This file contains system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, a file `config.cache' that saves the results of its tests to speed up reconfiguring, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.in' is used to create `configure' by a program called `autoconf'. You only need `configure.in' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Type `make install' to install the programs and any data files and documentation. 4. If you have not specified an alternative install prefix with --prefix option, make sure that you have `/usr/local/lib´ in your `/etc/ld.so.conf' and then run `/sbin/ldconfig´ (as root). 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. Ecasound specific options ========================= `--enable-all-static' Build static binaries that are not linked against any shared libraries. Disabled by default. Note! This is an experimental option and may not work in all circumstances. `--enable-debug' Disables optimizations and other things preventing efficient debugging. Created executables and libraries have a "_debug" suffix. Disabled by default. `--enable-experimental' Turns on some suspicious features. Not recommended. Disabled by default. `--enable-python-force-site-packages' Force install of python modules into site-packages directory even when it doesn't exist. Disabled by default. `--enable-sys-readline' If installed, link to system's default libreadline. Disabled by default. `--disable-alsa' Don't compile support for ALSA-drivers (otherwise links to libasound). By default ALSA support is enabled if all the necessary header and library files are found. `--disable-arts' Don't compile aRts client support. See http://www.arts-project.org for more info about aRts. By default aRts support is enabled if all the necessary header and library files are found. `--disable-audiofile' Don't link to libaudiofile. By default libaudiofile support is enabled if all the necessary header and library files are found. `--disable-dbc' Don't check design-by-contract assertions. Enabled by default. `--disable-effects' Build ecasound without effect and controller components. Enabled by default. `--disable-jack' Don't compile JACK client support. See http://jackit.sf.net for more info about JACK. By default JACK support is enabled if all the necessary header and library files are found. `--disable-libsamplerate' Don't compile libsamplerate support. See http://www.mega-nerd.com/SRC for more info about libsamplerate. By default libsamplerate support is enabled if all the necessary header and library files are found. `--disable-ncurses' Don't link against ncurses (known bug: even if this is specified, you're still required to have a working ncurses/termcap installation to compile). Enabled by default. `--disable-oss' Don't compile support for OSS-drivers. Enabled by default. `--disable-osstrigger' Disable the use of OSS trigger functions. Enabled by default. `--disable-sndfile' Don't link to libsndfile. By default libsndfile support is enabled if all the necessary header and library files are found. `--disable-largefile' Explicitly disable large file (>2GB) support. `--with-jack=JACK_PREFIX' Enable JACK support and compile against JACK installed in 'JACK_PREFIX'. `--with-libsamplerate=LIBSAMPLERATE_PREFIX' Enable libsamplerate support and compile against libsamplerate installed in 'LIBSAMPLERATE_PREFIX'. `--enable-pyecasound={c,python,none}' Enable pyecasound and select which implementation to use. Default value based on target platform. `--with-python-includes=DIR' Python include files are located in 'DIR'. `--with-python-modules=DIR' Python modules should be installed to 'DIR'. `--enable-rubyecasound={yes,no}' Enable rubyecasound. Defaults to yes if Ruby interpreter is found on the system. `--with-extra-cppflags=ARG´ Pass extra options to preprocessor (cpp). This option should be used to add non-standard header paths to the search path. `--with-extra-libs=ARG´ Pass extra options to linked (ld). This option should be used to add non-standard library paths to the search path, as well as additional libraries to link against. Supported automake/autoconf features ==================================== Ecasound uses the autotools (automake, automake and libtool) build system framework. Standard practises (see below for references) are followed where applicable. Some features offered by the autotools do not work without explicit support from the package. Following is a short list of features that Ecasound _does_ support. If you encounter any problems in using these features with Ecasound, please report them as bugs. 1. Building Ecasound in a directory separate from the source directory. Example: "mkdir objdir ; cd objdir ; ../configure ; make" 2. 'uninstall' make target You should be able to uninstall Ecasound by running "make uninstall". Note that if you override any make variable when running "make install", you should specify the same variables also when running "make uninstall". Reference: Automake manual (see below) 3. 'DESTDIR' make variable for staging installs Reference: http://sources.redhat.com/automake/automake.html#Install 4. 'prefix', 'datadir', pkgdatadir' make variables You should be able to override any of the make variables on the make command-line. But remember to always override the same variables when you switch between make targets (see notes on (2)). Example: make prefix=/tmp/ecasound-foobar install 5. Overriding CPPFLAGS, CFLAGS, CXXFLAGS, etc variables. It is possible to override these parameters both before running the configure script (specify new values as environment variables), or at make time (specify new values on the make command-line). Note that these mechanisms are exclusive to each other. To specify extra preprocessing and compile flags that are applied when building libecasound components, but not when building the test programs run by 'configure' script, one can use the environment variables ECA_S_EXTRA_CPPFLAGS and ECA_S_EXTRA_CFLAGS (define before running 'configure'). General references: o Automake manual http://sources.redhat.com/automake/automake.html o Autoconf manual http://www.gnu.org/software/autoconf/manual/ o GNU Coding Standards http://www.gnu.org/prep/standards/ Specifying the System Type ========================== There may be some features `configure' can not figure out automatically, but needs to determine by the type of host the package will run on. Usually `configure' can figure that out, but if it prints a message saying it can not guess the host type, give it the `--host=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name with three fields: CPU-COMPANY-SYSTEM See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the host type. If you are building compiler tools for cross-compiling, you can also use the `--target=TYPE' option to select the type of system they will produce code for and the `--build=TYPE' option to select the type of system on which you are compiling the package. Operation Controls ================== `configure' recognizes the following options to control how it operates. `--cache-file=FILE' Use and save the results of the tests in FILE instead of `./config.cache'. Set FILE to `/dev/null' to disable caching, for debugging `configure'. `--help' Print a summary of the options to `configure', and exit. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--version' Print the version of Autoconf used to generate the `configure' script, and exit. `configure' also accepts some other, not widely useful, options.