mesa3d-headers.mk 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. ################################################################################
  2. #
  3. # mesa3d-headers
  4. #
  5. ################################################################################
  6. # mesa3d-headers is inherently incompatible with mesa3d, so error out
  7. # if both are enabled.
  8. ifeq ($(BR_BUILDING)$(BR2_PACKAGE_MESA3D)$(BR2_PACKAGE_MESA3D_HEADERS),yyy)
  9. $(error mesa3d-headers enabled, but mesa3d enabled too)
  10. endif
  11. # Not possible to directly refer to mesa3d variables, because of
  12. # first/second expansion trickery...
  13. MESA3D_HEADERS_VERSION = 25.1.1
  14. MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
  15. MESA3D_HEADERS_SITE = https://archive.mesa3d.org
  16. MESA3D_HEADERS_DL_SUBDIR = mesa3d
  17. MESA3D_HEADERS_LICENSE = MIT, SGI, Khronos
  18. MESA3D_HEADERS_LICENSE_FILES = docs/license.rst
  19. MESA3D_HEADERS_CPE_ID_VENDOR = mesa3d
  20. MESA3D_HEADERS_CPE_ID_PRODUCT = mesa
  21. # Only installs header files
  22. MESA3D_HEADERS_INSTALL_STAGING = YES
  23. MESA3D_HEADERS_INSTALL_TARGET = NO
  24. MESA3D_HEADERS_DIRS = KHR
  25. ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
  26. MESA3D_HEADERS_DIRS += GL
  27. ifeq ($(BR2_PACKAGE_XORG7),y)
  28. # Not using $(SED) because we do not want to work in-place, and $(SED)
  29. # contains -i.
  30. define MESA3D_HEADERS_BUILD_DRI_PC
  31. sed -e 's:@VERSION@:$(MESA3D_HEADERS_VERSION):' \
  32. $(MESA3D_HEADERS_PKGDIR)/dri.pc \
  33. >$(@D)/src/gallium/frontends/dri/dri.pc
  34. endef
  35. define MESA3D_HEADERS_INSTALL_DRI_PC
  36. $(INSTALL) -D -m 0644 $(@D)/include/GL/internal/dri_interface.h \
  37. $(STAGING_DIR)/usr/include/GL/internal/dri_interface.h
  38. $(INSTALL) -D -m 0644 $(@D)/src/gallium/frontends/dri/dri.pc \
  39. $(STAGING_DIR)/usr/lib/pkgconfig/dri.pc
  40. endef
  41. endif # Xorg
  42. endif # OpenGL
  43. ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y)
  44. MESA3D_HEADERS_DIRS += EGL
  45. endif
  46. ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
  47. MESA3D_HEADERS_DIRS += GLES GLES2
  48. endif
  49. ifeq ($(BR2_PACKAGE_HAS_LIBOPENCL),y)
  50. MESA3D_HEADERS_DIRS += CL
  51. endif
  52. define MESA3D_HEADERS_BUILD_CMDS
  53. $(MESA3D_HEADERS_BUILD_DRI_PC)
  54. endef
  55. define MESA3D_HEADERS_INSTALL_STAGING_CMDS
  56. $(foreach d,$(MESA3D_HEADERS_DIRS),\
  57. cp -dpfr $(@D)/include/$(d) $(STAGING_DIR)/usr/include/ || exit 1$(sep))
  58. $(MESA3D_HEADERS_INSTALL_DRI_PC)
  59. endef
  60. $(eval $(generic-package))