mesa3d-headers.mk 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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 ($(BR2_PACKAGE_MESA3D)$(BR2_PACKAGE_MESA3D_HEADERS),yy)
  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 = 10.6.4
  14. MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
  15. MESA3D_HEADERS_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_HEADERS_VERSION)
  16. MESA3D_HEADERS_LICENSE = MIT, SGI, Khronos
  17. MESA3D_HEADERS_LICENSE_FILES = docs/license.html
  18. # Only installs header files
  19. MESA3D_HEADERS_INSTALL_STAGING = YES
  20. MESA3D_HEADERS_INSTALL_TARGET = NO
  21. MESA3D_HEADERS_DIRS = KHR
  22. ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
  23. MESA3D_HEADERS_DIRS += GL
  24. ifeq ($(BR2_PACKAGE_XORG7),y)
  25. # Not using $(SED) because we do not want to work in-place, and $(SED)
  26. # contains -i.
  27. define MESA3D_HEADERS_BUILD_DRI_PC
  28. sed -e 's:@\(exec_\)\?prefix@:/usr:' \
  29. -e 's:@libdir@:${exec_prefix}/lib:' \
  30. -e 's:@includedir@:${prefix}/include:' \
  31. -e 's:@DRI_DRIVER_INSTALL_DIR@:${libdir}/dri:' \
  32. -e 's:@VERSION@:$(MESA3D_HEADERS_VERSION):' \
  33. -e 's:@DRI_PC_REQ_PRIV@::' \
  34. $(@D)/src/mesa/drivers/dri/dri.pc.in \
  35. >$(@D)/src/mesa/drivers/dri/dri.pc
  36. endef
  37. define MESA3D_HEADERS_INSTALL_DRI_PC
  38. $(INSTALL) -D -m 0644 $(@D)/include/GL/internal/dri_interface.h \
  39. $(STAGING_DIR)/usr/include/GL/internal/dri_interface.h
  40. $(INSTALL) -D -m 0644 $(@D)/src/mesa/drivers/dri/dri.pc \
  41. $(STAGING_DIR)/usr/lib/pkg-config/dri.pc
  42. endef
  43. endif # Xorg
  44. endif # OpenGL
  45. ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y)
  46. MESA3D_HEADERS_DIRS += EGL
  47. endif
  48. ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
  49. MESA3D_HEADERS_DIRS += GLES GLES2
  50. endif
  51. ifeq ($(BR2_PACKAGE_HAS_LIBOPENVG),y)
  52. MESA3D_HEADERS_DIRS += VG
  53. endif
  54. define MESA3D_HEADERS_BUILD_CMDS
  55. $(MESA3D_HEADERS_BUILD_DRI_PC)
  56. endef
  57. define MESA3D_HEADERS_INSTALL_STAGING_CMDS
  58. $(foreach d,$(MESA3D_HEADERS_DIRS),\
  59. cp -dpfr $(@D)/include/$(d) $(STAGING_DIR)/usr/include/ || exit 1$(sep))
  60. $(MESA3D_HEADERS_INSTALL_DRI_PC)
  61. endef
  62. $(eval $(generic-package))