Back in commit e90a4bf4af ("alsa-lib:
don't use versioned symbols") from 2009, symbol versioning was
disabled in alsa-lib, because it was causing problems with C
libraries (such as uClibc) that doesn't support symbol versioning. The
thread at
http://mailman.alsa-project.org/pipermail/alsa-devel/2009-February/014999.html
has some background discussion about this.
Essentially, the issue was that alsa-lib in the new version of a given
symbol calls into an old version of the same symbol. If your C library
has symbol versioning, everything works fine. But if your C library
doesn't support symbol versioning, the call from the new symbol into
the old symbol will in fact end up in the new symbol, causing an
infinite recursion.
That problem was solved back then by unconditionally disabling symbol
versioning in alsa-lib.
However, some libraries such as CEF depend on versioned symbols from
alsa-lib, and the build fails during linking with versioning disabled.
This patch conditionally disables versioned symbols when unsupported
by the toolchain, leaving them enabled otherwise. We assume only glibc
has support for symbol versioning. uClibc has no support, and musl has
some limited support, so we take the safe route of only enabling
symbol versioning for glibc.
Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Fix the following static build failure with alsa-utils raised since bump
to version 1.2.6 in commit 4d4a588a50:
checking for snd_tplg_new in -latopology... no
configure: error: No linkable libatopology was found.
Fixes:
- http://autobuild.buildroot.org/results/08d028004090b2a8292f03910cb9bf80a73ac804
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
- Drop upstream patches
- Add a new patch: 0002-fix-PyTuple_SET_ITEM-usage-no-return-value.patch which
fixes python 3.10 compatibility.
Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Don't override ALSA_LIB_DEPENDENCIES in a conditional
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Add simple mixer python bindings to build when "Python support for
alsa-lib" is active. smixer-python is the only python module which
exists in alsa-lib. It is compatible with Python2 and Python3.
Signed-off-by: Illia Bitkov <illia.bitkov@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Fix the following build failure raised since bump to version 1.2.5.1 in
commit af19131543:
/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: ../src/.libs/libasound.a(control_symbols.o):(.data+0x4): undefined reference to `_snd_module_control_empty'
Fixes:
- http://autobuild.buildroot.org/results/a8fd791ba4c289cc4fc744a8ff9615bacd9558f3
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This version bump is needed prior to the introduction of alsa-plugins
1.2.5.
As part of this bump, we drop 0002-dlmisc-the-snd_plugin_dir_set.patch
which was an upstream backport, and we introduce
0002-fix-build-with-disable-ucm.patch to fix the build of alsa-lib
when UCM support is disabled. This patch is also backported from
upstream.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Removed patch which was committed upstream.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Changelog: https://www.alsa-project.org/wiki/Changes_v1.2.2_v1.2.3
Added patch to fix uClibc build.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[yann.morin.1998@free.fr:
- actually backport the patch now it has been applied upstream
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
ucm needs mixer since version 1.2.1 and
5c88b18371
So add a BR2_PACKAGE_ALSA_LIB_UCM option that selects
BR2_PACKAGE_ALSA_LIB_MIXER and selects this new option in
BR2_PACKAGE_ALSA_UTILS_ALSAUCM to avoid a build failure
Fixes:
- http://autobuild.buildroot.org/results/aaa615d4e38d100bb9001ecdf7357e755ef42a87
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Drop patch 0002 which is included in the new version.
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The remaining two patches have been submitted upstream for inclusion,
so let's update their upstream status.
While at it, I update @free-electrons.com to @bootlin.com in the first
patch.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The description of this patch was no longer correct: it no longer
provided dummy definitions of RTLD_* macros since commit
ccad7db515 ("alsa-lib: bump to version
1.1.6"). All it did is make two <dlfcn.h> inclusions optional.
However, this is no longer needed, since the alsa-lib code base
contains four inclusions of <dlfcn.h>, which are all properly handled:
- include/local.h, the include is guarded by #ifdef HAVE_LIBDL
- modules/mixer/simple/sbasedl.c, modules are only built if
BUILD_MODULES is enabled, and BUILD_MODULES is only enabled if
HAVE_LIBDL is enabled
- src/mixer/simple_abst.c, this file is only built if BUILD_MODULES
is enabled, which itself is only enabled if HAVE_LIBDL is enabled
- src/pcm/pcm_meter.c, this file is only built if
BUILD_PCM_PLUGIN_METER is enabled, and this is not enabled if
HAVE_LIBDL is not enabled.
Conclusion: the patch can be dropped. The third patch is renumbered as
appropriate.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Regenerate patches using git as patch 0002 didn't applu and the others
were fuzzy.
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
[Thomas: fix authorship in patches, order of SoB and use git
format-patch -N to avoid numbering]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit adds a patch to alsa-lib that fixes an incorrect code
dependency: some code built when MIDI support is enabled is
unconditionally referencing code that is built when SEQ support is
enabled, both options being independent.
This causes build failures such as:
/home/buildroot/buildroot-test/instance-1/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libasound.a(pcm_dmix.o): In function `snd_pcm_dmix_sync_ptr':
pcm_dmix.c:(.text+0x83c): warning:
/home/buildroot/buildroot-test/instance-1/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libasound.a(rawmidi_symbols.o):(.data+0x4): undefined reference to `_snd_module_rawmidi_virt'
Fixes:
http://autobuild.buildroot.net/results/5964e7028c31a8f75b38a27270410f0b3c5c8422/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Arnout: add upstream link to the patch]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
The check-package script when ran gives warnings on text wrapping on all
of these Config files. This patch cleans up all warnings related to the
text wrapping for the Config files starting with the letter a in the
package directory.
The appropriate indentation is: <tab><2 spaces><62 chars>
See http://nightly.buildroot.org/#writing-rules-config-in for more
information.
Signed-off-by: Adam Duskett <aduskett@codeblue.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The check-package script when ran gives warnings on ordering issues
on all of these Config files. This patch cleans up all warnings
related to the ordering in the Config files for packages starting with
the letter a in the package directory.
The appropriate ordering is: type, default, depends on, select, help
See http://nightly.buildroot.org/#_config_files for more information.
Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We want to use SPDX identifier for license string as much as possible.
SPDX short identifier for LGPLv2.1/LGPLv2.1+ is LGPL-2.1/LGPL-2.1+.
This change is done using following command.
find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/LGPLv2.1(\+)?/LGPL-2.1\1/g'
Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We want to use SPDX identifier for license strings as much as possible.
SPDX short identifier for GPLv2/GPLv2+ is GPL-2.0/GPL-2.0+.
This change is done by using following command.
find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/\<GPLv2\>/GPL-2.0/g'
Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes linker error
http://autobuild.buildroot.net/results/c6272ac900d1a53b976839ac4f50a210b3e6b354
On powerpc64 (and powerpc64le) the build fails due to linker problems
because of an old (2003) workaround for powerpc64, presumably working
around an old toolchain problem that is no longer present. Removing
the workaround allows the build to succeed. A new patch is added for
this.
Additionally, there was a mistake in patch 3: the patch added a test
for HAVE_LIBDL to include/alsa-symbols.h but it was positioned in the
file before config.h was included, so HAVE_LIBDL is never seen as
defined. The test was also using HAVE_LIBDL (which indicates the
library) rather than HAVE_DLFCN (which indicates the header).
Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Passing this option disables the lfloat and ladsp pcm plugins and certain
APIs as explained by:
https://patchwork.ozlabs.org/patch/619527/
But people might want to use these even if they use software floating point,
and the size difference is really minimal, so don't pass this option.
-rwxr-xr-x 1 peko peko 774K Jul 4 18:50 target-orig/usr/lib/libasound.so.2.0.0
-rwxr-xr-x 1 peko peko 709K Jul 4 19:08 target-softfloat/usr/lib/libasound.so.2.0.0
If people don't want the extra pcm plugins then they can simply be disabled
using BR2_PACKAGE_ALSA_LIB_PCM_PLUGINS.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Drop 0001-add-missing-include.patch since it's upstream.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
openal will fail to build without this patch when using pcm.h
In file included from /home/bernd/buildroot/br3/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/alsa/asoundlib.h:54:0,
from /home/bernd/buildroot/br3/output/build/openal-1.17.2/Alc/backends/alsa.c:34:
/home/bernd/buildroot/br3/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/alsa/pcm.h:1111:1: error: unknown type name ‘u_int8_t’
u_int8_t snd_pcm_format_silence(snd_pcm_format_t format);
^
It seems that this problem was not yet caught by the autobuilders.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-ldl includes the reference to the library that has
the symbols for loading dynamic libraries.
So there is no need for this library for static only builds.
Even though alsa-lib uses dlopen, it has functions snd_dlopen
and others which can emulate dynamic linking for the static
build of the alsa-lib library and there is no need in libdl
dlopen when static build only.
This patch fixes build failures of the shairport-sync
(and probably other packages) when static libs are used.
Fixes:
http://autobuild.buildroot.net/results/85a/85a3f01bcd4eb2ce7ac480e63b4cc04bf7c8f3e5/
[Thomas: use a single ALSA_LIB_CONF_OPTS for both --enable-shared=no
and --without-libdl.]
Signed-off-by: Lada Trimasova <ltrimas@synopsys.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In Kconfig, when there is an item (like a comment) between a symbol
and its dependees, then the indentation is not in effect.
Move the symbol to the top of the file to guarantee the indentation in
menuconfig.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Autogenerated from rename-patch.py (http://patchwork.ozlabs.org/patch/403345)
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed
from "prefer static libraries when possible" to "use only static
libraries". The former semantic didn't make much sense, since the user
had absolutely no control/idea of which package would use static
libraries, and which packages would not. Therefore, for quite some
time, we have been starting to enforce that BR2_PREFER_STATIC_LIB
should really build everything with static libraries.
As a consequence, this patch renames BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS, and adjust the Config.in option accordingly.
This also helps preparing the addition of other options to select
shared, shared+static or just static.
Note that we have verified that this commit can be reproduced by
simply doing a global rename of BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
A lot of packages ignored BR2_ENABLE_DEBUG. This patch simplifies the handling of
this option by adding the corresponding configure option to the global Makefile
for target packages.
For host packages --disable-debug is added to the global Makefile.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>