summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMadhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>2018-12-11 07:40:18 -0800
committerManjukumar Matha <manjukumar.harthikote-matha@xilinx.com>2019-01-01 20:03:46 -0800
commitb070d521bb108b2c84ca3875e40f69b964b651f3 (patch)
treeed222f50712d22809cdc12bbca9839cae6af8597
parent55175036a45e4a590baca71fa4d29cdbab04b5ac (diff)
downloadmeta-xilinx-b070d521bb108b2c84ca3875e40f69b964b651f3.tar.gz
libmali-xlnx.bb: Add support for wayland in libMali
Along with X11 and fbdev, MALI will now have wayland support as well. Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-rw-r--r--meta-xilinx-bsp/recipes-graphics/libgles/files/gbm.pc12
-rw-r--r--meta-xilinx-bsp/recipes-graphics/libgles/files/wayland-egl.pc12
-rw-r--r--meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb52
3 files changed, 62 insertions, 14 deletions
diff --git a/meta-xilinx-bsp/recipes-graphics/libgles/files/gbm.pc b/meta-xilinx-bsp/recipes-graphics/libgles/files/gbm.pc
new file mode 100644
index 00000000..02ea94e6
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-graphics/libgles/files/gbm.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: gbm
7Description: MALI gbm library
8Requires.private:
9Version: r8p0
10Libs: -L${libdir} -lgbm
11Libs.private: -lm -lpthread -ldl
12Cflags: -I${includedir}
diff --git a/meta-xilinx-bsp/recipes-graphics/libgles/files/wayland-egl.pc b/meta-xilinx-bsp/recipes-graphics/libgles/files/wayland-egl.pc
new file mode 100644
index 00000000..719fb3e4
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-graphics/libgles/files/wayland-egl.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: wayland-egl
7Description: MALI wayland-egl library
8Requires.private:
9Version: r8p0
10Libs: -L${libdir} -lwayland-egl
11Libs.private: -lm -lpthread -ldl
12Cflags: -I${includedir}
diff --git a/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb b/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb
index 3e675d9d..8c6ab3e9 100644
--- a/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb
+++ b/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb
@@ -9,7 +9,7 @@ inherit xilinx-fetch-restricted
9 9
10ANY_OF_DISTRO_FEATURES = "fbdev x11" 10ANY_OF_DISTRO_FEATURES = "fbdev x11"
11 11
12PROVIDES += "virtual/libgles1 virtual/libgles2 virtual/egl" 12PROVIDES += "virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm"
13 13
14FILESEXTRAPATHS_append := " \ 14FILESEXTRAPATHS_append := " \
15 ${THISDIR}/files: \ 15 ${THISDIR}/files: \
@@ -26,10 +26,12 @@ SRC_URI = " \
26 file://glesv1_cm.pc \ 26 file://glesv1_cm.pc \
27 file://glesv1.pc \ 27 file://glesv1.pc \
28 file://glesv2.pc \ 28 file://glesv2.pc \
29 file://wayland-egl.pc \
30 file://gbm.pc \
29 " 31 "
30 32
31SRC_URI[md5sum] = "e75b147c8b4ee96616e24572cdc9c21f" 33SRC_URI[md5sum] = "4fd3456564ef8c818e21432221c9e1b7"
32SRC_URI[sha256sum] = "7b179ec2df54ee05a886cca1535c0bdc6cba77a646e22742adedc79bfc2b3017" 34SRC_URI[sha256sum] = "26d473ae77c36104a215710beca55a22a712850dc26547dde950c7398210602c"
33 35
34COMPATIBLE_MACHINE = "^$" 36COMPATIBLE_MACHINE = "^$"
35COMPATIBLE_MACHINE_zynqmpeg = "zynqmpeg" 37COMPATIBLE_MACHINE_zynqmpeg = "zynqmpeg"
@@ -50,14 +52,16 @@ RDEPENDS_${PN} = " \
50 52
51DEPENDS = "\ 53DEPENDS = "\
52 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} \ 54 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} \
55 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland libdrm', '', d)} \
53 " 56 "
54 57
55EGL_TYPE = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \ 58USE_X11 = "${@bb.utils.contains("DISTRO_FEATURES", "x11", "yes", "no", d)}"
56 bb.utils.contains('DISTRO_FEATURES', 'fbdev', 'fbdev', '', d), d)}" 59USE_FB = "${@bb.utils.contains("DISTRO_FEATURES", "fbdev", "yes", "no", d)}"
60USE_WL = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "yes", "no", d)}"
57 61
58do_compile() { 62do_compile() {
59 # Extract the MALI binaries into workdir 63 # Extract the MALI binaries into workdir
60 tar -xf ${WORKDIR}/mali/rel-v2018.1/r8p0-01rel0.tar -C ${S} 64 tar -xf ${WORKDIR}/mali/rel-v2018.3/r8p0-01rel0.tar -C ${S}
61} 65}
62 66
63do_install() { 67do_install() {
@@ -71,13 +75,13 @@ do_install() {
71 75
72 # install headers 76 # install headers
73 install -d -m 0655 ${D}${includedir}/EGL 77 install -d -m 0655 ${D}${includedir}/EGL
74 install -m 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/${EGL_TYPE}/usr/include/EGL/*.h ${D}${includedir}/EGL/ 78 install -m 0644 ${S}/${PV}/glesHeaders/EGL/*.h ${D}${includedir}/EGL/
75 install -d -m 0655 ${D}${includedir}/GLES 79 install -d -m 0655 ${D}${includedir}/GLES
76 install -m 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/${EGL_TYPE}/usr/include/GLES/*.h ${D}${includedir}/GLES/ 80 install -m 0644 ${S}/${PV}/glesHeaders/GLES/*.h ${D}${includedir}/GLES/
77 install -d -m 0655 ${D}${includedir}/GLES2 81 install -d -m 0655 ${D}${includedir}/GLES2
78 install -m 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/${EGL_TYPE}/usr/include/GLES2/*.h ${D}${includedir}/GLES2/ 82 install -m 0644 ${S}/${PV}/glesHeaders/GLES2/*.h ${D}${includedir}/GLES2/
79 install -d -m 0655 ${D}${includedir}/KHR 83 install -d -m 0655 ${D}${includedir}/KHR
80 install -m 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/${EGL_TYPE}/usr/include/KHR/*.h ${D}${includedir}/KHR/ 84 install -m 0644 ${S}/${PV}/glesHeaders/KHR/*.h ${D}${includedir}/KHR/
81 85
82 install -d ${D}${libdir}/pkgconfig 86 install -d ${D}${libdir}/pkgconfig
83 install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc 87 install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc
@@ -86,7 +90,26 @@ do_install() {
86 install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc 90 install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
87 91
88 install -d ${D}${libdir} 92 install -d ${D}${libdir}
89 cp -a --no-preserve=ownership ${S}/${PV}/${ARCH_PLATFORM_DIR}/${EGL_TYPE}/usr/lib/*.so* ${D}${libdir} 93 install -d ${D}${includedir}
94
95 cp -a --no-preserve=ownership ${S}/${PV}/${ARCH_PLATFORM_DIR}/common/*.so* ${D}${libdir}
96
97 if [ "${USE_WL}" = "yes" ]; then
98 install -m 0644 ${S}/${PV}/glesHeaders/GBM/gbm.h ${D}${includedir}/
99 install -m 0644 ${WORKDIR}/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc
100 install -m 0644 ${WORKDIR}/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc
101 install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/wayland/libMali.so.8.0 ${D}${libdir}/wayland/libMali.so.8.0
102 ln -snf wayland/libMali.so.8.0 ${D}${libdir}/libMali.so.8.0
103 elif [ "${USE_X11}" = "yes" ]; then
104 install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/x11/libMali.so.8.0 ${D}${libdir}/x11/libMali.so.8.0
105 ln -snf x11/libMali.so.8.0 ${D}${libdir}/libMali.so.8.0
106 elif [ "${USE_FB}" = "yes" ]; then
107 install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/fbdev/libMali.so.8.0 ${D}${libdir}/fbdev/libMali.so.8.0
108 ln -snf fbdev/libMali.so.8.0 ${D}${libdir}/libMali.so.8.0
109 else
110 install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/headless/libMali.so.8.0 ${D}${libdir}/headless/libMali.so.8.0
111 ln -snf headless/libMali.so.8.0 ${D}${libdir}/libMali.so.8.0
112 fi
90 113
91 if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'false', 'true', d)}; then 114 if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'false', 'true', d)}; then
92 sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if (1)/' ${D}${includedir}/EGL/eglplatform.h 115 sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if (1)/' ${D}${includedir}/EGL/eglplatform.h
@@ -99,10 +122,11 @@ INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
99INHIBIT_PACKAGE_STRIP = "1" 122INHIBIT_PACKAGE_STRIP = "1"
100INHIBIT_SYSROOT_STRIP = "1" 123INHIBIT_SYSROOT_STRIP = "1"
101 124
102RREPLACES_${PN} = "libegl libgles1 libglesv1-cm1 libgles2 libglesv2-2" 125RREPLACES_${PN} = "libegl libgles1 libglesv1-cm1 libgles2 libglesv2-2 libgbm"
103RPROVIDES_${PN} = "libegl libgles1 libglesv1-cm1 libgles2 libglesv2-2" 126RPROVIDES_${PN} = "libegl libgles1 libglesv1-cm1 libgles2 libglesv2-2 libgbm"
104RCONFLICTS_${PN} = "libegl libgles1 libglesv1-cm1 libgles2 libglesv2-2" 127RCONFLICTS_${PN} = "libegl libgles1 libglesv1-cm1 libgles2 libglesv2-2 libgbm"
105 128
106# These libraries shouldn't get installed in world builds unless something 129# These libraries shouldn't get installed in world builds unless something
107# explicitly depends upon them. 130# explicitly depends upon them.
108EXCLUDE_FROM_WORLD = "1" 131EXCLUDE_FROM_WORLD = "1"
132FILES_${PN} += "${libdir}/*"