OSDN Git Service

pcm_file: do not disrupt playback on output file write fail
[android-x86/external-alsa-lib.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 9f752cd..a2427e0 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -2,30 +2,28 @@
                        ALSA library installation
                        =========================
 
-Installation from tarbal
-------------------------
+Installation from tarball
+-------------------------
 
 For installation you can use these commands:
 
        ./configure
        make install
 
-If ./configure command complain that alsa-driver package isn't 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/linux directory (usually in
-/usr/include/linux directory).
 
-Note: If you change kernel sources frequently, please, check if you have
-      installed alsa-driver for current version of your kernel.
+Compilation from Git-sources
+---------------------------
 
-Compilation from CVS sources
-----------------------------
+Requirements:
+       * automake
+       * libtool
 
-You need also GNU packages automake and libtool installed in your system
-to compile CVS sources of alsa-lib package.
+To compile alsa-lib from source:
 
-For compilation you can use these commands:
+       ./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
@@ -35,11 +33,11 @@ For compilation you can use these commands:
        ./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
 -----------------------------
 
@@ -50,3 +48,86 @@ options for the configure script:
 
 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.