summaryrefslogtreecommitdiff
path: root/INSTALL
blob: 2a9991d06591c9aab23d9d4a21bd0336a9fece8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113

			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.