1 2 ALSA library installation 3 ========================= 4 5 Installation from tarball 6 ------------------------- 7 8 For installation you can use these commands: 9 10 ./configure 11 make install 12 13 14 Compilation from HG sources 15 --------------------------- 16 17 You need also GNU packages automake and libtool installed in your system 18 to compile HG (Mercurial) sources of alsa-lib package. 19 20 For compilation you can use these commands: 21 22 libtoolize --force --copy --automake 23 aclocal 24 autoheader 25 automake --foreign --copy --add-missing 26 autoconf 27 ./configure 28 make 29 30 The included hgcompile script does this job for you. 31 32 Note: Some automake packages have missing aclocal program. Use newer version 33 in the case. 34 35 36 Compilation of static library 37 ----------------------------- 38 39 If you would like to use the static ALSA library, you need to use these 40 options for the configure script: 41 42 ./configure --enable-shared=no --enable-static=yes 43 44 Unfortunately, due to bug in the libtool script, the shared and static 45 library cannot be built together. 46 47 48 Partial Builds 49 -------------- 50 51 You can choose the core components to build via --enable-* or --disable-* 52 configure option for reducing the size of libasound. The selectable 53 components are: pcm, mixer, rawmidi, hwdep, seq and instr. 54 For example, --disable-rawmidi will prevent to build the stuff related 55 with raw MIDI. As default, all components are enabled. 56 57 The PCM plugins to build can be selected via --with-pcm-plugins 58 configure option. Multiple plugins can be passed by separation with 59 comma. For example, to select _only_ rate and linear plugins (and 60 disable other plugins), pass 61 --with-pcm-plugins=rate,linear 62 Note that "hw" plugin is always enabled. 63 Passing "all" will select all available plugins (which is the default 64 behavior). 65 66 When you select "plug" plugin, copy and linear plugins will be 67 automatically selected, too. That is, the linear-format and 68 access-type conversions are always available with plug layer. 69 The other conversions of plug (channel shrink/expansion, rate, 70 non-linear and float conversions) are enabled when the corresponding 71 plugin is selected, too. 72 73 74 Configuration for cross-compilation 75 ----------------------------------- 76 77 When you would like to cross-compile ALSA library (e.g. compile on 78 i686 host but for arm architecture) you will need to call ./configure 79 script with additional parameters: 80 81 CC=arm-linux-gcc ./configure --target=arm-linux 82 83 In this example host where the library is build is guessed (should be 84 given with --host=platform) and target for which is the library build is 85 Linux on ARM architecture. You should omit setting 'CC' variable and 86 cross-compiler will be guessed too. 87 88 So simplest version would be: 89 90 ./configure --target=arm-linux 91 92 For platform names in the form cpu-vendor-os (or aliases for this) 93 you should look in 'config.guess' script. Target and all paths 94 used here are only examples and should not be directly applicable to 95 your system. 96 97 Configuration for machines without FPU 98 -------------------------------------- 99 100 If your machine does not have FP unit, you should use '--with-softfloat' 101 option. This option disables usage of float numbers in PCM route plugin. 102 ALSA could then leave much more CPU cycles for your applications, but you 103 could still need some floating point emulator. 104 105 Jack plugin 106 ----------- 107 108 JACK plugin is moved to alsa-plugins package. 109 110 Trouble Shooting 111 ---------------- 112 113 * Install path on Fedora Core 3 114 115 FC3 installs its system ALSA library to /lib instead of /usr/lib. 116 Specify --libdir=/lib to configure to overwrite it with the new library, 117 or run like 118 119 # ln -sf /usr/lib/libasound.so.2.0.0 /lib/libasound.so.2.0.0 120 121 to make symlink to the new path. 122 Note that /lib might be /lib64 on 64bit architecture. 123