[OE-core] [PATCH 1/4] mesa: upgrade to 9.1.2

Jonathan Liu net147 at gmail.com
Thu May 30 14:03:40 UTC 2013


On 31/05/2013 12:00 AM, Ross Burton wrote:
> Merge mesa-PV.bb and mesa-PV.inc as the is no point to the split now we're only
> building one variant of Mesa.
>
> Drop 0002-cross-compile.patch isn't needed as libtool is used instead of mklib.
> However, as libtool is used instead of mklib add fix-glsl-cross.patch to work
> around build failures caused by the cross libtool being used to build host
> binaries.
>
> Add EGL-Mutate-NativeDisplayType-depending-on-config.patch to build correctly in
> a non-X11 environment.
>
> Drop dont-fail-if-libX11-isnt-installed.patch and
> fix-egl-compilation-without-x11-headers.patch as they were backports.
>
> license.html had some formatting and typo fixes, update the checksum.
>
> Signed-off-by: Ross Burton <ross.burton at intel.com>
> ---
>   meta/recipes-graphics/mesa/mesa-9.0.2.inc          |   13 -
>   .../mesa/mesa/0002-cross-compile.patch             |   94 ---
>   ...ate-NativeDisplayType-depending-on-config.patch |  358 +++++++++++
>   meta/recipes-graphics/mesa/mesa/cross-glsl.patch   |  632 --------------------
>   .../mesa/dont-fail-if-libX11-isnt-installed.patch  |   36 --
>   .../fix-egl-compilation-without-x11-headers.patch  |   32 -
>   .../mesa/mesa/fix-glsl-cross.patch                 |   43 ++
>   meta/recipes-graphics/mesa/mesa_9.0.2.bb           |    4 -
>   meta/recipes-graphics/mesa/mesa_9.1.2.bb           |   14 +
>   9 files changed, 415 insertions(+), 811 deletions(-)
>   delete mode 100644 meta/recipes-graphics/mesa/mesa-9.0.2.inc
>   delete mode 100644 meta/recipes-graphics/mesa/mesa/0002-cross-compile.patch
>   create mode 100644 meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
>   delete mode 100644 meta/recipes-graphics/mesa/mesa/cross-glsl.patch
>   delete mode 100644 meta/recipes-graphics/mesa/mesa/dont-fail-if-libX11-isnt-installed.patch
>   delete mode 100644 meta/recipes-graphics/mesa/mesa/fix-egl-compilation-without-x11-headers.patch
>   create mode 100644 meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
>   delete mode 100644 meta/recipes-graphics/mesa/mesa_9.0.2.bb
>   create mode 100644 meta/recipes-graphics/mesa/mesa_9.1.2.bb
>
> diff --git a/meta/recipes-graphics/mesa/mesa-9.0.2.inc b/meta/recipes-graphics/mesa/mesa-9.0.2.inc
> deleted file mode 100644
> index b88bc42..0000000
> --- a/meta/recipes-graphics/mesa/mesa-9.0.2.inc
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
> -           file://0002-cross-compile.patch \
> -           file://cross-glsl.patch \
> -           file://dont-fail-if-libX11-isnt-installed.patch \
> -           file://fix-egl-compilation-without-x11-headers.patch \
> -           "
> -
> -SRC_URI[md5sum] = "dc45d1192203e418163e0017640e1cfc"
> -SRC_URI[sha256sum] = "75bf31f26c6e7b5515e610c1005fd1be1f7eeb2c9e6859848dab879c355ad64e"
> -
> -LIC_FILES_CHKSUM = "file://docs/license.html;md5=012f69938d81b766472fd0d240df38a4"
> -
> -S = "${WORKDIR}/Mesa-${PV}"
> diff --git a/meta/recipes-graphics/mesa/mesa/0002-cross-compile.patch b/meta/recipes-graphics/mesa/mesa/0002-cross-compile.patch
> deleted file mode 100644
> index dc8e994..0000000
> --- a/meta/recipes-graphics/mesa/mesa/0002-cross-compile.patch
> +++ /dev/null
> @@ -1,94 +0,0 @@
> -cross compile
> -
> -This patch is ported from WindRiver linux and to fix cross compile
> -failure.
> -
> -And original commits are:
> -commit 8d5ccc8113e1b51b0529a00c18a4aba956247e1b
> -commit 5c4212084b871a0c0fb7d174280ec9a634637deb
> -
> -Upstream-Status: Pending
> -
> -Signed-off-by: Kang Kai <kai.kang at windriver.com>
> ----
> - bin/mklib |   24 ++++++++++++------------
> - 1 file changed, 12 insertions(+), 12 deletions(-)
> -
> -diff --git a/bin/mklib b/bin/mklib
> -index 9bac29e..b33aa90 100755
> ---- a/bin/mklib
> -+++ b/bin/mklib
> -@@ -49,8 +49,8 @@ expand_archives() {
> -                     /*) ;;
> -                     *)  FILE="$ORIG_DIR/$FILE" ;;
> -                 esac
> --                MEMBERS=`ar t $FILE`
> --                ar x $FILE
> -+                MEMBERS=`${AR} t $FILE`
> -+                ${AR} x $FILE
> -                 for MEMBER in $MEMBERS ; do
> -                     NEWFILES="$NEWFILES $DIR/$MEMBER"
> -                 done
> -@@ -77,7 +77,7 @@ expand_archives() {
> - make_ar_static_lib() {
> -     OPTS=$1
> -     shift;
> --    RANLIB=$1
> -+    USE_RANLIB=$1
> -     shift;
> -     LIBNAME=$1
> -     shift;
> -@@ -87,11 +87,11 @@ make_ar_static_lib() {
> -     rm -f ${LIBNAME}
> -
> -     # make static lib
> --    ar ${OPTS} ${LIBNAME} ${OBJECTS}
> -+    ${AR} ${OPTS} ${LIBNAME} ${OBJECTS}
> -
> -     # run ranlib
> --    if [ ${RANLIB} = 1 ] ; then
> --        ranlib ${LIBNAME}
> -+    if [ ${USE_RANLIB} = 1 ] ; then
> -+        ${RANLIB} ${LIBNAME}
> -     fi
> -
> -     echo ${LIBNAME}
> -@@ -313,9 +313,9 @@ case $ARCH in
> - 	if [ "x$LINK" = "x" ] ; then
> - 	    # -linker was not specified so set default link command now
> -             if [ $CPLUSPLUS = 1 ] ; then
> --                LINK=g++
> -+                LINK=$CXX
> -             else
> --                LINK=gcc
> -+                LINK=$CC
> -             fi
> - 	fi
> -
> -@@ -535,9 +535,9 @@ case $ARCH in
> - 	if [ "x$LINK" = "x" ] ; then
> - 	    # -linker was not specified so set default link command now
> -             if [ $CPLUSPLUS = 1 ] ; then
> --                LINK=g++
> -+                LINK=$CXX
> -             else
> --                LINK=gcc
> -+                LINK=$CC
> -             fi
> - 	fi
> -
> -@@ -903,9 +903,9 @@ case $ARCH in
> - 	if [ "x$LINK" = "x" ] ; then
> - 	    # -linker was not specified so set default link command now
> -             if [ $CPLUSPLUS = 1 ] ; then
> --                LINK=g++
> -+                LINK=${CXX}
> -             else
> --                LINK=gcc
> -+                LINK=${CC}
> -             fi
> - 	fi
> -
> ---
> -1.7.10.4
> -
> diff --git a/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
> new file mode 100644
> index 0000000..47ba167
> --- /dev/null
> +++ b/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
> @@ -0,0 +1,358 @@
> +From d52a7ec5dcdf3936bd727b854831efb90acfd2ba Mon Sep 17 00:00:00 2001
> +From: Daniel Stone <daniel at fooishbar.org>
> +Date: Fri, 24 May 2013 17:20:27 +0100
> +Subject: [PATCH] EGL: Mutate NativeDisplayType depending on config
> +
> +If we go through ./configure without enabling X11 anywhere, then set the
> +fallback types for EGL NativeDisplay and friends, rather than assuming
> +X11/Xlib.
> +
> +Signed-off-by: Daniel Stone <daniel at fooishbar.org>
> +---
> + configure.ac                 |    9 +++
> + include/EGL/eglplatform.h    |  146 ------------------------------------------
> + include/EGL/eglplatform.h.in |  146 ++++++++++++++++++++++++++++++++++++++++++
> + 3 files changed, 155 insertions(+), 146 deletions(-)
> + delete mode 100644 include/EGL/eglplatform.h
> + create mode 100644 include/EGL/eglplatform.h.in
> +
> +diff --git a/configure.ac b/configure.ac
> +index 4a98996..6fa77da 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -1576,12 +1576,20 @@ fi
> +
> + EGL_PLATFORMS="$egl_platforms"
> +
> ++if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
> ++    MESA_EGL_NO_X11_HEADERS=0
> ++else
> ++    MESA_EGL_NO_X11_HEADERS=1
> ++fi
> ++
> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
> +
> ++AC_SUBST([MESA_EGL_NO_X11_HEADERS])
> ++
> + AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
> + AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
> +
> +@@ -2053,6 +2061,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
> +
> + dnl Substitute the config
> + AC_CONFIG_FILES([Makefile
> ++                include/EGL/eglplatform.h
> + 		src/Makefile
> + 		src/egl/Makefile
> + 		src/egl/drivers/Makefile
> +diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
> +deleted file mode 100644
> +index 17fdc61..0000000
> +--- a/include/EGL/eglplatform.h
> ++++ /dev/null
> +@@ -1,146 +0,0 @@
> +-#ifndef __eglplatform_h_
> +-#define __eglplatform_h_
> +-
> +-/*
> +-** Copyright (c) 2007-2009 The Khronos Group Inc.
> +-**
> +-** Permission is hereby granted, free of charge, to any person obtaining a
> +-** copy of this software and/or associated documentation files (the
> +-** "Materials"), to deal in the Materials without restriction, including
> +-** without limitation the rights to use, copy, modify, merge, publish,
> +-** distribute, sublicense, and/or sell copies of the Materials, and to
> +-** permit persons to whom the Materials are furnished to do so, subject to
> +-** the following conditions:
> +-**
> +-** The above copyright notice and this permission notice shall be included
> +-** in all copies or substantial portions of the Materials.
> +-**
> +-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> +-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> +-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> +-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> +-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> +-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> +-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> +-*/
> +-
> +-/* Platform-specific types and definitions for egl.h
> +- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> +- *
> +- * Adopters may modify khrplatform.h and this file to suit their platform.
> +- * You are encouraged to submit all modifications to the Khronos group so that
> +- * they can be included in future versions of this file.  Please submit changes
> +- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> +- * by filing a bug against product "EGL" component "Registry".
> +- */
> +-
> +-#include <KHR/khrplatform.h>
> +-
> +-/* Macros used in EGL function prototype declarations.
> +- *
> +- * EGL functions should be prototyped as:
> +- *
> +- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> +- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> +- *
> +- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> +- */
> +-
> +-#ifndef EGLAPI
> +-#define EGLAPI KHRONOS_APICALL
> +-#endif
> +-
> +-#ifndef EGLAPIENTRY
> +-#define EGLAPIENTRY  KHRONOS_APIENTRY
> +-#endif
> +-#define EGLAPIENTRYP EGLAPIENTRY*
> +-
> +-/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> +- * are aliases of window-system-dependent types, such as X Display * or
> +- * Windows Device Context. They must be defined in platform-specific
> +- * code below. The EGL-prefixed versions of Native*Type are the same
> +- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> +- *
> +- * Khronos STRONGLY RECOMMENDS that you use the default definitions
> +- * provided below, since these changes affect both binary and source
> +- * portability of applications using EGL running on different EGL
> +- * implementations.
> +- */
> +-
> +-#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> +-#ifndef WIN32_LEAN_AND_MEAN
> +-#define WIN32_LEAN_AND_MEAN 1
> +-#endif
> +-#include <windows.h>
> +-
> +-typedef HDC     EGLNativeDisplayType;
> +-typedef HBITMAP EGLNativePixmapType;
> +-typedef HWND    EGLNativeWindowType;
> +-
> +-#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> +-
> +-typedef int   EGLNativeDisplayType;
> +-typedef void *EGLNativeWindowType;
> +-typedef void *EGLNativePixmapType;
> +-
> +-#elif defined(WL_EGL_PLATFORM)
> +-
> +-typedef struct wl_display     *EGLNativeDisplayType;
> +-typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> +-typedef struct wl_egl_window  *EGLNativeWindowType;
> +-
> +-#elif defined(__GBM__)
> +-
> +-typedef struct gbm_device  *EGLNativeDisplayType;
> +-typedef struct gbm_bo      *EGLNativePixmapType;
> +-typedef void               *EGLNativeWindowType;
> +-
> +-#elif defined(ANDROID) /* Android */
> +-
> +-struct ANativeWindow;
> +-struct egl_native_pixmap_t;
> +-
> +-typedef struct ANativeWindow        *EGLNativeWindowType;
> +-typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> +-typedef void                        *EGLNativeDisplayType;
> +-
> +-#elif defined(__unix__)
> +-
> +-#ifdef MESA_EGL_NO_X11_HEADERS
> +-
> +-typedef void            *EGLNativeDisplayType;
> +-typedef khronos_uint32_t EGLNativePixmapType;
> +-typedef khronos_uint32_t EGLNativeWindowType;
> +-
> +-#else
> +-
> +-/* X11 (tentative)  */
> +-#include <X11/Xlib.h>
> +-#include <X11/Xutil.h>
> +-
> +-typedef Display *EGLNativeDisplayType;
> +-typedef Pixmap   EGLNativePixmapType;
> +-typedef Window   EGLNativeWindowType;
> +-
> +-#endif /* MESA_EGL_NO_X11_HEADERS */
> +-
> +-#else
> +-#error "Platform not recognized"
> +-#endif
> +-
> +-/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> +-typedef EGLNativeDisplayType NativeDisplayType;
> +-typedef EGLNativePixmapType  NativePixmapType;
> +-typedef EGLNativeWindowType  NativeWindowType;
> +-
> +-
> +-/* Define EGLint. This must be a signed integral type large enough to contain
> +- * all legal attribute names and values passed into and out of EGL, whether
> +- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> +- * handle, or other.  While in general a 32-bit integer will suffice, if
> +- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> +- * integer type.
> +- */
> +-typedef khronos_int32_t EGLint;
> +-
> +-#endif /* __eglplatform_h */
> +diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
> +new file mode 100644
> +index 0000000..5126c92
> +--- /dev/null
> ++++ b/include/EGL/eglplatform.h.in
> +@@ -0,0 +1,146 @@
> ++#ifndef __eglplatform_h_
> ++#define __eglplatform_h_
> ++
> ++/*
> ++** Copyright (c) 2007-2009 The Khronos Group Inc.
> ++**
> ++** Permission is hereby granted, free of charge, to any person obtaining a
> ++** copy of this software and/or associated documentation files (the
> ++** "Materials"), to deal in the Materials without restriction, including
> ++** without limitation the rights to use, copy, modify, merge, publish,
> ++** distribute, sublicense, and/or sell copies of the Materials, and to
> ++** permit persons to whom the Materials are furnished to do so, subject to
> ++** the following conditions:
> ++**
> ++** The above copyright notice and this permission notice shall be included
> ++** in all copies or substantial portions of the Materials.
> ++**
> ++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> ++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> ++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> ++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> ++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> ++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> ++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> ++*/
> ++
> ++/* Platform-specific types and definitions for egl.h
> ++ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> ++ *
> ++ * Adopters may modify khrplatform.h and this file to suit their platform.
> ++ * You are encouraged to submit all modifications to the Khronos group so that
> ++ * they can be included in future versions of this file.  Please submit changes
> ++ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> ++ * by filing a bug against product "EGL" component "Registry".
> ++ */
> ++
> ++#include <KHR/khrplatform.h>
> ++
> ++/* Macros used in EGL function prototype declarations.
> ++ *
> ++ * EGL functions should be prototyped as:
> ++ *
> ++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> ++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> ++ *
> ++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> ++ */
> ++
> ++#ifndef EGLAPI
> ++#define EGLAPI KHRONOS_APICALL
> ++#endif
> ++
> ++#ifndef EGLAPIENTRY
> ++#define EGLAPIENTRY  KHRONOS_APIENTRY
> ++#endif
> ++#define EGLAPIENTRYP EGLAPIENTRY*
> ++
> ++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> ++ * are aliases of window-system-dependent types, such as X Display * or
> ++ * Windows Device Context. They must be defined in platform-specific
> ++ * code below. The EGL-prefixed versions of Native*Type are the same
> ++ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> ++ *
> ++ * Khronos STRONGLY RECOMMENDS that you use the default definitions
> ++ * provided below, since these changes affect both binary and source
> ++ * portability of applications using EGL running on different EGL
> ++ * implementations.
> ++ */
> ++
> ++#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> ++#ifndef WIN32_LEAN_AND_MEAN
> ++#define WIN32_LEAN_AND_MEAN 1
> ++#endif
> ++#include <windows.h>
> ++
> ++typedef HDC     EGLNativeDisplayType;
> ++typedef HBITMAP EGLNativePixmapType;
> ++typedef HWND    EGLNativeWindowType;
> ++
> ++#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> ++
> ++typedef int   EGLNativeDisplayType;
> ++typedef void *EGLNativeWindowType;
> ++typedef void *EGLNativePixmapType;
> ++
> ++#elif defined(WL_EGL_PLATFORM)
> ++
> ++typedef struct wl_display     *EGLNativeDisplayType;
> ++typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> ++typedef struct wl_egl_window  *EGLNativeWindowType;
> ++
> ++#elif defined(__GBM__)
> ++
> ++typedef struct gbm_device  *EGLNativeDisplayType;
> ++typedef struct gbm_bo      *EGLNativePixmapType;
> ++typedef void               *EGLNativeWindowType;
> ++
> ++#elif defined(ANDROID) /* Android */
> ++
> ++struct ANativeWindow;
> ++struct egl_native_pixmap_t;
> ++
> ++typedef struct ANativeWindow        *EGLNativeWindowType;
> ++typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> ++typedef void                        *EGLNativeDisplayType;
> ++
> ++#elif defined(__unix__)
> ++
> ++#if @MESA_EGL_NO_X11_HEADERS@
> ++
> ++typedef void            *EGLNativeDisplayType;
> ++typedef khronos_uint32_t EGLNativePixmapType;
> ++typedef khronos_uint32_t EGLNativeWindowType;
> ++
> ++#else
> ++
> ++/* X11 (tentative)  */
> ++#include <X11/Xlib.h>
> ++#include <X11/Xutil.h>
> ++
> ++typedef Display *EGLNativeDisplayType;
> ++typedef Pixmap   EGLNativePixmapType;
> ++typedef Window   EGLNativeWindowType;
> ++
> ++#endif /* MESA_EGL_NO_X11_HEADERS */
> ++
> ++#else
> ++#error "Platform not recognized"
> ++#endif
> ++
> ++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> ++typedef EGLNativeDisplayType NativeDisplayType;
> ++typedef EGLNativePixmapType  NativePixmapType;
> ++typedef EGLNativeWindowType  NativeWindowType;
> ++
> ++
> ++/* Define EGLint. This must be a signed integral type large enough to contain
> ++ * all legal attribute names and values passed into and out of EGL, whether
> ++ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> ++ * handle, or other.  While in general a 32-bit integer will suffice, if
> ++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> ++ * integer type.
> ++ */
> ++typedef khronos_int32_t EGLint;
> ++
> ++#endif /* __eglplatform_h */
> +--
> +1.7.10.4
> +
> diff --git a/meta/recipes-graphics/mesa/mesa/cross-glsl.patch b/meta/recipes-graphics/mesa/mesa/cross-glsl.patch
> deleted file mode 100644
> index 2e79297..0000000
> --- a/meta/recipes-graphics/mesa/mesa/cross-glsl.patch
> +++ /dev/null
> @@ -1,632 +0,0 @@
> -Respect CC_FOR_BUILD when building glsl_compiler, so we don't need a
> -mesa-dri-glsl-native anymore.
> -
> -Upstream-Status: Backport (from master)
> -Signed-off-by: Ross Burton <ross.burton at intel.com>
> -
> -diff --git a/configure.ac b/configure.ac
> -index b46f897..3765cd3 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -10,7 +10,7 @@ AC_INIT([Mesa], [9.0.1],
> -     [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
> - AC_CONFIG_AUX_DIR([bin])
> - AC_CONFIG_MACRO_DIR([m4])
> --AC_CANONICAL_HOST
> -+AC_CANONICAL_SYSTEM
> - AM_INIT_AUTOMAKE([foreign])
> -
> - dnl http://people.gnome.org/~walters/docs/build-api.txt
> -@@ -24,9 +24,6 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
> -
> - m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
> -
> --LT_PREREQ([2.2])
> --LT_INIT([disable-static])
> --
> - dnl Set internal versions
> - OSMESA_VERSION=8
> - AC_SUBST([OSMESA_VERSION])
> -@@ -45,7 +42,9 @@ LIBKMS_XORG_REQUIRED=1.0.0
> - dnl Check for progs
> - AC_PROG_CPP
> - AC_PROG_CC
> -+AX_PROG_CC_FOR_BUILD
> - AC_PROG_CXX
> -+AX_PROG_CXX_FOR_BUILD
> - AM_PROG_CC_C_O
> - AM_PROG_AS
> - AC_CHECK_PROGS([MAKE], [gmake make])
> -@@ -54,6 +53,9 @@ AC_PROG_SED
> - AC_PROG_MKDIR_P
> - AC_PATH_PROG([MKDEP], [makedepend])
> -
> -+LT_PREREQ([2.2])
> -+LT_INIT([disable-static])
> -+
> - if test "x$MKDEP" = "x"; then
> -     AC_MSG_ERROR([makedepend is required to build Mesa])
> - fi
> -@@ -155,6 +157,21 @@ dnl Cache LDFLAGS and CPPFLAGS so we can add to them and restore later
> - _SAVE_LDFLAGS="$LDFLAGS"
> - _SAVE_CPPFLAGS="$CPPFLAGS"
> -
> -+dnl build host compiler macros
> -+DEFINES_FOR_BUILD=""
> -+AC_SUBST([DEFINES_FOR_BUILD])
> -+case "$build_os" in
> -+linux*|*-gnu*|gnu*)
> -+    DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD -D_GNU_SOURCE"
> -+    ;;
> -+solaris*)
> -+    DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD -DSVR4"
> -+    ;;
> -+cygwin*)
> -+    DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD"
> -+    ;;
> -+esac
> -+
> - dnl Compiler macros
> - DEFINES=""
> - AC_SUBST([DEFINES])
> -@@ -172,6 +189,7 @@ esac
> -
> - dnl Add flags for gcc and g++
> - if test "x$GCC" = xyes; then
> -+    CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -Wall -std=c99"
> -     CFLAGS="$CFLAGS -Wall -std=c99"
> -
> -     # Enable -Werror=implicit-function-declaration and
> -@@ -199,13 +217,16 @@ if test "x$GCC" = xyes; then
> -     CFLAGS=$save_CFLAGS
> -
> -     # Work around aliasing bugs - developers should comment this out
> -+    CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -fno-strict-aliasing"
> -     CFLAGS="$CFLAGS -fno-strict-aliasing"
> -
> -     # gcc's builtin memcmp is slower than glibc's
> -     # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
> -+    CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -fno-builtin-memcmp"
> -     CFLAGS="$CFLAGS -fno-builtin-memcmp"
> - fi
> - if test "x$GXX" = xyes; then
> -+    CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -Wall"
> -     CXXFLAGS="$CXXFLAGS -Wall"
> -
> -     # Enable -fvisibility=hidden if using a gcc that supports it
> -@@ -222,10 +243,12 @@ if test "x$GXX" = xyes; then
> -     CXXFLAGS=$save_CXXFLAGS
> -
> -     # Work around aliasing bugs - developers should comment this out
> -+    CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -fno-strict-aliasing"
> -     CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
> -
> -     # gcc's builtin memcmp is slower than glibc's
> -     # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
> -+    CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -fno-builtin-memcmp"
> -     CXXFLAGS="$CXXFLAGS -fno-builtin-memcmp"
> - fi
> -
> -@@ -309,6 +332,14 @@ AC_ARG_ENABLE([debug],
> -     [enable_debug=no]
> - )
> - if test "x$enable_debug" = xyes; then
> -+    DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD -DDEBUG"
> -+    if test "x$GCC_FOR_BUILD" = xyes; then
> -+        CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -g"
> -+    fi
> -+    if test "x$GXX_FOR_BUILD" = xyes; then
> -+        CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -g"
> -+    fi
> -+
> -     DEFINES="$DEFINES -DDEBUG"
> -     if test "x$GCC" = xyes; then
> -         CFLAGS="$CFLAGS -g"
> -@@ -1960,6 +1991,7 @@ AC_CONFIG_FILES([configs/current
> - 		src/gbm/Makefile
> - 		src/gbm/main/gbm.pc
> - 		src/glsl/Makefile
> -+		src/glsl/builtin_compiler/Makefile
> - 		src/glsl/glcpp/Makefile
> - 		src/glsl/tests/Makefile
> - 		src/glx/Makefile
> -diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
> -new file mode 100644
> -index 0000000..6369809
> ---- /dev/null
> -+++ b/m4/ax_prog_cc_for_build.m4
> -@@ -0,0 +1,125 @@
> -+# ===========================================================================
> -+#   http://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
> -+# ===========================================================================
> -+#
> -+# SYNOPSIS
> -+#
> -+#   AX_PROG_CC_FOR_BUILD
> -+#
> -+# DESCRIPTION
> -+#
> -+#   This macro searches for a C compiler that generates native executables,
> -+#   that is a C compiler that surely is not a cross-compiler. This can be
> -+#   useful if you have to generate source code at compile-time like for
> -+#   example GCC does.
> -+#
> -+#   The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
> -+#   needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
> -+#   The value of these variables can be overridden by the user by specifying
> -+#   a compiler with an environment variable (like you do for standard CC).
> -+#
> -+#   It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
> -+#   file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
> -+#   the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
> -+#   substituted in the Makefile.
> -+#
> -+# LICENSE
> -+#
> -+#   Copyright (c) 2008 Paolo Bonzini <bonzini at gnu.org>
> -+#
> -+#   Copying and distribution of this file, with or without modification, are
> -+#   permitted in any medium without royalty provided the copyright notice
> -+#   and this notice are preserved. This file is offered as-is, without any
> -+#   warranty.
> -+
> -+#serial 5
> -+
> -+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
> -+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
> -+AC_REQUIRE([AC_PROG_CC])dnl
> -+AC_REQUIRE([AC_PROG_CPP])dnl
> -+AC_REQUIRE([AC_EXEEXT])dnl
> -+AC_REQUIRE([AC_CANONICAL_SYSTEM])dnl
> -+
> -+dnl Use the standard macros, but make them use other variable names
> -+dnl
> -+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
> -+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
> -+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
> -+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
> -+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
> -+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
> -+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
> -+pushdef([ac_exeext], ac_build_exeext)dnl
> -+pushdef([ac_objext], ac_build_objext)dnl
> -+pushdef([CC], CC_FOR_BUILD)dnl
> -+pushdef([CPP], CPP_FOR_BUILD)dnl
> -+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
> -+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
> -+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
> -+pushdef([host], build)dnl
> -+pushdef([host_alias], build_alias)dnl
> -+pushdef([host_cpu], build_cpu)dnl
> -+pushdef([host_vendor], build_vendor)dnl
> -+pushdef([host_os], build_os)dnl
> -+pushdef([ac_cv_host], ac_cv_build)dnl
> -+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
> -+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
> -+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
> -+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
> -+pushdef([ac_cpp], ac_build_cpp)dnl
> -+pushdef([ac_compile], ac_build_compile)dnl
> -+pushdef([ac_link], ac_build_link)dnl
> -+
> -+save_cross_compiling=$cross_compiling
> -+save_ac_tool_prefix=$ac_tool_prefix
> -+cross_compiling=no
> -+ac_tool_prefix=
> -+
> -+AC_PROG_CC
> -+AC_PROG_CPP
> -+AC_EXEEXT
> -+
> -+ac_tool_prefix=$save_ac_tool_prefix
> -+cross_compiling=$save_cross_compiling
> -+
> -+dnl Restore the old definitions
> -+dnl
> -+popdef([ac_link])dnl
> -+popdef([ac_compile])dnl
> -+popdef([ac_cpp])dnl
> -+popdef([ac_cv_host_os])dnl
> -+popdef([ac_cv_host_vendor])dnl
> -+popdef([ac_cv_host_cpu])dnl
> -+popdef([ac_cv_host_alias])dnl
> -+popdef([ac_cv_host])dnl
> -+popdef([host_os])dnl
> -+popdef([host_vendor])dnl
> -+popdef([host_cpu])dnl
> -+popdef([host_alias])dnl
> -+popdef([host])dnl
> -+popdef([LDFLAGS])dnl
> -+popdef([CPPFLAGS])dnl
> -+popdef([CFLAGS])dnl
> -+popdef([CPP])dnl
> -+popdef([CC])dnl
> -+popdef([ac_objext])dnl
> -+popdef([ac_exeext])dnl
> -+popdef([ac_cv_objext])dnl
> -+popdef([ac_cv_exeext])dnl
> -+popdef([ac_cv_prog_cc_g])dnl
> -+popdef([ac_cv_prog_cc_cross])dnl
> -+popdef([ac_cv_prog_cc_works])dnl
> -+popdef([ac_cv_prog_gcc])dnl
> -+popdef([ac_cv_prog_CPP])dnl
> -+
> -+dnl Finally, set Makefile variables
> -+dnl
> -+BUILD_EXEEXT=$ac_build_exeext
> -+BUILD_OBJEXT=$ac_build_objext
> -+AC_SUBST(BUILD_EXEEXT)dnl
> -+AC_SUBST(BUILD_OBJEXT)dnl
> -+AC_SUBST([CFLAGS_FOR_BUILD])dnl
> -+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
> -+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
> -+])
> -diff --git a/m4/ax_prog_cxx_for_build.m4 b/m4/ax_prog_cxx_for_build.m4
> -new file mode 100644
> -index 0000000..ecf8db9
> ---- /dev/null
> -+++ b/m4/ax_prog_cxx_for_build.m4
> -@@ -0,0 +1,109 @@
> -+# ===========================================================================
> -+#   http://www.gnu.org/software/autoconf-archive/ax_prog_cxx_for_build.html
> -+# ===========================================================================
> -+#
> -+# SYNOPSIS
> -+#
> -+#   AX_PROG_CXX_FOR_BUILD
> -+#
> -+# DESCRIPTION
> -+#
> -+#   This macro searches for a C++ compiler that generates native executables,
> -+#   that is a C++ compiler that surely is not a cross-compiler. This can be
> -+#   useful if you have to generate source code at compile-time like for
> -+#   example GCC does.
> -+#
> -+#   The macro sets the CXX_FOR_BUILD and CXXCPP_FOR_BUILD macros to anything
> -+#   needed to compile or link (CXX_FOR_BUILD) and preprocess (CXXCPP_FOR_BUILD).
> -+#   The value of these variables can be overridden by the user by specifying
> -+#   a compiler with an environment variable (like you do for standard CXX).
> -+#
> -+# LICENSE
> -+#
> -+#   Copyright (c) 2008 Paolo Bonzini <bonzini at gnu.org>
> -+#   Copyright (c) 2012 Avionic Design GmbH
> -+#
> -+#   Based on the AX_PROG_CC_FOR_BUILD macro by Paolo Bonzini.
> -+#
> -+#   Copying and distribution of this file, with or without modification, are
> -+#   permitted in any medium without royalty provided the copyright notice
> -+#   and this notice are preserved. This file is offered as-is, without any
> -+#   warranty.
> -+
> -+#serial 5
> -+
> -+AU_ALIAS([AC_PROG_CXX_FOR_BUILD], [AX_PROG_CXX_FOR_BUILD])
> -+AC_DEFUN([AX_PROG_CXX_FOR_BUILD], [dnl
> -+AC_REQUIRE([AX_PROG_CC_FOR_BUILD])dnl
> -+AC_REQUIRE([AC_PROG_CXX])dnl
> -+AC_REQUIRE([AC_PROG_CXXCPP])dnl
> -+AC_REQUIRE([AC_CANONICAL_SYSTEM])dnl
> -+
> -+dnl Use the standard macros, but make them use other variable names
> -+dnl
> -+pushdef([ac_cv_prog_CXXCPP], ac_cv_build_prog_CXXCPP)dnl
> -+pushdef([ac_cv_prog_gxx], ac_cv_build_prog_gxx)dnl
> -+pushdef([ac_cv_prog_cxx_works], ac_cv_build_prog_cxx_works)dnl
> -+pushdef([ac_cv_prog_cxx_cross], ac_cv_build_prog_cxx_cross)dnl
> -+pushdef([ac_cv_prog_cxx_g], ac_cv_build_prog_cxx_g)dnl
> -+pushdef([CXX], CXX_FOR_BUILD)dnl
> -+pushdef([CXXCPP], CXXCPP_FOR_BUILD)dnl
> -+pushdef([CXXFLAGS], CXXFLAGS_FOR_BUILD)dnl
> -+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
> -+pushdef([CXXCPPFLAGS], CXXCPPFLAGS_FOR_BUILD)dnl
> -+pushdef([host], build)dnl
> -+pushdef([host_alias], build_alias)dnl
> -+pushdef([host_cpu], build_cpu)dnl
> -+pushdef([host_vendor], build_vendor)dnl
> -+pushdef([host_os], build_os)dnl
> -+pushdef([ac_cv_host], ac_cv_build)dnl
> -+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
> -+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
> -+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
> -+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
> -+pushdef([ac_cxxcpp], ac_build_cxxcpp)dnl
> -+pushdef([ac_compile], ac_build_compile)dnl
> -+pushdef([ac_link], ac_build_link)dnl
> -+
> -+save_cross_compiling=$cross_compiling
> -+save_ac_tool_prefix=$ac_tool_prefix
> -+cross_compiling=no
> -+ac_tool_prefix=
> -+
> -+AC_PROG_CXX
> -+AC_PROG_CXXCPP
> -+
> -+ac_tool_prefix=$save_ac_tool_prefix
> -+cross_compiling=$save_cross_compiling
> -+
> -+dnl Restore the old definitions
> -+dnl
> -+popdef([ac_link])dnl
> -+popdef([ac_compile])dnl
> -+popdef([ac_cxxcpp])dnl
> -+popdef([ac_cv_host_os])dnl
> -+popdef([ac_cv_host_vendor])dnl
> -+popdef([ac_cv_host_cpu])dnl
> -+popdef([ac_cv_host_alias])dnl
> -+popdef([ac_cv_host])dnl
> -+popdef([host_os])dnl
> -+popdef([host_vendor])dnl
> -+popdef([host_cpu])dnl
> -+popdef([host_alias])dnl
> -+popdef([host])dnl
> -+popdef([CXXCPPFLAGS])dnl
> -+popdef([CPPFLAGS])dnl
> -+popdef([CXXFLAGS])dnl
> -+popdef([CXXCPP])dnl
> -+popdef([CXX])dnl
> -+popdef([ac_cv_prog_cxx_g])dnl
> -+popdef([ac_cv_prog_cxx_cross])dnl
> -+popdef([ac_cv_prog_cxx_works])dnl
> -+popdef([ac_cv_prog_gxx])dnl
> -+popdef([ac_cv_prog_CXXCPP])dnl
> -+
> -+dnl Finally, set Makefile variables
> -+dnl
> -+AC_SUBST([CXXFLAGS_FOR_BUILD])dnl
> -+AC_SUBST([CXXCPPFLAGS_FOR_BUILD])dnl
> -+])
> -diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
> -index 1ecc003..6fb3d2d 100644
> ---- a/src/glsl/Makefile.am
> -+++ b/src/glsl/Makefile.am
> -@@ -19,9 +19,7 @@
> - # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> - # IN THE SOFTWARE.
> -
> --
> --# builtin_compiler is built before libglsl to generate builtin_function.cpp for libglsl.
> --# For this to work, a dummy version of builtin_function.cpp, builtin_stubs.cpp, is used.
> -+SUBDIRS = builtin_compiler glcpp
> -
> - AM_CPPFLAGS = \
> - 	-I$(top_srcdir)/include \
> -@@ -38,32 +36,23 @@ AM_LFLAGS = --nounistd -o$(LEX_OUTPUT_ROOT).c
> -
> - include Makefile.sources
> -
> --noinst_LTLIBRARIES = libglslcommon.la libglsl.la
> --noinst_PROGRAMS = glsl_compiler glsl_test builtin_compiler
> -+noinst_LTLIBRARIES = libglsl.la
> -+noinst_PROGRAMS = glsl_compiler glsl_test
> -
> --# common sources for builtin_compiler and libglsl
> --libglslcommon_la_SOURCES = \
> -+libglsl_la_SOURCES = \
> - 	glsl_lexer.ll \
> - 	glsl_parser.cc \
> - 	$(LIBGLSL_FILES) \
> --	$(LIBGLSL_CXX_FILES)
> --
> --libglslcommon_la_LIBADD = glcpp/libglcpp.la
> --
> --# common sources for builtin_compiler and glsl_compiler
> --GLSL2_SOURCES = \
> --	$(top_srcdir)/src/mesa/program/hash_table.c \
> --	$(top_srcdir)/src/mesa/program/symbol_table.c \
> --	$(GLSL_COMPILER_CXX_FILES)
> --
> --libglsl_la_SOURCES = \
> -+	$(LIBGLSL_CXX_FILES) \
> - 	builtin_function.cpp
> -
> --libglsl_la_LIBADD = libglslcommon.la
> -+libglsl_la_LIBADD = glcpp/libglcpp.la
> - libglsl_la_LDFLAGS =
> -
> - glsl_compiler_SOURCES = \
> --	$(GLSL2_SOURCES)
> -+	$(top_srcdir)/src/mesa/program/hash_table.c \
> -+	$(top_srcdir)/src/mesa/program/symbol_table.c \
> -+	$(GLSL_COMPILER_CXX_FILES)
> -
> - glsl_compiler_LDADD = libglsl.la
> -
> -@@ -76,12 +65,6 @@ glsl_test_SOURCES = \
> -
> - glsl_test_LDADD = libglsl.la
> -
> --builtin_compiler_SOURCES = \
> --	$(GLSL2_SOURCES) \
> --	builtin_stubs.cpp
> --
> --builtin_compiler_LDADD = libglslcommon.la
> --
> - # automake <=1.11 and automake >=1.12 have different conventions for naming C++ header files
> - # made by yacc.  To work with both, we write our own rule rather than using automake's.
> - # When (if) we require automake >=1.12 in configure.ac, this can be removed, and we can use
> -@@ -89,16 +72,11 @@ builtin_compiler_LDADD = libglslcommon.la
> - glsl_parser.cc glsl_parser.h: glsl_parser.yy
> - 	$(AM_V_GEN) $(YACC) -v -o glsl_parser.cc -p "_mesa_glsl_" --defines=glsl_parser.h $<
> -
> --BUILT_SOURCES = glsl_parser.h builtin_function.cpp
> --CLEANFILES = glsl_lexer.cc glsl_parser.cc $(BUILT_SOURCES)
> --
> --builtin_function.cpp: $(srcdir)/builtins/profiles/* $(srcdir)/builtins/ir/* $(srcdir)/builtins/glsl/* $(srcdir)/builtins/tools/generate_builtins.py $(srcdir)/builtins/tools/texture_builtins.py builtin_compiler$(EXEEXT)
> --	$(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/builtins/tools/generate_builtins.py ./builtin_compiler > builtin_function.cpp || rm -f builtin_function.cpp
> --
> --glcpp/libglcpp.la:
> --	cd glcpp ; $(MAKE) $(AM_MAKEFLAGS)
> -+BUILT_SOURCES = glsl_parser.h
> -+CLEANFILES = glsl_lexer.cc glsl_parser.cc $(BUILT_SOURCES) builtin_function.cpp
> -
> --SUBDIRS = glcpp
> -+builtin_function.cpp: $(srcdir)/builtins/profiles/* $(srcdir)/builtins/ir/* $(srcdir)/builtins/glsl/* $(srcdir)/builtins/tools/generate_builtins.py $(srcdir)/builtins/tools/texture_builtins.py builtin_compiler/builtin_compiler$(BUILD_EXEEXT)
> -+	$(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/builtins/tools/generate_builtins.py builtin_compiler/builtin_compiler$(BUILD_EXEEXT) > builtin_function.cpp || rm -f builtin_function.cpp
> -
> - # Provide compatibility with scripts for the old Mesa build system for
> - # a while by putting a link to the library in the current directory.
> -diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am
> -new file mode 100644
> -index 0000000..72032b5
> ---- /dev/null
> -+++ b/src/glsl/builtin_compiler/Makefile.am
> -@@ -0,0 +1,68 @@
> -+# Copyright © 2012 Jon TURNEY
> -+# Copyright © 2012 Thierry Reding
> -+#
> -+# Permission is hereby granted, free of charge, to any person obtaining a
> -+# copy of this software and associated documentation files (the "Software"),
> -+# to deal in the Software without restriction, including without limitation
> -+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
> -+# and/or sell copies of the Software, and to permit persons to whom the
> -+# Software is furnished to do so, subject to the following conditions:
> -+#
> -+# The above copyright notice and this permission notice (including the next
> -+# paragraph) shall be included in all copies or substantial portions of the
> -+# Software.
> -+#
> -+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> -+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> -+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> -+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> -+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> -+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> -+# IN THE SOFTWARE.
> -+
> -+CC = @CC_FOR_BUILD@
> -+CFLAGS = @CFLAGS_FOR_BUILD@
> -+CPP = @CPP_FOR_BUILD@
> -+CPPFLAGS = @CPPFLAGS_FOR_BUILD@
> -+CXX = @CXX_FOR_BUILD@
> -+CXXFLAGS = @CXXFLAGS_FOR_BUILD@
> -+LD = @LD_FOR_BUILD@
> -+LDFLAGS = @LDFLAGS_FOR_BUILD@
> -+
> -+AM_CFLAGS = \
> -+	-I $(top_srcdir)/include \
> -+	-I $(top_srcdir)/src/mapi \
> -+	-I $(top_srcdir)/src/mesa \
> -+	-I $(GLSL_SRCDIR) \
> -+	-I $(GLSL_SRCDIR)/glcpp \
> -+	$(DEFINES_FOR_BUILD)
> -+
> -+AM_CXXFLAGS = $(AM_CFLAGS)
> -+
> -+AM_YFLAGS = -v -d -p "glcpp_parser_"
> -+AM_LFLAGS = --nounistd -o$(LEX_OUTPUT_ROOT).c
> -+
> -+include ../Makefile.sources
> -+
> -+noinst_PROGRAMS = builtin_compiler
> -+
> -+builtin_compiler_SOURCES = \
> -+	$(GLSL_SRCDIR)/glcpp/glcpp-lex.l \
> -+	$(GLSL_SRCDIR)/glcpp/glcpp-parse.y \
> -+	$(LIBGLCPP_FILES) \
> -+	$(GLSL_SRCDIR)/glsl_lexer.ll \
> -+	$(GLSL_SRCDIR)/glsl_parser.cc \
> -+	$(LIBGLSL_FILES) \
> -+	$(LIBGLSL_CXX_FILES) \
> -+	$(top_srcdir)/src/mesa/program/hash_table.c \
> -+	$(top_srcdir)/src/mesa/program/symbol_table.c \
> -+	$(GLSL_COMPILER_CXX_FILES) \
> -+	builtin_stubs.cpp
> -+
> -+BUILT_SOURCES = \
> -+	glcpp-lex.c \
> -+	glcpp-parse.c \
> -+	glcpp-parse.h \
> -+	glsl_lexer.cc
> -+
> -+CLEANFILES = $(BUILT_SOURCES)
> -diff --git a/src/glsl/builtin_compiler/builtin_stubs.cpp b/src/glsl/builtin_compiler/builtin_stubs.cpp
> -new file mode 100644
> -index 0000000..dfa5d32
> ---- /dev/null
> -+++ b/src/glsl/builtin_compiler/builtin_stubs.cpp
> -@@ -0,0 +1,39 @@
> -+/*
> -+ * Copyright © 2010 Intel Corporation
> -+ *
> -+ * Permission is hereby granted, free of charge, to any person obtaining a
> -+ * copy of this software and associated documentation files (the "Software"),
> -+ * to deal in the Software without restriction, including without limitation
> -+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> -+ * and/or sell copies of the Software, and to permit persons to whom the
> -+ * Software is furnished to do so, subject to the following conditions:
> -+ *
> -+ * The above copyright notice and this permission notice (including the next
> -+ * paragraph) shall be included in all copies or substantial portions of the
> -+ * Software.
> -+ *
> -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> -+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> -+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> -+ * DEALINGS IN THE SOFTWARE.
> -+ */
> -+
> -+#include <stdio.h>
> -+#include "glsl_parser_extras.h"
> -+
> -+/* A dummy file.  When compiling prototypes, we don't care about builtins.
> -+ * We really don't want to half-compile builtin_functions.cpp and fail, though.
> -+ */
> -+void
> -+_mesa_glsl_release_functions(void)
> -+{
> -+}
> -+
> -+void
> -+_mesa_glsl_initialize_functions(_mesa_glsl_parse_state *state)
> -+{
> -+   (void) state;
> -+}
> -diff --git a/src/glsl/builtin_stubs.cpp b/src/glsl/builtin_stubs.cpp
> -deleted file mode 100644
> -index dfa5d32..0000000
> ---- a/src/glsl/builtin_stubs.cpp
> -+++ /dev/null
> -@@ -1,39 +0,0 @@
> --/*
> -- * Copyright © 2010 Intel Corporation
> -- *
> -- * Permission is hereby granted, free of charge, to any person obtaining a
> -- * copy of this software and associated documentation files (the "Software"),
> -- * to deal in the Software without restriction, including without limitation
> -- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> -- * and/or sell copies of the Software, and to permit persons to whom the
> -- * Software is furnished to do so, subject to the following conditions:
> -- *
> -- * The above copyright notice and this permission notice (including the next
> -- * paragraph) shall be included in all copies or substantial portions of the
> -- * Software.
> -- *
> -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> -- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> -- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> -- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> -- * DEALINGS IN THE SOFTWARE.
> -- */
> --
> --#include <stdio.h>
> --#include "glsl_parser_extras.h"
> --
> --/* A dummy file.  When compiling prototypes, we don't care about builtins.
> -- * We really don't want to half-compile builtin_functions.cpp and fail, though.
> -- */
> --void
> --_mesa_glsl_release_functions(void)
> --{
> --}
> --
> --void
> --_mesa_glsl_initialize_functions(_mesa_glsl_parse_state *state)
> --{
> --   (void) state;
> --}
> diff --git a/meta/recipes-graphics/mesa/mesa/dont-fail-if-libX11-isnt-installed.patch b/meta/recipes-graphics/mesa/mesa/dont-fail-if-libX11-isnt-installed.patch
> deleted file mode 100644
> index 80735a6..0000000
> --- a/meta/recipes-graphics/mesa/mesa/dont-fail-if-libX11-isnt-installed.patch
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -Upstream-Status: Backport
> -
> -From d6b06474f69129eb41ecd85d6b3bb0eb7b9dccb3 Mon Sep 17 00:00:00 2001
> -From: Daniel Stone <daniel at fooishbar.org>
> -Date: Tue, 9 Oct 2012 14:27:06 +1100
> -Subject: [PATCH] build: Don't fail if libX11 isn't installed
> -
> -configure.ac would previously refuse to complete if libX11 wasn't
> -installed, even if we'd disabled GLX and weren't building an X11 EGL
> -platform.  Make the check simply set the no_x variable that's used (but
> -never set) immediately below for what looks like this very case.
> -
> -Signed-off-by: Daniel Stone <daniel at fooishbar.org>
> -Reviewed-by: Matt Turner <mattst88 at gmail.com>
> -Reviewed-by: Dan Nicholson <dbn.lists at gmail.com>
> -(cherry picked from commit 4004620d34a580c8fdb965d9b640e97453fc8b28)
> ----
> - configure.ac |    2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index eb273b9..b384b44 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -836,7 +836,7 @@ if test "x$enable_dri" = xyes; then
> - fi
> -
> - dnl Find out if X is available.
> --PKG_CHECK_MODULES([X11], [x11])
> -+PKG_CHECK_MODULES([X11], [x11], [no_x=no], [no_x=yes])
> -
> - dnl Try to tell the user that the --x-* options are only used when
> - dnl pkg-config is not available. This must be right after AC_PATH_XTRA.
> ---
> -1.7.10.4
> -
> diff --git a/meta/recipes-graphics/mesa/mesa/fix-egl-compilation-without-x11-headers.patch b/meta/recipes-graphics/mesa/mesa/fix-egl-compilation-without-x11-headers.patch
> deleted file mode 100644
> index 6436b59..0000000
> --- a/meta/recipes-graphics/mesa/mesa/fix-egl-compilation-without-x11-headers.patch
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -Upstream-Status: Submitted
> -
> -Picked from mesa-dev mailing list: http://marc.info/?l=mesa3d-dev&m=133053004130468
> -
> -From: Benjamin Franzke <benjaminfranzke at googlemail.com>
> -Date: Wed, 29 Feb 2012 15:36:23 +0100
> -Subject: [PATCH] configure: Fix egl compilation without x11 headers
> -
> -We dont want eglplatform.h to typedef egl native types
> -to x11 types, when x11 headers are not available.
> ----
> - configure.ac |    4 ++++
> - 1 file changed, 4 insertions(+)
> -
> -diff --git a/configure.ac b/configure.ac
> -index b384b44..8eb8459 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -1262,6 +1262,10 @@ if test "x$enable_egl" = xyes; then
> -
> -     AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
> -
> -+    if test "$have_x" != yes; then
> -+        DEFINES="$DEFINES -DMESA_EGL_NO_X11_HEADERS"
> -+    fi
> -+
> -     if test "$enable_static" != yes; then
> -         # build egl_glx when libGL is built
> -         if test "x$enable_glx" = xyes; then
> ---
> -1.7.10.4
> -
> diff --git a/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch b/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
> new file mode 100644
> index 0000000..85620c0
> --- /dev/null
> +++ b/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
> @@ -0,0 +1,43 @@
> +The target libtool is used when building host binaries, which predicatably
> +doesn't work.
predicatably -> predictably

Regards,
Jonathan
> +
> +Upstream-Status: Submitted (https://bugs.freedesktop.org/show_bug.cgi?id=44618)
> +Signed-off-by: Jonathan Liu <net147 at gmail.com>
> +Signed-off-by: Ross Burton <ross.burton at intel.com>
> +
> +diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am
> +index e11a17f..8ebe0a2 100644
> +--- a/src/glsl/builtin_compiler/Makefile.am
> ++++ b/src/glsl/builtin_compiler/Makefile.am
> +@@ -64,6 +64,8 @@ AM_CXXFLAGS = $(AM_CFLAGS)
> + include ../Makefile.sources
> +
> + noinst_PROGRAMS = builtin_compiler
> ++
> ++if !CROSS_COMPILING
> + noinst_LTLIBRARIES = libglslcore.la libglcpp.la
> +
> + libglcpp_la_SOURCES =					\
> +@@ -73,6 +75,7 @@ libglcpp_la_SOURCES =					\
> + libglslcore_la_SOURCES =				\
> + 	$(BUILTIN_COMPILER_GENERATED_CXX_FILES)		\
> + 	$(LIBGLSL_FILES)
> ++endif
> +
> + builtin_compiler_SOURCES = \
> + 	$(top_srcdir)/src/mesa/main/hash_table.c	\
> +@@ -81,4 +84,14 @@ builtin_compiler_SOURCES = \
> + 	$(top_srcdir)/src/mesa/program/symbol_table.c	\
> + 	$(BUILTIN_COMPILER_CXX_FILES)			\
> + 	$(GLSL_COMPILER_CXX_FILES)
> ++
> ++if CROSS_COMPILING
> ++builtin_compiler_SOURCES += \
> ++	$(LIBGLCPP_GENERATED_FILES) \
> ++	$(LIBGLCPP_FILES) \
> ++	$(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
> ++	$(LIBGLSL_FILES)
> ++builtin_compiler_CPPFLAGS = $(AM_CPPFLAGS)
> ++else
> + builtin_compiler_LDADD = libglslcore.la libglcpp.la
> ++endif
> diff --git a/meta/recipes-graphics/mesa/mesa_9.0.2.bb b/meta/recipes-graphics/mesa/mesa_9.0.2.bb
> deleted file mode 100644
> index 6671f99..0000000
> --- a/meta/recipes-graphics/mesa/mesa_9.0.2.bb
> +++ /dev/null
> @@ -1,4 +0,0 @@
> -require mesa-common.inc
> -require mesa-${PV}.inc
> -require mesa.inc
> -PR = "${INC_PR}.1"
> diff --git a/meta/recipes-graphics/mesa/mesa_9.1.2.bb b/meta/recipes-graphics/mesa/mesa_9.1.2.bb
> new file mode 100644
> index 0000000..5df16fc
> --- /dev/null
> +++ b/meta/recipes-graphics/mesa/mesa_9.1.2.bb
> @@ -0,0 +1,14 @@
> +SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
> +           file://EGL-Mutate-NativeDisplayType-depending-on-config.patch \
> +           file://fix-glsl-cross.patch \
> +           "
> +
> +SRC_URI[md5sum] = "df2aab86ff4a510ce5b0d074caa0a59f"
> +SRC_URI[sha256sum] = "0695115f7a900624db9ade4f5bd32f4b885d9273eed020fb12b7e29a953143db"
> +
> +LIC_FILES_CHKSUM = "file://docs/license.html;md5=42d77d95cba529a3637129be87d6555d"
> +
> +S = "${WORKDIR}/Mesa-${PV}"
> +
> +require mesa-common.inc
> +require mesa.inc




More information about the Openembedded-core mailing list