Richard Purdie [Fri, 22 Jul 2011 14:13:03 +0000 (15:13 +0100)]
conf/machine/include: Set TUNE_CCARGS instead of TARGET_CC_ARCH
Since we're updating the tune file format, it makes sense to abstract
the compiler tune arguments at this point too. This means that should
these need to be overridden at any point, the original values can
still be obtained in a similar manner to the other TUNE* variables.
Whilst this isn't strictly necessary for any current need, its likely
good practise to standardise this behaviour.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 22 Jul 2011 13:15:20 +0000 (14:15 +0100)]
conf/machine/tune: Overhaul tune include file variables
There is currently consideradble confusion over how the tune files operate
and how these interact with the rest of the build system. This update/overhaul
changes things so the tune files are primarily resonsible for setting:
TUNE_ARCH - What was formerly set as TARGET_ARCH and is the value that
represents the architecture we're targetting.
TUNE_PKGARCH - The value that represents the tune confuration that this set
of tune parameters results in.
This allows the significant improvement that the core can now always determine
the target architecture value, even when TARGET_ARCH needs to be reset to
something different and likewise, there is one package architecture variable
the core can reference allowing simplification of the BASE_PACKAGE_ARCH, PACKAGE_ARCH
and FEED_ARCH variables.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 22 Jul 2011 12:08:58 +0000 (13:08 +0100)]
bitbake.conf/cross.bbclass: Add ability to dynamically change library location
Add the ability to dynamically change the library directory from "lib" to
other values. This allows the tune files to specifiy altnerative ABIs
which can be dynamically enabled by the multilib BBCLASSEXTEND code.
A variety of approaches have been attempted with this, the immediate
expansions in cross.bbclass being problematic as they are they are expanded
before the bbclass extend event hander runs. This approach ensures the
${baselib} variable is retained in the expressions resolving that complication.
Derived from some ideas from Mark Hatle.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gnome-keyring 2.32.1: fix PAM support and make it conditional on DISTRO_FEATURES
The plugin got installed into the wrong dir leading to:
gdm-session-worker[515]: PAM unable to dlopen(/lib/security/pam_gnome_keyring.so): /lib/security/pam_gnome_keyring.so: cannot open shared object file: No such file or directory
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kumar Gala [Fri, 22 Jul 2011 09:16:52 +0000 (04:16 -0500)]
site/powerpc64-linux: Start initial site config
Use ac_cv_sizeof_* from eglibc as starting point for powerpc64-linux
site info. We will refactor common bits that are needed out of
powerpc32-linux based on build issues.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kumar Gala [Fri, 22 Jul 2011 09:16:49 +0000 (04:16 -0500)]
site/powerpc: Pull all powerpc config options into powerpc32-linux
powerpc-common was really Linux PPC32 specific. So move all the options
in it to powerpc32-linux and we can refactor out common bits shared
between into powerpc-linux and powerpc-common.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1a9ae8ea8c0540d41b8ff4d95c0420d6df754634 removed -uclibc
hence it got all wrong for powerpc. uclibc TARGET_OS
for classic ppc is linux-uclibc and for ppc w/ SPE its
linux-uclibcspe
strace: Define own sigmask macro if not defined already in signal.h
This is required especially on uclibc systems where BSD compatible
obsolete functions are disabled by kconfig. Therefore we check
if the macro is undefined then we define it. Therefore eglibc/glibc
builds should work as they use to.
Bruce Ashfield [Thu, 21 Jul 2011 04:19:17 +0000 (00:19 -0400)]
kern-tools: update SRCREV
Fixes [YOCTO #1261]
Updating the SRCREV to pickup some branch creation fixes that
were causing an invalid branch name to be used on a repository
that couldn't support it (i.e. standard/base on a 2.6.34).
With this the 2.6.34 and 3.0 -rt branches will build.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Bruce Ashfield [Wed, 20 Jul 2011 20:17:40 +0000 (16:17 -0400)]
linux-yocto: kernel-3.0 support recipe
Establish the infrastructure to start more comprehensive linux-3.0
testing. With this in place, the populated linux-yocto 3.0 can
optionally be built for supported machines.
Note: this commit does not change the default for any targets and
as such, it would need to be explicitly set as the preferred version
to be built. The staged introduction allows some remaining issues to
be solved, while making this available. Subsequent commits will be
done to switch qemu machines ones they have been validated. If the
default for a machine is not this kernel, consider it best effort.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Bruce Ashfield [Wed, 20 Jul 2011 20:22:31 +0000 (16:22 -0400)]
kernel: copy defconfig to {B} vs {S}
For kernel's that use a split source/object build the copy
of defconfig to {S} in the base kernel class is problematic.
The previous solution for this was to override the do_configure
of the base kernel class in a subclass. While this is still
a viable/valid option, it does mean that changes to the base
do_configure will be missed.
The solution to this is to copy a defconfig to {B} which is
typically the same as {S}, so most kernel recipes won't see or
care about this change.
With this change in place, linux-yocto.bbclass can drop its
override of do_configure.
Tested with linux-yocto and oe linux recipes.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Make intltool use perlnative instead of perl on host
intltool recipe was using perl from the host instead of perl from
poky. This forces the recipe to use poky's perl (along with perl
modules it pulls in)
Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Tom Rini <tom_rini@mentor.com>
Martin Jansa [Tue, 19 Jul 2011 16:51:10 +0000 (18:51 +0200)]
eglibc-package: don't fail without localedef/gconv
* in some cases we don't have localedef/gconv built
ie when DISTRO_FEATURES lacks one of libc-charsets, libc-locales, libc-locale-code
then is better ignore localedef/gconv instead of do_install_locale
failing like in this bugreport:
http://bugzilla.yoctoproject.org/show_bug.cgi?id=1209
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Tom Rini [Tue, 12 Jul 2011 16:29:34 +0000 (09:29 -0700)]
siteinfo.bbclass: Port over oe.dev logic for site files
In oe.dev we have a sets to pick out hostos/hostarch/etc site
files out of and include things like a common-linux site file.
This should also help out with adding multilib-specific site files
(ie x32). In oe.dev we have an iterator but at Richard's request
we continue to return a list of files in siteinfo_get_files().
Tom Rini [Mon, 18 Jul 2011 16:02:18 +0000 (09:02 -0700)]
cpan.bbclass: Perform more mangling for perl path
On hosts where we may already be past the #! limit this is required
and this is safe on the target as well. This is be7fe31 in oe.dev.
Related to this we now bump all PRs for recipes that inherit cpan.
Note that in oe.dev we mangle for perl but here we use the new
nativeperl script.
Tom Rini [Mon, 18 Jul 2011 15:14:25 +0000 (08:14 -0700)]
gnome-doc-utils: Use /usr/bin/env python in xml2po, bump PR
In oe.dev we can just sed over the binary but in newer versions of this
program we need to fix the in use copy too. As noted in the patch header,
this isn't appropriate for upstream as it could change behavior on Windows.
Phil Blundell [Wed, 20 Jul 2011 10:07:32 +0000 (11:07 +0100)]
libgcc: correct mode on libgcc_s.so.1 to ensure it gets stripped
If the library is installed without execute permission then package.bbclass
will not consider it for stripping. This is particularly unfortunate because
there seems to be a bug somewhere else which is causing all DSOs to end up with
a NEEDED dependency on libgcc_s, even if they don't actually require it, and
hence it is getting installed in all images (for uclibc on i586 at least).
Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
pseudo: fix uninitialised variable in realpath_fix.patch
Several users reported issues with pseudo on CentOS 5.x hosts, Matthew
McClintock tracked the issue to the realpath_fix.patch and Mark Hatle
supplied the included fix.
CC: Matthew McClintock <msm@freescale.com> CC: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Joshua Lock <josh@linux.intel.com>
Tom Rini [Fri, 15 Jul 2011 18:50:52 +0000 (11:50 -0700)]
autotools.bbclass: Add help2man-native to the main DEPENDS tree
With help2man no longer being required by sanity.bbclass we need to
make sure that if we are going to build autotools stuff that help2man
will be there as it's a frequent implicit dependency.
Tom Rini [Fri, 15 Jul 2011 18:49:33 +0000 (11:49 -0700)]
help2man-native: Add 1.38.2
This is a 'side port' of current oe.dev versions. PR is kept in sync
but we drop out the target recipes in order to punt on potential perl
problems. Here we do re-configure as we don't have a dance with
perl-native to deal with. Now that we can build it, don't require it.
Tom Rini [Fri, 15 Jul 2011 18:16:02 +0000 (11:16 -0700)]
bitbake.conf, sanity.bbclass: Drop mercurial-native
We have no hg URIs in the metadata, so don't require and don't
ASSUME_PROVIDED it either. meta-oe has a mercurial-native recipe
if hg URIs are added in a recipe later.
Acoording to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44392
correct fix should be
TARGET_EITHER && (arm_arch6 || !optimize_size)
not
TARGET_EITHER && (arm_arch6 && !optimize_size)
Kumar Gala [Tue, 19 Jul 2011 17:41:36 +0000 (12:41 -0500)]
flac: fix build issues with e500v2 (gnuspe) toolchain
For a PPC target flac will try to build with altivec optimizations.
Altivec and SPE are mutually exclusive options. Between flac's
configure choices and the ppce500v2 tune file options we'd end up with
a compile invocation with the following arguments:
-mabi=spe -mspe -mabi=altivec -maltivec
Which would cause the compile to fail due to the mutual exclusion.
Pulled in a patch from the debian SPE port that addresses this issue:
Kumar Gala [Tue, 19 Jul 2011 17:41:33 +0000 (12:41 -0500)]
tclibc-*libc: Utilize TARGET_FPU for gnuspe setting
Its possible that BASE_PACKAGE_ARCH isn't set to ppce500 or ppce500v2 when
we build native toolchains. So we can utilize TARGET_FPU being set to
'ppc-efd' or 'ppc-efs' to determine if we should enable the gnuspe ABI.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Kumar Gala [Tue, 19 Jul 2011 17:41:32 +0000 (12:41 -0500)]
gcc: Add gcc configure for PowerPC e500v2/SPE embedded floating point ABI
The e500v2 core utilizes a unique floating point programming model / ABI.
We utilize TARGET_FPU = "ppc-efd" to distinguish this choice (Embedded
scalar single-precision floating-point). When building the toolchain for
this ABI we need configure gcc with --enable-e500_double.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Tom Rini [Mon, 18 Jul 2011 15:46:35 +0000 (08:46 -0700)]
gnome-doc-utils: Package up python site packages, bump PR
Add python-dir to the inherits list so we can grab the python site packages
files as well. This fixes a 'installed but not packaged' QA problem with
the python site package files.
Phil Blundell [Tue, 19 Jul 2011 16:01:38 +0000 (17:01 +0100)]
uclibc: improve packaging granularity
Put each of the libraries into its own package rather than dumping them
all into libc0. This saves ~300kB on the installed size of an i586 micro-base-image
and avoids the need to set the hated LEAD_SONAME.
Yu Ke [Sat, 16 Jul 2011 02:00:45 +0000 (10:00 +0800)]
perl: revise the RRECOMMENDS_perl-modules for multilib case
current RRECOMMENDS_perl-modules replace the hardcode "perl-dbg",
"perl-misc" etc. which does not work in multilib case. Instead, it
should replace the "lib64-perl-dbg", "lib-64-perl-misc". without
doing this, current code will produce RRECOMMENDS=lib64-lib64-xxx etc
This patch revise the code to fix this issue
Signed-off-by: Yu Ke <ke.yu@intel.com> Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com>
Paul Eggleton [Tue, 19 Jul 2011 14:14:52 +0000 (15:14 +0100)]
scripts/contrib: add build time regression test script
test_build_time.sh is a bash script intended to be used in conjunction
with "git bisect run" in order to find regressions in build time, however
it can also be used independently. It cleans out the build output
directories, runs a specified worker script (an example is
test_build_time_worker.sh) under TIME(1), logs the results, and returns
a value telling "git bisect run" whether the build time is good (under
the specified threshold) or bad (over it).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
gcc-package-target: don't fail if the .la files we try to delete are not there to start with
This fixes:
| rm: cannot remove `/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r39.1+svnr175127/image/usr/libexec/gcc/arm-angstrom-linux-gnueabi/4.5.4/*.la': No such file or directory
| ERROR: Function 'do_install' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r39.1+svnr175127/temp/log.do_install.19514 for further information)
NOTE: package gcc-4.5-r39.1+svnr175127: task do_install: Failed