Blame INSTALL

Packit 4a16fb
Packit 4a16fb
			ALSA library installation
Packit 4a16fb
			=========================
Packit 4a16fb
Packit 4a16fb
Installation from tarball
Packit 4a16fb
-------------------------
Packit 4a16fb
Packit 4a16fb
For installation you can use these commands:
Packit 4a16fb
Packit 4a16fb
	./configure
Packit 4a16fb
	make install
Packit 4a16fb
Packit 4a16fb
Packit 4a16fb
Compilation from Git-sources
Packit 4a16fb
---------------------------
Packit 4a16fb
Packit 4a16fb
Requirements:
Packit 4a16fb
	* automake
Packit 4a16fb
	* libtool
Packit 4a16fb
Packit 4a16fb
To compile alsa-lib from source:
Packit 4a16fb
Packit 4a16fb
	./gitcompile
Packit 4a16fb
Packit 4a16fb
If you do not want to use the supplied gitcompile-script, you can
Packit 4a16fb
compile alsa-lib manually by using these steps:
Packit 4a16fb
Packit 4a16fb
	libtoolize --force --copy --automake
Packit 4a16fb
	aclocal
Packit 4a16fb
	autoheader
Packit 4a16fb
	automake --foreign --copy --add-missing
Packit 4a16fb
	autoconf
Packit 4a16fb
	./configure
Packit 4a16fb
	make
Packit 4a16fb
Packit 4a16fb
Packit 4a16fb
Note: Some automake packages have missing aclocal program. Use newer version
Packit 4a16fb
      in the case.
Packit 4a16fb
Packit 4a16fb
Packit 4a16fb
Compilation of static library
Packit 4a16fb
-----------------------------
Packit 4a16fb
Packit 4a16fb
If you would like to use the static ALSA library, you need to use these
Packit 4a16fb
options for the configure script:
Packit 4a16fb
Packit 4a16fb
	./configure --enable-shared=no --enable-static=yes
Packit 4a16fb
Packit 4a16fb
Unfortunately, due to bug in the libtool script, the shared and static
Packit 4a16fb
library cannot be built together.
Packit 4a16fb
Packit 4a16fb
Packit 4a16fb
Partial Builds
Packit 4a16fb
--------------
Packit 4a16fb
Packit 4a16fb
You can choose the core components to build via --enable-* or --disable-*
Packit 4a16fb
configure option for reducing the size of libasound.  The selectable
Packit 4a16fb
components are: pcm, mixer, rawmidi, hwdep, seq and instr.
Packit 4a16fb
For example, --disable-rawmidi will prevent to build the stuff related
Packit 4a16fb
with raw MIDI.  As default, all components are enabled.
Packit 4a16fb
Packit 4a16fb
The PCM plugins to build can be selected via --with-pcm-plugins
Packit 4a16fb
configure option.  Multiple plugins can be passed by separation with
Packit 4a16fb
comma.  For example, to select _only_ rate and linear plugins (and
Packit 4a16fb
disable other plugins), pass
Packit 4a16fb
	--with-pcm-plugins=rate,linear
Packit 4a16fb
Note that "hw" plugin is always enabled.
Packit 4a16fb
Passing "all" will select all available plugins (which is the default
Packit 4a16fb
behavior).
Packit 4a16fb
Packit 4a16fb
When you select "plug" plugin, copy and linear plugins will be
Packit 4a16fb
automatically selected, too.  That is, the linear-format and
Packit 4a16fb
access-type conversions are always available with plug layer.
Packit 4a16fb
The other conversions of plug (channel shrink/expansion, rate,
Packit 4a16fb
non-linear and float conversions) are enabled when the corresponding
Packit 4a16fb
plugin is selected, too.
Packit 4a16fb
Packit 4a16fb
Packit 4a16fb
Configuration for cross-compilation
Packit 4a16fb
-----------------------------------
Packit 4a16fb
Packit 4a16fb
When you would like to cross-compile ALSA library (e.g. compile on
Packit 4a16fb
i686 host but for arm architecture) you will need to call ./configure
Packit 4a16fb
script with additional parameters:
Packit 4a16fb
Packit 4a16fb
CC=arm-linux-gcc ./configure --host=arm-linux
Packit 4a16fb
Packit 4a16fb
You can omit setting 'CC' variable and cross-compiler will be guessed too.
Packit 4a16fb
Packit 4a16fb
So simplest version would be:
Packit 4a16fb
Packit 4a16fb
./configure --host=arm-linux
Packit 4a16fb
Packit 4a16fb
For platform names in the form cpu-vendor-os (or aliases for this)
Packit 4a16fb
you should look in 'config.guess' script. Target and all paths
Packit 4a16fb
used here are only examples and should not be directly applicable to
Packit 4a16fb
your system.
Packit 4a16fb
Packit 4a16fb
Configuration for machines without FPU
Packit 4a16fb
--------------------------------------
Packit 4a16fb
Packit 4a16fb
If your machine does not have FP unit, you should use '--with-softfloat'
Packit 4a16fb
option. This option disables usage of float numbers in PCM route plugin.
Packit 4a16fb
ALSA could then leave much more CPU cycles for your applications, but you 
Packit 4a16fb
could still need some floating point emulator.
Packit 4a16fb
Packit 4a16fb
Thread-safety option
Packit 4a16fb
--------------------
Packit 4a16fb
Packit 4a16fb
As default, major PCM functions of alsa-lib are built to be
Packit 4a16fb
thread-safe with pthread mutex (while this wasn't present in the
Packit 4a16fb
versions earlier than 1.1.2).  If you want to build without this
Packit 4a16fb
thread-safety support but reduce the overhead, pass
Packit 4a16fb
--disable-thread-safety configure option.
Packit 4a16fb
Packit 4a16fb
Jack plugin
Packit 4a16fb
-----------
Packit 4a16fb
Packit 4a16fb
JACK plugin is moved to alsa-plugins package.
Packit 4a16fb
Packit 4a16fb
Trouble Shooting
Packit 4a16fb
----------------
Packit 4a16fb
Packit 4a16fb
* Install path on Fedora Core 3
Packit 4a16fb
Packit 4a16fb
  FC3 installs its system ALSA library to /lib instead of /usr/lib.
Packit 4a16fb
  Specify --libdir=/lib to configure to overwrite it with the new library,
Packit 4a16fb
  or run like
Packit 4a16fb
Packit 4a16fb
	# ln -sf /usr/lib/libasound.so.2.0.0 /lib/libasound.so.2.0.0
Packit 4a16fb
Packit 4a16fb
  to make symlink to the new path.
Packit 4a16fb
  Note that /lib might be /lib64 on 64bit architecture.