diff options
-rw-r--r-- | meta/classes/multilib_header.bbclass | 7 | ||||
-rw-r--r-- | scripts/multilib_header_wrapper.h | 26 |
2 files changed, 16 insertions, 17 deletions
diff --git a/meta/classes/multilib_header.bbclass b/meta/classes/multilib_header.bbclass index 304c28e771..e03f5b13b2 100644 --- a/meta/classes/multilib_header.bbclass +++ b/meta/classes/multilib_header.bbclass | |||
@@ -13,13 +13,9 @@ oe_multilib_header() { | |||
13 | ;; | 13 | ;; |
14 | *) | 14 | *) |
15 | esac | 15 | esac |
16 | # We use | ||
17 | # For ARM: We don't support multilib builds. | ||
18 | # For MIPS: "n32" is a special case, which needs to be | 16 | # For MIPS: "n32" is a special case, which needs to be |
19 | # distinct from both 64-bit and 32-bit. | 17 | # distinct from both 64-bit and 32-bit. |
20 | case ${TARGET_ARCH} in | 18 | case ${TARGET_ARCH} in |
21 | arm*) return | ||
22 | ;; | ||
23 | mips*) case "${MIPSPKGSFX_ABI}" in | 19 | mips*) case "${MIPSPKGSFX_ABI}" in |
24 | "-n32") | 20 | "-n32") |
25 | ident=n32 | 21 | ident=n32 |
@@ -31,9 +27,6 @@ oe_multilib_header() { | |||
31 | ;; | 27 | ;; |
32 | *) ident=${SITEINFO_BITS} | 28 | *) ident=${SITEINFO_BITS} |
33 | esac | 29 | esac |
34 | if echo ${TARGET_ARCH} | grep -q arm; then | ||
35 | return | ||
36 | fi | ||
37 | for each_header in "$@" ; do | 30 | for each_header in "$@" ; do |
38 | if [ ! -f "${D}/${includedir}/$each_header" ]; then | 31 | if [ ! -f "${D}/${includedir}/$each_header" ]; then |
39 | bberror "oe_multilib_header: Unable to find header $each_header." | 32 | bberror "oe_multilib_header: Unable to find header $each_header." |
diff --git a/scripts/multilib_header_wrapper.h b/scripts/multilib_header_wrapper.h index 5a87540884..f516673b63 100644 --- a/scripts/multilib_header_wrapper.h +++ b/scripts/multilib_header_wrapper.h | |||
@@ -21,11 +21,23 @@ | |||
21 | * | 21 | * |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <bits/wordsize.h> | ||
25 | 24 | ||
26 | #ifdef __WORDSIZE | 25 | #if defined (__arm__) |
26 | #define __MHWORDSIZE 32 | ||
27 | #elif defined (__aarch64__) && defined ( __LP64__) | ||
28 | #define __MHWORDSIZE 64 | ||
29 | #elif defined (__aarch64__) | ||
30 | #define __MHWORDSIZE 32 | ||
31 | #else | ||
32 | #include <bits/wordsize.h> | ||
33 | #if defined (__WORDSIZE) | ||
34 | #define __MHWORDSIZE __WORDSIZE | ||
35 | #else | ||
36 | #error "__WORDSIZE is not defined" | ||
37 | #endif | ||
38 | #endif | ||
27 | 39 | ||
28 | #if __WORDSIZE == 32 | 40 | #if __MHWORDSIZE == 32 |
29 | 41 | ||
30 | #ifdef _MIPS_SIM | 42 | #ifdef _MIPS_SIM |
31 | 43 | ||
@@ -41,15 +53,9 @@ | |||
41 | #include <ENTER_HEADER_FILENAME_HERE-32.h> | 53 | #include <ENTER_HEADER_FILENAME_HERE-32.h> |
42 | #endif | 54 | #endif |
43 | 55 | ||
44 | #elif __WORDSIZE == 64 | 56 | #elif __MHWORDSIZE == 64 |
45 | #include <ENTER_HEADER_FILENAME_HERE-64.h> | 57 | #include <ENTER_HEADER_FILENAME_HERE-64.h> |
46 | #else | 58 | #else |
47 | #error "Unknown __WORDSIZE detected" | 59 | #error "Unknown __WORDSIZE detected" |
48 | #endif /* matches #if __WORDSIZE == 32 */ | 60 | #endif /* matches #if __WORDSIZE == 32 */ |
49 | |||
50 | #else /* __WORDSIZE is not defined */ | ||
51 | |||
52 | #error "__WORDSIZE is not defined" | ||
53 | |||
54 | #endif | ||
55 | 61 | ||