aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/package.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-07 17:27:03 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-07-27 16:15:21 +0100
commit5d9453049915db48ec4b5972e12287417ebb61a2 (patch)
tree723ff1389fef55dba797a15be90a70eac47d630d /meta/classes/package.bbclass
parentb4ec5c27b51c15e8bde7ca2597329c4f5b801240 (diff)
downloadopenembedded-core-contrib-5d9453049915db48ec4b5972e12287417ebb61a2.tar.gz
multilib: Add support for compiling recipes against multiple ABIs
This patch adds the core multilib class which can be used along with a parameter specifying the mutlilib to use in BBCLASSEXTEND. The MLPREFIX variable is added and can be used in cases where its too difficult to dynmaically work out where a mutltilib prefix is needed to be added to a variable. This includes: * SHLIBSDIR and PACKAGE_ARCH fixes from Lianhao Lu. * PACKAGE_DYNAMIC mapping from Yu Ke * PACKAGE_INSTALL mapping from Yu Ke * RPROVIDES mapping from Yu Ke * TARGET_VENDOR fix from Mark Hatle * Ignorning *-native-runtime dependnecies as well as *-native from Yu Ke * Map PKG and ALLOW_EMPTY from Dongxiao Xu * Ensure RCONFLICTS and PKG field dependencies are remapped (from Dongxiao Xu) * Ensure PN and MLPREFIX are set at the same time to ensure consistent BPN values (Yu Ke) Signed-off-by: Yu Ke <ke.yu@intel.com> Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com> Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/package.bbclass')
-rw-r--r--meta/classes/package.bbclass11
1 files changed, 11 insertions, 0 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 076a532360..0caab6dcf9 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -168,6 +168,17 @@ python () {
bb.data.setVarFlag('do_package', 'deptask', " ".join(deps), d)
else:
d.setVar("PACKAGERDEPTASK", "")
+
+ multilib_archs = []
+ multilibs= d.getVar('MULTILIBS', True) or ""
+ if multilibs:
+ for ext in multilibs.split():
+ eext = ext.split(':')
+ if len(eext) > 1:
+ if eext[0] == 'multilib':
+ multilib_archs.append('ml' + eext[1])
+
+ d.setVar("MULTILIB_ARCHS", ' '.join(multilib_archs))
}
def splitfile(file, debugfile, debugsrcdir, d):