mesa.inc 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358
  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-glx-provide-glx.pc.patch \
  18. "
  19. SRC_URI[sha256sum] = "a370b4c549cbfbe646b319e34d73edb50ed883978f5e95133f282f0eae39ab52"
  20. PV = "25.2.4"
  21. UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
  22. S = "${UNPACKDIR}/mesa-${PV}"
  23. #because we cannot rely on the fact that all apps will use pkgconfig,
  24. #make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
  25. do_install:append() {
  26. # sed can't find EGL/eglplatform.h as it doesn't get installed when glvnd enabled.
  27. # So, check if EGL/eglplatform.h exists before running sed.
  28. if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)} && [ -f ${D}${includedir}/EGL/eglplatform.h ]; then
  29. 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
  30. fi
  31. # These are ICDs, apps are not supposed to link against them
  32. if ${@bb.utils.contains('PACKAGECONFIG', 'glvnd', 'true', 'false', d)} ; then
  33. rm -f ${D}${libdir}/libEGL_mesa.so ${D}${libdir}/libGLX_mesa.so
  34. fi
  35. }
  36. DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native python3-pyyaml-native"
  37. EXTRANATIVEPATH += "chrpath-native"
  38. inherit meson pkgconfig python3native gettext features_check rust
  39. ANY_OF_DISTRO_FEATURES = "opencl opengl vulkan"
  40. PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}"
  41. # set the MESA_BUILD_TYPE to either 'release' (default) or 'debug'
  42. # by default the upstream mesa sources build a debug release
  43. # here we assume the user will want a release build by default
  44. MESA_BUILD_TYPE ?= "release"
  45. def check_buildtype(d):
  46. _buildtype = d.getVar('MESA_BUILD_TYPE')
  47. if _buildtype not in ['release', 'debug']:
  48. bb.fatal("unknown build type (%s), please set MESA_BUILD_TYPE to either 'release' or 'debug'" % _buildtype)
  49. if _buildtype == 'debug':
  50. return 'debugoptimized'
  51. return 'plain'
  52. MESON_BUILDTYPE = "${@check_buildtype(d)}"
  53. EXTRA_OEMESON = " \
  54. -Dglx-read-only-text=true \
  55. -Dplatforms='${@",".join("${PLATFORMS}".split())}' \
  56. "
  57. def strip_comma(s):
  58. return s.strip(',')
  59. # skip all Rust dependencies if we are not building OpenCL"
  60. INHIBIT_DEFAULT_RUST_DEPS = "${@bb.utils.contains('PACKAGECONFIG', 'opencl', '', '1', d)}"
  61. # "egl" requires "opengl"
  62. PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled"
  63. # "gbm" requires "opengl"
  64. PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled"
  65. # "gles" requires "opengl"
  66. PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2=disabled"
  67. PACKAGECONFIG[glvnd] = "-Dglvnd=enabled, -Dglvnd=disabled, libglvnd"
  68. PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false"
  69. # "opencl" also requires libclc and gallium-llvm to be present in PKGCONFIG!
  70. # Be sure to enable them both for the target and for the native build.
  71. PACKAGECONFIG[opencl] = "-Dgallium-rusticl=true -Dmesa-clc-bundle-headers=enabled, -Dgallium-rusticl=false, bindgen-cli-native clang"
  72. X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr xorgproto libxshmfence"
  73. # "x11" requires "opengl"
  74. PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}"
  75. PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols"
  76. # Entries for GPU vendors.
  77. # Some of the drivers might have extra dependencies (libclc, gallium-llvm).
  78. # Check them in the individual driver settings in VULKAN_DRIVERS and
  79. # GALLIUMDRIVERS.
  80. PACKAGECONFIG[amd] = ""
  81. PACKAGECONFIG[asahi] = ""
  82. PACKAGECONFIG[broadcom] = ""
  83. PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native"
  84. PACKAGECONFIG[freedreno] = ""
  85. PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false"
  86. PACKAGECONFIG[intel] = ""
  87. PACKAGECONFIG[lima] = ""
  88. PACKAGECONFIG[nouveau] = ""
  89. PACKAGECONFIG[panfrost] = ""
  90. PACKAGECONFIG[svga] = ""
  91. PACKAGECONFIG[tegra] = ""
  92. PACKAGECONFIG[v3d] = ""
  93. PACKAGECONFIG[vc4] = ""
  94. PACKAGECONFIG[virgl] = ""
  95. PACKAGECONFIG[zink] = ""
  96. VULKAN_DRIVERS = ""
  97. VULKAN_DRIVERS_SWRAST = ",swrast"
  98. # Crashes on x32
  99. VULKAN_DRIVERS_SWRAST:x86-x32 = ""
  100. # keep sorted by the driver name (rather than PKGCONFIG)
  101. VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'amd gallium-llvm', ',amd', '', d)}"
  102. VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc gallium-llvm', ',asahi', '', d)}"
  103. VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
  104. VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
  105. VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}"
  106. VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc gallium-llvm', ',intel', '', d)}"
  107. VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${VULKAN_DRIVERS_SWRAST}', '', d)}"
  108. VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost libclc', ',panfrost', '', d)}"
  109. PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers"
  110. PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false"
  111. # mesa development and testing tools support, per driver
  112. TOOLS = ""
  113. TOOLS_DEPS = ""
  114. # keep sorted by the driver name (rather than PKGCONFIG)
  115. TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'asahi', ',asahi', '', d)}"
  116. TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
  117. TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
  118. TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}"
  119. TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
  120. TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
  121. # dependencies for tools.
  122. TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}"
  123. # the fdperf tool requires libconfig (a part of meta-oe) so it needs special
  124. # treatment in addition to the usual 'freedreno tools'.
  125. PACKAGECONFIG[freedreno-fdperf] = ",,libconfig"
  126. PACKAGECONFIG[tools] = "-Dtools=${@strip_comma('${TOOLS}')}, -Dtools='', ${TOOLS_DEPS}"
  127. PACKAGECONFIG[xmlconfig] = "-Dxmlconfig=enabled, -Dxmlconfig=disabled, expat"
  128. GALLIUMDRIVERS = ""
  129. GALLIUMDRIVERS_LLVMPIPE = ",llvmpipe"
  130. GALLIUMDRIVERS_SOFTPIPE = ",softpipe"
  131. # gallium softpipe and llvmpipe was found to crash Xorg on startup in x32 qemu
  132. GALLIUMDRIVERS_LLVMPIPE:x86-x32 = ""
  133. GALLIUMDRIVERS_SOFTPIPE:x86-x32 = ""
  134. # keep sorted by the driver name (rather than PKGCONFIG)
  135. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc gallium-llvm', ',asahi', '', d)}"
  136. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'intel', ',crocus', '', d)}"
  137. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
  138. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
  139. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'intel', ',i915', '', d)}"
  140. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc gallium-llvm', ',iris', '', d)}"
  141. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
  142. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${GALLIUMDRIVERS_LLVMPIPE}', '', d)}"
  143. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'nouveau gallium-llvm', ',nouveau', '', d)}"
  144. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost libclc', ',panfrost', '', d)}"
  145. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'amd gallium-llvm', ',r300', '', d)}"
  146. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',r600', '', d)}"
  147. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'amd gallium-llvm', ',radeonsi', '', d)}"
  148. GALLIUMDRIVERS:append = "${GALLIUMDRIVERS_SOFTPIPE}"
  149. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'svga gallium-llvm', ',svga', '', d)}"
  150. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'tegra', ',tegra', '', d)}"
  151. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
  152. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
  153. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
  154. GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
  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. MESA_CLC = "system"
  158. MESA_CLC:class-native = "enabled"
  159. INSTALL_MESA_CLC = "false"
  160. INSTALL_MESA_CLC:class-native = "true"
  161. MESA_NATIVE = "mesa-native"
  162. MESA_NATIVE:class-native = ""
  163. 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}"
  164. PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial"
  165. PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau"
  166. PACKAGECONFIG[perfetto] = "-Dperfetto=true,-Dperfetto=false,libperfetto"
  167. PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
  168. PACKAGECONFIG[lmsensors] = "-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors"
  169. VIDEO_CODECS ?= "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'all', 'all_free', d)}"
  170. PACKAGECONFIG[video-codecs] = "-Dvideo-codecs=${VIDEO_CODECS}, -Dvideo-codecs=''"
  171. PACKAGECONFIG[teflon] = "-Dteflon=true, -Dteflon=false"
  172. # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2)
  173. FULL_OPTIMIZATION:append = " -fno-omit-frame-pointer"
  174. CFLAGS:append:armv5 = " -DMISSING_64BIT_ATOMICS"
  175. CFLAGS:append:armv6 = " -DMISSING_64BIT_ATOMICS"
  176. # Remove the mesa dependency on mesa-dev, as mesa is empty
  177. DEV_PKG_DEPENDENCY = ""
  178. # Provide virtual names to allow selecting preferred rproviders
  179. RPROVIDES:mesa-vulkan-drivers += "virtual-vulkan-icd"
  180. RPROVIDES:libopencl-mesa += "virtual-opencl-icd"
  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', '', 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. libteflon \
  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' in pkgconfig:
  218. for p in ("libegl", "libglx"):
  219. fullp = mlprefix + p + "-mesa" + suffix
  220. d.appendVar("RPROVIDES:" + fullp, ' virtual-%s-icd' % p)
  221. else:
  222. for p in (("egl", "libegl", "libegl1"),
  223. ("opengl", "libgl", "libgl1"),
  224. ("gles", "libgles1", "libglesv1-cm1"),
  225. ("gles", "libgles2", "libglesv2-2", "libgles3")):
  226. if not p[0] in pkgconfig:
  227. continue
  228. fullp = mlprefix + p[1] + "-mesa" + suffix
  229. pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
  230. d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
  231. d.appendVar("RREPLACES:" + fullp, pkgs)
  232. d.appendVar("RPROVIDES:" + fullp, pkgs)
  233. d.appendVar("RCONFLICTS:" + fullp, pkgs)
  234. # For -dev, the first element is both the Debian and original name
  235. fullp = mlprefix + p[1] + "-mesa-dev" + suffix
  236. pkgs = " " + mlprefix + p[1] + "-dev" + suffix
  237. d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
  238. d.appendVar("RREPLACES:" + fullp, pkgs)
  239. d.appendVar("RPROVIDES:" + fullp, pkgs)
  240. d.appendVar("RCONFLICTS:" + fullp, pkgs)
  241. }
  242. python mesa_populate_packages() {
  243. pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
  244. for pkg in pkgs:
  245. d.setVar("RPROVIDES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
  246. d.setVar("RCONFLICTS:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
  247. d.setVar("RREPLACES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
  248. import re
  249. dri_drivers_root = oe.path.join(d.getVar('PKGD'), d.getVar('libdir'), "dri")
  250. if os.path.isdir(dri_drivers_root):
  251. dri_pkgs = sorted(os.listdir(dri_drivers_root))
  252. lib_name = d.expand("${MLPREFIX}mesa-megadriver")
  253. for p in dri_pkgs:
  254. m = re.match(r'^(.*)_dri\.so$', p)
  255. if m:
  256. pkg_name = " ${MLPREFIX}mesa-driver-%s" % legitimize_package_name(m.group(1))
  257. d.appendVar("RPROVIDES:%s" % lib_name, pkg_name)
  258. d.appendVar("RCONFLICTS:%s" % lib_name, pkg_name)
  259. d.appendVar("RREPLACES:%s" % lib_name, pkg_name)
  260. }
  261. PACKAGESPLITFUNCS =+ "mesa_populate_packages"
  262. PACKAGES_DYNAMIC += "^mesa-driver-.*"
  263. PACKAGES_DYNAMIC:class-native = "^mesa-driver-.*-native"
  264. FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d"
  265. FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${libdir}/libpowervr_rogue.so ${datadir}/vulkan"
  266. FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*"
  267. FILES:libegl-mesa = "${libdir}/libEGL*.so.* ${datadir}/glvnd/egl_vendor.d"
  268. FILES:libgbm = "${libdir}/libgbm.so.* ${libdir}/gbm/*_gbm.so"
  269. FILES:libgallium = "${libdir}/libgallium-*.so"
  270. FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*"
  271. FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*"
  272. FILES:libgl-mesa = "${libdir}/libGL.so.*"
  273. FILES:libglx-mesa = "${libdir}/libGLX*.so.*"
  274. FILES:libopencl-mesa = "${libdir}/lib*OpenCL.so* ${sysconfdir}/OpenCL/vendors/*.icd"
  275. FILES:libglapi = "${libdir}/libglapi.so.*"
  276. FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/GL/internal/dri_interface.h ${includedir}/vulkan ${libdir}/vdpau/*.so"
  277. FILES:libegl-mesa-dev = "${libdir}/libEGL*.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
  278. FILES:libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${includedir}/gbm_backend_abi.h"
  279. FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL/*.h ${libdir}/pkgconfig/gl.pc ${libdir}/pkgconfig/glx.pc"
  280. FILES:libglapi-dev = "${libdir}/libglapi.*"
  281. FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
  282. FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${includedir}/GLES3 ${libdir}/pkgconfig/glesv2.pc"
  283. FILES:libteflon = "${libdir}/libteflon.so"
  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"