The libunwind package currently dependency on glibc *or* uclibc
snapshot. However, we are going to remove the support for uclibc
snapshot, and uClibc-ng has equivalent functionality as uclibc
snapshot. Moreover, musl is also capable of building libunwind for
certain architectures.
Therefore, this commit reworks the architecture dependencies of
libunwind, to make it available on all architectures for which it is
supported, depending on the capabilities of the different C libraries,
and the implementation of libunwind on each architecture.
On some architectures, libunwind uses the C library *context()
functions, which are not provided by musl at all, and not provided by
uClibc on all architectures. But on some other architectures,
libunwind does not use the C library *context() functions, which
explains why it can be built with musl on such architectures.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When a package A depends on config option B and toolchain option C, then
the comment that is given when C is not fulfilled should also depend on B.
For example:
config BR2_PACKAGE_A
depends on BR2_B
depends on BR2_LARGEFILE
depends on BR2_WCHAR
comment "A needs a toolchain w/ largefile, wchar"
depends on !BR2_LARGEFILE || !BR2_WCHAR
This comment should actually be:
comment "A needs a toolchain w/ largefile, wchar"
depends on BR2_B
depends on !BR2_LARGEFILE || !BR2_WCHAR
or if possible (typically when B is a package config option declared in that
same Config.in file):
if BR2_B
comment "A needs a toolchain w/ largefile, wchar"
depends on !BR2_LARGEFILE || !BR2_WCHAR
[other config options depending on B]
endif
Otherwise, the comment would be visible even though the other dependencies
are not met.
This patch adds such missing dependencies, and changes existing such
dependencies from
depends on BR2_BASE_DEP && !BR2_TOOLCHAIN_USES_GLIBC
to
depends on BR2_BASE_DEP
depends on !BR2_TOOLCHAIN_USES_GLIBC
so that (positive) base dependencies are separate from the (negative)
toolchain dependencies. This strategy makes it easier to write such comments
(because one can simply copy the base dependency from the actual package
config option), but also avoids complex and long boolean expressions.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(untested)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch lines up the comments in Config.in files that clarify which
toolchain options the package depends on.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Thomas: added patch to disable build of tests that fail on uClibc,
added dependencies for architectures that are supported.]
Signed-off-by: Andy Kennedy <andy.kennedy@adtran.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>