linux-yocto: Use PACKAGE_ARCH in build dir
authorDarren Hart <dvhart@linux.intel.com>
Thu, 6 Feb 2014 04:02:44 +0000 (20:02 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 11 Feb 2014 11:58:31 +0000 (11:58 +0000)
commite472044262f180ef8a69610bd2aeb6ee27f60b13
tree94fed7004a878abc029b0633c9c509610f2304f5
parent47518364808db5e8c4df896a369ac65777714b61
linux-yocto: Use PACKAGE_ARCH in build dir

The current linux-yocto build dir (B) includes MACHINE. This has been
appropriate as kernels are typically built machine-specific. We have
recently introduced an intel-common type kernel which can be shared
across multiple machines sharing a common base (intel-core2-32,
intel-corei7-64). In these cases, the kernel is built for a something
more generic than MACHINE, and the current mechanism results in
something like this when building for MACHINE=sys940x (using intel-common):

tmp/work/core2-32-intel-common-poky-linux/linux-yocto-dev/ \
3.13++gitAUTOINC+e5d23e7879_889c6bec6b-r0/linux-sys940x-noemgd-standard-build

Note the descrepancy between core2-32-intel-common and
linux-sys940x-noemgd-standard-build. This becomes counterintuitive at
the very least when switching to another machine and attempting to reuse
this build. This patch swaps MACHINE for PACKAGE_ARCH (which is
typically MACHINE_ARCH for linux-yocto), resulting in the following
build path:

tmp/work/core2-32-intel-common-poky-linux/linux-yocto-dev/ \
3.13++gitAUTOINC+e5d23e7879_889c6bec6b-r0/linux-core2-32-intel-common-standard-build

The impact to existing MACHINEs is a replace of - with _ if MACHINE
contains one or more - charachters.

(From OE-Core rev: 54590cdb940b6145ac92729ebf9bb7e7e537f5e2)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-kernel/linux/linux-yocto.inc