forked from alsa-project/alsa-lib
-
Notifications
You must be signed in to change notification settings - Fork 3
/
INSTALL
133 lines (91 loc) · 3.78 KB
/
INSTALL
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
ALSA library installation
=========================
Installation from tarball
-------------------------
For installation you can use these commands:
./configure
make install
Compilation from Git-sources
---------------------------
Requirements:
* automake
* libtool
To compile alsa-lib from source:
./gitcompile
If you do not want to use the supplied gitcompile-script, you can
compile alsa-lib manually by using these steps:
libtoolize --force --copy --automake
aclocal
autoheader
automake --foreign --copy --add-missing
autoconf
./configure
make
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.
Thread-safety option
--------------------
As default, major PCM functions of alsa-lib are built to be
thread-safe with pthread mutex (while this wasn't present in the
versions earlier than 1.1.2). If you want to build without this
thread-safety support but reduce the overhead, pass
--disable-thread-safety configure option.
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.