[yocto] [meta-raspberrypi][PATCH 1/2] userland: add .pc files for the OpenGLESv2 and EGL libraries

Alex J Lennon ajlennon at dynamicdevices.co.uk
Thu Oct 22 04:50:11 PDT 2015


These pkg-config files make it easier for libepoxy to find
those libraries and the appropriate link flags.

Modified from Thomas Petazzoni's patch here: http://goo.gl/jdz7lO

Signed-off-by: Alex J Lennon <ajlennon at dynamicdevices.co.uk>
---
 .../0004-rpi-userland-add-pkgconfig-files.patch    | 53 ++++++++++++++++++++++
 recipes-graphics/userland/userland_git.bb          |  6 ++-
 2 files changed, 57 insertions(+), 2 deletions(-)
 create mode 100644 recipes-graphics/userland/userland/0004-rpi-userland-add-pkgconfig-files.patch

diff --git a/recipes-graphics/userland/userland/0004-rpi-userland-add-pkgconfig-files.patch b/recipes-graphics/userland/userland/0004-rpi-userland-add-pkgconfig-files.patch
new file mode 100644
index 0000000..2d454a4
--- /dev/null
+++ b/recipes-graphics/userland/userland/0004-rpi-userland-add-pkgconfig-files.patch
@@ -0,0 +1,53 @@
+Add .pc files for the OpenGLESv2 and EGL libraries
+
+Those pkg-config files make it easier for Qt5 to find those libraries
+and the appropriate link flags.
+
+(Modified to apply to userland by Alex J Lennon)
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+Signed-off-by: Alex J Lennon <ajlennon at dynamicdevices.co.uk>
+
+diff -urN git.org/interface/khronos/CMakeLists.txt git/interface/khronos/CMakeLists.txt
+--- git.org/interface/khronos/CMakeLists.txt	2015-10-22 11:51:22.616445270 +0100
++++ git/interface/khronos/CMakeLists.txt	2015-10-22 11:55:32.024448754 +0100
+@@ -74,3 +74,11 @@
+ 
+ install(TARGETS EGL GLESv2 OpenVG WFC khrn_client DESTINATION lib)
+ install(TARGETS EGL_static GLESv2_static khrn_static DESTINATION lib)
++configure_file("${CMAKE_CURRENT_SOURCE_DIR}/egl/egl.pc.in"
++  "${CMAKE_CURRENT_BINARY_DIR}/egl/egl.pc" @ONLY)
++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/egl/egl.pc"
++  DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
++configure_file("${CMAKE_CURRENT_SOURCE_DIR}/glxx/glesv2.pc.in"
++  "${CMAKE_CURRENT_BINARY_DIR}/glxx/glesv2.pc" @ONLY)
++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glxx/glesv2.pc"
++  DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
+diff -urN git.org/interface/khronos/egl/egl.pc.in git/interface/khronos/egl/egl.pc.in
+--- git.org/interface/khronos/egl/egl.pc.in	1970-01-01 01:00:00.000000000 +0100
++++ git/interface/khronos/egl/egl.pc.in	2015-10-22 11:54:25.724447827 +0100
+@@ -0,0 +1,10 @@
++prefix=@CMAKE_INSTALL_PREFIX@
++exec_prefix=${prefix}
++libdir=${exec_prefix}/lib
++includedir=${prefix}/include
++
++Name: egl
++Description: RasberryPi implementation of EGL
++Version: 1.0
++Libs: -L${libdir} -lEGL -lGLESv2
++Cflags: -I${includedir}/ -I${includedir}/interface/vcos/pthreads/
+diff -urN git.org/interface/khronos/glxx/glesv2.pc.in git/interface/khronos/glxx/glesv2.pc.in
+--- git.org/interface/khronos/glxx/glesv2.pc.in	1970-01-01 01:00:00.000000000 +0100
++++ git/interface/khronos/glxx/glesv2.pc.in	2015-10-22 11:54:50.248448170 +0100
+@@ -0,0 +1,10 @@
++prefix=@CMAKE_INSTALL_PREFIX@
++exec_prefix=${prefix}
++libdir=${exec_prefix}/lib
++includedir=${prefix}/include
++
++Name: glesv2
++Description: RasberryPi implementation of OpenGL ESv2
++Version: 2.0
++Libs: -L${libdir} -lGLESv2
++Cflags: -I${includedir}/
diff --git a/recipes-graphics/userland/userland_git.bb b/recipes-graphics/userland/userland_git.bb
index 896229e..46ae2c2 100644
--- a/recipes-graphics/userland/userland_git.bb
+++ b/recipes-graphics/userland/userland_git.bb
@@ -21,11 +21,12 @@ SRC_URI = "\
     file://0001-fix-gcc-5.x-inlines.patch \
     file://0002-fix-musl-build.patch \
     file://0003-fix-alloc-size-uninitialized.patch \
+    file://0004-rpi-userland-add-pkgconfig-files.patch \
     "
 
 S = "${WORKDIR}/git"
 
-inherit cmake
+inherit cmake pkgconfig
 
 EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed'"
 CFLAGS_append = " -fPIC"
@@ -43,7 +44,8 @@ FILES_${PN} += " \
     ${libdir}/*${SOLIBS} \
     ${libdir}/plugins"
 FILES_${PN}-dev = "${includedir} \
-                   ${prefix}/src"
+                   ${prefix}/src \
+                   ${libdir}/pkgconfig/*.pc"
 FILES_${PN}-doc += "${datadir}/install"
 FILES_${PN}-dbg += "${libdir}/plugins/.debug"
 
-- 
1.9.1




More information about the yocto mailing list