OSDN Git Service

ucm: find_exec() - fix memory leak (dir)
[android-x86/external-alsa-lib.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 2a9991d..a2427e0 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -2,53 +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 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.
+Compilation from Git-sources
+---------------------------
 
+Requirements:
+       * automake
+       * libtool
 
-Installation using a build-in version of ALSA in Linux kernel
--------------------------------------------------------------
+To compile alsa-lib from source:
 
-If you use a kernel build-in version of ALSA, use:
+       ./gitcompile
 
-       ./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:
+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
@@ -58,7 +33,6 @@ 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.
@@ -75,39 +49,85 @@ 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 aditional parameters:
+script with additional parameters:
 
-CC=arm-linux-gcc ./configure --target=arm-linux \
---with-soundbase=/usr/local/arm/src/linux/include
+CC=arm-linux-gcc ./configure --host=arm-linux
 
-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.
+You can omit setting 'CC' variable and cross-compiler will be guessed too.
 
 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. 
+./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.