From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f169.google.com (mail-pd0-f169.google.com [209.85.192.169]) by mail.openembedded.org (Postfix) with ESMTP id 1E2506A489 for ; Thu, 30 May 2013 14:08:30 +0000 (UTC) Received: by mail-pd0-f169.google.com with SMTP id y11so422818pdj.0 for ; Thu, 30 May 2013 07:08:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=mJeWu/4m8FnuElxfEbMHuSluIKakAyVvzjzh4De/ef4=; b=cRZ/E7FwBmHv6u59Txg4cc/CS9ibF1ncVPrMWG13tcIkh7vfITexfkO+qNxNNnp6rt 01pTGVn3dGm4i6NGHI3rsCMD+oIDOhCgPeezv9xzbWASqtC1RK226PfTK/n2WyF4cIh7 0DHpaaxfiTA4Cv6tMcq/lw5ILOZ0vYj2SqjiqLW5PfiSloliet5pF5m71g53ah5OctGt KxKX2iNTSYIn4fH5S3HHcpLiG9dqELsCalubIzaz2lNVCe9MCxm0GrLwfrEnBRZEUXOe pCrZlE3MeF6KWz0VK5PJQuuNF4tKIUr4UfwbUqqGrFwRUo74fp+NbCb9dwt6l5NwzSsW dYMQ== X-Received: by 10.68.202.7 with SMTP id ke7mr7999933pbc.82.1369922911111; Thu, 30 May 2013 07:08:31 -0700 (PDT) Received: from [192.168.0.2] (60-242-179-244.static.tpgi.com.au. [60.242.179.244]) by mx.google.com with ESMTPSA id ov2sm42138454pbc.34.2013.05.30.07.08.27 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 30 May 2013 07:08:30 -0700 (PDT) Message-ID: <51A75C3C.4090602@gmail.com> Date: Fri, 31 May 2013 00:03:40 +1000 From: Jonathan Liu User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 MIME-Version: 1.0 To: Ross Burton References: <9f69a701378d78848eeccd84759014a4afed492d.1369922325.git.ross.burton@intel.com> In-Reply-To: <9f69a701378d78848eeccd84759014a4afed492d.1369922325.git.ross.burton@intel.com> Cc: openembedded-core@lists.openembedded.org Subject: Re: [PATCH 1/4] mesa: upgrade to 9.1.2 X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 May 2013 14:08:30 -0000 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 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 > --- > 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 > ---- > - 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 > +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 > +--- > + 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 > +- > +-/* 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 > +- > +-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 > +-#include > +- > +-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 > ++ > ++/* 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 > ++ > ++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 > ++#include > ++ > ++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 > - > -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 > -+# > -+# 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 > -+# 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 > -+#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 > --#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 > -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 > -Reviewed-by: Matt Turner > -Reviewed-by: Dan Nicholson > -(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 > -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 > +Signed-off-by: Ross Burton > + > +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