summaryrefslogtreecommitdiffstats
path: root/meta-boot2qt/classes/abi-arch.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta-boot2qt/classes/abi-arch.bbclass')
-rw-r--r--meta-boot2qt/classes/abi-arch.bbclass49
1 files changed, 49 insertions, 0 deletions
diff --git a/meta-boot2qt/classes/abi-arch.bbclass b/meta-boot2qt/classes/abi-arch.bbclass
new file mode 100644
index 0000000..23b9b1c
--- /dev/null
+++ b/meta-boot2qt/classes/abi-arch.bbclass
@@ -0,0 +1,49 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30# map target architecture to abi architectures used by Qt Creator
31valid_archs = "arm x86 itanium mips ppc sh"
32
33def map_abi_arch(a, d):
34 import re
35
36 valid_archs = d.getVar('valid_archs', True).split()
37
38 if re.match('i.86$', a): return 'x86'
39 elif re.match('x86.64$', a): return 'x86'
40 elif re.match('armeb$', a): return 'arm'
41 elif re.match('aarch64', a): return 'arm'
42 elif re.match('mips(el|64|64el)$', a): return 'mips'
43 elif re.match('p(pc|owerpc)(|64)', a): return 'ppc'
44 elif re.match('sh(3|4)$', a): return 'sh'
45 elif a in valid_archs: return a
46 else:
47 bb.error("cannot map '%s' to a abi architecture" % a)
48
49ABI = "${@map_abi_arch(d.getVar('TARGET_ARCH', True), d)}"