From 58806f6552aa0e58e12f0f039d45ec4b2bb15daf Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 3 Oct 2015 16:37:36 +0000 Subject: [PATCH] userland: Adjust include location for pthreads-headers vcos headers include headers like "vcos_platform.h" "vcos_futex_mutex.h" "vcos_platform_types.h" and these headers are different based on platform/OSes. e.g. OS targets that support pthreads these headers should come from pthreads/ folder but not for others. So one would add right -I option for every package that accesses them directly or indirectly. so if a software does #include then it will break | In file included from /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vcos/vcos_assert.h:149:0, | from /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vcos/vcos.h:114, | from /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vmcs_host/vc_dispmanx.h:33, | from /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/EGL/eglplatform.h:110, | from /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/EGL/egl.h:36, | from /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/weston/1.8.0-r0/weston-1.8.0/clients/../shared/platform.h:29, | from /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/weston/1.8.0-r0/weston-1.8.0/clients/window.h:33, | from /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/weston/1.8.0-r0/weston-1.8.0/clients/eventdemo.c:40: | /mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vcos/vcos_types.h:38:33: fatal error: vcos_platform_types.h: No such file or directory | #include "vcos_platform_types.h" | ^ | compilation terminated. This is wrong, it should not happen since doing simple #include should not demand manual addition of some internal paths tobe added to -I flags. This patch fixes the headers which refer to headers inside pthreads/ folder to prefix them with pthreads/ so we dont have to specify additional paths This fixes weston on rpi and I believe there are more patches now to recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend recipes-multimedia/omxplayer/omxplayer_git.bb which can be removed as well Signed-off-by: Khem Raj --- recipes-graphics/userland/userland_git.bb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/recipes-graphics/userland/userland_git.bb b/recipes-graphics/userland/userland_git.bb index 6ba28c0..5bf4dda 100644 --- a/recipes-graphics/userland/userland_git.bb +++ b/recipes-graphics/userland/userland_git.bb @@ -32,6 +32,14 @@ inherit cmake pkgconfig EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed'" CFLAGS_append = " -fPIC" +do_install_append () { + for f in `find ${D}${includedir}/interface/vcos/ -name "*.h"`; do + sed -i 's/include "vcos_platform.h"/include "pthreads\/vcos_platform.h"/g' ${f} + sed -i 's/include "vcos_futex_mutex.h"/include "pthreads\/vcos_futex_mutex.h"/g' ${f} + sed -i 's/include "vcos_platform_types.h"/include "pthreads\/vcos_platform_types.h"/g' ${f} + done +} + # Shared libs from userland package build aren't versioned, so we need # to force the .so files into the runtime package (and keep them # out of -dev package).