123 lines
3.7 KiB
Plaintext
123 lines
3.7 KiB
Plaintext
|
|
ALSA library installation
|
|
=========================
|
|
|
|
Installation from tarball
|
|
-------------------------
|
|
|
|
For installation you can use these commands:
|
|
|
|
./configure
|
|
make install
|
|
|
|
|
|
Compilation from HG sources
|
|
---------------------------
|
|
|
|
You need also GNU packages automake and libtool installed in your system
|
|
to compile HG (Mercurial) 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 hgcompile 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.
|
|
|
|
|
|
Partial Builds
|
|
--------------
|
|
|
|
You can choose the core components to build via --enable-* or --disable-*
|
|
configure option for reducing the size of libasound. The selectable
|
|
components are: pcm, mixer, rawmidi, hwdep, seq and instr.
|
|
For example, --disable-rawmidi will prevent to build the stuff related
|
|
with raw MIDI. As default, all components are enabled.
|
|
|
|
The PCM plugins to build can be selected via --with-pcm-plugins
|
|
configure option. Multiple plugins can be passed by separation with
|
|
comma. For example, to select _only_ rate and linear plugins (and
|
|
disable other plugins), pass
|
|
--with-pcm-plugins=rate,linear
|
|
Note that "hw" plugin is always enabled.
|
|
Passing "all" will select all available plugins (which is the default
|
|
behavior).
|
|
|
|
When you select "plug" plugin, copy and linear plugins will be
|
|
automatically selected, too. That is, the linear-format and
|
|
access-type conversions are always available with plug layer.
|
|
The other conversions of plug (channel shrink/expansion, rate,
|
|
non-linear and float conversions) are enabled when the corresponding
|
|
plugin is selected, too.
|
|
|
|
|
|
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 additional parameters:
|
|
|
|
CC=arm-linux-gcc ./configure --target=arm-linux
|
|
|
|
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 should omit setting 'CC' variable and
|
|
cross-compiler will be guessed too.
|
|
|
|
So simplest version would be:
|
|
|
|
./configure --target=arm-linux
|
|
|
|
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.
|
|
|
|
Jack plugin
|
|
-----------
|
|
|
|
JACK plugin is moved to alsa-plugins package.
|
|
|
|
Trouble Shooting
|
|
----------------
|
|
|
|
* Install path on Fedora Core 3
|
|
|
|
FC3 installs its system ALSA library to /lib instead of /usr/lib.
|
|
Specify --libdir=/lib to configure to overwrite it with the new library,
|
|
or run like
|
|
|
|
# ln -sf /usr/lib/libasound.so.2.0.0 /lib/libasound.so.2.0.0
|
|
|
|
to make symlink to the new path.
|
|
Note that /lib might be /lib64 on 64bit architecture.
|