| 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. |