third_party_alsa-lib/INSTALL
2002-04-24 14:41:55 +00:00

122 lines
3.9 KiB
Plaintext

ALSA library installation
=========================
Installation from tarbal
------------------------
For installation you can use these commands:
./configure
make install
If ./configure command complain that alsa-driver package is not installed,
please, check if --prefix option is same for alsa-driver and alsa-lib
package. The configure script from alsa-lib package probably cannot find
header file asound.h in $prefix/include/sound directory (usually in
/usr/include/sound directory).
Note: If you change kernel sources frequently, please, check if you have
compiled and installed alsa-driver for current version of your kernel.
Installation using a build-in version of ALSA in Linux kernel
-------------------------------------------------------------
If you use a kernel build-in version of ALSA, use:
./configure --with-kernel=<version>
make install
The directory /lib/modules/<version>/build/include/sound must exists for
this kind of configuration.
You may also specify the full-base for ALSA kernel headers:
./configure --with-soundbase=<path_to_linux_include_dir>
make install
example:
./configure --with-soundbase=/usr/src/linux-2.5.5/include
make install
Compilation from CVS sources
----------------------------
You need also GNU packages automake and libtool installed in your system
to compile CVS sources of alsa-lib package.
For compilation you can use these commands:
libtoolize --force --copy --automake
aclocal
autoheader
automake --foreign --copy --add-missing
autoconf
./configure
make
The included cvscompile script does this job for you.
Note: Some automake packages have missing aclocal program. Use newer version
in the case.
Compilation of static library
-----------------------------
If you would like to use the static ALSA library, you need to use these
options for the configure script:
./configure --enable-shared=no --enable-static=yes
Unfortunately, due to bug in the libtool script, the shared and static
library cannot be built together.
Configuration for cross-compilation
-----------------------------------
When you would like to cross-compile ALSA library (e.g. compile on
i686 host but for arm architecture) you will need to call ./configure
script with aditional parameters:
CC=arm-linux-gcc ./configure --target=arm-linux \
--with-soundbase=/usr/local/arm/src/linux/include
In this example host where the library is build is guessed (should be
given with --host=platform) and target for which is the library build is
Linux on ARM architecture. You need to specify location of kernel includes
configured for target architecture. This is used to find ALSA include
files and so it should be set to prefix where '/sound' directory should
be found. You should ommit setting 'CC' variable and cross-compiler will
be guessed too. You could also use option '--prefix' to specify ALSA include
directory directly if $prefix/include/sound exists.
So simplest version would be:
./configure --target=arm-linux --with-soundbase=/usr/local/arm/include
or
./configure --target=arm-linux --prefix=/usr/local/arm
As you will likely specify the prefix, the last posibbility would be
the best if everything match. On the listing of 'configure' script
check if directory with ALSA headers was found properly same as platform
specific configurations like processor type and selected cross-compiler.
For platform names in the form cpu-vendor-os (or aliases for this)
you should look in 'config.guess' script. Target and all paths
used here are only examples and should not be directly applicable to
your system.
Configuration for machines without FPU
--------------------------------------
If your machine does not have FP unit, you should use '--with-softfloat'
option. This option disables usage of float numbers in PCM route plugin.
ALSA could then leave much more CPU cycles for your applications, but you
could still need some floating point emulator.