summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb55
1 files changed, 43 insertions, 12 deletions
diff --git a/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb b/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb
index 73675132..8c88f4a1 100644
--- a/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb
+++ b/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb
@@ -38,15 +38,31 @@ PACKAGE_ARCH = "${SOC_FAMILY}"
38 38
39S = "${WORKDIR}/git" 39S = "${WORKDIR}/git"
40 40
41# If were switching at runtime, we need all RDEPENDS needed for all backends available 41# If were switching at runtime, we would need all RDEPENDS needed for all backends available
42RDEPENDS_${PN} = " kernel-module-mali libxdamage libxext libx11 libdrm libxfixes" 42X11RDEPENDS = "libxdamage libxext libx11 libdrm libxfixes"
43X11DEPENDS = "libxdamage libxext virtual/libx11 libdrm libxfixes"
44
45# Don't install runtime dependencies for other backends unless the DISTRO supports it
46RDEPENDS_${PN} = " \
47 kernel-module-mali \
48 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11RDEPENDS}', '', d)} \
49"
43 50
44# We dont build anything but we want to avoid QA warning build-deps 51# We dont build anything but we want to avoid QA warning build-deps
45DEPENDS = "wayland" 52DEPENDS = "\
53 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} \
54 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland libdrm', '', d)} \
55"
56
46 57
47# x11 is default, set to "fbdev" , "wayland", or "headless" if required 58# x11 is default, set to "fbdev" , "wayland", or "headless" if required
48MALI_BACKEND_DEFAULT ?= "x11" 59MALI_BACKEND_DEFAULT ?= "x11"
49 60
61USE_X11 = "${@bb.utils.contains("DISTRO_FEATURES", "x11", "yes", "no", d)}"
62USE_FB = "${@bb.utils.contains("DISTRO_FEATURES", "fbdev", "yes", "no", d)}"
63USE_WL = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "yes", "no", d)}"
64
65
50do_install() { 66do_install() {
51 #Identify the ARCH type 67 #Identify the ARCH type
52 ${TARGET_PREFIX}gcc --version > ARCH_PLATFORM 68 ${TARGET_PREFIX}gcc --version > ARCH_PLATFORM
@@ -77,16 +93,29 @@ do_install() {
77 93
78 cp -a --no-preserve=ownership ${S}/${PV}/${ARCH_PLATFORM_DIR}/common/*.so* ${D}${libdir} 94 cp -a --no-preserve=ownership ${S}/${PV}/${ARCH_PLATFORM_DIR}/common/*.so* ${D}${libdir}
79 95
80
81 install -m 0644 ${S}/${PV}/glesHeaders/GBM/gbm.h ${D}${includedir}/
82 install -m 0644 ${WORKDIR}/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc
83 install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/wayland/libMali.so.8.0 ${D}${libdir}/wayland/libMali.so.8.0
84 install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/x11/libMali.so.8.0 ${D}${libdir}/x11/libMali.so.8.0
85 install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/fbdev/libMali.so.8.0 ${D}${libdir}/fbdev/libMali.so.8.0
86 install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/headless/libMali.so.8.0 ${D}${libdir}/headless/libMali.so.8.0 96 install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/headless/libMali.so.8.0 ${D}${libdir}/headless/libMali.so.8.0
97 ln -snf headless/libMali.so.8.0 ${D}${libdir}/libMali.so.8.0
87 98
88 # We need to have one of the libraries available at build time for the linker 99 if [ "${USE_FB}" = "yes" ]; then
89 ln -snf x11/libMali.so.8.0 ${D}${libdir}/libMali.so.8.0 100 install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/fbdev/libMali.so.8.0 ${D}${libdir}/fbdev/libMali.so.8.0
101 if [ "${MALI_BACKEND_DEFAULT}" = "fbdev" ]; then
102 ln -snf fbdev/libMali.so.8.0 ${D}${libdir}/libMali.so.8.0
103 fi
104 fi
105 if [ "${USE_X11}" = "yes" ]; then
106 install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/x11/libMali.so.8.0 ${D}${libdir}/x11/libMali.so.8.0
107 if [ "${MALI_BACKEND_DEFAULT}" = "x11" ]; then
108 ln -snf x11/libMali.so.8.0 ${D}${libdir}/libMali.so.8.0
109 fi
110 fi
111 if [ "${USE_WL}" = "yes" ]; then
112 install -m 0644 ${S}/${PV}/glesHeaders/GBM/gbm.h ${D}${includedir}/
113 install -m 0644 ${WORKDIR}/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc
114 install -Dm 0644 ${S}/${PV}/${ARCH_PLATFORM_DIR}/wayland/libMali.so.8.0 ${D}${libdir}/wayland/libMali.so.8.0
115 if [ "${MALI_BACKEND_DEFAULT}" = "wayland" ]; then
116 ln -snf wayland/libMali.so.8.0 ${D}${libdir}/libMali.so.8.0
117 fi
118 fi
90} 119}
91 120
92 121
@@ -115,7 +144,9 @@ ALTERNATIVE_TARGET_libmali-xlnx-headless[libmali-xlnx] = "${libdir}/headless/lib
115ALTERNATIVE_PRIORITY_libmali-xlnx-x11[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "x11", "20", "10", d)}" 144ALTERNATIVE_PRIORITY_libmali-xlnx-x11[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "x11", "20", "10", d)}"
116ALTERNATIVE_PRIORITY_libmali-xlnx-fbdev[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "fbdev", "20", "10", d)}" 145ALTERNATIVE_PRIORITY_libmali-xlnx-fbdev[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "fbdev", "20", "10", d)}"
117ALTERNATIVE_PRIORITY_libmali-xlnx-wayland[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "wayland", "20", "10", d)}" 146ALTERNATIVE_PRIORITY_libmali-xlnx-wayland[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "wayland", "20", "10", d)}"
118ALTERNATIVE_PRIORITY_libmali-xlnx-headless[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "headless", "20", "10", d)}" 147
148# If misconfigured, fallback to headless
149ALTERNATIVE_PRIORITY_libmali-xlnx-headless[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "headless", "20", "15", d)}"
119 150
120 151
121# Package gets renamed on the debian class, but we want to keep -xlnx 152# Package gets renamed on the debian class, but we want to keep -xlnx