diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-08-10 14:35:29 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-08-12 15:27:17 +0100 |
commit | fd1517e2b51a170f2427122c6b95396db251d827 (patch) | |
tree | dabfe3e631339c2fc99a9ee7febb0f9c128e325e /meta/classes-recipe/multilib_header.bbclass | |
parent | 10317912ee319ccf7f83605d438b5cbf9663f296 (diff) | |
download | poky-fd1517e2b51a170f2427122c6b95396db251d827.tar.gz |
classes: Update classes to match new bitbake class scope functionality
Move classes to classes-global or classes-recipe as appropriate to take
advantage of new bitbake functionality to check class scope/usage.
(From OE-Core rev: f5c128008365e141082c129417eb72d2751e8045)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes-recipe/multilib_header.bbclass')
-rw-r--r-- | meta/classes-recipe/multilib_header.bbclass | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/meta/classes-recipe/multilib_header.bbclass b/meta/classes-recipe/multilib_header.bbclass new file mode 100644 index 0000000000..33f7e027f0 --- /dev/null +++ b/meta/classes-recipe/multilib_header.bbclass | |||
@@ -0,0 +1,58 @@ | |||
1 | # | ||
2 | # Copyright OpenEmbedded Contributors | ||
3 | # | ||
4 | # SPDX-License-Identifier: MIT | ||
5 | # | ||
6 | |||
7 | inherit siteinfo | ||
8 | |||
9 | # If applicable on the architecture, this routine will rename the header and | ||
10 | # add a unique identifier to the name for the ABI/bitsize that is being used. | ||
11 | # A wrapper will be generated for the architecture that knows how to call | ||
12 | # all of the ABI variants for that given architecture. | ||
13 | # | ||
14 | oe_multilib_header() { | ||
15 | |||
16 | case ${HOST_OS} in | ||
17 | *-musl*) | ||
18 | return | ||
19 | ;; | ||
20 | *) | ||
21 | esac | ||
22 | # For MIPS: "n32" is a special case, which needs to be | ||
23 | # distinct from both 64-bit and 32-bit. | ||
24 | case ${TARGET_ARCH} in | ||
25 | mips*) case "${MIPSPKGSFX_ABI}" in | ||
26 | "-n32") | ||
27 | ident=n32 | ||
28 | ;; | ||
29 | *) | ||
30 | ident=${SITEINFO_BITS} | ||
31 | ;; | ||
32 | esac | ||
33 | ;; | ||
34 | *) ident=${SITEINFO_BITS} | ||
35 | esac | ||
36 | for each_header in "$@" ; do | ||
37 | if [ ! -f "${D}/${includedir}/$each_header" ]; then | ||
38 | bberror "oe_multilib_header: Unable to find header $each_header." | ||
39 | continue | ||
40 | fi | ||
41 | stem=$(echo $each_header | sed 's#\.h$##') | ||
42 | # if mips64/n32 set ident to n32 | ||
43 | mv ${D}/${includedir}/$each_header ${D}/${includedir}/${stem}-${ident}.h | ||
44 | |||
45 | sed -e "s#ENTER_HEADER_FILENAME_HERE#${stem}#g" ${COREBASE}/scripts/multilib_header_wrapper.h > ${D}/${includedir}/$each_header | ||
46 | done | ||
47 | } | ||
48 | |||
49 | # Dependencies on arch variables like MIPSPKGSFX_ABI can be problematic. | ||
50 | # We don't need multilib headers for native builds so brute force things. | ||
51 | oe_multilib_header:class-native () { | ||
52 | return | ||
53 | } | ||
54 | |||
55 | # Nor do we need multilib headers for nativesdk builds. | ||
56 | oe_multilib_header:class-nativesdk () { | ||
57 | return | ||
58 | } | ||