All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Mesa and Wayland updates
@ 2013-05-30 14:00 Ross Burton
  2013-05-30 14:00 ` [PATCH 1/4] mesa: upgrade to 9.1.2 Ross Burton
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Ross Burton @ 2013-05-30 14:00 UTC (permalink / raw)
  To: openembedded-core

Hi,

A short series that updates our Mesa and Wayland to the latest upstream
releases, adds a very rudimentary init script to start Weston, and a basic image
that boots directly into Weston on DRM.

This image recipe effectively depends on the GTK+ branch I just sent as
otherwise GTK+ doesn't have a Wayland backend.

Ross

The following changes since commit d0861b7a12113c6626c6206faf3a9389fb8ef5cb:

  bitbake: bitbake: xmlrpc remote server (2013-05-30 10:44:00 +0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib ross/wayland

for you to fetch changes up to 6792689a9b2c5269b2e9e2c6fc21a52dca1cef9d:

  core-image-weston: basic image that boots directly to Weston (2013-05-30 14:57:54 +0100)

----------------------------------------------------------------
Ross Burton (4):
      mesa: upgrade to 9.1.2
      wayland: update to 1.1.0
      weston-init: basic init script to start Weston on KMS/DRM
      core-image-weston: basic image that boots directly to Weston

 meta/recipes-graphics/images/core-image-weston.bb  |    9 +
 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 +
 .../wayland/{wayland_1.0.6.bb => wayland_1.1.0.bb} |    6 +-
 meta/recipes-graphics/wayland/weston-init.bb       |   17 +
 meta/recipes-graphics/wayland/weston-init/init     |   56 ++
 13 files changed, 499 insertions(+), 815 deletions(-)
 create mode 100644 meta/recipes-graphics/images/core-image-weston.bb
 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
 rename meta/recipes-graphics/wayland/{wayland_1.0.6.bb => wayland_1.1.0.bb} (91%)
 create mode 100644 meta/recipes-graphics/wayland/weston-init.bb
 create mode 100644 meta/recipes-graphics/wayland/weston-init/init

Ross Burton (4):
  mesa: upgrade to 9.1.2
  wayland: update to 1.1.0
  weston-init: basic init script to start Weston on KMS/DRM
  core-image-weston: basic image that boots directly to Weston

 meta/recipes-graphics/images/core-image-weston.bb  |    9 +
 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 +
 .../wayland/{wayland_1.0.6.bb => wayland_1.1.0.bb} |    6 +-
 meta/recipes-graphics/wayland/weston-init.bb       |   17 +
 meta/recipes-graphics/wayland/weston-init/init     |   56 ++
 13 files changed, 499 insertions(+), 815 deletions(-)
 create mode 100644 meta/recipes-graphics/images/core-image-weston.bb
 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
 rename meta/recipes-graphics/wayland/{wayland_1.0.6.bb => wayland_1.1.0.bb} (91%)
 create mode 100644 meta/recipes-graphics/wayland/weston-init.bb
 create mode 100644 meta/recipes-graphics/wayland/weston-init/init

-- 
1.7.10.4



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/4] mesa: upgrade to 9.1.2
  2013-05-30 14:00 [PATCH 0/4] Mesa and Wayland updates Ross Burton
@ 2013-05-30 14:00 ` Ross Burton
  2013-05-30 14:03   ` Jonathan Liu
  2013-05-30 14:06   ` Jonathan Liu
  2013-05-30 14:00 ` [PATCH 2/4] wayland: update to 1.1.0 Ross Burton
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 12+ messages in thread
From: Ross Burton @ 2013-05-30 14:00 UTC (permalink / raw)
  To: openembedded-core

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@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@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@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@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@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@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@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@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@fooishbar.org>
-Reviewed-by: Matt Turner <mattst88@gmail.com>
-Reviewed-by: Dan Nicholson <dbn.lists@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@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.
+
+Upstream-Status: Submitted (https://bugs.freedesktop.org/show_bug.cgi?id=44618)
+Signed-off-by: Jonathan Liu <net147@gmail.com>
+Signed-off-by: Ross Burton <ross.burton@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
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/4] wayland: update to 1.1.0
  2013-05-30 14:00 [PATCH 0/4] Mesa and Wayland updates Ross Burton
  2013-05-30 14:00 ` [PATCH 1/4] mesa: upgrade to 9.1.2 Ross Burton
@ 2013-05-30 14:00 ` Ross Burton
  2013-05-30 14:00 ` [PATCH 3/4] weston-init: basic init script to start Weston on KMS/DRM Ross Burton
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 12+ messages in thread
From: Ross Burton @ 2013-05-30 14:00 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 .../wayland/{wayland_1.0.6.bb => wayland_1.1.0.bb}               |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
 rename meta/recipes-graphics/wayland/{wayland_1.0.6.bb => wayland_1.1.0.bb} (91%)

diff --git a/meta/recipes-graphics/wayland/wayland_1.0.6.bb b/meta/recipes-graphics/wayland/wayland_1.1.0.bb
similarity index 91%
rename from meta/recipes-graphics/wayland/wayland_1.0.6.bb
rename to meta/recipes-graphics/wayland/wayland_1.1.0.bb
index 7c18979..a71402e 100644
--- a/meta/recipes-graphics/wayland/wayland_1.0.6.bb
+++ b/meta/recipes-graphics/wayland/wayland_1.1.0.bb
@@ -10,11 +10,9 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=1d4476a7d98dd5691c53d4d43a510c72 \
                     file://src/wayland-server.c;endline=21;md5=079ae21dbf98ada52ec23744851b0a5c"
 
-PR = "r1"
-
 SRC_URI = "http://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "936a2590aea69fa3c0cf234d54b9137c"
-SRC_URI[sha256sum] = "f52a012df699eff434b0f49e56000d6978b5f781048402ca8e0232242970fc49"
+SRC_URI[md5sum] = "d2dc9398a83692cafc16eba6e45f85d8"
+SRC_URI[sha256sum] = "2ef587cf1a0e52b6dee44eeb9c288110e8180819abf4e419d247dfe234867a5c"
 
 SRC_URI_append_class-native = " file://just-scanner.patch"
 
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 3/4] weston-init: basic init script to start Weston on KMS/DRM
  2013-05-30 14:00 [PATCH 0/4] Mesa and Wayland updates Ross Burton
  2013-05-30 14:00 ` [PATCH 1/4] mesa: upgrade to 9.1.2 Ross Burton
  2013-05-30 14:00 ` [PATCH 2/4] wayland: update to 1.1.0 Ross Burton
@ 2013-05-30 14:00 ` Ross Burton
  2013-05-30 14:00 ` [PATCH 4/4] core-image-weston: basic image that boots directly to Weston Ross Burton
  2013-05-31  7:18 ` [PATCH 0/4] Mesa and Wayland updates Koen Kooi
  4 siblings, 0 replies; 12+ messages in thread
From: Ross Burton @ 2013-05-30 14:00 UTC (permalink / raw)
  To: openembedded-core

weston-init is a very basic init script to start Weston as root on KMS/DRM.

To re-iterate, this runs Weston as root.  This will be fixed to use
weston-launch shortly.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-graphics/wayland/weston-init.bb   |   17 +++++++
 meta/recipes-graphics/wayland/weston-init/init |   56 ++++++++++++++++++++++++
 2 files changed, 73 insertions(+)
 create mode 100644 meta/recipes-graphics/wayland/weston-init.bb
 create mode 100644 meta/recipes-graphics/wayland/weston-init/init

diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb
new file mode 100644
index 0000000..a3fe811
--- /dev/null
+++ b/meta/recipes-graphics/wayland/weston-init.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "startup for weston"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
+
+SRC_URI = "file://init"
+
+S = "${WORKDIR}"
+
+do_install() {
+	install -d ${D}/${sysconfdir}/init.d
+	install -m755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
+}
+
+inherit allarch update-rc.d
+
+INITSCRIPT_NAME = "weston"
+INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
diff --git a/meta/recipes-graphics/wayland/weston-init/init b/meta/recipes-graphics/wayland/weston-init/init
new file mode 100644
index 0000000..3c73e7c
--- /dev/null
+++ b/meta/recipes-graphics/wayland/weston-init/init
@@ -0,0 +1,56 @@
+#!/bin/sh
+#
+### BEGIN INIT INFO
+# Provides: weston
+# Required-Start: $local_fs $remote_fs
+# Required-Stop: $local_fs $remote_fs
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+### END INIT INFO
+
+killproc() {
+        pid=`/bin/pidof $1`
+        [ "$pid" != "" ] && kill $pid
+}
+
+read CMDLINE < /proc/cmdline
+for x in $CMDLINE; do
+        case $x in
+        weston=false)
+		echo "Weston disabled"
+		exit 0;
+                ;;
+        esac
+done
+
+case "$1" in
+  start)
+        . /etc/profile
+
+        # This is all a nasty hack
+        if test -z "$XDG_RUNTIME_DIR"; then
+                export XDG_RUNTIME_DIR=/var/run/user/root
+                mkdir --parents $XDG_RUNTIME_DIR
+                chmod 0700 $XDG_RUNTIME_DIR
+        fi
+
+        weston
+  ;;
+
+  stop)
+        echo "Stopping XServer"
+        killproc weston
+  ;;
+
+  restart)
+	$0 stop
+        sleep 1
+        $0 start
+  ;;
+
+  *)
+        echo "usage: $0 { start | stop | restart }"
+  ;;
+esac
+
+exit 0
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 4/4] core-image-weston: basic image that boots directly to Weston
  2013-05-30 14:00 [PATCH 0/4] Mesa and Wayland updates Ross Burton
                   ` (2 preceding siblings ...)
  2013-05-30 14:00 ` [PATCH 3/4] weston-init: basic init script to start Weston on KMS/DRM Ross Burton
@ 2013-05-30 14:00 ` Ross Burton
  2013-05-31  7:18 ` [PATCH 0/4] Mesa and Wayland updates Koen Kooi
  4 siblings, 0 replies; 12+ messages in thread
From: Ross Burton @ 2013-05-30 14:00 UTC (permalink / raw)
  To: openembedded-core

This adds an image that boots directly to Weston on KMS/DRM, and includes the
Weston terminal and gtk+3-demo for incredibly basic testing.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-graphics/images/core-image-weston.bb |    9 +++++++++
 1 file changed, 9 insertions(+)
 create mode 100644 meta/recipes-graphics/images/core-image-weston.bb

diff --git a/meta/recipes-graphics/images/core-image-weston.bb b/meta/recipes-graphics/images/core-image-weston.bb
new file mode 100644
index 0000000..e49b205
--- /dev/null
+++ b/meta/recipes-graphics/images/core-image-weston.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "A very basic Wayland image with a terminal"
+
+IMAGE_FEATURES += "splash package-management"
+
+LICENSE = "MIT"
+
+inherit core-image
+
+CORE_IMAGE_BASE_INSTALL += "weston weston-init gtk+3-demo"
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/4] mesa: upgrade to 9.1.2
  2013-05-30 14:00 ` [PATCH 1/4] mesa: upgrade to 9.1.2 Ross Burton
@ 2013-05-30 14:03   ` Jonathan Liu
  2013-05-30 14:06   ` Jonathan Liu
  1 sibling, 0 replies; 12+ messages in thread
From: Jonathan Liu @ 2013-05-30 14:03 UTC (permalink / raw)
  To: Ross Burton; +Cc: openembedded-core

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@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@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@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@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@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@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@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@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@fooishbar.org>
> -Reviewed-by: Matt Turner <mattst88@gmail.com>
> -Reviewed-by: Dan Nicholson <dbn.lists@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@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@gmail.com>
> +Signed-off-by: Ross Burton <ross.burton@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



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/4] mesa: upgrade to 9.1.2
  2013-05-30 14:00 ` [PATCH 1/4] mesa: upgrade to 9.1.2 Ross Burton
  2013-05-30 14:03   ` Jonathan Liu
@ 2013-05-30 14:06   ` Jonathan Liu
  2013-05-30 14:27     ` Burton, Ross
  1 sibling, 1 reply; 12+ messages in thread
From: Jonathan Liu @ 2013-05-30 14:06 UTC (permalink / raw)
  To: Ross Burton; +Cc: openembedded-core

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@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
Note that the current upstream version of Mesa is 9.1.3 - 
http://lists.freedesktop.org/archives/mesa-announce/2013-May/000051.html

Regards,
Jonathan


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/4] mesa: upgrade to 9.1.2
  2013-05-30 14:06   ` Jonathan Liu
@ 2013-05-30 14:27     ` Burton, Ross
  0 siblings, 0 replies; 12+ messages in thread
From: Burton, Ross @ 2013-05-30 14:27 UTC (permalink / raw)
  To: Jonathan Liu; +Cc: openembedded-core

On 30 May 2013 15:06, Jonathan Liu <net147@gmail.com> wrote:
> Note that the current upstream version of Mesa is 9.1.3 -
> http://lists.freedesktop.org/archives/mesa-announce/2013-May/000051.html

That will teach me for relying on their web site.  Testing a 9.1.3
upgrade now, and also fixing the git recipe that I appear to have
broken.

Ross


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/4] Mesa and Wayland updates
  2013-05-30 14:00 [PATCH 0/4] Mesa and Wayland updates Ross Burton
                   ` (3 preceding siblings ...)
  2013-05-30 14:00 ` [PATCH 4/4] core-image-weston: basic image that boots directly to Weston Ross Burton
@ 2013-05-31  7:18 ` Koen Kooi
  2013-05-31  9:30   ` Burton, Ross
  4 siblings, 1 reply; 12+ messages in thread
From: Koen Kooi @ 2013-05-31  7:18 UTC (permalink / raw)
  To: Ross Burton; +Cc: openembedded-core


Op 30 mei 2013, om 16:00 heeft Ross Burton <ross.burton@intel.com> het volgende geschreven:

> Hi,
> 
> A short series that updates our Mesa and Wayland to the latest upstream
> releases, adds a very rudimentary init script to start Weston, and a basic image
> that boots directly into Weston on DRM.

We talked about weston off-list a few weeks ago and this seems a good time to bring it back on list :)

I'd like to get the framebuffer backend supported, so I upgraded weston to 1.0.90 and added:

+                 --enable-fbdev-compositor \

+# Needed for weston-launch
+WESTONBACKEND ??= "fbdev-backend.so"
+
+export WESTON_NATIVE_BACKEND = "${WESTONBACKEND}"
 
At the time of writing that weston didn't support runtime detection or config files entries for selecting the backend, only commandline arguments. So whatever is getting picked at build time, you're stuck with that. Does 1.1.x address that situation?

regards,

Koen

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/4] Mesa and Wayland updates
  2013-05-31  7:18 ` [PATCH 0/4] Mesa and Wayland updates Koen Kooi
@ 2013-05-31  9:30   ` Burton, Ross
  2013-05-31  9:52     ` Burton, Ross
  0 siblings, 1 reply; 12+ messages in thread
From: Burton, Ross @ 2013-05-31  9:30 UTC (permalink / raw)
  To: Koen Kooi; +Cc: openembedded-core

On 31 May 2013 08:18, Koen Kooi <koen@dominion.thruhere.net> wrote:
> We talked about weston off-list a few weeks ago and this seems a good time to bring it back on list :)
>
> I'd like to get the framebuffer backend supported, so I upgraded weston to 1.0.90 and added:
>
> +                 --enable-fbdev-compositor \
>
> +# Needed for weston-launch
> +WESTONBACKEND ??= "fbdev-backend.so"
> +
> +export WESTON_NATIVE_BACKEND = "${WESTONBACKEND}"
>
> At the time of writing that weston didn't support runtime detection or config files entries for selecting the backend, only commandline arguments. So whatever is getting picked at build time, you're stuck with that. Does 1.1.x address that situation?

Sadly, not as far as I'm aware.  I have 1.1 in another branch but it
totally broke GTK+ 3 applications (which didn't repaint after the
initial creation), which is pretty sad.  Relevant developers harassed.
:)

Ross


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/4] Mesa and Wayland updates
  2013-05-31  9:30   ` Burton, Ross
@ 2013-05-31  9:52     ` Burton, Ross
  2013-06-05 13:51       ` Martin Jansa
  0 siblings, 1 reply; 12+ messages in thread
From: Burton, Ross @ 2013-05-31  9:52 UTC (permalink / raw)
  To: Koen Kooi; +Cc: openembedded-core

On 31 May 2013 10:30, Burton, Ross <ross.burton@intel.com> wrote:
>> At the time of writing that weston didn't support runtime detection or config files entries for selecting the backend, only commandline arguments. So whatever is getting picked at build time, you're stuck with that. Does 1.1.x address that situation?
>
> Sadly, not as far as I'm aware.  I have 1.1 in another branch but it
> totally broke GTK+ 3 applications (which didn't repaint after the
> initial creation), which is pretty sad.  Relevant developers harassed.

In a massive shock, the weston man page is actually useful.  Sadly
it's clear that the backend choice is either x11 if DISPLAY is set,
wayland-over-wayland if WAYLAND_DISPLAY is set, otherwise the command
line argument finally falling back to the "default" (drm out of the
box).

So if we want a single binary that supports both DRM and fbdev, then
we need to use command-line options.   I guess our startup script
should handle this and we can add another optional machine-specific
config file.

Ross


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/4] Mesa and Wayland updates
  2013-05-31  9:52     ` Burton, Ross
@ 2013-06-05 13:51       ` Martin Jansa
  0 siblings, 0 replies; 12+ messages in thread
From: Martin Jansa @ 2013-06-05 13:51 UTC (permalink / raw)
  To: Burton, Ross; +Cc: Koen Kooi, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1952 bytes --]

On Fri, May 31, 2013 at 10:52:07AM +0100, Burton, Ross wrote:
> On 31 May 2013 10:30, Burton, Ross <ross.burton@intel.com> wrote:
> >> At the time of writing that weston didn't support runtime detection or config files entries for selecting the backend, only commandline arguments. So whatever is getting picked at build time, you're stuck with that. Does 1.1.x address that situation?
> >
> > Sadly, not as far as I'm aware.  I have 1.1 in another branch but it
> > totally broke GTK+ 3 applications (which didn't repaint after the
> > initial creation), which is pretty sad.  Relevant developers harassed.
> 
> In a massive shock, the weston man page is actually useful.  Sadly
> it's clear that the backend choice is either x11 if DISPLAY is set,
> wayland-over-wayland if WAYLAND_DISPLAY is set, otherwise the command
> line argument finally falling back to the "default" (drm out of the
> box).
> 
> So if we want a single binary that supports both DRM and fbdev, then
> we need to use command-line options.   I guess our startup script
> should handle this and we can add another optional machine-specific
> config file.

Is x11 backend working for you (e.g. in qemux86-64)?

I'm testing it with core-image-weston and modified mesa (to allow
llvmpipe) and with -Bx11-backend.so added to /etc/init.d/weston:

root@qemux86-64:~# /etc/init.d/weston start
Date: 2013-06-05 UTC
[13:47:50.300] weston 1.1.0
               http://wayland.freedesktop.org/
               Bug reports to:
https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=1.1.0
               Build:  
[13:47:50.308] OS: Linux, 3.8.13-yocto-standard, #1 SMP PREEMPT Tue Jun
4 22:29:53 CEST 2013, x86_64
[13:47:50.311] Loading module '/usr/lib/weston/x11-backend.so'
[13:47:50.317] initializing x11 backend
[13:47:50.318] fatal: failed to create compositor

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2013-06-05 13:50 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-30 14:00 [PATCH 0/4] Mesa and Wayland updates Ross Burton
2013-05-30 14:00 ` [PATCH 1/4] mesa: upgrade to 9.1.2 Ross Burton
2013-05-30 14:03   ` Jonathan Liu
2013-05-30 14:06   ` Jonathan Liu
2013-05-30 14:27     ` Burton, Ross
2013-05-30 14:00 ` [PATCH 2/4] wayland: update to 1.1.0 Ross Burton
2013-05-30 14:00 ` [PATCH 3/4] weston-init: basic init script to start Weston on KMS/DRM Ross Burton
2013-05-30 14:00 ` [PATCH 4/4] core-image-weston: basic image that boots directly to Weston Ross Burton
2013-05-31  7:18 ` [PATCH 0/4] Mesa and Wayland updates Koen Kooi
2013-05-31  9:30   ` Burton, Ross
2013-05-31  9:52     ` Burton, Ross
2013-06-05 13:51       ` Martin Jansa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.