diff options
| author | Peter Marko <peter.marko@siemens.com> | 2023-11-09 13:36:11 +0100 |
|---|---|---|
| committer | Steve Sakoman <steve@sakoman.com> | 2023-11-28 05:00:32 -1000 |
| commit | e826f8043684fb037f8e4cdb7623d59d7309f655 (patch) | |
| tree | 2ba3e2446a1ada23b6dd60da99804bb67b982fc4 /meta/lib | |
| parent | f19d7f427e44cc1018759bd0f9d86f984b6d6a98 (diff) | |
| download | poky-e826f8043684fb037f8e4cdb7623d59d7309f655.tar.gz | |
goarch: Move Go architecture mapping to a library
Other spaces uses the Go architecture definitions as their own (for
example, container arches are defined to be Go arches). To make it
easier for other places to use this mapping, move the code that does the
translation of OpenEmbedded arches to Go arches to a library.
(From oe-core rev: 3e86f72fc2e1cc2e5ea4b4499722d736941167ce)
This commit together with meta-virtualization commit
115f6367f37095415f289fb6981cda9608ac72ff
broke meta-virtualization master used with
meta-lts-mixins kirkstone/go which is our primary
usecase for having kirkstone/go mixin layer
Manually crafted since cherry-pick had too many conflicts:
* different path to classes
* additional architecture loongarch64
* different way how to import library
(From OE-Core rev: 8726ae02d760270f9e7fe7ef5715d8f7553371ce)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Cc: Joshua Watt <JPEWhacker@gmail.com>
Cc: Bruce Ashfield <bruce.ashfield@gmail.com>
Cc: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Diffstat (limited to 'meta/lib')
| -rw-r--r-- | meta/lib/oe/go.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/meta/lib/oe/go.py b/meta/lib/oe/go.py new file mode 100644 index 0000000000..9996057f12 --- /dev/null +++ b/meta/lib/oe/go.py | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | # | ||
| 2 | # Copyright OpenEmbedded Contributors | ||
| 3 | # | ||
| 4 | # SPDX-License-Identifier: MIT | ||
| 5 | # | ||
| 6 | |||
| 7 | import re | ||
| 8 | |||
| 9 | def map_arch(a): | ||
| 10 | if re.match('i.86', a): | ||
| 11 | return '386' | ||
| 12 | elif a == 'x86_64': | ||
| 13 | return 'amd64' | ||
| 14 | elif re.match('arm.*', a): | ||
| 15 | return 'arm' | ||
| 16 | elif re.match('aarch64.*', a): | ||
| 17 | return 'arm64' | ||
| 18 | elif re.match('mips64el.*', a): | ||
| 19 | return 'mips64le' | ||
| 20 | elif re.match('mips64.*', a): | ||
| 21 | return 'mips64' | ||
| 22 | elif a == 'mips': | ||
| 23 | return 'mips' | ||
| 24 | elif a == 'mipsel': | ||
| 25 | return 'mipsle' | ||
| 26 | elif re.match('p(pc|owerpc)(64le)', a): | ||
| 27 | return 'ppc64le' | ||
| 28 | elif re.match('p(pc|owerpc)(64)', a): | ||
| 29 | return 'ppc64' | ||
| 30 | elif a == 'riscv64': | ||
| 31 | return 'riscv64' | ||
| 32 | return '' | ||
