mirror of
https://github.com/openharmony/third_party_tinyalsa.git
synced 2026-07-21 03:05:31 -04:00
5e3b44501eff3f7ab6de309d41f1f679cbf95b21
Use scripts/version.sh, and set version in project() using its output.
Instead of using a variable to store the definition of
TINYALSA_USES_PLUGINS, and adding it as a compile option, use a
generator expression to define it in target_compile_definitions when the
option is enabled.
Set BUILD_SHARED_LIBS to on by default.
Add options to disable examples and utils.
Instead of using SRCS and HDRS variables, set PUBLIC_HEADER property on
tinyalsa to install the headers along with the target.
Set library version, so the shared library will have version suffixes.
Check that C warning flags are supported instead of adding them
unconditionally.
Use ${CMAKE_DL_LIBS} instead of hardcoding "dl", and add it to
tinyalsa's link interface and link depends, instead of linking it in the
examples and utils.
Add the "include" directory as a PUBLIC include directory to tinyalsa,
instead of making it PRIVATE and adding it to examples and utils as
well, because anything linking the tinyalsa target will need to include
"include".
Instead of using macros for building examples and utils, use a for loop.
Include cmake's GNUInstallDirs to automatically correctly populate
installation dir variables, instead of doing it manually.
TinyALSA
TinyALSA is a small library to interface with ALSA in the Linux kernel.
The aims are:
- Provide a basic pcm and mixer API.
- If it's not absolutely needed, don't add it to the API.
- Avoid supporting complex and unnecessary operations, that could be dealt with at a higher level.
- Provide comprehensive documentation.
Building
TinyALSA uses Makefile as the primary build system.
To build and install with Make, run the commands:
make
sudo make install
sudo ldconfig
Installing
TinyALSA is now available as a set of the following debian packages from launchpad:
| Package Name: | Description: |
|---|---|
| tinyalsa | Contains tinyplay, tinycap, tinymix and tinypcminfo |
| libtinyalsa | Contains the shared library |
| libtinyalsa-dev | Contains the static library and header files |
To install these packages, run the commands:
sudo apt-add-repository ppa:taylorcholberton/tinyalsa
sudo apt-get update
sudo apt-get install tinyalsa
sudo apt-get install libtinyalsa-dev
Documentation
Once installed, the man pages are available via:
man tinyplay
man tinycap
man tinymix
man tinypcminfo
man libtinyalsa-pcm
man libtinyalsa-mixer
Description
Languages
C
77.3%
C++
14.9%
Roff
2.1%
Shell
1.9%
Makefile
1.6%
Other
2.2%