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