1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# mesa3d-headers 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun# mesa3d-headers is inherently incompatible with mesa3d, so error out 8*4882a593Smuzhiyun# if both are enabled. 9*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MESA3D)$(BR2_PACKAGE_MESA3D_HEADERS),yy) 10*4882a593Smuzhiyun$(error mesa3d-headers enabled, but mesa3d enabled too) 11*4882a593Smuzhiyunendif 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun# Not possible to directly refer to mesa3d variables, because of 14*4882a593Smuzhiyun# first/second expansion trickery... 15*4882a593SmuzhiyunMESA3D_HEADERS_VERSION = 21.1.8 16*4882a593SmuzhiyunMESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz 17*4882a593SmuzhiyunMESA3D_HEADERS_SITE = https://archive.mesa3d.org 18*4882a593SmuzhiyunMESA3D_HEADERS_DL_SUBDIR = mesa3d 19*4882a593SmuzhiyunMESA3D_HEADERS_LICENSE = MIT, SGI, Khronos 20*4882a593SmuzhiyunMESA3D_HEADERS_LICENSE_FILES = docs/license.rst 21*4882a593SmuzhiyunMESA3D_HEADERS_CPE_ID_VENDOR = mesa3d 22*4882a593SmuzhiyunMESA3D_HEADERS_CPE_ID_PRODUCT = mesa 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun# Only installs header files 25*4882a593SmuzhiyunMESA3D_HEADERS_INSTALL_STAGING = YES 26*4882a593SmuzhiyunMESA3D_HEADERS_INSTALL_TARGET = NO 27*4882a593Smuzhiyun 28*4882a593SmuzhiyunMESA3D_HEADERS_DIRS = KHR 29*4882a593Smuzhiyun 30*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_HAS_LIBGL),y) 31*4882a593Smuzhiyun 32*4882a593SmuzhiyunMESA3D_HEADERS_DIRS += GL 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_XORG7),y) 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun# Not using $(SED) because we do not want to work in-place, and $(SED) 37*4882a593Smuzhiyun# contains -i. 38*4882a593Smuzhiyundefine MESA3D_HEADERS_BUILD_DRI_PC 39*4882a593Smuzhiyun sed -e 's:@VERSION@:$(MESA3D_HEADERS_VERSION):' \ 40*4882a593Smuzhiyun package/mesa3d-headers/dri.pc \ 41*4882a593Smuzhiyun >$(@D)/src/mesa/drivers/dri/dri.pc 42*4882a593Smuzhiyunendef 43*4882a593Smuzhiyun 44*4882a593Smuzhiyundefine MESA3D_HEADERS_INSTALL_DRI_PC 45*4882a593Smuzhiyun $(INSTALL) -D -m 0644 $(@D)/include/GL/internal/dri_interface.h \ 46*4882a593Smuzhiyun $(STAGING_DIR)/usr/include/GL/internal/dri_interface.h 47*4882a593Smuzhiyun $(INSTALL) -D -m 0644 $(@D)/src/mesa/drivers/dri/dri.pc \ 48*4882a593Smuzhiyun $(STAGING_DIR)/usr/lib/pkgconfig/dri.pc 49*4882a593Smuzhiyunendef 50*4882a593Smuzhiyun 51*4882a593Smuzhiyunendif # Xorg 52*4882a593Smuzhiyun 53*4882a593Smuzhiyunendif # OpenGL 54*4882a593Smuzhiyun 55*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_HAS_LIBEGL),y) 56*4882a593SmuzhiyunMESA3D_HEADERS_DIRS += EGL 57*4882a593Smuzhiyunendif 58*4882a593Smuzhiyun 59*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) 60*4882a593SmuzhiyunMESA3D_HEADERS_DIRS += GLES GLES2 61*4882a593Smuzhiyunendif 62*4882a593Smuzhiyun 63*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_HAS_LIBOPENCL),y) 64*4882a593SmuzhiyunMESA3D_HEADERS_DIRS += CL 65*4882a593Smuzhiyunendif 66*4882a593Smuzhiyun 67*4882a593Smuzhiyundefine MESA3D_HEADERS_BUILD_CMDS 68*4882a593Smuzhiyun $(MESA3D_HEADERS_BUILD_DRI_PC) 69*4882a593Smuzhiyunendef 70*4882a593Smuzhiyun 71*4882a593Smuzhiyundefine MESA3D_HEADERS_INSTALL_STAGING_CMDS 72*4882a593Smuzhiyun $(foreach d,$(MESA3D_HEADERS_DIRS),\ 73*4882a593Smuzhiyun cp -dpfr $(@D)/include/$(d) $(STAGING_DIR)/usr/include/ || exit 1$(sep)) 74*4882a593Smuzhiyun $(MESA3D_HEADERS_INSTALL_DRI_PC) 75*4882a593Smuzhiyunendef 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun$(eval $(generic-package)) 78