diff options
| -rw-r--r-- | meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb | 55 |
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 | ||
| 39 | S = "${WORKDIR}/git" | 39 | S = "${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 |
| 42 | RDEPENDS_${PN} = " kernel-module-mali libxdamage libxext libx11 libdrm libxfixes" | 42 | X11RDEPENDS = "libxdamage libxext libx11 libdrm libxfixes" |
| 43 | X11DEPENDS = "libxdamage libxext virtual/libx11 libdrm libxfixes" | ||
| 44 | |||
| 45 | # Don't install runtime dependencies for other backends unless the DISTRO supports it | ||
| 46 | RDEPENDS_${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 |
| 45 | DEPENDS = "wayland" | 52 | DEPENDS = "\ |
| 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 |
| 48 | MALI_BACKEND_DEFAULT ?= "x11" | 59 | MALI_BACKEND_DEFAULT ?= "x11" |
| 49 | 60 | ||
| 61 | USE_X11 = "${@bb.utils.contains("DISTRO_FEATURES", "x11", "yes", "no", d)}" | ||
| 62 | USE_FB = "${@bb.utils.contains("DISTRO_FEATURES", "fbdev", "yes", "no", d)}" | ||
| 63 | USE_WL = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "yes", "no", d)}" | ||
| 64 | |||
| 65 | |||
| 50 | do_install() { | 66 | do_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 | |||
| 115 | ALTERNATIVE_PRIORITY_libmali-xlnx-x11[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "x11", "20", "10", d)}" | 144 | ALTERNATIVE_PRIORITY_libmali-xlnx-x11[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "x11", "20", "10", d)}" |
| 116 | ALTERNATIVE_PRIORITY_libmali-xlnx-fbdev[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "fbdev", "20", "10", d)}" | 145 | ALTERNATIVE_PRIORITY_libmali-xlnx-fbdev[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "fbdev", "20", "10", d)}" |
| 117 | ALTERNATIVE_PRIORITY_libmali-xlnx-wayland[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "wayland", "20", "10", d)}" | 146 | ALTERNATIVE_PRIORITY_libmali-xlnx-wayland[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "wayland", "20", "10", d)}" |
| 118 | ALTERNATIVE_PRIORITY_libmali-xlnx-headless[libmali-xlnx] = "${@bb.utils.contains("MALI_BACKEND_DEFAULT", "headless", "20", "10", d)}" | 147 | |
| 148 | # If misconfigured, fallback to headless | ||
| 149 | ALTERNATIVE_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 |
