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
|
||||
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_EXPAT
|
||||
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_LARGEFILE
|
||||
help
|
||||
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_SOURCE = MesaLib-$(MESA3D_VERSION).tar.gz
|
||||
MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/older-versions/7.x/$(MESA3D_VERSION)
|
||||
MESA3D_VERSION = 10.0.4
|
||||
MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.bz2
|
||||
MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION)
|
||||
MESA3D_LICENSE = MIT, SGI, Khronos
|
||||
MESA3D_LICENSE_FILES = docs/license.html
|
||||
|
||||
MESA3D_AUTORECONF = 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 = \
|
||||
xproto_glproto \
|
||||
xlib_libXxf86vm \
|
||||
xlib_libXdamage \
|
||||
xlib_libXfixes \
|
||||
xproto_dri2proto \
|
||||
libdrm \
|
||||
expat \
|
||||
host-xutil_makedepend \
|
||||
host-bison \
|
||||
host-flex \
|
||||
host-gettext \
|
||||
host-libxml2 \
|
||||
host-python \
|
||||
host-bison \
|
||||
host-flex
|
||||
host-xutil_makedepend \
|
||||
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))
|
||||
|
@ -99,7 +99,7 @@ else # modular
|
||||
XSERVER_XORG_SERVER_CONF_OPT += --disable-kdrive --disable-xfbdev
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_MESA3D),y)
|
||||
ifeq ($(BR2_PACKAGE_MESA3D_DRIVER),y)
|
||||
XSERVER_XORG_SERVER_DEPENDENCIES += mesa3d xproto_xf86driproto
|
||||
else
|
||||
XSERVER_XORG_SERVER_CONF_OPT += --disable-dri
|
||||
@ -172,7 +172,7 @@ ifneq ($(BR2_PACKAGE_XLIB_LIBDMX),y)
|
||||
XSERVER_XORG_SERVER_CONF_OPT += --disable-dmx
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_MESA3D),y)
|
||||
ifeq ($(BR2_PACKAGE_MESA3D_DRIVER),y)
|
||||
XSERVER_XORG_SERVER_CONF_OPT += --enable-glx
|
||||
else
|
||||
XSERVER_XORG_SERVER_CONF_OPT += --disable-glx
|
||||
|
Loading…
Reference in New Issue
Block a user