libice: fix non-deterministic libbsd dependency

libice 1.0.9 added automatic detection of arc4random(), which is in libbsd on
Linux.  As this is automatic and leads to failing builds when ssstate is reused,
seed the autoconf cache as relevant to implement a PACKAGECONFIG for the
functionality.

Default to not using arc4random() as the fallback has been in use for many
years, but people interested in security may wish to turn this on to increase
the security of the X authentication cookies.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
allarch: Generate same package for MIPS and non-MIPS targets

LINKER_HASH_STYLE differs between MIPS and non-MIPS targets. This means
that LDFLAGS differs too. LDFLAGS is exported so it influences all task
hashes. Unfortunately this means that packages with architecture "all"
differ depending on whether they are built for a MIPS or non-MIPS target.
This causes a lot of unnecessary churn in the ipk/all directory when
switching build targets.

The simplest way to fix this is to ensure that LDFLAGS stays the same for
architecture "all" packages by clearing it. It shouldn't being used by such
packages anyway.

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Revert "libomxil-0.9.3: Remove versioning for .so files."

The previous version of this fix was too aggressive and removed
versioning from too many of the .so files in the libomxil package.

This reverts commit 0ef3734c2f279bf463ba4d1aef5241cd4882d483.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libomxil-0.9.3: Remove versioning for bellagio .so files.

The so files installed under ${libdir}/bellagio are not versioned and should
be installed without version-based symlinks so that omxregister-bellagio
can properly find and register them.

Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
populate_sdk_base: Extend TOOLCHAIN_TARGET_TASK to include multilib variants

Most people expect the toolchain from a multilib build to contain multilib
components. This change makes that happen and is easy for users to override
should they want something different.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
cross-canadian: Copy target_ definitions from cross.bbclass

A while back we fixed the cross definitions to work better in multilib
configurations, apply the same fixes to cross-candian.bbclass

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lib/oe/classextend: Avoid early expansion of PR values

Variables like RDEPENDS can contain EXTENDPKGV which in turn uses AUTOPR
based values. This gets set during do_package execution so we want to
defer expansion until then. The only way we can do this in the RDEPENDS
(and friends) mapping code is to subsitute a dummy value, then change it
back again. Horrible but I can't see any other way.

This resolves multilib build failures with inconsistent PR values.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gcc-multilib: Simply/fix MULTILIB_OPTIONS handling

MULTILIB_OPTIONS takes the parameters which trigger a given multilib to be
selected. It supports *one* option per multilib, '/' separated. Spaces
separate options used to generate additional multilib combinations.

Adding in all of CFLAGS to this is therefore clearly a really bad idea
but how do we fix things?

The best option I've come up with so far is a list of whitelist variables
to use to trigger the multilibs. Its populated with the standard multilibs
we support, anyone setting up an advanced multilib can populate the variable
with the correct trigger parameters.

This has the advantage of simplifying the code and allowing us to remove
the code filtering blocks since there is no longer option duplication. Testing
after this change shows a much improved sdk toolchain functionality.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemu: Use PACKAGECONFIG for libusb to avoid floating dependency

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
binutils-cross-canadian: Explicitly DEPEND on nativesdk-flex, we require it anyway

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>