mesa.inc 17 KB

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