mirror of
https://gitee.com/openharmony/third_party_alsa-lib
synced 2024-11-23 07:30:32 +00:00
122 lines
3.9 KiB
Plaintext
122 lines
3.9 KiB
Plaintext
|
|
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.
|
|
|
|
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.
|