mesa.inc 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. SUMMARY = "A free implementation of the OpenGL API"
  2. DESCRIPTION = "Mesa is an open-source implementation of the OpenGL specification - \
  3. a system for rendering interactive 3D graphics. \
  4. A variety of device drivers allows Mesa to be used in many different environments \
  5. ranging from software emulation to complete hardware acceleration for modern GPUs. \
  6. Mesa is used as part of the overall Direct Rendering Infrastructure and X.org \
  7. environment."
  8. HOMEPAGE = "http://mesa3d.org"
  9. BUGTRACKER = "https://bugs.freedesktop.org"
  10. SECTION = "x11"
  11. LICENSE = "MIT"
  12. LIC_FILES_CHKSUM = "file://docs/license.rst;md5=ffe678546d4337b732cfd12262e6af11"
  13. PE = "2"
  14. SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \
  15. file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
  16. file://0001-freedreno-don-t-encode-build-path-into-binaries.patch \
  17. file://0001-dont-build-clover-frontend.patch \
  18. "
  19. SRC_URI[sha256sum] = "cf942a18b7b9e9b88524dcbf0b31fed3cde18e6d52b3375b0ab6587a14415bce"
  20. PV = "25.1.1"
  21. UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
  22. #because we cannot rely on the fact that all apps will use pkgconfig,
  23. #make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
  24. do_install:append() {
  25. # sed can't find EGL/eglplatform.h as it doesn't get installed when glvnd enabled.
  26. # So, check if EGL/eglplatform.h exists before running sed.
  27. if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)} && [ -f ${D}${includedir}/EGL/eglplatform.h ]; then
  28. sed -i -e 's/^#elif defined(__unix__) && defined(EGL_NO_X11)$/#elif defined(__unix__) \&\& defined(EGL_NO_X11) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
  29. fi
  30. }
  31. DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native python3-pyyaml-native"
  32. EXTRANATIVEPATH += "chrpath-native"
  33. GLPROVIDES = " \
  34. ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \
  35. ${@bb.utils.contains('PACKAGECONFIG', 'gles', 'virtual/libgles1 virtual/libgles2 virtual/libgles3', '', d)} \
  36. ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \
  37. "
  38. PROVIDES = " \
  39. ${@bb.utils.contains('PACKAGECONFIG', 'glvnd', '', d.getVar('GLPROVIDES'), d)} \
  40. ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \
  41. virtual/mesa \
  42. "
  43. inherit meson pkgconfig python3native gettext features_check rust
  44. BBCLASSEXTEND = "native nativesdk"
  45. ANY_OF_DISTRO_FEATURES = "opengl vulkan"
  46. PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}"
  47. # set the MESA_BUILD_TYPE to either 'release' (default) or 'debug'
  48. # by default the upstream mesa sources build a debug release
  49. # here we assume the user will want a release build by default
  50. MESA_BUILD_TYPE ?= "release"
  51. def check_buildtype(d):
  52. _buildtype = d.getVar('MESA_BUILD_TYPE')
  53. if _buildtype not in ['release', 'debug']:
  54. bb.fatal("unknown build type (%s), please set MESA_BUILD_TYPE to either 'release' or 'debug'" % _buildtype)
  55. if _buildtype == 'debug':
  56. return 'debugoptimized'
  57. return 'plain'
  58. MESON_BUILDTYPE = "${@check_buildtype(d)}"
  59. EXTRA_OEMESON = " \
  60. -Dglx-read-only-text=true \
  61. -Dplatforms='${@",".join("${PLATFORMS}".split())}' \
  62. "
  63. def strip_comma(s):
  64. return s.strip(',')
  65. PACKAGECONFIG = " \
  66. gallium \
  67. video-codecs \
  68. ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland', d)} \
  69. ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \
  70. ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \
  71. "
  72. # skip all Rust dependencies if we are not building OpenCL"
  73. INHIBIT_DEFAULT_RUST_DEPS = "${@bb.utils.contains('PACKAGECONFIG', 'opencl', '', '1', d)}"
  74. PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd svga"
  75. PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm intel amd svga"
  76. PACKAGECONFIG:append:i686 = " libclc gallium-llvm intel amd svga"
  77. PACKAGECONFIG:append:class-native = " libclc gallium-llvm amd svga"
  78. # "gbm" requires "opengl"
  79. PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled"
  80. X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr xorgproto libxshmfence"
  81. # "x11" requires "opengl"
  82. PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}"
  83. PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols"
  84. VULKAN_DRIVERS_AMD = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',amd', '', d)}"
  85. VULKAN_DRIVERS_ASAHI = "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc opencl', ',asahi', '', d)}"
  86. VULKAN_DRIVERS_INTEL = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc', ',intel', '', d)}"
  87. VULKAN_DRIVERS_SWRAST = ",swrast"
  88. # Crashes on x32
  89. VULKAN_DRIVERS_SWRAST:x86-x32 = ""
  90. VULKAN_DRIVERS_LLVM = "${VULKAN_DRIVERS_SWRAST}${VULKAN_DRIVERS_AMD}${VULKAN_DRIVERS_ASAHI}${VULKAN_DRIVERS_INTEL}"
  91. VULKAN_DRIVERS = ""
  92. VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
  93. VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
  94. VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${VULKAN_DRIVERS_LLVM}', '', d)}"
  95. VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}"
  96. VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
  97. PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers"
  98. # mesa development and testing tools support, per driver
  99. TOOLS = ""
  100. TOOLS_DEPS = ""
  101. TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
  102. TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
  103. TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
  104. TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
  105. TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}"
  106. # dependencies for tools.
  107. TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}"
  108. # the fdperf tool requires libconfig (a part of meta-oe) so it needs special
  109. # treatment in addition to the usual 'freedreno tools'.
  110. PACKAGECONFIG[freedreno-fdperf] = ",,libconfig"
  111. PACKAGECONFIG[tools] = "-Dtools=${@strip_comma('${TOOLS}')}, -Dtools='', ${TOOLS_DEPS}"
  112. PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false"
  113. PACKAGECONFIG[glvnd] = "-Dglvnd=enabled, -Dglvnd=disabled, libglvnd"
  114. # "gles" requires "opengl"
  115. PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2=disabled"
  116. # "egl" requires "opengl"
  117. PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled"
  118. # "opencl" also requires libclc and gallium-llvm to be present in PKGCONFIG!
  119. # Be sure to enable them both for the target and for the native build.
  120. PACKAGECONFIG[opencl] = "-Dgallium-rusticl=true, -Dgallium-rusticl=false, bindgen-cli-native"
  121. PACKAGECONFIG[broadcom] = ""
  122. PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native"
  123. PACKAGECONFIG[freedreno] = ""
  124. PACKAGECONFIG[vc4] = ""
  125. PACKAGECONFIG[v3d] = ""
  126. PACKAGECONFIG[zink] = ""
  127. GALLIUMDRIVERS = "softpipe"
  128. # gallium swrast was found to crash Xorg on startup in x32 qemu
  129. GALLIUMDRIVERS:x86-x32 = ""
  130. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
  131. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
  132. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
  133. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
  134. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
  135. GALLIUMDRIVERS_ASAHI = "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc opencl', ',asahi', '', d)}"
  136. GALLIUMDRIVERS_IRIS = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc', ',iris', '', d)}"
  137. GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',radeonsi', '', d)}"
  138. GALLIUMDRIVERS_LLVMPIPE = ",llvmpipe"
  139. # llvmpipe crashes on x32
  140. GALLIUMDRIVERS_LLVMPIPE:x86-x32 = ""
  141. GALLIUMDRIVERS_SVGA = "${@bb.utils.contains('PACKAGECONFIG', 'svga', ',svga', '', d)}"
  142. GALLIUMDRIVERS_LLVM = ",r300,nouveau${GALLIUMDRIVERS_LLVMPIPE}${GALLIUMDRIVERS_ASAHI}${GALLIUMDRIVERS_IRIS}${GALLIUMDRIVERS_RADEONSI}${GALLIUMDRIVERS_SVGA}"
  143. PACKAGECONFIG[amd] = ""
  144. PACKAGECONFIG[svga] = ""
  145. PACKAGECONFIG[virgl] = ""
  146. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${GALLIUMDRIVERS_LLVM}', '', d)}"
  147. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',r600', '', d)}"
  148. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
  149. MESA_CLC = "system"
  150. MESA_CLC:class-native = "enabled"
  151. INSTALL_MESA_CLC = "false"
  152. INSTALL_MESA_CLC:class-native = "true"
  153. MESA_NATIVE = "mesa-native"
  154. MESA_NATIVE:class-native = ""
  155. PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm"
  156. PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm llvm-native elfutils"
  157. PACKAGECONFIG[libclc] = "-Dmesa-clc=${MESA_CLC} -Dinstall-mesa-clc=${INSTALL_MESA_CLC} -Dmesa-clc-bundle-headers=enabled,,libclc spirv-tools spirv-llvm-translator ${MESA_NATIVE}"
  158. PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled"
  159. PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial"
  160. PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau"
  161. PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false"
  162. PACKAGECONFIG[asahi] = ""
  163. PACKAGECONFIG[intel] = ""
  164. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'intel', ',i915,crocus', '', d)}"
  165. PACKAGECONFIG[lima] = ""
  166. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
  167. PACKAGECONFIG[panfrost] = ""
  168. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
  169. PACKAGECONFIG[tegra] = ""
  170. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'tegra', ',tegra,nouveau', '', d)}"
  171. PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false"
  172. PACKAGECONFIG[perfetto] = "-Dperfetto=true,-Dperfetto=false,libperfetto"
  173. PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
  174. PACKAGECONFIG[lmsensors] = "-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors"
  175. VIDEO_CODECS ?= "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'all', 'all_free', d)}"
  176. PACKAGECONFIG[video-codecs] = "-Dvideo-codecs=${VIDEO_CODECS}, -Dvideo-codecs=''"
  177. # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2)
  178. FULL_OPTIMIZATION:append = " -fno-omit-frame-pointer"
  179. CFLAGS:append:armv5 = " -DMISSING_64BIT_ATOMICS"
  180. CFLAGS:append:armv6 = " -DMISSING_64BIT_ATOMICS"
  181. # Remove the mesa dependency on mesa-dev, as mesa is empty
  182. DEV_PKG_DEPENDENCY = ""
  183. # GLES2 and GLES3 implementations are packaged in a single library in libgles2-mesa.
  184. # Add a dependency so the GLES3 dev package is associated with its implementation.
  185. RPROVIDES:libgles2-mesa += "libgles3-mesa"
  186. RPROVIDES:libgles2-mesa-dev += "libgles3-mesa-dev"
  187. RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools spirv-llvm-translator', '', d)}"
  188. PACKAGES =+ "libegl-mesa libegl-mesa-dev \
  189. libgallium \
  190. libgl-mesa libgl-mesa-dev \
  191. libglx-mesa libglx-mesa-dev \
  192. libglapi libglapi-dev \
  193. libgbm libgbm-dev \
  194. libgles1-mesa libgles1-mesa-dev \
  195. libgles2-mesa libgles2-mesa-dev \
  196. libopencl-mesa \
  197. libxatracker libxatracker-dev \
  198. mesa-megadriver mesa-vulkan-drivers \
  199. mesa-vdpau-drivers mesa-tools \
  200. "
  201. do_install:append () {
  202. # libwayland-egl has been moved to wayland 1.15+
  203. rm -f ${D}${libdir}/libwayland-egl*
  204. rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc
  205. }
  206. # For the packages that make up the OpenGL interfaces, inject variables so that
  207. # they don't get Debian-renamed (which would remove the -mesa suffix), and
  208. # RPROVIDEs/RCONFLICTs on the generic libgl name.
  209. python __anonymous() {
  210. pkgconfig = (d.getVar('PACKAGECONFIG') or "").split()
  211. mlprefix = d.getVar("MLPREFIX")
  212. suffix = ""
  213. if "-native" in d.getVar("PN"):
  214. suffix = "-native"
  215. for p in ("libegl", "libgl", "libglx", "libgles1", "libgles2", "libgles3", "libopencl"):
  216. fullp = mlprefix + p + "-mesa" + suffix
  217. d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}mesa-megadriver" + suffix)
  218. d.setVar("DEBIAN_NOAUTONAME:%slibopencl-mesa%s" % (mlprefix, suffix), "1")
  219. if 'glvnd' in pkgconfig:
  220. for p in ("libegl", "libglx"):
  221. fullp = mlprefix + p + "-mesa" + suffix
  222. d.appendVar("RPROVIDES:" + fullp, '%s-icd' % p)
  223. else:
  224. for p in (("egl", "libegl", "libegl1"),
  225. ("opengl", "libgl", "libgl1"),
  226. ("gles", "libgles1", "libglesv1-cm1"),
  227. ("gles", "libgles2", "libglesv2-2", "libgles3")):
  228. if not p[0] in pkgconfig:
  229. continue
  230. fullp = mlprefix + p[1] + "-mesa" + suffix
  231. pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
  232. d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
  233. d.appendVar("RREPLACES:" + fullp, pkgs)
  234. d.appendVar("RPROVIDES:" + fullp, pkgs)
  235. d.appendVar("RCONFLICTS:" + fullp, pkgs)
  236. # For -dev, the first element is both the Debian and original name
  237. fullp = mlprefix + p[1] + "-mesa-dev" + suffix
  238. pkgs = " " + mlprefix + p[1] + "-dev" + suffix
  239. d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
  240. d.appendVar("RREPLACES:" + fullp, pkgs)
  241. d.appendVar("RPROVIDES:" + fullp, pkgs)
  242. d.appendVar("RCONFLICTS:" + fullp, pkgs)
  243. }
  244. python mesa_populate_packages() {
  245. pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
  246. for pkg in pkgs:
  247. d.setVar("RPROVIDES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
  248. d.setVar("RCONFLICTS:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
  249. d.setVar("RREPLACES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
  250. import re
  251. dri_drivers_root = oe.path.join(d.getVar('PKGD'), d.getVar('libdir'), "dri")
  252. if os.path.isdir(dri_drivers_root):
  253. dri_pkgs = sorted(os.listdir(dri_drivers_root))
  254. lib_name = d.expand("${MLPREFIX}mesa-megadriver")
  255. for p in dri_pkgs:
  256. m = re.match(r'^(.*)_dri\.so$', p)
  257. if m:
  258. pkg_name = " ${MLPREFIX}mesa-driver-%s" % legitimize_package_name(m.group(1))
  259. d.appendVar("RPROVIDES:%s" % lib_name, pkg_name)
  260. d.appendVar("RCONFLICTS:%s" % lib_name, pkg_name)
  261. d.appendVar("RREPLACES:%s" % lib_name, pkg_name)
  262. }
  263. PACKAGESPLITFUNCS =+ "mesa_populate_packages"
  264. PACKAGES_DYNAMIC += "^mesa-driver-.*"
  265. PACKAGES_DYNAMIC:class-native = "^mesa-driver-.*-native"
  266. FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d"
  267. FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${libdir}/libpowervr_rogue.so ${datadir}/vulkan"
  268. FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*"
  269. FILES:libegl-mesa = "${libdir}/libEGL*.so.* ${datadir}/glvnd/egl_vendor.d"
  270. FILES:libgbm = "${libdir}/libgbm.so.* ${libdir}/gbm/*_gbm.so"
  271. FILES:libgallium = "${libdir}/libgallium-*.so"
  272. FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*"
  273. FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*"
  274. FILES:libgl-mesa = "${libdir}/libGL.so.*"
  275. FILES:libglx-mesa = "${libdir}/libGLX*.so.*"
  276. FILES:libopencl-mesa = "${libdir}/lib*OpenCL.so* ${sysconfdir}/OpenCL/vendors/*.icd"
  277. FILES:libglapi = "${libdir}/libglapi.so.*"
  278. FILES:libxatracker = "${libdir}/libxatracker.so.*"
  279. FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan ${libdir}/vdpau/*.so"
  280. FILES:libegl-mesa-dev = "${libdir}/libEGL*.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
  281. FILES:libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${includedir}/gbm_backend_abi.h"
  282. FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
  283. FILES:libglx-mesa-dev = "${libdir}/libGLX*.*"
  284. FILES:libglapi-dev = "${libdir}/libglapi.*"
  285. FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
  286. FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${includedir}/GLES3 ${libdir}/pkgconfig/glesv2.pc"
  287. FILES:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \
  288. ${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \
  289. ${libdir}/pkgconfig/xatracker.pc"
  290. # catch all to get all the tools and data
  291. FILES:${PN}-tools = "${bindir} ${datadir}"
  292. ALLOW_EMPTY:${PN}-tools = "1"
  293. # All DRI drivers are symlinks to libdril_dri.so
  294. INSANE_SKIP:${PN}-megadriver += "dev-so"
  295. # OpenCL ICDs package also ship correspondig .so files, there is no -dev package
  296. INSANE_SKIP:libopencl-mesa += "dev-so"
  297. # Fix upgrade path from mesa to mesa-megadriver
  298. RREPLACES:mesa-megadriver = "mesa"
  299. RCONFLICTS:mesa-megadriver = "mesa"
  300. RPROVIDES:mesa-megadriver = "mesa"