mesa3d: modularize and bump to version 10.0.4
- add options to select mesa3d drivers - uClibc support was fixed in mesa3d v9.2 https://bugs.freedesktop.org/show_bug.cgi?id=51782 therefore mesa3d-uclibc-locale.patch was removed - removed MESA3D_AUTORECONF=yes as it was needed only for mesa3d-uclibc-locale.patch Signed-off-by: Bernd Kuhls <berndkuhls@hotmail.com> Signed-off-by: Spenser Gilliland <spenser@gillilanding.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
e5fcd32f16
commit
3199fd4ef5
@ -1,14 +1,118 @@
|
|||||||
config BR2_PACKAGE_MESA3D
|
config BR2_PACKAGE_MESA3D
|
||||||
bool "Mesa 3D Graphics Library"
|
bool "Mesa 3D Graphics Library"
|
||||||
select BR2_PACKAGE_XPROTO_GLPROTO
|
|
||||||
select BR2_PACKAGE_XLIB_LIBXXF86VM
|
|
||||||
select BR2_PACKAGE_XLIB_LIBXDAMAGE
|
|
||||||
select BR2_PACKAGE_XLIB_LIBXFIXES
|
|
||||||
select BR2_PACKAGE_XPROTO_DRI2PROTO
|
|
||||||
select BR2_PACKAGE_LIBDRM
|
select BR2_PACKAGE_LIBDRM
|
||||||
select BR2_PACKAGE_EXPAT
|
select BR2_PACKAGE_EXPAT
|
||||||
select BR2_PACKAGE_HOST_LIBXML2_PYTHON
|
select BR2_PACKAGE_HOST_LIBXML2_PYTHON
|
||||||
depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR
|
select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XSERVER_XORG_SERVER
|
||||||
|
select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XSERVER_XORG_SERVER
|
||||||
|
select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XSERVER_XORG_SERVER
|
||||||
|
select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XSERVER_XORG_SERVER
|
||||||
|
select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XSERVER_XORG_SERVER
|
||||||
|
select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XSERVER_XORG_SERVER
|
||||||
|
select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XSERVER_XORG_SERVER
|
||||||
depends on BR2_INSTALL_LIBSTDCPP
|
depends on BR2_INSTALL_LIBSTDCPP
|
||||||
|
depends on BR2_LARGEFILE
|
||||||
help
|
help
|
||||||
Mesa 3D, an open-source implementation of the OpenGL specification.
|
Mesa 3D, an open-source implementation of the OpenGL specification.
|
||||||
|
|
||||||
|
http://mesa3d.org
|
||||||
|
|
||||||
|
if BR2_PACKAGE_MESA3D
|
||||||
|
|
||||||
|
# inform the .mk file of gallium or dri driver selection
|
||||||
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||||
|
select BR2_PACKAGE_MESA3D_DRIVER
|
||||||
|
bool
|
||||||
|
|
||||||
|
config BR2_PACKAGE_MESA3D_DRI_DRIVER
|
||||||
|
select BR2_PACKAGE_MESA3D_DRIVER
|
||||||
|
depends on !BR2_PREFER_STATIC_LIB
|
||||||
|
bool
|
||||||
|
|
||||||
|
comment "DRI drivers need shared libdrm"
|
||||||
|
depends on BR2_PREFER_STATIC_LIB
|
||||||
|
|
||||||
|
config BR2_PACKAGE_MESA3D_DRIVER
|
||||||
|
bool
|
||||||
|
|
||||||
|
menu "Drivers"
|
||||||
|
|
||||||
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
|
||||||
|
bool "Gallium nouveau driver"
|
||||||
|
depends on BR2_i386 || BR2_x86_64
|
||||||
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||||
|
select BR2_PACKAGE_LIBDRM_NOUVEAU
|
||||||
|
help
|
||||||
|
Supports all Nvidia GPUs.
|
||||||
|
|
||||||
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA
|
||||||
|
bool "Gallium vmware svga driver"
|
||||||
|
depends on BR2_i386 || BR2_x86_64
|
||||||
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||||
|
select BR2_PACKAGE_LIBDRM_VMWGFX
|
||||||
|
help
|
||||||
|
This is a virtual GPU driver for VMWare virtual machines.
|
||||||
|
|
||||||
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
|
||||||
|
bool "Gallium swrast driver"
|
||||||
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||||
|
help
|
||||||
|
This is a software opengl implementation using the Gallium3D
|
||||||
|
infrastructure.
|
||||||
|
|
||||||
|
config BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
|
||||||
|
bool "DRI swrast driver"
|
||||||
|
select BR2_PACKAGE_MESA3D_DRI_DRIVER
|
||||||
|
help
|
||||||
|
This is a software opengl implementation using the DRI
|
||||||
|
infrastructure.
|
||||||
|
|
||||||
|
config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965
|
||||||
|
bool "DRI i965 driver"
|
||||||
|
depends on BR2_i386 || BR2_x86_64
|
||||||
|
depends on BR2_PACKAGE_XORG7
|
||||||
|
select BR2_PACKAGE_MESA3D_DRI_DRIVER
|
||||||
|
select BR2_PACKAGE_LIBDRM_INTEL
|
||||||
|
help
|
||||||
|
Supports all Intel GPUs. This version is most supported by Intel.
|
||||||
|
|
||||||
|
config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON
|
||||||
|
bool "DRI radeon driver"
|
||||||
|
depends on BR2_i386 || BR2_x86_64
|
||||||
|
select BR2_PACKAGE_MESA3D_DRI_DRIVER
|
||||||
|
select BR2_PACKAGE_LIBDRM_RADEON
|
||||||
|
help
|
||||||
|
Legacy Radeon driver for R100 series GPUs.
|
||||||
|
|
||||||
|
endmenu
|
||||||
|
|
||||||
|
menu "Additional API Support"
|
||||||
|
depends on BR2_PACKAGE_MESA3D_DRIVER
|
||||||
|
|
||||||
|
config BR2_PACKAGE_MESA3D_OPENGL_EGL
|
||||||
|
bool "EGL"
|
||||||
|
depends on BR2_PACKAGE_HAS_UDEV
|
||||||
|
select BR2_PACKAGE_HAS_OPENGL_EGL
|
||||||
|
help
|
||||||
|
Use the Khronos EGL APIs. EGL is a window manager for OpenGL applications
|
||||||
|
similar to GLX, for X, and WGL, for Windows.
|
||||||
|
|
||||||
|
config BR2_PACKAGE_MESA3D_OPENGL_ES
|
||||||
|
bool "OpenGL ES"
|
||||||
|
select BR2_PACKAGE_HAS_OPENGL_ES
|
||||||
|
help
|
||||||
|
Use the Khronos OpenGL ES APIs. This is commonly used on embedded
|
||||||
|
systems and represents a subset of the OpenGL API.
|
||||||
|
|
||||||
|
endmenu
|
||||||
|
|
||||||
|
config BR2_PACKAGE_PROVIDES_OPENGL_EGL
|
||||||
|
default "mesa3d"
|
||||||
|
|
||||||
|
config BR2_PACKAGE_PROVIDES_OPENGL_ES
|
||||||
|
default "mesa3d"
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
comment "mesa3d needs a toolchain w/ C++, largefile"
|
||||||
|
depends on !BR2_LARGEFILE || !BR2_INSTALL_LIBSTDCPP
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
[PATCH] Fix compilation on uClibc without locale support
|
|
||||||
|
|
||||||
Based on similar patch from OE:
|
|
||||||
|
|
||||||
http://git.openembedded.org/openembedded-core/commit/meta/recipes-graphics/mesa/mesa/0001-Compile-with-uclibc.patch?id=e4039eb74b20e96d4b8837cd58cf2d13d091e1ad
|
|
||||||
|
|
||||||
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
|
|
||||||
---
|
|
||||||
configure.ac | 3 +++
|
|
||||||
src/glsl/strtod.c | 2 +-
|
|
||||||
src/mesa/main/imports.c | 2 +-
|
|
||||||
3 files changed, 5 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index fbaa376..454dad2 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -450,6 +450,9 @@ AC_SUBST([DLOPEN_LIBS])
|
|
||||||
dnl See if posix_memalign is available
|
|
||||||
AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
|
|
||||||
|
|
||||||
+dnl See if newlocale is available
|
|
||||||
+AC_CHECK_FUNCS_ONCE(newlocale)
|
|
||||||
+
|
|
||||||
dnl SELinux awareness.
|
|
||||||
AC_ARG_ENABLE([selinux],
|
|
||||||
[AS_HELP_STRING([--enable-selinux],
|
|
||||||
diff --git a/src/glsl/strtod.c b/src/glsl/strtod.c
|
|
||||||
index a876e13..9fce7e9 100644
|
|
||||||
--- a/src/glsl/strtod.c
|
|
||||||
+++ b/src/glsl/strtod.c
|
|
||||||
@@ -44,7 +44,7 @@ double
|
|
||||||
double
|
|
||||||
glsl_strtod(const char *s, char **end)
|
|
||||||
{
|
|
||||||
-#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__)
|
|
||||||
+#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && defined(HAVE_NEWLOCALE)
|
|
||||||
static locale_t loc = NULL;
|
|
||||||
if (!loc) {
|
|
||||||
loc = newlocale(LC_CTYPE_MASK, "C", NULL);
|
|
||||||
diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c
|
|
||||||
index d3727ef..363bf32 100644
|
|
||||||
--- a/src/mesa/main/imports.c
|
|
||||||
+++ b/src/mesa/main/imports.c
|
|
||||||
@@ -757,7 +757,7 @@ float
|
|
||||||
float
|
|
||||||
_mesa_strtof( const char *s, char **end )
|
|
||||||
{
|
|
||||||
-#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__)
|
|
||||||
+#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && defined(HAVE_NEWLOCALE)
|
|
||||||
static locale_t loc = NULL;
|
|
||||||
if (!loc) {
|
|
||||||
loc = newlocale(LC_CTYPE_MASK, "C", NULL);
|
|
||||||
--
|
|
||||||
1.7.10.4
|
|
||||||
|
|
@ -4,37 +4,116 @@
|
|||||||
#
|
#
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
MESA3D_VERSION = 7.10.3
|
MESA3D_VERSION = 10.0.4
|
||||||
MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.gz
|
MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.bz2
|
||||||
MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/older-versions/7.x/$(MESA3D_VERSION)
|
MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION)
|
||||||
MESA3D_LICENSE = MIT, SGI, Khronos
|
MESA3D_LICENSE = MIT, SGI, Khronos
|
||||||
MESA3D_LICENSE_FILES = docs/license.html
|
MESA3D_LICENSE_FILES = docs/license.html
|
||||||
|
|
||||||
MESA3D_AUTORECONF = YES
|
|
||||||
MESA3D_INSTALL_STAGING = YES
|
MESA3D_INSTALL_STAGING = YES
|
||||||
|
|
||||||
MESA3D_CONF_OPT = \
|
|
||||||
--disable-egl \
|
|
||||||
--disable-glu \
|
|
||||||
--disable-glw \
|
|
||||||
--disable-glut \
|
|
||||||
--disable-gallium \
|
|
||||||
--with-driver=dri \
|
|
||||||
--with-dri-drivers=swrast \
|
|
||||||
--disable-static
|
|
||||||
|
|
||||||
MESA3D_DEPENDENCIES = \
|
MESA3D_DEPENDENCIES = \
|
||||||
xproto_glproto \
|
|
||||||
xlib_libXxf86vm \
|
|
||||||
xlib_libXdamage \
|
|
||||||
xlib_libXfixes \
|
|
||||||
xproto_dri2proto \
|
|
||||||
libdrm \
|
|
||||||
expat \
|
expat \
|
||||||
host-xutil_makedepend \
|
host-bison \
|
||||||
|
host-flex \
|
||||||
|
host-gettext \
|
||||||
host-libxml2 \
|
host-libxml2 \
|
||||||
host-python \
|
host-python \
|
||||||
host-bison \
|
host-xutil_makedepend \
|
||||||
host-flex
|
libdrm
|
||||||
|
|
||||||
|
ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER),y)
|
||||||
|
MESA3D_DEPENDENCIES += \
|
||||||
|
xproto_xf86driproto \
|
||||||
|
xproto_dri2proto \
|
||||||
|
xproto_glproto \
|
||||||
|
xlib_libX11 \
|
||||||
|
xlib_libXext \
|
||||||
|
xlib_libXdamage \
|
||||||
|
xlib_libXfixes \
|
||||||
|
libxcb
|
||||||
|
MESA3D_CONF_OPT += \
|
||||||
|
--enable-glx \
|
||||||
|
--enable-xa
|
||||||
|
else
|
||||||
|
MESA3D_CONF_OPT += \
|
||||||
|
--disable-glx \
|
||||||
|
--disable-xa
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BR2_PREFER_STATIC_LIB),)
|
||||||
|
# fix for "configure: error: Cannot use static libraries for DRI drivers"
|
||||||
|
MESA3D_CONF_OPT += --disable-static
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Drivers
|
||||||
|
|
||||||
|
#Gallium Drivers
|
||||||
|
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU) += nouveau
|
||||||
|
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA) += svga
|
||||||
|
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST) += swrast
|
||||||
|
# DRI Drivers
|
||||||
|
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST) += swrast
|
||||||
|
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965) += i965
|
||||||
|
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON) += radeon
|
||||||
|
|
||||||
|
# at least one API is required, for buildroot enable OpenGL API by default
|
||||||
|
# other APIs (EGL, EGL_ES) are optional
|
||||||
|
ifeq ($(MESA3D_GALLIUM_DRIVERS-y)$(MESA3D_DRI_DRIVERS-y),)
|
||||||
|
MESA3D_CONF_OPT += \
|
||||||
|
--disable-opengl
|
||||||
|
else
|
||||||
|
MESA3D_CONF_OPT += \
|
||||||
|
--enable-opengl
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(MESA3D_GALLIUM_DRIVERS-y),)
|
||||||
|
MESA3D_CONF_OPT += \
|
||||||
|
--without-gallium-drivers
|
||||||
|
else
|
||||||
|
MESA3D_CONF_OPT += \
|
||||||
|
--with-gallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y))
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(MESA3D_DRI_DRIVERS-y),)
|
||||||
|
MESA3D_CONF_OPT += \
|
||||||
|
--disable-dri \
|
||||||
|
--disable-shared-glapi \
|
||||||
|
--without-dri-drivers
|
||||||
|
else
|
||||||
|
MESA3D_CONF_OPT += \
|
||||||
|
--enable-dri \
|
||||||
|
--enable-shared-glapi \
|
||||||
|
--with-dri-drivers=$(subst $(space),$(comma),$(MESA3D_DRI_DRIVERS-y))
|
||||||
|
endif
|
||||||
|
|
||||||
|
# APIs
|
||||||
|
|
||||||
|
ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
|
||||||
|
# egl depends on gbm, gbm depends on udev
|
||||||
|
MESA3D_DEPENDENCIES += udev
|
||||||
|
MESA3D_EGL_PLATFORMS = drm
|
||||||
|
ifeq ($(BR2_PACKAGE_WAYLAND),y)
|
||||||
|
MESA3D_DEPENDENCIES += wayland
|
||||||
|
MESA3D_EGL_PLATFORMS += wayland
|
||||||
|
endif
|
||||||
|
ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER),y)
|
||||||
|
MESA3D_EGL_PLATFORMS += x11
|
||||||
|
endif
|
||||||
|
MESA3D_CONF_OPT += \
|
||||||
|
--enable-gbm \
|
||||||
|
--enable-egl \
|
||||||
|
--with-egl-platforms=$(subst $(space),$(comma),$(MESA3D_EGL_PLATFORMS))
|
||||||
|
else
|
||||||
|
MESA3D_CONF_OPT += \
|
||||||
|
--disable-gbm \
|
||||||
|
--disable-egl
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_ES),y)
|
||||||
|
MESA3D_CONF_OPT += --enable-gles1 --enable-gles2
|
||||||
|
else
|
||||||
|
MESA3D_CONF_OPT += --disable-gles1 --disable-gles2
|
||||||
|
endif
|
||||||
|
|
||||||
$(eval $(autotools-package))
|
$(eval $(autotools-package))
|
||||||
|
@ -99,7 +99,7 @@ else # modular
|
|||||||
XSERVER_XORG_SERVER_CONF_OPT += --disable-kdrive --disable-xfbdev
|
XSERVER_XORG_SERVER_CONF_OPT += --disable-kdrive --disable-xfbdev
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_MESA3D),y)
|
ifeq ($(BR2_PACKAGE_MESA3D_DRIVER),y)
|
||||||
XSERVER_XORG_SERVER_DEPENDENCIES += mesa3d xproto_xf86driproto
|
XSERVER_XORG_SERVER_DEPENDENCIES += mesa3d xproto_xf86driproto
|
||||||
else
|
else
|
||||||
XSERVER_XORG_SERVER_CONF_OPT += --disable-dri
|
XSERVER_XORG_SERVER_CONF_OPT += --disable-dri
|
||||||
@ -172,7 +172,7 @@ ifneq ($(BR2_PACKAGE_XLIB_LIBDMX),y)
|
|||||||
XSERVER_XORG_SERVER_CONF_OPT += --disable-dmx
|
XSERVER_XORG_SERVER_CONF_OPT += --disable-dmx
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_MESA3D),y)
|
ifeq ($(BR2_PACKAGE_MESA3D_DRIVER),y)
|
||||||
XSERVER_XORG_SERVER_CONF_OPT += --enable-glx
|
XSERVER_XORG_SERVER_CONF_OPT += --enable-glx
|
||||||
else
|
else
|
||||||
XSERVER_XORG_SERVER_CONF_OPT += --disable-glx
|
XSERVER_XORG_SERVER_CONF_OPT += --disable-glx
|
||||||
|
Loading…
Reference in New Issue
Block a user