diff options
9 files changed, 415 insertions, 811 deletions
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 b88bc42e05..0000000000 --- a/meta/recipes-graphics/mesa/mesa-9.0.2.inc +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \ | ||
| 2 | file://0002-cross-compile.patch \ | ||
| 3 | file://cross-glsl.patch \ | ||
| 4 | file://dont-fail-if-libX11-isnt-installed.patch \ | ||
| 5 | file://fix-egl-compilation-without-x11-headers.patch \ | ||
| 6 | " | ||
| 7 | |||
| 8 | SRC_URI[md5sum] = "dc45d1192203e418163e0017640e1cfc" | ||
| 9 | SRC_URI[sha256sum] = "75bf31f26c6e7b5515e610c1005fd1be1f7eeb2c9e6859848dab879c355ad64e" | ||
| 10 | |||
| 11 | LIC_FILES_CHKSUM = "file://docs/license.html;md5=012f69938d81b766472fd0d240df38a4" | ||
| 12 | |||
| 13 | 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 dc8e9948a3..0000000000 --- a/meta/recipes-graphics/mesa/mesa/0002-cross-compile.patch +++ /dev/null | |||
| @@ -1,94 +0,0 @@ | |||
| 1 | cross compile | ||
| 2 | |||
| 3 | This patch is ported from WindRiver linux and to fix cross compile | ||
| 4 | failure. | ||
| 5 | |||
| 6 | And original commits are: | ||
| 7 | commit 8d5ccc8113e1b51b0529a00c18a4aba956247e1b | ||
| 8 | commit 5c4212084b871a0c0fb7d174280ec9a634637deb | ||
| 9 | |||
| 10 | Upstream-Status: Pending | ||
| 11 | |||
| 12 | Signed-off-by: Kang Kai <kai.kang@windriver.com> | ||
| 13 | --- | ||
| 14 | bin/mklib | 24 ++++++++++++------------ | ||
| 15 | 1 file changed, 12 insertions(+), 12 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/bin/mklib b/bin/mklib | ||
| 18 | index 9bac29e..b33aa90 100755 | ||
| 19 | --- a/bin/mklib | ||
| 20 | +++ b/bin/mklib | ||
| 21 | @@ -49,8 +49,8 @@ expand_archives() { | ||
| 22 | /*) ;; | ||
| 23 | *) FILE="$ORIG_DIR/$FILE" ;; | ||
| 24 | esac | ||
| 25 | - MEMBERS=`ar t $FILE` | ||
| 26 | - ar x $FILE | ||
| 27 | + MEMBERS=`${AR} t $FILE` | ||
| 28 | + ${AR} x $FILE | ||
| 29 | for MEMBER in $MEMBERS ; do | ||
| 30 | NEWFILES="$NEWFILES $DIR/$MEMBER" | ||
| 31 | done | ||
| 32 | @@ -77,7 +77,7 @@ expand_archives() { | ||
| 33 | make_ar_static_lib() { | ||
| 34 | OPTS=$1 | ||
| 35 | shift; | ||
| 36 | - RANLIB=$1 | ||
| 37 | + USE_RANLIB=$1 | ||
| 38 | shift; | ||
| 39 | LIBNAME=$1 | ||
| 40 | shift; | ||
| 41 | @@ -87,11 +87,11 @@ make_ar_static_lib() { | ||
| 42 | rm -f ${LIBNAME} | ||
| 43 | |||
| 44 | # make static lib | ||
| 45 | - ar ${OPTS} ${LIBNAME} ${OBJECTS} | ||
| 46 | + ${AR} ${OPTS} ${LIBNAME} ${OBJECTS} | ||
| 47 | |||
| 48 | # run ranlib | ||
| 49 | - if [ ${RANLIB} = 1 ] ; then | ||
| 50 | - ranlib ${LIBNAME} | ||
| 51 | + if [ ${USE_RANLIB} = 1 ] ; then | ||
| 52 | + ${RANLIB} ${LIBNAME} | ||
| 53 | fi | ||
| 54 | |||
| 55 | echo ${LIBNAME} | ||
| 56 | @@ -313,9 +313,9 @@ case $ARCH in | ||
| 57 | if [ "x$LINK" = "x" ] ; then | ||
| 58 | # -linker was not specified so set default link command now | ||
| 59 | if [ $CPLUSPLUS = 1 ] ; then | ||
| 60 | - LINK=g++ | ||
| 61 | + LINK=$CXX | ||
| 62 | else | ||
| 63 | - LINK=gcc | ||
| 64 | + LINK=$CC | ||
| 65 | fi | ||
| 66 | fi | ||
| 67 | |||
| 68 | @@ -535,9 +535,9 @@ case $ARCH in | ||
| 69 | if [ "x$LINK" = "x" ] ; then | ||
| 70 | # -linker was not specified so set default link command now | ||
| 71 | if [ $CPLUSPLUS = 1 ] ; then | ||
| 72 | - LINK=g++ | ||
| 73 | + LINK=$CXX | ||
| 74 | else | ||
| 75 | - LINK=gcc | ||
| 76 | + LINK=$CC | ||
| 77 | fi | ||
| 78 | fi | ||
| 79 | |||
| 80 | @@ -903,9 +903,9 @@ case $ARCH in | ||
| 81 | if [ "x$LINK" = "x" ] ; then | ||
| 82 | # -linker was not specified so set default link command now | ||
| 83 | if [ $CPLUSPLUS = 1 ] ; then | ||
| 84 | - LINK=g++ | ||
| 85 | + LINK=${CXX} | ||
| 86 | else | ||
| 87 | - LINK=gcc | ||
| 88 | + LINK=${CC} | ||
| 89 | fi | ||
| 90 | fi | ||
| 91 | |||
| 92 | -- | ||
| 93 | 1.7.10.4 | ||
| 94 | |||
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 0000000000..47ba1671bc --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch | |||
| @@ -0,0 +1,358 @@ | |||
| 1 | From d52a7ec5dcdf3936bd727b854831efb90acfd2ba Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Daniel Stone <daniel@fooishbar.org> | ||
| 3 | Date: Fri, 24 May 2013 17:20:27 +0100 | ||
| 4 | Subject: [PATCH] EGL: Mutate NativeDisplayType depending on config | ||
| 5 | |||
| 6 | If we go through ./configure without enabling X11 anywhere, then set the | ||
| 7 | fallback types for EGL NativeDisplay and friends, rather than assuming | ||
| 8 | X11/Xlib. | ||
| 9 | |||
| 10 | Signed-off-by: Daniel Stone <daniel@fooishbar.org> | ||
| 11 | --- | ||
| 12 | configure.ac | 9 +++ | ||
| 13 | include/EGL/eglplatform.h | 146 ------------------------------------------ | ||
| 14 | include/EGL/eglplatform.h.in | 146 ++++++++++++++++++++++++++++++++++++++++++ | ||
| 15 | 3 files changed, 155 insertions(+), 146 deletions(-) | ||
| 16 | delete mode 100644 include/EGL/eglplatform.h | ||
| 17 | create mode 100644 include/EGL/eglplatform.h.in | ||
| 18 | |||
| 19 | diff --git a/configure.ac b/configure.ac | ||
| 20 | index 4a98996..6fa77da 100644 | ||
| 21 | --- a/configure.ac | ||
| 22 | +++ b/configure.ac | ||
| 23 | @@ -1576,12 +1576,20 @@ fi | ||
| 24 | |||
| 25 | EGL_PLATFORMS="$egl_platforms" | ||
| 26 | |||
| 27 | +if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then | ||
| 28 | + MESA_EGL_NO_X11_HEADERS=0 | ||
| 29 | +else | ||
| 30 | + MESA_EGL_NO_X11_HEADERS=1 | ||
| 31 | +fi | ||
| 32 | + | ||
| 33 | AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1) | ||
| 34 | AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1) | ||
| 35 | AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1) | ||
| 36 | AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1) | ||
| 37 | AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1) | ||
| 38 | |||
| 39 | +AC_SUBST([MESA_EGL_NO_X11_HEADERS]) | ||
| 40 | + | ||
| 41 | AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x") | ||
| 42 | AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x") | ||
| 43 | |||
| 44 | @@ -2053,6 +2061,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS" | ||
| 45 | |||
| 46 | dnl Substitute the config | ||
| 47 | AC_CONFIG_FILES([Makefile | ||
| 48 | + include/EGL/eglplatform.h | ||
| 49 | src/Makefile | ||
| 50 | src/egl/Makefile | ||
| 51 | src/egl/drivers/Makefile | ||
| 52 | diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h | ||
| 53 | deleted file mode 100644 | ||
| 54 | index 17fdc61..0000000 | ||
| 55 | --- a/include/EGL/eglplatform.h | ||
| 56 | +++ /dev/null | ||
| 57 | @@ -1,146 +0,0 @@ | ||
| 58 | -#ifndef __eglplatform_h_ | ||
| 59 | -#define __eglplatform_h_ | ||
| 60 | - | ||
| 61 | -/* | ||
| 62 | -** Copyright (c) 2007-2009 The Khronos Group Inc. | ||
| 63 | -** | ||
| 64 | -** Permission is hereby granted, free of charge, to any person obtaining a | ||
| 65 | -** copy of this software and/or associated documentation files (the | ||
| 66 | -** "Materials"), to deal in the Materials without restriction, including | ||
| 67 | -** without limitation the rights to use, copy, modify, merge, publish, | ||
| 68 | -** distribute, sublicense, and/or sell copies of the Materials, and to | ||
| 69 | -** permit persons to whom the Materials are furnished to do so, subject to | ||
| 70 | -** the following conditions: | ||
| 71 | -** | ||
| 72 | -** The above copyright notice and this permission notice shall be included | ||
| 73 | -** in all copies or substantial portions of the Materials. | ||
| 74 | -** | ||
| 75 | -** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
| 76 | -** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| 77 | -** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
| 78 | -** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | ||
| 79 | -** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | ||
| 80 | -** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||
| 81 | -** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. | ||
| 82 | -*/ | ||
| 83 | - | ||
| 84 | -/* Platform-specific types and definitions for egl.h | ||
| 85 | - * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $ | ||
| 86 | - * | ||
| 87 | - * Adopters may modify khrplatform.h and this file to suit their platform. | ||
| 88 | - * You are encouraged to submit all modifications to the Khronos group so that | ||
| 89 | - * they can be included in future versions of this file. Please submit changes | ||
| 90 | - * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) | ||
| 91 | - * by filing a bug against product "EGL" component "Registry". | ||
| 92 | - */ | ||
| 93 | - | ||
| 94 | -#include <KHR/khrplatform.h> | ||
| 95 | - | ||
| 96 | -/* Macros used in EGL function prototype declarations. | ||
| 97 | - * | ||
| 98 | - * EGL functions should be prototyped as: | ||
| 99 | - * | ||
| 100 | - * EGLAPI return-type EGLAPIENTRY eglFunction(arguments); | ||
| 101 | - * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments); | ||
| 102 | - * | ||
| 103 | - * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h | ||
| 104 | - */ | ||
| 105 | - | ||
| 106 | -#ifndef EGLAPI | ||
| 107 | -#define EGLAPI KHRONOS_APICALL | ||
| 108 | -#endif | ||
| 109 | - | ||
| 110 | -#ifndef EGLAPIENTRY | ||
| 111 | -#define EGLAPIENTRY KHRONOS_APIENTRY | ||
| 112 | -#endif | ||
| 113 | -#define EGLAPIENTRYP EGLAPIENTRY* | ||
| 114 | - | ||
| 115 | -/* The types NativeDisplayType, NativeWindowType, and NativePixmapType | ||
| 116 | - * are aliases of window-system-dependent types, such as X Display * or | ||
| 117 | - * Windows Device Context. They must be defined in platform-specific | ||
| 118 | - * code below. The EGL-prefixed versions of Native*Type are the same | ||
| 119 | - * types, renamed in EGL 1.3 so all types in the API start with "EGL". | ||
| 120 | - * | ||
| 121 | - * Khronos STRONGLY RECOMMENDS that you use the default definitions | ||
| 122 | - * provided below, since these changes affect both binary and source | ||
| 123 | - * portability of applications using EGL running on different EGL | ||
| 124 | - * implementations. | ||
| 125 | - */ | ||
| 126 | - | ||
| 127 | -#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ | ||
| 128 | -#ifndef WIN32_LEAN_AND_MEAN | ||
| 129 | -#define WIN32_LEAN_AND_MEAN 1 | ||
| 130 | -#endif | ||
| 131 | -#include <windows.h> | ||
| 132 | - | ||
| 133 | -typedef HDC EGLNativeDisplayType; | ||
| 134 | -typedef HBITMAP EGLNativePixmapType; | ||
| 135 | -typedef HWND EGLNativeWindowType; | ||
| 136 | - | ||
| 137 | -#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */ | ||
| 138 | - | ||
| 139 | -typedef int EGLNativeDisplayType; | ||
| 140 | -typedef void *EGLNativeWindowType; | ||
| 141 | -typedef void *EGLNativePixmapType; | ||
| 142 | - | ||
| 143 | -#elif defined(WL_EGL_PLATFORM) | ||
| 144 | - | ||
| 145 | -typedef struct wl_display *EGLNativeDisplayType; | ||
| 146 | -typedef struct wl_egl_pixmap *EGLNativePixmapType; | ||
| 147 | -typedef struct wl_egl_window *EGLNativeWindowType; | ||
| 148 | - | ||
| 149 | -#elif defined(__GBM__) | ||
| 150 | - | ||
| 151 | -typedef struct gbm_device *EGLNativeDisplayType; | ||
| 152 | -typedef struct gbm_bo *EGLNativePixmapType; | ||
| 153 | -typedef void *EGLNativeWindowType; | ||
| 154 | - | ||
| 155 | -#elif defined(ANDROID) /* Android */ | ||
| 156 | - | ||
| 157 | -struct ANativeWindow; | ||
| 158 | -struct egl_native_pixmap_t; | ||
| 159 | - | ||
| 160 | -typedef struct ANativeWindow *EGLNativeWindowType; | ||
| 161 | -typedef struct egl_native_pixmap_t *EGLNativePixmapType; | ||
| 162 | -typedef void *EGLNativeDisplayType; | ||
| 163 | - | ||
| 164 | -#elif defined(__unix__) | ||
| 165 | - | ||
| 166 | -#ifdef MESA_EGL_NO_X11_HEADERS | ||
| 167 | - | ||
| 168 | -typedef void *EGLNativeDisplayType; | ||
| 169 | -typedef khronos_uint32_t EGLNativePixmapType; | ||
| 170 | -typedef khronos_uint32_t EGLNativeWindowType; | ||
| 171 | - | ||
| 172 | -#else | ||
| 173 | - | ||
| 174 | -/* X11 (tentative) */ | ||
| 175 | -#include <X11/Xlib.h> | ||
| 176 | -#include <X11/Xutil.h> | ||
| 177 | - | ||
| 178 | -typedef Display *EGLNativeDisplayType; | ||
| 179 | -typedef Pixmap EGLNativePixmapType; | ||
| 180 | -typedef Window EGLNativeWindowType; | ||
| 181 | - | ||
| 182 | -#endif /* MESA_EGL_NO_X11_HEADERS */ | ||
| 183 | - | ||
| 184 | -#else | ||
| 185 | -#error "Platform not recognized" | ||
| 186 | -#endif | ||
| 187 | - | ||
| 188 | -/* EGL 1.2 types, renamed for consistency in EGL 1.3 */ | ||
| 189 | -typedef EGLNativeDisplayType NativeDisplayType; | ||
| 190 | -typedef EGLNativePixmapType NativePixmapType; | ||
| 191 | -typedef EGLNativeWindowType NativeWindowType; | ||
| 192 | - | ||
| 193 | - | ||
| 194 | -/* Define EGLint. This must be a signed integral type large enough to contain | ||
| 195 | - * all legal attribute names and values passed into and out of EGL, whether | ||
| 196 | - * their type is boolean, bitmask, enumerant (symbolic constant), integer, | ||
| 197 | - * handle, or other. While in general a 32-bit integer will suffice, if | ||
| 198 | - * handles are 64 bit types, then EGLint should be defined as a signed 64-bit | ||
| 199 | - * integer type. | ||
| 200 | - */ | ||
| 201 | -typedef khronos_int32_t EGLint; | ||
| 202 | - | ||
| 203 | -#endif /* __eglplatform_h */ | ||
| 204 | diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in | ||
| 205 | new file mode 100644 | ||
| 206 | index 0000000..5126c92 | ||
| 207 | --- /dev/null | ||
| 208 | +++ b/include/EGL/eglplatform.h.in | ||
| 209 | @@ -0,0 +1,146 @@ | ||
| 210 | +#ifndef __eglplatform_h_ | ||
| 211 | +#define __eglplatform_h_ | ||
| 212 | + | ||
| 213 | +/* | ||
| 214 | +** Copyright (c) 2007-2009 The Khronos Group Inc. | ||
| 215 | +** | ||
| 216 | +** Permission is hereby granted, free of charge, to any person obtaining a | ||
| 217 | +** copy of this software and/or associated documentation files (the | ||
| 218 | +** "Materials"), to deal in the Materials without restriction, including | ||
| 219 | +** without limitation the rights to use, copy, modify, merge, publish, | ||
| 220 | +** distribute, sublicense, and/or sell copies of the Materials, and to | ||
| 221 | +** permit persons to whom the Materials are furnished to do so, subject to | ||
| 222 | +** the following conditions: | ||
| 223 | +** | ||
| 224 | +** The above copyright notice and this permission notice shall be included | ||
| 225 | +** in all copies or substantial portions of the Materials. | ||
| 226 | +** | ||
| 227 | +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
| 228 | +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| 229 | +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
| 230 | +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | ||
| 231 | +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | ||
| 232 | +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||
| 233 | +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. | ||
| 234 | +*/ | ||
| 235 | + | ||
| 236 | +/* Platform-specific types and definitions for egl.h | ||
| 237 | + * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $ | ||
| 238 | + * | ||
| 239 | + * Adopters may modify khrplatform.h and this file to suit their platform. | ||
| 240 | + * You are encouraged to submit all modifications to the Khronos group so that | ||
| 241 | + * they can be included in future versions of this file. Please submit changes | ||
| 242 | + * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) | ||
| 243 | + * by filing a bug against product "EGL" component "Registry". | ||
| 244 | + */ | ||
| 245 | + | ||
| 246 | +#include <KHR/khrplatform.h> | ||
| 247 | + | ||
| 248 | +/* Macros used in EGL function prototype declarations. | ||
| 249 | + * | ||
| 250 | + * EGL functions should be prototyped as: | ||
| 251 | + * | ||
| 252 | + * EGLAPI return-type EGLAPIENTRY eglFunction(arguments); | ||
| 253 | + * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments); | ||
| 254 | + * | ||
| 255 | + * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h | ||
| 256 | + */ | ||
| 257 | + | ||
| 258 | +#ifndef EGLAPI | ||
| 259 | +#define EGLAPI KHRONOS_APICALL | ||
| 260 | +#endif | ||
| 261 | + | ||
| 262 | +#ifndef EGLAPIENTRY | ||
| 263 | +#define EGLAPIENTRY KHRONOS_APIENTRY | ||
| 264 | +#endif | ||
| 265 | +#define EGLAPIENTRYP EGLAPIENTRY* | ||
| 266 | + | ||
| 267 | +/* The types NativeDisplayType, NativeWindowType, and NativePixmapType | ||
| 268 | + * are aliases of window-system-dependent types, such as X Display * or | ||
| 269 | + * Windows Device Context. They must be defined in platform-specific | ||
| 270 | + * code below. The EGL-prefixed versions of Native*Type are the same | ||
| 271 | + * types, renamed in EGL 1.3 so all types in the API start with "EGL". | ||
| 272 | + * | ||
| 273 | + * Khronos STRONGLY RECOMMENDS that you use the default definitions | ||
| 274 | + * provided below, since these changes affect both binary and source | ||
| 275 | + * portability of applications using EGL running on different EGL | ||
| 276 | + * implementations. | ||
| 277 | + */ | ||
| 278 | + | ||
| 279 | +#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ | ||
| 280 | +#ifndef WIN32_LEAN_AND_MEAN | ||
| 281 | +#define WIN32_LEAN_AND_MEAN 1 | ||
| 282 | +#endif | ||
| 283 | +#include <windows.h> | ||
| 284 | + | ||
| 285 | +typedef HDC EGLNativeDisplayType; | ||
| 286 | +typedef HBITMAP EGLNativePixmapType; | ||
| 287 | +typedef HWND EGLNativeWindowType; | ||
| 288 | + | ||
| 289 | +#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */ | ||
| 290 | + | ||
| 291 | +typedef int EGLNativeDisplayType; | ||
| 292 | +typedef void *EGLNativeWindowType; | ||
| 293 | +typedef void *EGLNativePixmapType; | ||
| 294 | + | ||
| 295 | +#elif defined(WL_EGL_PLATFORM) | ||
| 296 | + | ||
| 297 | +typedef struct wl_display *EGLNativeDisplayType; | ||
| 298 | +typedef struct wl_egl_pixmap *EGLNativePixmapType; | ||
| 299 | +typedef struct wl_egl_window *EGLNativeWindowType; | ||
| 300 | + | ||
| 301 | +#elif defined(__GBM__) | ||
| 302 | + | ||
| 303 | +typedef struct gbm_device *EGLNativeDisplayType; | ||
| 304 | +typedef struct gbm_bo *EGLNativePixmapType; | ||
| 305 | +typedef void *EGLNativeWindowType; | ||
| 306 | + | ||
| 307 | +#elif defined(ANDROID) /* Android */ | ||
| 308 | + | ||
| 309 | +struct ANativeWindow; | ||
| 310 | +struct egl_native_pixmap_t; | ||
| 311 | + | ||
| 312 | +typedef struct ANativeWindow *EGLNativeWindowType; | ||
| 313 | +typedef struct egl_native_pixmap_t *EGLNativePixmapType; | ||
| 314 | +typedef void *EGLNativeDisplayType; | ||
| 315 | + | ||
| 316 | +#elif defined(__unix__) | ||
| 317 | + | ||
| 318 | +#if @MESA_EGL_NO_X11_HEADERS@ | ||
| 319 | + | ||
| 320 | +typedef void *EGLNativeDisplayType; | ||
| 321 | +typedef khronos_uint32_t EGLNativePixmapType; | ||
| 322 | +typedef khronos_uint32_t EGLNativeWindowType; | ||
| 323 | + | ||
| 324 | +#else | ||
| 325 | + | ||
| 326 | +/* X11 (tentative) */ | ||
| 327 | +#include <X11/Xlib.h> | ||
| 328 | +#include <X11/Xutil.h> | ||
| 329 | + | ||
| 330 | +typedef Display *EGLNativeDisplayType; | ||
| 331 | +typedef Pixmap EGLNativePixmapType; | ||
| 332 | +typedef Window EGLNativeWindowType; | ||
| 333 | + | ||
| 334 | +#endif /* MESA_EGL_NO_X11_HEADERS */ | ||
| 335 | + | ||
| 336 | +#else | ||
| 337 | +#error "Platform not recognized" | ||
| 338 | +#endif | ||
| 339 | + | ||
| 340 | +/* EGL 1.2 types, renamed for consistency in EGL 1.3 */ | ||
| 341 | +typedef EGLNativeDisplayType NativeDisplayType; | ||
| 342 | +typedef EGLNativePixmapType NativePixmapType; | ||
| 343 | +typedef EGLNativeWindowType NativeWindowType; | ||
| 344 | + | ||
| 345 | + | ||
| 346 | +/* Define EGLint. This must be a signed integral type large enough to contain | ||
| 347 | + * all legal attribute names and values passed into and out of EGL, whether | ||
| 348 | + * their type is boolean, bitmask, enumerant (symbolic constant), integer, | ||
| 349 | + * handle, or other. While in general a 32-bit integer will suffice, if | ||
| 350 | + * handles are 64 bit types, then EGLint should be defined as a signed 64-bit | ||
| 351 | + * integer type. | ||
| 352 | + */ | ||
| 353 | +typedef khronos_int32_t EGLint; | ||
| 354 | + | ||
| 355 | +#endif /* __eglplatform_h */ | ||
| 356 | -- | ||
| 357 | 1.7.10.4 | ||
| 358 | |||
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 2e7929738d..0000000000 --- a/meta/recipes-graphics/mesa/mesa/cross-glsl.patch +++ /dev/null | |||
| @@ -1,632 +0,0 @@ | |||
| 1 | Respect CC_FOR_BUILD when building glsl_compiler, so we don't need a | ||
| 2 | mesa-dri-glsl-native anymore. | ||
| 3 | |||
| 4 | Upstream-Status: Backport (from master) | ||
| 5 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
| 6 | |||
| 7 | diff --git a/configure.ac b/configure.ac | ||
| 8 | index b46f897..3765cd3 100644 | ||
| 9 | --- a/configure.ac | ||
| 10 | +++ b/configure.ac | ||
| 11 | @@ -10,7 +10,7 @@ AC_INIT([Mesa], [9.0.1], | ||
| 12 | [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa]) | ||
| 13 | AC_CONFIG_AUX_DIR([bin]) | ||
| 14 | AC_CONFIG_MACRO_DIR([m4]) | ||
| 15 | -AC_CANONICAL_HOST | ||
| 16 | +AC_CANONICAL_SYSTEM | ||
| 17 | AM_INIT_AUTOMAKE([foreign]) | ||
| 18 | |||
| 19 | dnl http://people.gnome.org/~walters/docs/build-api.txt | ||
| 20 | @@ -24,9 +24,6 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | ||
| 21 | |||
| 22 | m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) | ||
| 23 | |||
| 24 | -LT_PREREQ([2.2]) | ||
| 25 | -LT_INIT([disable-static]) | ||
| 26 | - | ||
| 27 | dnl Set internal versions | ||
| 28 | OSMESA_VERSION=8 | ||
| 29 | AC_SUBST([OSMESA_VERSION]) | ||
| 30 | @@ -45,7 +42,9 @@ LIBKMS_XORG_REQUIRED=1.0.0 | ||
| 31 | dnl Check for progs | ||
| 32 | AC_PROG_CPP | ||
| 33 | AC_PROG_CC | ||
| 34 | +AX_PROG_CC_FOR_BUILD | ||
| 35 | AC_PROG_CXX | ||
| 36 | +AX_PROG_CXX_FOR_BUILD | ||
| 37 | AM_PROG_CC_C_O | ||
| 38 | AM_PROG_AS | ||
| 39 | AC_CHECK_PROGS([MAKE], [gmake make]) | ||
| 40 | @@ -54,6 +53,9 @@ AC_PROG_SED | ||
| 41 | AC_PROG_MKDIR_P | ||
| 42 | AC_PATH_PROG([MKDEP], [makedepend]) | ||
| 43 | |||
| 44 | +LT_PREREQ([2.2]) | ||
| 45 | +LT_INIT([disable-static]) | ||
| 46 | + | ||
| 47 | if test "x$MKDEP" = "x"; then | ||
| 48 | AC_MSG_ERROR([makedepend is required to build Mesa]) | ||
| 49 | fi | ||
| 50 | @@ -155,6 +157,21 @@ dnl Cache LDFLAGS and CPPFLAGS so we can add to them and restore later | ||
| 51 | _SAVE_LDFLAGS="$LDFLAGS" | ||
| 52 | _SAVE_CPPFLAGS="$CPPFLAGS" | ||
| 53 | |||
| 54 | +dnl build host compiler macros | ||
| 55 | +DEFINES_FOR_BUILD="" | ||
| 56 | +AC_SUBST([DEFINES_FOR_BUILD]) | ||
| 57 | +case "$build_os" in | ||
| 58 | +linux*|*-gnu*|gnu*) | ||
| 59 | + DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD -D_GNU_SOURCE" | ||
| 60 | + ;; | ||
| 61 | +solaris*) | ||
| 62 | + DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD -DSVR4" | ||
| 63 | + ;; | ||
| 64 | +cygwin*) | ||
| 65 | + DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD" | ||
| 66 | + ;; | ||
| 67 | +esac | ||
| 68 | + | ||
| 69 | dnl Compiler macros | ||
| 70 | DEFINES="" | ||
| 71 | AC_SUBST([DEFINES]) | ||
| 72 | @@ -172,6 +189,7 @@ esac | ||
| 73 | |||
| 74 | dnl Add flags for gcc and g++ | ||
| 75 | if test "x$GCC" = xyes; then | ||
| 76 | + CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -Wall -std=c99" | ||
| 77 | CFLAGS="$CFLAGS -Wall -std=c99" | ||
| 78 | |||
| 79 | # Enable -Werror=implicit-function-declaration and | ||
| 80 | @@ -199,13 +217,16 @@ if test "x$GCC" = xyes; then | ||
| 81 | CFLAGS=$save_CFLAGS | ||
| 82 | |||
| 83 | # Work around aliasing bugs - developers should comment this out | ||
| 84 | + CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -fno-strict-aliasing" | ||
| 85 | CFLAGS="$CFLAGS -fno-strict-aliasing" | ||
| 86 | |||
| 87 | # gcc's builtin memcmp is slower than glibc's | ||
| 88 | # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052 | ||
| 89 | + CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -fno-builtin-memcmp" | ||
| 90 | CFLAGS="$CFLAGS -fno-builtin-memcmp" | ||
| 91 | fi | ||
| 92 | if test "x$GXX" = xyes; then | ||
| 93 | + CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -Wall" | ||
| 94 | CXXFLAGS="$CXXFLAGS -Wall" | ||
| 95 | |||
| 96 | # Enable -fvisibility=hidden if using a gcc that supports it | ||
| 97 | @@ -222,10 +243,12 @@ if test "x$GXX" = xyes; then | ||
| 98 | CXXFLAGS=$save_CXXFLAGS | ||
| 99 | |||
| 100 | # Work around aliasing bugs - developers should comment this out | ||
| 101 | + CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -fno-strict-aliasing" | ||
| 102 | CXXFLAGS="$CXXFLAGS -fno-strict-aliasing" | ||
| 103 | |||
| 104 | # gcc's builtin memcmp is slower than glibc's | ||
| 105 | # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052 | ||
| 106 | + CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -fno-builtin-memcmp" | ||
| 107 | CXXFLAGS="$CXXFLAGS -fno-builtin-memcmp" | ||
| 108 | fi | ||
| 109 | |||
| 110 | @@ -309,6 +332,14 @@ AC_ARG_ENABLE([debug], | ||
| 111 | [enable_debug=no] | ||
| 112 | ) | ||
| 113 | if test "x$enable_debug" = xyes; then | ||
| 114 | + DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD -DDEBUG" | ||
| 115 | + if test "x$GCC_FOR_BUILD" = xyes; then | ||
| 116 | + CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -g" | ||
| 117 | + fi | ||
| 118 | + if test "x$GXX_FOR_BUILD" = xyes; then | ||
| 119 | + CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -g" | ||
| 120 | + fi | ||
| 121 | + | ||
| 122 | DEFINES="$DEFINES -DDEBUG" | ||
| 123 | if test "x$GCC" = xyes; then | ||
| 124 | CFLAGS="$CFLAGS -g" | ||
| 125 | @@ -1960,6 +1991,7 @@ AC_CONFIG_FILES([configs/current | ||
| 126 | src/gbm/Makefile | ||
| 127 | src/gbm/main/gbm.pc | ||
| 128 | src/glsl/Makefile | ||
| 129 | + src/glsl/builtin_compiler/Makefile | ||
| 130 | src/glsl/glcpp/Makefile | ||
| 131 | src/glsl/tests/Makefile | ||
| 132 | src/glx/Makefile | ||
| 133 | diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4 | ||
| 134 | new file mode 100644 | ||
| 135 | index 0000000..6369809 | ||
| 136 | --- /dev/null | ||
| 137 | +++ b/m4/ax_prog_cc_for_build.m4 | ||
| 138 | @@ -0,0 +1,125 @@ | ||
| 139 | +# =========================================================================== | ||
| 140 | +# http://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html | ||
| 141 | +# =========================================================================== | ||
| 142 | +# | ||
| 143 | +# SYNOPSIS | ||
| 144 | +# | ||
| 145 | +# AX_PROG_CC_FOR_BUILD | ||
| 146 | +# | ||
| 147 | +# DESCRIPTION | ||
| 148 | +# | ||
| 149 | +# This macro searches for a C compiler that generates native executables, | ||
| 150 | +# that is a C compiler that surely is not a cross-compiler. This can be | ||
| 151 | +# useful if you have to generate source code at compile-time like for | ||
| 152 | +# example GCC does. | ||
| 153 | +# | ||
| 154 | +# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything | ||
| 155 | +# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD). | ||
| 156 | +# The value of these variables can be overridden by the user by specifying | ||
| 157 | +# a compiler with an environment variable (like you do for standard CC). | ||
| 158 | +# | ||
| 159 | +# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object | ||
| 160 | +# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if | ||
| 161 | +# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are | ||
| 162 | +# substituted in the Makefile. | ||
| 163 | +# | ||
| 164 | +# LICENSE | ||
| 165 | +# | ||
| 166 | +# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org> | ||
| 167 | +# | ||
| 168 | +# Copying and distribution of this file, with or without modification, are | ||
| 169 | +# permitted in any medium without royalty provided the copyright notice | ||
| 170 | +# and this notice are preserved. This file is offered as-is, without any | ||
| 171 | +# warranty. | ||
| 172 | + | ||
| 173 | +#serial 5 | ||
| 174 | + | ||
| 175 | +AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD]) | ||
| 176 | +AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl | ||
| 177 | +AC_REQUIRE([AC_PROG_CC])dnl | ||
| 178 | +AC_REQUIRE([AC_PROG_CPP])dnl | ||
| 179 | +AC_REQUIRE([AC_EXEEXT])dnl | ||
| 180 | +AC_REQUIRE([AC_CANONICAL_SYSTEM])dnl | ||
| 181 | + | ||
| 182 | +dnl Use the standard macros, but make them use other variable names | ||
| 183 | +dnl | ||
| 184 | +pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl | ||
| 185 | +pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl | ||
| 186 | +pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl | ||
| 187 | +pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl | ||
| 188 | +pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl | ||
| 189 | +pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl | ||
| 190 | +pushdef([ac_cv_objext], ac_cv_build_objext)dnl | ||
| 191 | +pushdef([ac_exeext], ac_build_exeext)dnl | ||
| 192 | +pushdef([ac_objext], ac_build_objext)dnl | ||
| 193 | +pushdef([CC], CC_FOR_BUILD)dnl | ||
| 194 | +pushdef([CPP], CPP_FOR_BUILD)dnl | ||
| 195 | +pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl | ||
| 196 | +pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl | ||
| 197 | +pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl | ||
| 198 | +pushdef([host], build)dnl | ||
| 199 | +pushdef([host_alias], build_alias)dnl | ||
| 200 | +pushdef([host_cpu], build_cpu)dnl | ||
| 201 | +pushdef([host_vendor], build_vendor)dnl | ||
| 202 | +pushdef([host_os], build_os)dnl | ||
| 203 | +pushdef([ac_cv_host], ac_cv_build)dnl | ||
| 204 | +pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl | ||
| 205 | +pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl | ||
| 206 | +pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl | ||
| 207 | +pushdef([ac_cv_host_os], ac_cv_build_os)dnl | ||
| 208 | +pushdef([ac_cpp], ac_build_cpp)dnl | ||
| 209 | +pushdef([ac_compile], ac_build_compile)dnl | ||
| 210 | +pushdef([ac_link], ac_build_link)dnl | ||
| 211 | + | ||
| 212 | +save_cross_compiling=$cross_compiling | ||
| 213 | +save_ac_tool_prefix=$ac_tool_prefix | ||
| 214 | +cross_compiling=no | ||
| 215 | +ac_tool_prefix= | ||
| 216 | + | ||
| 217 | +AC_PROG_CC | ||
| 218 | +AC_PROG_CPP | ||
| 219 | +AC_EXEEXT | ||
| 220 | + | ||
| 221 | +ac_tool_prefix=$save_ac_tool_prefix | ||
| 222 | +cross_compiling=$save_cross_compiling | ||
| 223 | + | ||
| 224 | +dnl Restore the old definitions | ||
| 225 | +dnl | ||
| 226 | +popdef([ac_link])dnl | ||
| 227 | +popdef([ac_compile])dnl | ||
| 228 | +popdef([ac_cpp])dnl | ||
| 229 | +popdef([ac_cv_host_os])dnl | ||
| 230 | +popdef([ac_cv_host_vendor])dnl | ||
| 231 | +popdef([ac_cv_host_cpu])dnl | ||
| 232 | +popdef([ac_cv_host_alias])dnl | ||
| 233 | +popdef([ac_cv_host])dnl | ||
| 234 | +popdef([host_os])dnl | ||
| 235 | +popdef([host_vendor])dnl | ||
| 236 | +popdef([host_cpu])dnl | ||
| 237 | +popdef([host_alias])dnl | ||
| 238 | +popdef([host])dnl | ||
| 239 | +popdef([LDFLAGS])dnl | ||
| 240 | +popdef([CPPFLAGS])dnl | ||
| 241 | +popdef([CFLAGS])dnl | ||
| 242 | +popdef([CPP])dnl | ||
| 243 | +popdef([CC])dnl | ||
| 244 | +popdef([ac_objext])dnl | ||
| 245 | +popdef([ac_exeext])dnl | ||
| 246 | +popdef([ac_cv_objext])dnl | ||
| 247 | +popdef([ac_cv_exeext])dnl | ||
| 248 | +popdef([ac_cv_prog_cc_g])dnl | ||
| 249 | +popdef([ac_cv_prog_cc_cross])dnl | ||
| 250 | +popdef([ac_cv_prog_cc_works])dnl | ||
| 251 | +popdef([ac_cv_prog_gcc])dnl | ||
| 252 | +popdef([ac_cv_prog_CPP])dnl | ||
| 253 | + | ||
| 254 | +dnl Finally, set Makefile variables | ||
| 255 | +dnl | ||
| 256 | +BUILD_EXEEXT=$ac_build_exeext | ||
| 257 | +BUILD_OBJEXT=$ac_build_objext | ||
| 258 | +AC_SUBST(BUILD_EXEEXT)dnl | ||
| 259 | +AC_SUBST(BUILD_OBJEXT)dnl | ||
| 260 | +AC_SUBST([CFLAGS_FOR_BUILD])dnl | ||
| 261 | +AC_SUBST([CPPFLAGS_FOR_BUILD])dnl | ||
| 262 | +AC_SUBST([LDFLAGS_FOR_BUILD])dnl | ||
| 263 | +]) | ||
| 264 | diff --git a/m4/ax_prog_cxx_for_build.m4 b/m4/ax_prog_cxx_for_build.m4 | ||
| 265 | new file mode 100644 | ||
| 266 | index 0000000..ecf8db9 | ||
| 267 | --- /dev/null | ||
| 268 | +++ b/m4/ax_prog_cxx_for_build.m4 | ||
| 269 | @@ -0,0 +1,109 @@ | ||
| 270 | +# =========================================================================== | ||
| 271 | +# http://www.gnu.org/software/autoconf-archive/ax_prog_cxx_for_build.html | ||
| 272 | +# =========================================================================== | ||
| 273 | +# | ||
| 274 | +# SYNOPSIS | ||
| 275 | +# | ||
| 276 | +# AX_PROG_CXX_FOR_BUILD | ||
| 277 | +# | ||
| 278 | +# DESCRIPTION | ||
| 279 | +# | ||
| 280 | +# This macro searches for a C++ compiler that generates native executables, | ||
| 281 | +# that is a C++ compiler that surely is not a cross-compiler. This can be | ||
| 282 | +# useful if you have to generate source code at compile-time like for | ||
| 283 | +# example GCC does. | ||
| 284 | +# | ||
| 285 | +# The macro sets the CXX_FOR_BUILD and CXXCPP_FOR_BUILD macros to anything | ||
| 286 | +# needed to compile or link (CXX_FOR_BUILD) and preprocess (CXXCPP_FOR_BUILD). | ||
| 287 | +# The value of these variables can be overridden by the user by specifying | ||
| 288 | +# a compiler with an environment variable (like you do for standard CXX). | ||
| 289 | +# | ||
| 290 | +# LICENSE | ||
| 291 | +# | ||
| 292 | +# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org> | ||
| 293 | +# Copyright (c) 2012 Avionic Design GmbH | ||
| 294 | +# | ||
| 295 | +# Based on the AX_PROG_CC_FOR_BUILD macro by Paolo Bonzini. | ||
| 296 | +# | ||
| 297 | +# Copying and distribution of this file, with or without modification, are | ||
| 298 | +# permitted in any medium without royalty provided the copyright notice | ||
| 299 | +# and this notice are preserved. This file is offered as-is, without any | ||
| 300 | +# warranty. | ||
| 301 | + | ||
| 302 | +#serial 5 | ||
| 303 | + | ||
| 304 | +AU_ALIAS([AC_PROG_CXX_FOR_BUILD], [AX_PROG_CXX_FOR_BUILD]) | ||
| 305 | +AC_DEFUN([AX_PROG_CXX_FOR_BUILD], [dnl | ||
| 306 | +AC_REQUIRE([AX_PROG_CC_FOR_BUILD])dnl | ||
| 307 | +AC_REQUIRE([AC_PROG_CXX])dnl | ||
| 308 | +AC_REQUIRE([AC_PROG_CXXCPP])dnl | ||
| 309 | +AC_REQUIRE([AC_CANONICAL_SYSTEM])dnl | ||
| 310 | + | ||
| 311 | +dnl Use the standard macros, but make them use other variable names | ||
| 312 | +dnl | ||
| 313 | +pushdef([ac_cv_prog_CXXCPP], ac_cv_build_prog_CXXCPP)dnl | ||
| 314 | +pushdef([ac_cv_prog_gxx], ac_cv_build_prog_gxx)dnl | ||
| 315 | +pushdef([ac_cv_prog_cxx_works], ac_cv_build_prog_cxx_works)dnl | ||
| 316 | +pushdef([ac_cv_prog_cxx_cross], ac_cv_build_prog_cxx_cross)dnl | ||
| 317 | +pushdef([ac_cv_prog_cxx_g], ac_cv_build_prog_cxx_g)dnl | ||
| 318 | +pushdef([CXX], CXX_FOR_BUILD)dnl | ||
| 319 | +pushdef([CXXCPP], CXXCPP_FOR_BUILD)dnl | ||
| 320 | +pushdef([CXXFLAGS], CXXFLAGS_FOR_BUILD)dnl | ||
| 321 | +pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl | ||
| 322 | +pushdef([CXXCPPFLAGS], CXXCPPFLAGS_FOR_BUILD)dnl | ||
| 323 | +pushdef([host], build)dnl | ||
| 324 | +pushdef([host_alias], build_alias)dnl | ||
| 325 | +pushdef([host_cpu], build_cpu)dnl | ||
| 326 | +pushdef([host_vendor], build_vendor)dnl | ||
| 327 | +pushdef([host_os], build_os)dnl | ||
| 328 | +pushdef([ac_cv_host], ac_cv_build)dnl | ||
| 329 | +pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl | ||
| 330 | +pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl | ||
| 331 | +pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl | ||
| 332 | +pushdef([ac_cv_host_os], ac_cv_build_os)dnl | ||
| 333 | +pushdef([ac_cxxcpp], ac_build_cxxcpp)dnl | ||
| 334 | +pushdef([ac_compile], ac_build_compile)dnl | ||
| 335 | +pushdef([ac_link], ac_build_link)dnl | ||
| 336 | + | ||
| 337 | +save_cross_compiling=$cross_compiling | ||
| 338 | +save_ac_tool_prefix=$ac_tool_prefix | ||
| 339 | +cross_compiling=no | ||
| 340 | +ac_tool_prefix= | ||
| 341 | + | ||
| 342 | +AC_PROG_CXX | ||
| 343 | +AC_PROG_CXXCPP | ||
| 344 | + | ||
| 345 | +ac_tool_prefix=$save_ac_tool_prefix | ||
| 346 | +cross_compiling=$save_cross_compiling | ||
| 347 | + | ||
| 348 | +dnl Restore the old definitions | ||
| 349 | +dnl | ||
| 350 | +popdef([ac_link])dnl | ||
| 351 | +popdef([ac_compile])dnl | ||
| 352 | +popdef([ac_cxxcpp])dnl | ||
| 353 | +popdef([ac_cv_host_os])dnl | ||
| 354 | +popdef([ac_cv_host_vendor])dnl | ||
| 355 | +popdef([ac_cv_host_cpu])dnl | ||
| 356 | +popdef([ac_cv_host_alias])dnl | ||
| 357 | +popdef([ac_cv_host])dnl | ||
| 358 | +popdef([host_os])dnl | ||
| 359 | +popdef([host_vendor])dnl | ||
| 360 | +popdef([host_cpu])dnl | ||
| 361 | +popdef([host_alias])dnl | ||
| 362 | +popdef([host])dnl | ||
| 363 | +popdef([CXXCPPFLAGS])dnl | ||
| 364 | +popdef([CPPFLAGS])dnl | ||
| 365 | +popdef([CXXFLAGS])dnl | ||
| 366 | +popdef([CXXCPP])dnl | ||
| 367 | +popdef([CXX])dnl | ||
| 368 | +popdef([ac_cv_prog_cxx_g])dnl | ||
| 369 | +popdef([ac_cv_prog_cxx_cross])dnl | ||
| 370 | +popdef([ac_cv_prog_cxx_works])dnl | ||
| 371 | +popdef([ac_cv_prog_gxx])dnl | ||
| 372 | +popdef([ac_cv_prog_CXXCPP])dnl | ||
| 373 | + | ||
| 374 | +dnl Finally, set Makefile variables | ||
| 375 | +dnl | ||
| 376 | +AC_SUBST([CXXFLAGS_FOR_BUILD])dnl | ||
| 377 | +AC_SUBST([CXXCPPFLAGS_FOR_BUILD])dnl | ||
| 378 | +]) | ||
| 379 | diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am | ||
| 380 | index 1ecc003..6fb3d2d 100644 | ||
| 381 | --- a/src/glsl/Makefile.am | ||
| 382 | +++ b/src/glsl/Makefile.am | ||
| 383 | @@ -19,9 +19,7 @@ | ||
| 384 | # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||
| 385 | # IN THE SOFTWARE. | ||
| 386 | |||
| 387 | - | ||
| 388 | -# builtin_compiler is built before libglsl to generate builtin_function.cpp for libglsl. | ||
| 389 | -# For this to work, a dummy version of builtin_function.cpp, builtin_stubs.cpp, is used. | ||
| 390 | +SUBDIRS = builtin_compiler glcpp | ||
| 391 | |||
| 392 | AM_CPPFLAGS = \ | ||
| 393 | -I$(top_srcdir)/include \ | ||
| 394 | @@ -38,32 +36,23 @@ AM_LFLAGS = --nounistd -o$(LEX_OUTPUT_ROOT).c | ||
| 395 | |||
| 396 | include Makefile.sources | ||
| 397 | |||
| 398 | -noinst_LTLIBRARIES = libglslcommon.la libglsl.la | ||
| 399 | -noinst_PROGRAMS = glsl_compiler glsl_test builtin_compiler | ||
| 400 | +noinst_LTLIBRARIES = libglsl.la | ||
| 401 | +noinst_PROGRAMS = glsl_compiler glsl_test | ||
| 402 | |||
| 403 | -# common sources for builtin_compiler and libglsl | ||
| 404 | -libglslcommon_la_SOURCES = \ | ||
| 405 | +libglsl_la_SOURCES = \ | ||
| 406 | glsl_lexer.ll \ | ||
| 407 | glsl_parser.cc \ | ||
| 408 | $(LIBGLSL_FILES) \ | ||
| 409 | - $(LIBGLSL_CXX_FILES) | ||
| 410 | - | ||
| 411 | -libglslcommon_la_LIBADD = glcpp/libglcpp.la | ||
| 412 | - | ||
| 413 | -# common sources for builtin_compiler and glsl_compiler | ||
| 414 | -GLSL2_SOURCES = \ | ||
| 415 | - $(top_srcdir)/src/mesa/program/hash_table.c \ | ||
| 416 | - $(top_srcdir)/src/mesa/program/symbol_table.c \ | ||
| 417 | - $(GLSL_COMPILER_CXX_FILES) | ||
| 418 | - | ||
| 419 | -libglsl_la_SOURCES = \ | ||
| 420 | + $(LIBGLSL_CXX_FILES) \ | ||
| 421 | builtin_function.cpp | ||
| 422 | |||
| 423 | -libglsl_la_LIBADD = libglslcommon.la | ||
| 424 | +libglsl_la_LIBADD = glcpp/libglcpp.la | ||
| 425 | libglsl_la_LDFLAGS = | ||
| 426 | |||
| 427 | glsl_compiler_SOURCES = \ | ||
| 428 | - $(GLSL2_SOURCES) | ||
| 429 | + $(top_srcdir)/src/mesa/program/hash_table.c \ | ||
| 430 | + $(top_srcdir)/src/mesa/program/symbol_table.c \ | ||
| 431 | + $(GLSL_COMPILER_CXX_FILES) | ||
| 432 | |||
| 433 | glsl_compiler_LDADD = libglsl.la | ||
| 434 | |||
| 435 | @@ -76,12 +65,6 @@ glsl_test_SOURCES = \ | ||
| 436 | |||
| 437 | glsl_test_LDADD = libglsl.la | ||
| 438 | |||
| 439 | -builtin_compiler_SOURCES = \ | ||
| 440 | - $(GLSL2_SOURCES) \ | ||
| 441 | - builtin_stubs.cpp | ||
| 442 | - | ||
| 443 | -builtin_compiler_LDADD = libglslcommon.la | ||
| 444 | - | ||
| 445 | # automake <=1.11 and automake >=1.12 have different conventions for naming C++ header files | ||
| 446 | # made by yacc. To work with both, we write our own rule rather than using automake's. | ||
| 447 | # When (if) we require automake >=1.12 in configure.ac, this can be removed, and we can use | ||
| 448 | @@ -89,16 +72,11 @@ builtin_compiler_LDADD = libglslcommon.la | ||
| 449 | glsl_parser.cc glsl_parser.h: glsl_parser.yy | ||
| 450 | $(AM_V_GEN) $(YACC) -v -o glsl_parser.cc -p "_mesa_glsl_" --defines=glsl_parser.h $< | ||
| 451 | |||
| 452 | -BUILT_SOURCES = glsl_parser.h builtin_function.cpp | ||
| 453 | -CLEANFILES = glsl_lexer.cc glsl_parser.cc $(BUILT_SOURCES) | ||
| 454 | - | ||
| 455 | -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) | ||
| 456 | - $(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/builtins/tools/generate_builtins.py ./builtin_compiler > builtin_function.cpp || rm -f builtin_function.cpp | ||
| 457 | - | ||
| 458 | -glcpp/libglcpp.la: | ||
| 459 | - cd glcpp ; $(MAKE) $(AM_MAKEFLAGS) | ||
| 460 | +BUILT_SOURCES = glsl_parser.h | ||
| 461 | +CLEANFILES = glsl_lexer.cc glsl_parser.cc $(BUILT_SOURCES) builtin_function.cpp | ||
| 462 | |||
| 463 | -SUBDIRS = glcpp | ||
| 464 | +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) | ||
| 465 | + $(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 | ||
| 466 | |||
| 467 | # Provide compatibility with scripts for the old Mesa build system for | ||
| 468 | # a while by putting a link to the library in the current directory. | ||
| 469 | diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am | ||
| 470 | new file mode 100644 | ||
| 471 | index 0000000..72032b5 | ||
| 472 | --- /dev/null | ||
| 473 | +++ b/src/glsl/builtin_compiler/Makefile.am | ||
| 474 | @@ -0,0 +1,68 @@ | ||
| 475 | +# Copyright © 2012 Jon TURNEY | ||
| 476 | +# Copyright © 2012 Thierry Reding | ||
| 477 | +# | ||
| 478 | +# Permission is hereby granted, free of charge, to any person obtaining a | ||
| 479 | +# copy of this software and associated documentation files (the "Software"), | ||
| 480 | +# to deal in the Software without restriction, including without limitation | ||
| 481 | +# the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
| 482 | +# and/or sell copies of the Software, and to permit persons to whom the | ||
| 483 | +# Software is furnished to do so, subject to the following conditions: | ||
| 484 | +# | ||
| 485 | +# The above copyright notice and this permission notice (including the next | ||
| 486 | +# paragraph) shall be included in all copies or substantial portions of the | ||
| 487 | +# Software. | ||
| 488 | +# | ||
| 489 | +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 490 | +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 491 | +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
| 492 | +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 493 | +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
| 494 | +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||
| 495 | +# IN THE SOFTWARE. | ||
| 496 | + | ||
| 497 | +CC = @CC_FOR_BUILD@ | ||
| 498 | +CFLAGS = @CFLAGS_FOR_BUILD@ | ||
| 499 | +CPP = @CPP_FOR_BUILD@ | ||
| 500 | +CPPFLAGS = @CPPFLAGS_FOR_BUILD@ | ||
| 501 | +CXX = @CXX_FOR_BUILD@ | ||
| 502 | +CXXFLAGS = @CXXFLAGS_FOR_BUILD@ | ||
| 503 | +LD = @LD_FOR_BUILD@ | ||
| 504 | +LDFLAGS = @LDFLAGS_FOR_BUILD@ | ||
| 505 | + | ||
| 506 | +AM_CFLAGS = \ | ||
| 507 | + -I $(top_srcdir)/include \ | ||
| 508 | + -I $(top_srcdir)/src/mapi \ | ||
| 509 | + -I $(top_srcdir)/src/mesa \ | ||
| 510 | + -I $(GLSL_SRCDIR) \ | ||
| 511 | + -I $(GLSL_SRCDIR)/glcpp \ | ||
| 512 | + $(DEFINES_FOR_BUILD) | ||
| 513 | + | ||
| 514 | +AM_CXXFLAGS = $(AM_CFLAGS) | ||
| 515 | + | ||
| 516 | +AM_YFLAGS = -v -d -p "glcpp_parser_" | ||
| 517 | +AM_LFLAGS = --nounistd -o$(LEX_OUTPUT_ROOT).c | ||
| 518 | + | ||
| 519 | +include ../Makefile.sources | ||
| 520 | + | ||
| 521 | +noinst_PROGRAMS = builtin_compiler | ||
| 522 | + | ||
| 523 | +builtin_compiler_SOURCES = \ | ||
| 524 | + $(GLSL_SRCDIR)/glcpp/glcpp-lex.l \ | ||
| 525 | + $(GLSL_SRCDIR)/glcpp/glcpp-parse.y \ | ||
| 526 | + $(LIBGLCPP_FILES) \ | ||
| 527 | + $(GLSL_SRCDIR)/glsl_lexer.ll \ | ||
| 528 | + $(GLSL_SRCDIR)/glsl_parser.cc \ | ||
| 529 | + $(LIBGLSL_FILES) \ | ||
| 530 | + $(LIBGLSL_CXX_FILES) \ | ||
| 531 | + $(top_srcdir)/src/mesa/program/hash_table.c \ | ||
| 532 | + $(top_srcdir)/src/mesa/program/symbol_table.c \ | ||
| 533 | + $(GLSL_COMPILER_CXX_FILES) \ | ||
| 534 | + builtin_stubs.cpp | ||
| 535 | + | ||
| 536 | +BUILT_SOURCES = \ | ||
| 537 | + glcpp-lex.c \ | ||
| 538 | + glcpp-parse.c \ | ||
| 539 | + glcpp-parse.h \ | ||
| 540 | + glsl_lexer.cc | ||
| 541 | + | ||
| 542 | +CLEANFILES = $(BUILT_SOURCES) | ||
| 543 | diff --git a/src/glsl/builtin_compiler/builtin_stubs.cpp b/src/glsl/builtin_compiler/builtin_stubs.cpp | ||
| 544 | new file mode 100644 | ||
| 545 | index 0000000..dfa5d32 | ||
| 546 | --- /dev/null | ||
| 547 | +++ b/src/glsl/builtin_compiler/builtin_stubs.cpp | ||
| 548 | @@ -0,0 +1,39 @@ | ||
| 549 | +/* | ||
| 550 | + * Copyright © 2010 Intel Corporation | ||
| 551 | + * | ||
| 552 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
| 553 | + * copy of this software and associated documentation files (the "Software"), | ||
| 554 | + * to deal in the Software without restriction, including without limitation | ||
| 555 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
| 556 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
| 557 | + * Software is furnished to do so, subject to the following conditions: | ||
| 558 | + * | ||
| 559 | + * The above copyright notice and this permission notice (including the next | ||
| 560 | + * paragraph) shall be included in all copies or substantial portions of the | ||
| 561 | + * Software. | ||
| 562 | + * | ||
| 563 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 564 | + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 565 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
| 566 | + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 567 | + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
| 568 | + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | ||
| 569 | + * DEALINGS IN THE SOFTWARE. | ||
| 570 | + */ | ||
| 571 | + | ||
| 572 | +#include <stdio.h> | ||
| 573 | +#include "glsl_parser_extras.h" | ||
| 574 | + | ||
| 575 | +/* A dummy file. When compiling prototypes, we don't care about builtins. | ||
| 576 | + * We really don't want to half-compile builtin_functions.cpp and fail, though. | ||
| 577 | + */ | ||
| 578 | +void | ||
| 579 | +_mesa_glsl_release_functions(void) | ||
| 580 | +{ | ||
| 581 | +} | ||
| 582 | + | ||
| 583 | +void | ||
| 584 | +_mesa_glsl_initialize_functions(_mesa_glsl_parse_state *state) | ||
| 585 | +{ | ||
| 586 | + (void) state; | ||
| 587 | +} | ||
| 588 | diff --git a/src/glsl/builtin_stubs.cpp b/src/glsl/builtin_stubs.cpp | ||
| 589 | deleted file mode 100644 | ||
| 590 | index dfa5d32..0000000 | ||
| 591 | --- a/src/glsl/builtin_stubs.cpp | ||
| 592 | +++ /dev/null | ||
| 593 | @@ -1,39 +0,0 @@ | ||
| 594 | -/* | ||
| 595 | - * Copyright © 2010 Intel Corporation | ||
| 596 | - * | ||
| 597 | - * Permission is hereby granted, free of charge, to any person obtaining a | ||
| 598 | - * copy of this software and associated documentation files (the "Software"), | ||
| 599 | - * to deal in the Software without restriction, including without limitation | ||
| 600 | - * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
| 601 | - * and/or sell copies of the Software, and to permit persons to whom the | ||
| 602 | - * Software is furnished to do so, subject to the following conditions: | ||
| 603 | - * | ||
| 604 | - * The above copyright notice and this permission notice (including the next | ||
| 605 | - * paragraph) shall be included in all copies or substantial portions of the | ||
| 606 | - * Software. | ||
| 607 | - * | ||
| 608 | - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 609 | - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 610 | - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
| 611 | - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 612 | - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
| 613 | - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | ||
| 614 | - * DEALINGS IN THE SOFTWARE. | ||
| 615 | - */ | ||
| 616 | - | ||
| 617 | -#include <stdio.h> | ||
| 618 | -#include "glsl_parser_extras.h" | ||
| 619 | - | ||
| 620 | -/* A dummy file. When compiling prototypes, we don't care about builtins. | ||
| 621 | - * We really don't want to half-compile builtin_functions.cpp and fail, though. | ||
| 622 | - */ | ||
| 623 | -void | ||
| 624 | -_mesa_glsl_release_functions(void) | ||
| 625 | -{ | ||
| 626 | -} | ||
| 627 | - | ||
| 628 | -void | ||
| 629 | -_mesa_glsl_initialize_functions(_mesa_glsl_parse_state *state) | ||
| 630 | -{ | ||
| 631 | - (void) state; | ||
| 632 | -} | ||
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 80735a65e9..0000000000 --- a/meta/recipes-graphics/mesa/mesa/dont-fail-if-libX11-isnt-installed.patch +++ /dev/null | |||
| @@ -1,36 +0,0 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | From d6b06474f69129eb41ecd85d6b3bb0eb7b9dccb3 Mon Sep 17 00:00:00 2001 | ||
| 4 | From: Daniel Stone <daniel@fooishbar.org> | ||
| 5 | Date: Tue, 9 Oct 2012 14:27:06 +1100 | ||
| 6 | Subject: [PATCH] build: Don't fail if libX11 isn't installed | ||
| 7 | |||
| 8 | configure.ac would previously refuse to complete if libX11 wasn't | ||
| 9 | installed, even if we'd disabled GLX and weren't building an X11 EGL | ||
| 10 | platform. Make the check simply set the no_x variable that's used (but | ||
| 11 | never set) immediately below for what looks like this very case. | ||
| 12 | |||
| 13 | Signed-off-by: Daniel Stone <daniel@fooishbar.org> | ||
| 14 | Reviewed-by: Matt Turner <mattst88@gmail.com> | ||
| 15 | Reviewed-by: Dan Nicholson <dbn.lists@gmail.com> | ||
| 16 | (cherry picked from commit 4004620d34a580c8fdb965d9b640e97453fc8b28) | ||
| 17 | --- | ||
| 18 | configure.ac | 2 +- | ||
| 19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 20 | |||
| 21 | diff --git a/configure.ac b/configure.ac | ||
| 22 | index eb273b9..b384b44 100644 | ||
| 23 | --- a/configure.ac | ||
| 24 | +++ b/configure.ac | ||
| 25 | @@ -836,7 +836,7 @@ if test "x$enable_dri" = xyes; then | ||
| 26 | fi | ||
| 27 | |||
| 28 | dnl Find out if X is available. | ||
| 29 | -PKG_CHECK_MODULES([X11], [x11]) | ||
| 30 | +PKG_CHECK_MODULES([X11], [x11], [no_x=no], [no_x=yes]) | ||
| 31 | |||
| 32 | dnl Try to tell the user that the --x-* options are only used when | ||
| 33 | dnl pkg-config is not available. This must be right after AC_PATH_XTRA. | ||
| 34 | -- | ||
| 35 | 1.7.10.4 | ||
| 36 | |||
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 6436b592b4..0000000000 --- a/meta/recipes-graphics/mesa/mesa/fix-egl-compilation-without-x11-headers.patch +++ /dev/null | |||
| @@ -1,32 +0,0 @@ | |||
| 1 | Upstream-Status: Submitted | ||
| 2 | |||
| 3 | Picked from mesa-dev mailing list: http://marc.info/?l=mesa3d-dev&m=133053004130468 | ||
| 4 | |||
| 5 | From: Benjamin Franzke <benjaminfranzke@googlemail.com> | ||
| 6 | Date: Wed, 29 Feb 2012 15:36:23 +0100 | ||
| 7 | Subject: [PATCH] configure: Fix egl compilation without x11 headers | ||
| 8 | |||
| 9 | We dont want eglplatform.h to typedef egl native types | ||
| 10 | to x11 types, when x11 headers are not available. | ||
| 11 | --- | ||
| 12 | configure.ac | 4 ++++ | ||
| 13 | 1 file changed, 4 insertions(+) | ||
| 14 | |||
| 15 | diff --git a/configure.ac b/configure.ac | ||
| 16 | index b384b44..8eb8459 100644 | ||
| 17 | --- a/configure.ac | ||
| 18 | +++ b/configure.ac | ||
| 19 | @@ -1262,6 +1262,10 @@ if test "x$enable_egl" = xyes; then | ||
| 20 | |||
| 21 | AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"]) | ||
| 22 | |||
| 23 | + if test "$have_x" != yes; then | ||
| 24 | + DEFINES="$DEFINES -DMESA_EGL_NO_X11_HEADERS" | ||
| 25 | + fi | ||
| 26 | + | ||
| 27 | if test "$enable_static" != yes; then | ||
| 28 | # build egl_glx when libGL is built | ||
| 29 | if test "x$enable_glx" = xyes; then | ||
| 30 | -- | ||
| 31 | 1.7.10.4 | ||
| 32 | |||
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 0000000000..34226ea58b --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | The target libtool is used when building host binaries, which predictably | ||
| 2 | doesn't work. | ||
| 3 | |||
| 4 | Upstream-Status: Submitted (https://bugs.freedesktop.org/show_bug.cgi?id=44618) | ||
| 5 | Signed-off-by: Jonathan Liu <net147@gmail.com> | ||
| 6 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
| 7 | |||
| 8 | diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am | ||
| 9 | index e11a17f..8ebe0a2 100644 | ||
| 10 | --- a/src/glsl/builtin_compiler/Makefile.am | ||
| 11 | +++ b/src/glsl/builtin_compiler/Makefile.am | ||
| 12 | @@ -64,6 +64,8 @@ AM_CXXFLAGS = $(AM_CFLAGS) | ||
| 13 | include ../Makefile.sources | ||
| 14 | |||
| 15 | noinst_PROGRAMS = builtin_compiler | ||
| 16 | + | ||
| 17 | +if !CROSS_COMPILING | ||
| 18 | noinst_LTLIBRARIES = libglslcore.la libglcpp.la | ||
| 19 | |||
| 20 | libglcpp_la_SOURCES = \ | ||
| 21 | @@ -73,6 +75,7 @@ libglcpp_la_SOURCES = \ | ||
| 22 | libglslcore_la_SOURCES = \ | ||
| 23 | $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \ | ||
| 24 | $(LIBGLSL_FILES) | ||
| 25 | +endif | ||
| 26 | |||
| 27 | builtin_compiler_SOURCES = \ | ||
| 28 | $(top_srcdir)/src/mesa/main/hash_table.c \ | ||
| 29 | @@ -81,4 +84,14 @@ builtin_compiler_SOURCES = \ | ||
| 30 | $(top_srcdir)/src/mesa/program/symbol_table.c \ | ||
| 31 | $(BUILTIN_COMPILER_CXX_FILES) \ | ||
| 32 | $(GLSL_COMPILER_CXX_FILES) | ||
| 33 | + | ||
| 34 | +if CROSS_COMPILING | ||
| 35 | +builtin_compiler_SOURCES += \ | ||
| 36 | + $(LIBGLCPP_GENERATED_FILES) \ | ||
| 37 | + $(LIBGLCPP_FILES) \ | ||
| 38 | + $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \ | ||
| 39 | + $(LIBGLSL_FILES) | ||
| 40 | +builtin_compiler_CPPFLAGS = $(AM_CPPFLAGS) | ||
| 41 | +else | ||
| 42 | builtin_compiler_LDADD = libglslcore.la libglcpp.la | ||
| 43 | +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 6671f994b0..0000000000 --- a/meta/recipes-graphics/mesa/mesa_9.0.2.bb +++ /dev/null | |||
| @@ -1,4 +0,0 @@ | |||
| 1 | require mesa-common.inc | ||
| 2 | require mesa-${PV}.inc | ||
| 3 | require mesa.inc | ||
| 4 | PR = "${INC_PR}.1" | ||
diff --git a/meta/recipes-graphics/mesa/mesa_9.1.3.bb b/meta/recipes-graphics/mesa/mesa_9.1.3.bb new file mode 100644 index 0000000000..60a90a3c73 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa_9.1.3.bb | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \ | ||
| 2 | file://EGL-Mutate-NativeDisplayType-depending-on-config.patch \ | ||
| 3 | file://fix-glsl-cross.patch \ | ||
| 4 | " | ||
| 5 | |||
| 6 | SRC_URI[md5sum] = "952ccd03547ed72333b64e1746cf8ada" | ||
| 7 | SRC_URI[sha256sum] = "8d5dac2202d0355bff5cfd183582ec8167d1d1227b7bb7a669acecbeaa52d766" | ||
| 8 | |||
| 9 | LIC_FILES_CHKSUM = "file://docs/license.html;md5=42d77d95cba529a3637129be87d6555d" | ||
| 10 | |||
| 11 | S = "${WORKDIR}/Mesa-${PV}" | ||
| 12 | |||
| 13 | require mesa-common.inc | ||
| 14 | require mesa.inc | ||
