diff options
author | Khem Raj <raj.khem@gmail.com> | 2020-12-20 08:05:35 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-12-21 22:29:57 +0000 |
commit | 41bb5e7cb7ef0ed8a270971444de469db80dadaa (patch) | |
tree | ae90c1b7d5794dd6f78d633a1ce0a90fdad57c0a /meta/recipes-multimedia/pulseaudio | |
parent | 23999cdaace744c9b82272ff648a7e262145817c (diff) | |
download | poky-41bb5e7cb7ef0ed8a270971444de469db80dadaa.tar.gz |
pulseaudio: Fix build with clang for non-x86 target
(From OE-Core rev: 01d21bd4c48aa3f899c012a2c3fd72c689e75944)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-multimedia/pulseaudio')
-rw-r--r-- | meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch | 82 | ||||
-rw-r--r-- | meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb | 1 |
2 files changed, 83 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch new file mode 100644 index 0000000000..c9d8abcbf2 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch | |||
@@ -0,0 +1,82 @@ | |||
1 | From 9d0dc8aedd08d77797f90fa6075a59613f18bf0d Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sun, 20 Dec 2020 07:56:07 -0800 | ||
4 | Subject: [PATCH] meson: Check for __get_cpuid | ||
5 | |||
6 | checking for presence of cpuid.h header alone is not sufficient in some case to use | ||
7 | cpuid related functions. e.g. when using clang which is built for | ||
8 | multiple targets will have cpuid.h header as part of compiler headers in | ||
9 | distribution but one maybe compiling pulseaudion for non-x86 target. The | ||
10 | current check in meson succeeds and then compile fails later because | ||
11 | cpuid.h is x86-specific header. Therefore checking for symbol that is | ||
12 | needed makes this robust, so even if header exist it will try to ensure | ||
13 | the given symbol can be used | ||
14 | |||
15 | Fixes | ||
16 | src/pulsecore/core-util.c:113: | ||
17 | | /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/pulseaudio/14.0-r0/recipe-sysroot-native/usr/lib/clang/11.0.1/include/cpuid.h:11:2: error: this header is for x86 only | ||
18 | | #error this header is for x86 only | ||
19 | | ^ | ||
20 | |||
21 | Upstream-Status: Pending | ||
22 | |||
23 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
24 | Cc: Tanu Kaskinen <tanuk@iki.fi> | ||
25 | --- | ||
26 | meson.build | 5 ++++- | ||
27 | src/pulsecore/core-util.c | 2 +- | ||
28 | src/pulsecore/cpu-x86.c | 2 +- | ||
29 | 3 files changed, 6 insertions(+), 3 deletions(-) | ||
30 | |||
31 | diff --git a/meson.build b/meson.build | ||
32 | index 2589627..5f5127e 100644 | ||
33 | --- a/meson.build | ||
34 | +++ b/meson.build | ||
35 | @@ -185,7 +185,6 @@ endif | ||
36 | check_headers = [ | ||
37 | 'arpa/inet.h', | ||
38 | 'byteswap.h', | ||
39 | - 'cpuid.h', | ||
40 | 'dlfcn.h', | ||
41 | 'execinfo.h', | ||
42 | 'grp.h', | ||
43 | @@ -243,6 +242,10 @@ if cc.has_header_symbol('pthread.h', 'PTHREAD_PRIO_INHERIT') | ||
44 | cdata.set('HAVE_PTHREAD_PRIO_INHERIT', 1) | ||
45 | endif | ||
46 | |||
47 | +if cc.has_header_symbol('cpuid.h', '__get_cpuid') | ||
48 | + cdata.set('HAVE_GET_CPUID', 1) | ||
49 | +endif | ||
50 | + | ||
51 | # Functions | ||
52 | |||
53 | check_functions = [ | ||
54 | diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c | ||
55 | index 601b1d1..6f34e7c 100644 | ||
56 | --- a/src/pulsecore/core-util.c | ||
57 | +++ b/src/pulsecore/core-util.c | ||
58 | @@ -109,7 +109,7 @@ | ||
59 | #include <sys/personality.h> | ||
60 | #endif | ||
61 | |||
62 | -#ifdef HAVE_CPUID_H | ||
63 | +#ifdef HAVE_GET_CPUID | ||
64 | #include <cpuid.h> | ||
65 | #endif | ||
66 | |||
67 | diff --git a/src/pulsecore/cpu-x86.c b/src/pulsecore/cpu-x86.c | ||
68 | index 4e59e14..86595d4 100644 | ||
69 | --- a/src/pulsecore/cpu-x86.c | ||
70 | +++ b/src/pulsecore/cpu-x86.c | ||
71 | @@ -24,7 +24,7 @@ | ||
72 | |||
73 | #include <stdint.h> | ||
74 | |||
75 | -#ifdef HAVE_CPUID_H | ||
76 | +#ifdef HAVE_GET_CPUID | ||
77 | #include <cpuid.h> | ||
78 | #endif | ||
79 | |||
80 | -- | ||
81 | 2.29.2 | ||
82 | |||
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb index 63ef3a9c12..fccca1ba48 100644 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb | |||
@@ -4,6 +4,7 @@ SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ | |||
4 | file://0001-client-conf-Add-allow-autospawn-for-root.patch \ | 4 | file://0001-client-conf-Add-allow-autospawn-for-root.patch \ |
5 | file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \ | 5 | file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \ |
6 | file://0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch \ | 6 | file://0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch \ |
7 | file://0001-meson-Check-for-__get_cpuid.patch \ | ||
7 | file://volatiles.04_pulse \ | 8 | file://volatiles.04_pulse \ |
8 | " | 9 | " |
9 | SRC_URI[md5sum] = "84a7776e63dd55c40db8fbd7c7e2e18e" | 10 | SRC_URI[md5sum] = "84a7776e63dd55c40db8fbd7c7e2e18e" |