| |
| 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 --host=arm-linux |
| |
| You can omit setting 'CC' variable and cross-compiler will be guessed too. |
| |
| So simplest version would be: |
| |
| ./configure --host=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. |