1 include $(TOPDIR
)/rules.mk
5 PKG_RELEASE
:=$(AUTORELEASE
)
7 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.xz
8 PKG_SOURCE_URL
:=https
://archive.mesa3d.org
/
9 PKG_HASH
:=a2753c09deef0ba14d35ae8a2ceff3fe5cd13698928c7bb62c2ec8736eb09ce1
11 PKG_MAINTAINER
:=Daniel Golle
<daniel@makrotopia.org
>
12 PKG_LICENSE
:=BSD-3-Clause
15 PKG_BUILD_DEPENDS
:=python3
/host
17 PKG_CONFIG_DEPENDS
:= \
19 CONFIG_LIBDRM_NOUVEAU \
22 TARGET_CPPFLAGS
+=-Wno-format
-Wno-format-security
25 HOST_PYTHON3_PACKAGE_BUILD_DEPENDS
:=.
/host-pip-requirements.txt
27 include $(INCLUDE_DIR
)/package.mk
28 include $(INCLUDE_DIR
)/meson.mk
29 include $(TOPDIR
)/feeds
/packages
/lang
/python
/python3-package.mk
32 armada-drm
:@
(aarch64||arm
) \
33 etnaviv
:@
(aarch64||arm
) \
34 exynos
:@
(aarch64||arm
) \
40 imx-dcss
:@
(aarch64||arm
) \
41 imx-drm
:@
(aarch64||arm
) \
42 ingenic-drm
:@
(aarch64||arm||mipsel
) \
43 kgsl
:@
(aarch64||arm
) \
45 lima
:@
(aarch64||arm
) \
47 mediatek
:@
(aarch64||arm
) \
48 meson
:@
(aarch64||arm
) \
51 mxsfb-drm
:@
(aarch64||arm
) \
52 nouveau
:@LIBDRM_NOUVEAU \
53 nouveau_vieux
:@LIBDRM_NOUVEAU \
54 panfrost
:@
(aarch64||arm
) \
55 pl111
:@
(aarch64||arm
) \
58 radeon
:@LIBDRM_RADEON \
60 rockchip
:@
(aarch64||arm
) \
64 sun4i-drm
:@
(aarch64||arm
) \
66 tegra
:@
((aarch64||arm
)&&LIBDRM_NOUVEAU
) \
67 vmwgfx
:@
(i386||i686||x86_64
) \
71 define Package
/libxatracker
75 TITLE
:=Mesa3D libxatracker
76 URL
:=https
://www.mesa3d.org
77 DEPENDS
:=+libstdcpp
+zlib
+libdrm
+libexpat @
(aarch64||arm||i386||i686||x86_64
)
80 define Package
/libxatracker
/description
83 define Package
/libglapi
87 TITLE
:=Mesa3D libglapi
88 URL
:=https
://www.mesa3d.org
89 DEPENDS
:=+libpthread
+libatomic
92 define Package
/libglapi
/description
95 define Package
/libmesa
99 DEPENDS
:=+libglapi
+libstdcpp
+zlib
+libdrm
+libwayland
+wayland-protocols
100 TITLE
:=Mesa3D OpenGL and friends
101 URL
:=https
://www.mesa3d.org
104 define Package
/libmesa
/description
107 define Package
/libosmesa
111 DEPENDS
:=+libglapi
+libstdcpp
+zlib
+libwayland
+wayland-protocols
112 TITLE
:=off-screen Mesa library
113 URL
:=https
://www.mesa3d.org
116 define Package
/libosmesa
/description
119 define Package
/libvulkan-broadcom
123 DEPENDS
:=libmesa @
(arm||aarch64
) @BROKEN
124 TITLE
:=Broadcom Vulkan driver
125 URL
:=https
://www.mesa3d.org
128 define Package
/libvulkan-broadcom
/description
131 define Package
/libvulkan-freedreno
135 DEPENDS
:=libmesa @
(arm||aarch64
)
136 TITLE
:=Freedreno Vulkan driver
137 URL
:=https
://www.mesa3d.org
140 define Package
/libvulkan-freedreno
/description
143 define Package
/libvulkan-intel
147 DEPENDS
:=libmesa @
(i386||i686||x86_64
)
148 TITLE
:=Intel Vulkan driver
149 URL
:=https
://www.mesa3d.org
152 define Package
/libvulkan-intel
/description
156 define Package
/libmesadri-
$(subst _
,-,$(firstword $(subst :, ,$(1))))
160 TITLE
:=Mesa3D DRI
$(firstword $(subst :, ,$(1))) plugin
161 URL
:=https
://www.mesa3d.org
162 DEPENDS
:=libmesa
$(wordlist
2,$(words $(subst :, ,$(1))),$(subst :, ,$(1)))
166 $(foreach file
,$(DRI_PLUGINS
),$(eval
$(call PluginGen
,$(file
))))
169 GALLIUM_DRIVERS
:=kmsro swrast vc4 virgl
172 # VULKAN_DRIVERS:=swrast
174 ifneq ($(CONFIG_LIBDRM_INTEL
),)
176 GALLIUM_DRIVERS
+=i915
179 ifneq ($(CONFIG_LIBDRM_NOUVEAU
),)
181 GALLIUM_DRIVERS
+=nouveau
184 ifneq ($(CONFIG_LIBDRM_RADEON
),)
185 DRI_DRIVERS
+=r100 r200
186 GALLIUM_DRIVERS
+=r300
187 # r600 and radeonsi require LLVM
190 ifeq ($(ARCH
),aarch64
)
191 GALLIUM_DRIVERS
+=freedreno etnaviv panfrost lima
192 ifneq ($(CONFIG_LIBDRM_NOUVEAU
),)
193 GALLIUM_DRIVERS
+=tegra
198 GALLIUM_DRIVERS
+=freedreno etnaviv panfrost lima
199 ifneq ($(CONFIG_LIBDRM_NOUVEAU
),)
200 GALLIUM_DRIVERS
+=tegra
205 GALLIUM_DRIVERS
+=etnaviv
208 ifeq ($(ARCH
),mipsel
)
209 GALLIUM_DRIVERS
+=etnaviv
212 ifeq ($(ARCH
),x86_64
)
213 GALLIUM_DRIVERS
+=svga
217 GALLIUM_DRIVERS
+=svga
221 GALLIUM_DRIVERS
+=svga
224 ifneq ($(CONFIG_PACKAGE_libvulkan-broadcom
),)
225 VULKAN_DRIVERS
+=broadcom
228 ifneq ($(CONFIG_PACKAGE_libvulkan-freedreno
),)
229 VULKAN_DRIVERS
+=freedreno
232 ifneq ($(CONFIG_PACKAGE_libvulkan-intel
),)
233 VULKAN_DRIVERS
+=intel
237 -Dplatforms
=wayland \
246 -Dandroid-stub
=false \
247 -Ddri-drivers
=$(subst $(space
),$(comma
),$(strip $(DRI_DRIVERS
))) \
248 -Dgallium-drivers
=$(subst $(space
),$(comma
),$(strip $(GALLIUM_DRIVERS
))) \
249 -Dvulkan-drivers
=$(subst $(space
),$(comma
),$(strip $(VULKAN_DRIVERS
))) \
253 -Dshared-glapi
=enabled \
254 -Ddraw-use-llvm
=false \
255 -Dscanner_bin
="$(STAGING_DIR_HOSTPKG)/bin/wayland-scanner"
257 TARGET_CFLAGS
+= -I
$(MESON_BUILD_DIR
)/src
/broadcom
/
259 define Build
/Configure
260 $(call Py3Build
/InstallBuildDepends
)
261 $(call Build
/Configure
/Meson
)
264 define Build
/InstallDev
265 $(INSTALL_DIR
) $(1)/usr
/include
266 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/* $(1)/usr
/include/
267 $(INSTALL_DIR
) $(1)/usr
/lib
268 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/lib
*.so
* $(1)/usr
/lib
/
269 $(INSTALL_DIR
) $(1)/usr
/lib
/dri
270 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/dri
/* $(1)/usr
/lib
/dri
/
271 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
272 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/*.
pc $(1)/usr
/lib
/pkgconfig
275 define Package
/libglapi
/install
276 $(INSTALL_DIR
) $(1)/usr
/lib
277 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libglapi.so
* $(1)/usr
/lib
/
280 define Package
/libxatracker
/install
281 $(INSTALL_DIR
) $(1)/usr
/lib
282 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libxatracker.so
* $(1)/usr
/lib
/
285 define Package
/libmesa
/install
286 $(INSTALL_DIR
) $(1)/usr
/lib
287 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/lib
*GL
*.so
* $(1)/usr
/lib
/
288 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libgbm.so
* $(1)/usr
/lib
/
289 $(INSTALL_DIR
) $(1)/usr
/share
/drirc.d
290 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/drirc.d
/* $(1)/usr
/share
/drirc.d
/
293 define Package
/libosmesa
/install
294 $(INSTALL_DIR
) $(1)/usr
/lib
295 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libOSMesa.so
* $(1)/usr
/lib
/
298 define Package
/libvulkan-broadcom
/install
299 $(INSTALL_DIR
) $(1)/usr
/lib
300 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libvulkan_broadcom.so
$(1)/usr
/lib
/
301 $(INSTALL_DIR
) $(1)/usr
/share
/vulkan
/icd.d
302 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/vulkan
/icd.d
/broadcom_icd.generic.json
$(1)/usr
/share
/vulkan
/icd.d
/
305 define Package
/libvulkan-freedreno
/install
306 $(INSTALL_DIR
) $(1)/usr
/lib
307 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libvulkan_freedreno.so
$(1)/usr
/lib
/
308 $(INSTALL_DIR
) $(1)/usr
/share
/vulkan
/icd.d
309 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/vulkan
/icd.d
/freedreno_icd.generic.json
$(1)/usr
/share
/vulkan
/icd.d
/
312 define Package
/libvulkan-intel
/install
313 $(INSTALL_DIR
) $(1)/usr
/lib
314 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libvulkan_intel.so
$(1)/usr
/lib
/
315 $(INSTALL_DIR
) $(1)/usr
/share
/vulkan
/icd.d
316 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/vulkan
/icd.d
/intel_icd.generic.json
$(1)/usr
/share
/vulkan
/icd.d
/
320 define Package
/libmesadri-
$(subst _
,-,$(firstword $(subst :, ,$(1))))/install
321 $(INSTALL_DIR
) $$(1)/usr
/lib
/dri
323 $(PKG_INSTALL_DIR
)/usr
/lib
/dri
/$(firstword $(subst :, ,$(1)))_dri.so \
328 $(foreach file
,$(DRI_PLUGINS
),$(eval
$(call PluginInstall
,$(file
))))
329 $(foreach file
,$(DRI_PLUGINS
),$(eval
$(call BuildPackage
,libmesadri-
$(subst _
,-,$(firstword $(subst :, ,$(file
)))))))
330 $(eval
$(call BuildPackage
,libxatracker
))
331 $(eval
$(call BuildPackage
,libglapi
))
332 $(eval
$(call BuildPackage
,libmesa
))
333 $(eval
$(call BuildPackage
,libosmesa
))
334 $(eval
$(call BuildPackage
,libvulkan-intel
))
335 $(eval
$(call BuildPackage
,libvulkan-broadcom
))
336 $(eval
$(call BuildPackage
,libvulkan-freedreno
))