qt: don't download patch from Github
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 2 Jul 2017 16:53:34 +0000 (18:53 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 2 Jul 2017 22:05:18 +0000 (00:05 +0200)
Patches downloaded from Github are not stable, so bring them in the
tree.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
27 files changed:
package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch [new file with mode: 0644]
package/qt/0001-configure.patch [deleted file]
package/qt/0002-configure.patch [new file with mode: 0644]
package/qt/0002-eglwsegl-use-system.patch [deleted file]
package/qt/0003-eglwsegl-use-system.patch [new file with mode: 0644]
package/qt/0003-fix-const-atomics.patch [deleted file]
package/qt/0004-fix-const-atomics.patch [new file with mode: 0644]
package/qt/0004-pthread_getattr_np.patch [deleted file]
package/qt/0005-pthread_getattr_np.patch [new file with mode: 0644]
package/qt/0005-script-qtdbus-no-gui.patch [deleted file]
package/qt/0006-Add-initial-support-of-ARC-architecture.patch [deleted file]
package/qt/0006-script-qtdbus-no-gui.patch [new file with mode: 0644]
package/qt/0007-Add-initial-support-of-ARC-architecture.patch [new file with mode: 0644]
package/qt/0007-Prevent-unaligned-access-on-ARC.patch [deleted file]
package/qt/0008-Fix-conversion-constructor-error-for-legacy-c-compil.patch [deleted file]
package/qt/0008-Prevent-unaligned-access-on-ARC.patch [new file with mode: 0644]
package/qt/0009-Fix-conversion-constructor-error-for-legacy-c-compil.patch [new file with mode: 0644]
package/qt/0009-Fix-library-inclusion-order-when-building-statically.patch [deleted file]
package/qt/0010-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch [deleted file]
package/qt/0010-Fix-library-inclusion-order-when-building-statically.patch [new file with mode: 0644]
package/qt/0011-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch [new file with mode: 0644]
package/qt/0011-Link-with-ldl-option-only-when-it-is-supported.patch [deleted file]
package/qt/0012-Link-with-ldl-option-only-when-it-is-supported.patch [new file with mode: 0644]
package/qt/0012-OpenGL-EGL-Avoid-X11-header-collision.patch [deleted file]
package/qt/0013-OpenGL-EGL-Avoid-X11-header-collision.patch [new file with mode: 0644]
package/qt/qt.hash
package/qt/qt.mk

diff --git a/package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch b/package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch
new file mode 100644 (file)
index 0000000..4cec4bd
--- /dev/null
@@ -0,0 +1,29 @@
+From b8f98d956501dfa4ce03a137f15d404930a56066 Mon Sep 17 00:00:00 2001
+From: Dmitry Shachnev <mitya57@gmail.com>
+Date: Sat, 5 Mar 2016 10:25:33 +0300
+Subject: [PATCH] alsatest: Fix the check to treat alsalib 1.1.x as correct
+ version
+
+Task-number: QTBUG-51681
+Change-Id: I63266c33342f02f4d1a5ea5786f5fbc5a1b421b3
+Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
+[Upstream commit: https://github.com/qtproject/qtbase/commit/b8f98d956501dfa4ce03a137f15d404930a56066]
+[Patch fixing ALSA detection. Taken from Qt5, but applies fine to Qt4.]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ config.tests/unix/alsa/alsatest.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config.tests/unix/alsa/alsatest.cpp b/config.tests/unix/alsa/alsatest.cpp
+index cab6533977..0b45819b61 100644
+--- a/config.tests/unix/alsa/alsatest.cpp
++++ b/config.tests/unix/alsa/alsatest.cpp
+@@ -32,7 +32,7 @@
+ ****************************************************************************/
+ #include <alsa/asoundlib.h>
+-#if(!(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10))
++#if SND_LIB_VERSION < 0x1000a  // 1.0.10
+ #error "Alsa version found too old, require >= 1.0.10"
+ #endif
diff --git a/package/qt/0001-configure.patch b/package/qt/0001-configure.patch
deleted file mode 100644 (file)
index 07c9630..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-Fix -hostprefix behaviour
-
-When -hostprefix ./configure option is used, Qt installs all its
-headers, libraries and binaries inside the given host prefix, instead
-of the prefix. This is used by Buildroot to make sure that all Qt
-libraries and headers are installed in $(STAGING_DIR).
-
-Qt ./configure script also allows to tune the installation location of
-various elements, for examples the plugins through the -plugindir
-option. Unfortunately, this option only impact the installation path
-on the target, but not on the host when -hostprefix is used.
-
-This patch modifies Qt ./configure script so that HOST_*PATH_STR
-variables are composed of the host prefix concatenated with the path
-of installation on the target. This way, the plugin installation local
-in the $(STAGING_DIR) and on the target remains the same.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
----
- configure |   18 +++++++++---------
- 1 file changed, 9 insertions(+), 9 deletions(-)
-
-Index: qt-everywhere-opensource-src-4.8.1/configure
-===================================================================
---- qt-everywhere-opensource-src-4.8.1.orig/configure
-+++ qt-everywhere-opensource-src-4.8.1/configure
-@@ -4661,15 +4661,15 @@
- if [ ! -z "$QT_HOST_PREFIX" ]; then
--    HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
--    HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
--    HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
--    HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
--    HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
--    HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
--    HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"`
--    HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
--    HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
-+    HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX/$QT_INSTALL_PREFIX"`
-+    HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/$QT_INSTALL_DOCS"`
-+    HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/$QT_INSTALL_HEADERS"`
-+    HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/$QT_INSTALL_LIBS"`
-+    HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/$QT_INSTALL_BINS"`
-+    HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/$QT_INSTALL_PLUGINS"`
-+    HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/$QT_INSTALL_IMPORTS"`
-+    HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX/$QT_INSTALL_DATA"`
-+    HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/$QT_INSTALL_TRANSLATIONS"`
-     HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
-     HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
-     HOSTDEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
diff --git a/package/qt/0002-configure.patch b/package/qt/0002-configure.patch
new file mode 100644 (file)
index 0000000..07c9630
--- /dev/null
@@ -0,0 +1,52 @@
+Fix -hostprefix behaviour
+
+When -hostprefix ./configure option is used, Qt installs all its
+headers, libraries and binaries inside the given host prefix, instead
+of the prefix. This is used by Buildroot to make sure that all Qt
+libraries and headers are installed in $(STAGING_DIR).
+
+Qt ./configure script also allows to tune the installation location of
+various elements, for examples the plugins through the -plugindir
+option. Unfortunately, this option only impact the installation path
+on the target, but not on the host when -hostprefix is used.
+
+This patch modifies Qt ./configure script so that HOST_*PATH_STR
+variables are composed of the host prefix concatenated with the path
+of installation on the target. This way, the plugin installation local
+in the $(STAGING_DIR) and on the target remains the same.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+---
+ configure |   18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+Index: qt-everywhere-opensource-src-4.8.1/configure
+===================================================================
+--- qt-everywhere-opensource-src-4.8.1.orig/configure
++++ qt-everywhere-opensource-src-4.8.1/configure
+@@ -4661,15 +4661,15 @@
+ if [ ! -z "$QT_HOST_PREFIX" ]; then
+-    HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
+-    HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
+-    HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
+-    HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
+-    HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
+-    HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
+-    HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"`
+-    HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
+-    HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
++    HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX/$QT_INSTALL_PREFIX"`
++    HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/$QT_INSTALL_DOCS"`
++    HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/$QT_INSTALL_HEADERS"`
++    HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/$QT_INSTALL_LIBS"`
++    HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/$QT_INSTALL_BINS"`
++    HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/$QT_INSTALL_PLUGINS"`
++    HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/$QT_INSTALL_IMPORTS"`
++    HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX/$QT_INSTALL_DATA"`
++    HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/$QT_INSTALL_TRANSLATIONS"`
+     HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
+     HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
+     HOSTDEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
diff --git a/package/qt/0002-eglwsegl-use-system.patch b/package/qt/0002-eglwsegl-use-system.patch
deleted file mode 100644 (file)
index cb30381..0000000
+++ /dev/null
@@ -1,802 +0,0 @@
-Patch to remove obsolete powervr headers and instead use the headers provided
-on the system.
-
-Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
----
-Index: qt-4.8.5/src/3rdparty/powervr/pvr2d.h
-===================================================================
---- qt-4.8.5.orig/src/3rdparty/powervr/pvr2d.h 2013-07-08 11:24:33.010516867 -0500
-+++ /dev/null  1970-01-01 00:00:00.000000000 +0000
-@@ -1,502 +0,0 @@
--/*!****************************************************************************
--@File          pvr2d.h
--@Title         PVR2D external header file
--@Author        Imagination Technologies
--@Copyright     Copyright (c) by Imagination Technologies Limited.
--                              This specification is protected by copyright laws and contains
--                              material proprietary to Imagination Technologies Limited.
--                              You may use and distribute this specification free of charge for implementing
--                              the functionality therein, without altering or removing any trademark, copyright,
--                              or other notice from the specification.
--@Platform      Generic
--@Description   PVR2D definitions for PVR2D clients
--******************************************************************************/
--
--
--/******************************************************************************
--Modifications :-
--$Log: pvr2d.h $
--******************************************************************************/
--
--#ifndef _PVR2D_H_
--#define _PVR2D_H_
--
--#ifdef __cplusplus
--extern "C" {
--#endif
--
--/* PVR2D Platform-specific definitions */
--#define PVR2D_EXPORT
--#define PVR2D_IMPORT
--
--
--#define PVR2D_REV_MAJOR               2
--#define PVR2D_REV_MINOR               1
--
--typedef enum
--{
--      PVR2D_FALSE = 0,
--      PVR2D_TRUE
--} PVR2D_BOOL;
--
--
--/* error codes */
--typedef enum
--{
--      PVR2D_OK = 0,
--      PVR2DERROR_INVALID_PARAMETER = -1,
--      PVR2DERROR_DEVICE_UNAVAILABLE = -2,
--      PVR2DERROR_INVALID_CONTEXT = -3,
--      PVR2DERROR_MEMORY_UNAVAILABLE = -4,
--      PVR2DERROR_DEVICE_NOT_PRESENT = -5,
--      PVR2DERROR_IOCTL_ERROR = -6,
--      PVR2DERROR_GENERIC_ERROR = -7,
--      PVR2DERROR_BLT_NOTCOMPLETE = -8,
--      PVR2DERROR_HW_FEATURE_NOT_SUPPORTED = -9,
--      PVR2DERROR_NOT_YET_IMPLEMENTED = -10,
--      PVR2DERROR_MAPPING_FAILED = -11
--}PVR2DERROR;
--
--
--/* pixel formats */
--typedef enum
--{
--      PVR2D_1BPP = 0,
--      PVR2D_RGB565,
--      PVR2D_ARGB4444,
--      PVR2D_RGB888,
--      PVR2D_ARGB8888,
--      PVR2D_ARGB1555,
--      PVR2D_ALPHA8,
--      PVR2D_ALPHA4,
--      PVR2D_PAL2,
--      PVR2D_PAL4,
--      PVR2D_PAL8,
--      PVR2D_VGAEMU
--
--}PVR2DFORMAT;
--
--
--/* wrap surface type */
--typedef enum
--{
--      PVR2D_WRAPFLAG_NONCONTIGUOUS = 0,
--      PVR2D_WRAPFLAG_CONTIGUOUS = 1,
--
--}PVR2DWRAPFLAGS;
--
--/* flags for control information of additional blits */
--typedef enum
--{
--      PVR2D_BLIT_DISABLE_ALL                                  = 0x0000,       /* disable all additional controls */
--      PVR2D_BLIT_CK_ENABLE                                    = 0x0001,       /* enable colour key */
--      PVR2D_BLIT_GLOBAL_ALPHA_ENABLE                  = 0x0002,       /* enable standard global alpha */
--      PVR2D_BLIT_PERPIXEL_ALPHABLEND_ENABLE   = 0x0004,       /* enable per-pixel alpha bleding */
--      PVR2D_BLIT_PAT_SURFACE_ENABLE                   = 0x0008,       /* enable pattern surf (disable fill) */
--      PVR2D_BLIT_FULLY_SPECIFIED_ALPHA_ENABLE = 0x0010,       /* enable fully specified alpha */
--      PVR2D_BLIT_ROT_90                                               = 0x0020,       /* apply 90 degree rotation to the blt */
--      PVR2D_BLIT_ROT_180                                              = 0x0040,       /* apply 180 degree rotation to the blt */
--      PVR2D_BLIT_ROT_270                                              = 0x0080,       /* apply 270 degree rotation to the blt */
--      PVR2D_BLIT_COPYORDER_TL2BR                              = 0x0100,       /* copy order overrides */
--      PVR2D_BLIT_COPYORDER_BR2TL                              = 0x0200,
--      PVR2D_BLIT_COPYORDER_TR2BL                              = 0x0400,
--      PVR2D_BLIT_COPYORDER_BL2TR                              = 0x0800,
--      PVR2D_BLIT_COLKEY_SOURCE                                = 0x1000,       /* Key colour is on the source surface */
--      PVR2D_BLIT_COLKEY_DEST                                  = 0x2000        /* Key colour is on the destination surface */
--
--} PVR2DBLITFLAGS;
--
--/* standard alpha-blending functions, AlphaBlendingFunc field of PVR2DBLTINFO */
--typedef enum
--{
--      PVR2D_ALPHA_OP_SRC_DSTINV = 1,  /* source alpha : Cdst = Csrc*Asrc + Cdst*(1-Asrc) */
--      PVR2D_ALPHA_OP_SRCP_DSTINV = 2  /* premultiplied source alpha : Cdst = Csrc + Cdst*(1-Asrc) */
--} PVR2D_ALPHABLENDFUNC;
--
--/* blend ops for fully specified alpha */
--typedef enum
--{
--      PVR2D_BLEND_OP_ZERO = 0,
--      PVR2D_BLEND_OP_ONE = 1,
--      PVR2D_BLEND_OP_SRC = 2,
--      PVR2D_BLEND_OP_DST = 3,
--      PVR2D_BLEND_OP_GLOBAL = 4,
--      PVR2D_BLEND_OP_SRC_PLUS_GLOBAL = 5,
--      PVR2D_BLEND_OP_DST_PLUS_GLOBAL = 6
--}PVR2D_BLEND_OP;
--
--
--typedef void* PVR2D_HANDLE;
--
--
--/* Fully specified alpha blend :      pAlpha field of PVR2DBLTINFO structure                                  */
--/* a fully specified Alpha Blend operation is defined as                                                                      */
--/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (ALPHA_3 * DST (ALPHA))                                                    */
--/* DST (RGB)   = (ALPHA_2 * SRC (RGB)) + (ALPHA_4 * DST (RGB))                                                                */
--/* if the pre-multiplication stage is enabled then the equations become the following:                */
--/* PRE_MUL     = ((SRC(A)) * (Global Alpha Value))                                                                                    */
--/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (PRE_MUL * DST (ALPHA))                                                    */
--/* DST (RGB)   = (ALPHA_2 * SRC (RGB)) + (PRE_MUL * DST (RGB))                                                                */
--/* if the transparent source alpha stage is enabled then a source alpha of zero forces the    */
--/* source to be transparent for that pixel regardless of the blend equation being used.               */
--typedef struct _PVR2D_ALPHABLT
--{
--      PVR2D_BLEND_OP  eAlpha1;
--      PVR2D_BOOL              bAlpha1Invert;
--      PVR2D_BLEND_OP  eAlpha2;
--      PVR2D_BOOL              bAlpha2Invert;
--      PVR2D_BLEND_OP  eAlpha3;
--      PVR2D_BOOL              bAlpha3Invert;
--      PVR2D_BLEND_OP  eAlpha4;
--      PVR2D_BOOL              bAlpha4Invert;
--      PVR2D_BOOL              bPremulAlpha;                   /* enable pre-multiplication stage */
--      PVR2D_BOOL              bTransAlpha;                    /* enable transparent source alpha stage */
--      PVR2D_BOOL              bUpdateAlphaLookup;             /* enable and update the 1555-Lookup alpha table */
--      unsigned char   uAlphaLookup0;                  /* 8 bit alpha when A=0 in a 1555-Lookup surface */
--      unsigned char   uAlphaLookup1;                  /* 8 bit alpha when A=1 in a 1555-Lookup surface */
--      unsigned char   uGlobalRGB;                             /* Global Alpha Value for RGB, 0=transparent 255=opaque */
--      unsigned char   uGlobalA;                               /* Global Alpha Value for Alpha */
--
--} PVR2D_ALPHABLT, *PPVR2D_ALPHABLT;
--
--
--/* surface memory info structure */
--typedef struct _PVR2DMEMINFO
--{
--      void                            *pBase;
--      unsigned long           ui32MemSize;
--      unsigned long           ui32DevAddr;
--      unsigned long           ulFlags;
--      void                            *hPrivateData;
--      void                            *hPrivateMapData;
--
--}PVR2DMEMINFO, *PPVR2DMEMINFO;
--
--
--#define PVR2D_MAX_DEVICE_NAME 20
--
--typedef struct _PVR2DDEVICEINFO
--{
--      unsigned long   ulDevID;
--      char                    szDeviceName[PVR2D_MAX_DEVICE_NAME];
--}PVR2DDEVICEINFO;
--
--
--typedef struct _PVR2DISPLAYINFO
--{
--      unsigned long   ulMaxFlipChains;
--      unsigned long   ulMaxBuffersInChain;
--      PVR2DFORMAT             eFormat;
--      unsigned long   ulWidth;
--      unsigned long   ulHeight;
--      long                    lStride;
--      unsigned long   ulMinFlipInterval;
--      unsigned long   ulMaxFlipInterval;
--
--}PVR2DDISPLAYINFO;
--
--
--typedef struct _PVR2DBLTINFO
--{
--      unsigned long   CopyCode;                       /* rop code  */
--      unsigned long   Colour;                         /* fill colour */
--      unsigned long   ColourKey;                      /* colour key */
--      unsigned char   GlobalAlphaValue;       /* global alpha blending */
--      unsigned char   AlphaBlendingFunc;      /* per-pixel alpha-blending function */
--
--      PVR2DBLITFLAGS  BlitFlags;                      /* additional blit control information */
--
--      PVR2DMEMINFO    *pDstMemInfo;           /* destination memory */
--      unsigned long   DstOffset;                      /* byte offset from start of allocation to destination surface pixel 0,0 */
--      long                    DstStride;                      /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
--      long                    DstX, DstY;                     /* pixel offset from start of dest surface to start of blt rectangle */
--      long                    DSizeX,DSizeY;          /* blt size */
--      PVR2DFORMAT             DstFormat;                      /* dest format */
--      unsigned long   DstSurfWidth;           /* size of dest surface in pixels */
--      unsigned long   DstSurfHeight;          /* size of dest surface in pixels */
--
--      PVR2DMEMINFO    *pSrcMemInfo;           /* source mem, (source fields are also used for patterns) */
--      unsigned long   SrcOffset;                      /* byte offset from start of allocation to src/pat surface pixel 0,0 */
--      long                    SrcStride;                      /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
--      long                    SrcX, SrcY;                     /* pixel offset from start of surface to start of source rectangle */
--                                                                              /* for patterns this is the start offset within the pattern */
--      long                    SizeX,SizeY;            /* source rectangle size or pattern size in pixels */
--      PVR2DFORMAT             SrcFormat;                      /* source/pattern format */
--      PVR2DMEMINFO    *pPalMemInfo;           /* source/pattern palette memory containing argb8888 colour table */
--      unsigned long   PalOffset;                      /* byte offset from start of allocation to start of palette */
--      unsigned long   SrcSurfWidth;           /* size of source surface in pixels */
--      unsigned long   SrcSurfHeight;          /* size of source surface in pixels */
--
--      PVR2DMEMINFO    *pMaskMemInfo;          /* mask memory, 1bpp format implied */
--      unsigned long   MaskOffset;                     /* byte offset from start of allocation to mask surface pixel 0,0 */
--      long                    MaskStride;                     /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
--      long                    MaskX, MaskY;           /* mask rect top left (mask size = blt size) */
--      unsigned long   MaskSurfWidth;          /* size of mask surface in pixels */
--      unsigned long   MaskSurfHeight;         /* size of mask surface in pixels */
--      
--      PPVR2D_ALPHABLT pAlpha;                         /* fully specified alpha blend */
--
--}PVR2DBLTINFO, *PPVR2DBLTINFO;
--
--typedef struct _PVR2DRECT
--{
--      long left, top;
--      long right, bottom;
--} PVR2DRECT;
--
--typedef struct
--{
--      PVR2DMEMINFO    *pSurfMemInfo;          /* surface memory */
--      unsigned long   SurfOffset;                     /* byte offset from start of allocation to destination surface pixel 0,0 */
--      long                    Stride;                         /* signed stride */
--      PVR2DFORMAT             Format;
--      unsigned long   SurfWidth;                      /* surface size in pixels */
--      unsigned long   SurfHeight;
--
--} PVR2D_SURFACE, *PPVR2D_SURFACE;
--
--typedef struct
--{
--      unsigned long   *pUseCode;                                      /* USSE code */
--      unsigned long   UseCodeSize;                            /* usse code size in bytes */
--
--} PVR2D_USECODE, *PPVR2D_USECODE;
--
--typedef struct
--{
--      PVR2D_SURFACE                   sDst;                           /* destination surface */
--      PVR2D_SURFACE                   sSrc;                           /* source surface */
--      PVR2DRECT                               rcDest;                         /* destination rectangle */
--      PVR2DRECT                               rcSource;                       /* source rectangle */
--      PVR2D_HANDLE                    hUseCode;                       /* custom USE code (NULL implies source copy) */
--      unsigned long                   UseParams[2];           /* per-blt params for use code */
--
--} PVR2D_3DBLT, *PPVR2D_3DBLT;
--
--
--#define MAKE_COPY_BLIT(src,soff,dest,doff,sx,sy,dx,dy,sz)
--
--typedef void* PVR2DCONTEXTHANDLE;
--typedef void* PVR2DFLIPCHAINHANDLE;
--
--
--// CopyCode field of PVR2DBLTINFO structure:
--// the CopyCode field of the PVR2DBLTINFO structure should contain a rop3 or rop4 code.
--// a rop3 is an 8 bit code that describes a blt with three inputs : source dest and pattern
--// rop4 is a 16 bit code that describes a blt with four inputs : source dest pattern and mask
--// common rop3 codes are defined below
--// a colour fill blt is processed in the pattern channel as a constant colour with a rop code of 0xF0
--// PVR2D_BLIT_PAT_SURFACE_ENABLE defines whether the pattern channel is a surface or a fill colour.
--// a rop4 is defined by two rop3 codes, and the 1 bit-per-pixel mask surface defines which is used.
--// a common rop4 is 0xAAF0 which is the mask copy blt used for text glyphs.
--// CopyCode is taken to be a rop4 when pMaskMemInfo is non zero, otherwise it is assumed to be a rop3
--// use the PVR2DMASKROP4 macro below to construct a rop4 from two rop3's
--// rop3a is the rop used when mask pixel = 1, and rop3b when mask = 0
--#define PVR2DROP4(rop3b, rop3a)                       ((rop3b<<8)|rop3a)
--
--/* common rop codes */
--#define PVR2DROPclear                         0x00       /* 0 (whiteness) */
--#define PVR2DROPset                                   0xFF       /* 1 (blackness) */
--#define PVR2DROPnoop                          0xAA       /* dst (used for masked blts) */
--
--/* source and  dest rop codes */
--#define PVR2DROPand                                   0x88       /* src AND dst */
--#define PVR2DROPandReverse                    0x44       /* src AND NOT dst */
--#define PVR2DROPcopy                          0xCC       /* src (used for source copy and alpha blts) */
--#define PVR2DROPandInverted                   0x22       /* NOT src AND dst */
--#define PVR2DROPxor                                   0x66       /* src XOR dst */
--#define PVR2DROPor                                    0xEE       /* src OR dst */
--#define PVR2DROPnor                                   0x11       /* NOT src AND NOT dst */
--#define PVR2DROPequiv                         0x99       /* NOT src XOR dst */
--#define PVR2DROPinvert                                0x55       /* NOT dst */
--#define PVR2DROPorReverse                     0xDD       /* src OR NOT dst */
--#define PVR2DROPcopyInverted          0x33       /* NOT src */
--#define PVR2DROPorInverted                    0xBB       /* NOT src OR dst */
--#define PVR2DROPnand                          0x77       /* NOT src OR NOT dst */
--
--/* pattern rop codes */
--#define PVR2DPATROPand                                0xA0       /* pat AND dst */
--#define PVR2DPATROPandReverse         0x50       /* pat AND NOT dst */
--#define PVR2DPATROPcopy                               0xF0       /* pat (used for solid color fills and pattern blts) */
--#define PVR2DPATROPandInverted                0x0A       /* NOT pat AND dst */
--#define PVR2DPATROPxor                                0x5A       /* pat XOR dst */
--#define PVR2DPATROPor                         0xFA       /* pat OR dst */
--#define PVR2DPATROPnor                                0x05       /* NOT pat AND NOT dst */
--#define PVR2DPATROPequiv                      0xA5       /* NOT pat XOR dst */
--#define PVR2DPATROPinvert                     0x55       /* NOT dst */
--#define PVR2DPATROPorReverse          0xF5       /* pat OR NOT dst */
--#define PVR2DPATROPcopyInverted               0x0F       /* NOT pat */
--#define PVR2DPATROPorInverted         0xAF       /* NOT pat OR dst */
--#define PVR2DPATROPnand                               0x5F       /* NOT pat OR NOT dst */
--
--/* common rop4 codes */
--#define PVR2DROP4MaskedCopy              PVR2DROP4(PVR2DROPnoop,PVR2DROPcopy)         /* masked source copy blt (used for rounded window corners etc) */
--#define PVR2DROP4MaskedFill              PVR2DROP4(PVR2DROPnoop,PVR2DPATROPcopy)      /* masked colour fill blt (used for text) */
--
--/* Legacy support */
--#define PVR2DROP3_PATMASK                     PVR2DPATROPcopy
--#define PVR2DROP3_SRCMASK                     PVR2DROPcopy
--
--/* pixmap memory alignment */
--#define PVR2D_ALIGNMENT_4                     4                       /* DWORD alignment */
--#define PVR2D_ALIGNMENT_ANY                   0                       /* no alignment    */
--#define PVR2D_ALIGNMENT_PALETTE               16                      /* 16 byte alignment is required for palettes */
--
--/* Heap number for PVR2DGetFrameBuffer */
--#define PVR2D_FB_PRIMARY_SURFACE 0
--
--#define PVR2D_PRESENT_PROPERTY_SRCSTRIDE      (1 << 0)
--#define PVR2D_PRESENT_PROPERTY_DSTSIZE                (1 << 1)
--#define PVR2D_PRESENT_PROPERTY_DSTPOS         (1 << 2)
--#define PVR2D_PRESENT_PROPERTY_CLIPRECTS      (1 << 3)
--#define PVR2D_PRESENT_PROPERTY_INTERVAL               (1 << 4)
--
--
--#define PVR2D_CREATE_FLIPCHAIN_SHARED         (1 << 0)
--#define PVR2D_CREATE_FLIPCHAIN_QUERY          (1 << 1)
--
--/* Functions that the library exports */
--
--PVR2D_IMPORT
--int PVR2DEnumerateDevices(PVR2DDEVICEINFO *pDevInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DCreateDeviceContext(unsigned long ulDevID,
--                                                                      PVR2DCONTEXTHANDLE* phContext,
--                                                                      unsigned long ulFlags);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DDestroyDeviceContext(PVR2DCONTEXTHANDLE hContext);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DGetDeviceInfo(PVR2DCONTEXTHANDLE hContext,
--                                                        PVR2DDISPLAYINFO *pDisplayInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DGetScreenMode(PVR2DCONTEXTHANDLE hContext,
--                                                        PVR2DFORMAT *pFormat,
--                                                        long *plWidth,
--                                                        long *plHeight,
--                                                        long *plStride,
--                                                        int *piRefreshRate);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DGetFrameBuffer(PVR2DCONTEXTHANDLE hContext,
--                                                         int nHeap,
--                                                         PVR2DMEMINFO **ppsMemInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DMemAlloc(PVR2DCONTEXTHANDLE hContext,
--                                               unsigned long ulBytes,
--                                               unsigned long ulAlign,
--                                               unsigned long ulFlags,
--                                               PVR2DMEMINFO **ppsMemInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DMemWrap(PVR2DCONTEXTHANDLE hContext,
--                                              void *pMem,
--                                              unsigned long ulFlags,
--                                              unsigned long ulBytes,
--                                              unsigned long alPageAddress[],
--                                              PVR2DMEMINFO **ppsMemInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DMemMap(PVR2DCONTEXTHANDLE hContext,
--                                              unsigned long ulFlags,
--                                              void *hPrivateMapData,
--                                              PVR2DMEMINFO **ppsDstMem);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DMemFree(PVR2DCONTEXTHANDLE hContext,
--                                              PVR2DMEMINFO *psMemInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DBlt(PVR2DCONTEXTHANDLE hContext,
--                                      PVR2DBLTINFO *pBltInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DBltClipped(PVR2DCONTEXTHANDLE hContext,
--                                                 PVR2DBLTINFO *pBltInfo,
--                                                 unsigned long ulNumClipRects,
--                                                 PVR2DRECT *pClipRects);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DQueryBlitsComplete(PVR2DCONTEXTHANDLE hContext,
--                                                                 PVR2DMEMINFO *pMemInfo,
--                                                                 unsigned int uiWaitForComplete);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DSetPresentBltProperties(PVR2DCONTEXTHANDLE hContext,
--                                                                              unsigned long ulPropertyMask,
--                                                                              long lSrcStride,
--                                                                              unsigned long ulDstWidth,
--                                                                              unsigned long ulDstHeight,
--                                                                              long lDstXPos,
--                                                                              long lDstYPos,
--                                                                              unsigned long ulNumClipRects,
--                                                                              PVR2DRECT *pClipRects,
--                                                                              unsigned long ulSwapInterval);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DPresentBlt(PVR2DCONTEXTHANDLE hContext,
--                                                 PVR2DMEMINFO *pMemInfo,
--                                                 long lRenderID);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DCreateFlipChain(PVR2DCONTEXTHANDLE hContext,
--                                                              unsigned long ulFlags,
--                                                              unsigned long ulNumBuffers,
--                                                              unsigned long ulWidth,
--                                                              unsigned long ulHeight,
--                                                              PVR2DFORMAT eFormat,
--                                                              long *plStride,
--                                                              unsigned long *pulFlipChainID,
--                                                              PVR2DFLIPCHAINHANDLE *phFlipChain);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DDestroyFlipChain(PVR2DCONTEXTHANDLE hContext,
--                                                               PVR2DFLIPCHAINHANDLE hFlipChain);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DGetFlipChainBuffers(PVR2DCONTEXTHANDLE hContext,
--                                                                      PVR2DFLIPCHAINHANDLE hFlipChain,
--                                                                      unsigned long *pulNumBuffers,
--                                                                      PVR2DMEMINFO *psMemInfo[]);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DSetPresentFlipProperties(PVR2DCONTEXTHANDLE hContext,
--                                                                               PVR2DFLIPCHAINHANDLE hFlipChain,
--                                                                               unsigned long ulPropertyMask,
--                                                                               long lDstXPos,
--                                                                               long lDstYPos,
--                                                                               unsigned long ulNumClipRects,
--                                                                               PVR2DRECT *pClipRects,
--                                                                               unsigned long ulSwapInterval);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DPresentFlip(PVR2DCONTEXTHANDLE hContext,
--                                                      PVR2DFLIPCHAINHANDLE hFlipChain,
--                                                      PVR2DMEMINFO *psMemInfo,
--                                                      long lRenderID);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DGetAPIRev(long *lRevMajor, long *lRevMinor);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DLoadUseCode (const PVR2DCONTEXTHANDLE hContext, const unsigned char   *pUseCode,
--                                                                      const unsigned long UseCodeSize, PVR2D_HANDLE *pUseCodeHandle);
--PVR2D_IMPORT
--PVR2DERROR PVR2DFreeUseCode (const PVR2DCONTEXTHANDLE hContext, const PVR2D_HANDLE hUseCodeHandle);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DBlt3D (const PVR2DCONTEXTHANDLE hContext, const PPVR2D_3DBLT pBlt3D);
--
--#ifdef __cplusplus
--}
--#endif 
--
--#endif /* _PVR2D_H_ */
--
--/******************************************************************************
-- End of file (pvr2d.h)
--******************************************************************************/
-Index: qt-4.8.5/src/3rdparty/powervr/wsegl.h
-===================================================================
---- qt-4.8.5.orig/src/3rdparty/powervr/wsegl.h 2013-07-08 11:24:33.010516867 -0500
-+++ /dev/null  1970-01-01 00:00:00.000000000 +0000
-@@ -1,240 +0,0 @@
--/******************************************************************************
-- Name         : wsegl.h
-- Copyright    :       Copyright (c) Imagination Technologies Limited.
--                              This specification is protected by copyright laws and contains
--                              material proprietary to Imagination Technologies Limited.
--                              You may use and distribute this specification free of charge for implementing
--                              the functionality therein, without altering or removing any trademark, copyright,
--                              or other notice from the specification.
-- Platform     : ANSI
--*****************************************************************************/
--
--
--#if !defined(__WSEGL_H__)
--#define __WSEGL_H__
--
--#ifdef __cplusplus
--extern "C" {
--#endif 
--
--/*
--// WSEGL Platform-specific definitions
--*/
--#define WSEGL_EXPORT
--#define WSEGL_IMPORT
--
--/*
--// WSEGL API Version Number
--*/
--
--#define WSEGL_VERSION 1
--#define WSEGL_DEFAULT_DISPLAY 0
--#define WSEGL_DEFAULT_NATIVE_ENGINE 0
--
--#define WSEGL_FALSE           0
--#define WSEGL_TRUE            1
--#define WSEGL_NULL            0
--
--#define       WSEGL_UNREFERENCED_PARAMETER(param) (param) = (param)
--
--/*
--// WSEGL handles
--*/
--typedef void *WSEGLDisplayHandle;
--typedef void *WSEGLDrawableHandle;
--
--/*
--// Display capability type
--*/
--typedef enum WSEGLCapsType_TAG
--{
--      WSEGL_NO_CAPS = 0,
--      WSEGL_CAP_MIN_SWAP_INTERVAL = 1, /* System default value = 1 */
--      WSEGL_CAP_MAX_SWAP_INTERVAL = 2, /* System default value = 1 */
--      WSEGL_CAP_WINDOWS_USE_HW_SYNC = 3, /* System default value = 0 (FALSE) */
--      WSEGL_CAP_PIXMAPS_USE_HW_SYNC = 4, /* System default value = 0 (FALSE) */
--
--} WSEGLCapsType;
--
--/*
--// Display capability
--*/
--typedef struct WSEGLCaps_TAG
--{
--      WSEGLCapsType eCapsType;
--      unsigned long ui32CapsValue;
--
--} WSEGLCaps;
--
--/*
--// Drawable type
--*/
--#define WSEGL_NO_DRAWABLE                     0x0
--#define WSEGL_DRAWABLE_WINDOW         0x1
--#define WSEGL_DRAWABLE_PIXMAP         0x2
--
--
--/*
--// Pixel format of display/drawable
--*/
--typedef enum WSEGLPixelFormat_TAG
--{
--      WSEGL_PIXELFORMAT_565 = 0,
--      WSEGL_PIXELFORMAT_4444 = 1,
--      WSEGL_PIXELFORMAT_8888 = 2,
--      WSEGL_PIXELFORMAT_1555 = 3
--
--} WSEGLPixelFormat;
--
--/*
--// Transparent of display/drawable
--*/
--typedef enum WSEGLTransparentType_TAG
--{
--      WSEGL_OPAQUE = 0,
--      WSEGL_COLOR_KEY = 1,
--
--} WSEGLTransparentType;
--
--/*
--// Display/drawable configuration
--*/
--typedef struct WSEGLConfig_TAG
--{
--      /*
--      // Type of drawables this configuration applies to -
--      // OR'd values of drawable types. 
--      */
--      unsigned long ui32DrawableType;
--
--      /* Pixel format */
--      WSEGLPixelFormat ePixelFormat;
--
--      /* Native Renderable  - set to WSEGL_TRUE if native renderable */
--      unsigned long ulNativeRenderable;
--
--      /* FrameBuffer Level Parameter */
--      unsigned long ulFrameBufferLevel;
--
--      /* Native Visual ID */
--      unsigned long ulNativeVisualID;
--
--      /* Native Visual */
--      void *hNativeVisual;
--
--      /* Transparent Type */
--      WSEGLTransparentType eTransparentType;
--
--      /* Transparent Color - only used if transparent type is COLOR_KEY */
--      unsigned long ulTransparentColor; /* packed as 0x00RRGGBB */
--
--
--} WSEGLConfig;
--
--/*
--// WSEGL errors
--*/
--typedef enum WSEGLError_TAG
--{
--      WSEGL_SUCCESS = 0,
--      WSEGL_CANNOT_INITIALISE = 1,
--      WSEGL_BAD_NATIVE_DISPLAY = 2,
--      WSEGL_BAD_NATIVE_WINDOW = 3,
--      WSEGL_BAD_NATIVE_PIXMAP = 4,
--      WSEGL_BAD_NATIVE_ENGINE = 5,
--      WSEGL_BAD_DRAWABLE = 6,
--      WSEGL_BAD_CONFIG = 7,
--      WSEGL_OUT_OF_MEMORY = 8
--
--} WSEGLError; 
--
--/*
--// Drawable orientation (in degrees anti-clockwise)
--*/
--typedef enum WSEGLRotationAngle_TAG
--{
--      WSEGL_ROTATE_0 = 0,
--      WSEGL_ROTATE_90 = 1,
--      WSEGL_ROTATE_180 = 2,
--      WSEGL_ROTATE_270 = 3
--
--} WSEGLRotationAngle; 
--
--/*
--// Drawable information required by OpenGL-ES driver
--*/
--typedef struct WSEGLDrawableParams_TAG
--{
--      /* Width in pixels of the drawable */
--      unsigned long   ui32Width;
--
--      /* Height in pixels of the drawable */
--      unsigned long   ui32Height;
--
--      /* Stride in pixels of the drawable */
--      unsigned long   ui32Stride;
--
--      /* Pixel format of the drawable */
--      WSEGLPixelFormat        ePixelFormat;
--
--      /* User space cpu virtual address of the drawable */
--      void                    *pvLinearAddress;
--
--      /* HW address of the drawable */
--      unsigned long   ui32HWAddress;
--
--      /* Private data for the drawable */
--      void                    *hPrivateData;
--
--} WSEGLDrawableParams;
--
--
--/*
--// Table of function pointers that is returned by WSEGL_GetFunctionTablePointer()
--//
--// The first entry in the table is the version number of the wsegl.h header file that
--// the module has been written against, and should therefore be set to WSEGL_VERSION
--*/
--typedef struct WSEGL_FunctionTable_TAG
--{
--      unsigned long ui32WSEGLVersion;
--
--      WSEGLError (*pfnWSEGL_IsDisplayValid)(NativeDisplayType);
--
--      WSEGLError (*pfnWSEGL_InitialiseDisplay)(NativeDisplayType, WSEGLDisplayHandle *, const WSEGLCaps **, WSEGLConfig **);
--
--      WSEGLError (*pfnWSEGL_CloseDisplay)(WSEGLDisplayHandle);
--
--      WSEGLError (*pfnWSEGL_CreateWindowDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativeWindowType, WSEGLRotationAngle *);
--
--      WSEGLError (*pfnWSEGL_CreatePixmapDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativePixmapType, WSEGLRotationAngle *);
--
--      WSEGLError (*pfnWSEGL_DeleteDrawable)(WSEGLDrawableHandle);
--
--      WSEGLError (*pfnWSEGL_SwapDrawable)(WSEGLDrawableHandle, unsigned long);
--
--      WSEGLError (*pfnWSEGL_SwapControlInterval)(WSEGLDrawableHandle, unsigned long);
--
--      WSEGLError (*pfnWSEGL_WaitNative)(WSEGLDrawableHandle, unsigned long);
--
--      WSEGLError (*pfnWSEGL_CopyFromDrawable)(WSEGLDrawableHandle, NativePixmapType);
--
--      WSEGLError (*pfnWSEGL_CopyFromPBuffer)(void *, unsigned long, unsigned long, unsigned long, WSEGLPixelFormat, NativePixmapType);
--
--      WSEGLError (*pfnWSEGL_GetDrawableParameters)(WSEGLDrawableHandle, WSEGLDrawableParams *, WSEGLDrawableParams *);
--
--
--} WSEGL_FunctionTable;
--
--
--WSEGL_IMPORT const WSEGL_FunctionTable *WSEGL_GetFunctionTablePointer(void);
--
--#ifdef __cplusplus
--}
--#endif 
--
--#endif /* __WSEGL_H__ */
--
--/******************************************************************************
-- End of file (wsegl.h)
--******************************************************************************/
-Index: qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c
-===================================================================
---- qt-4.8.5.orig/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c        2013-07-08 11:24:33.010516867 -0500
-+++ qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c     2013-07-08 11:28:26.142521123 -0500
-@@ -39,7 +39,7 @@
- **
- ****************************************************************************/
--#include <GLES/eglplatform.h>
-+#include <EGL/eglplatform.h>
- #include <wsegl.h>
- #include <pvr2d.h>
- #include <string.h>
-@@ -379,6 +379,20 @@
-     return WSEGL_SUCCESS;
- }
-+/* Function stub for ConnectDrawable() */
-+static WSEGLError wseglConnectDrawable(WSEGLDrawableHandle hDrawable)
-+{
-+    WSEGL_UNREFERENCED_PARAMETER(hDrawable);
-+    return WSEGL_SUCCESS;
-+}
-+
-+/* Function stub for DisconnectDrawable() */
-+static WSEGLError wseglDisconnectDrawable(WSEGLDrawableHandle hDrawable)
-+{
-+    WSEGL_UNREFERENCED_PARAMETER(hDrawable);
-+    return WSEGL_SUCCESS;
-+}
-+
- static WSEGL_FunctionTable const wseglFunctions = {
-     WSEGL_VERSION,
-     wseglIsDisplayValid,
-@@ -392,7 +406,9 @@
-     wseglWaitNative,
-     wseglCopyFromDrawable,
-     wseglCopyFromPBuffer,
--    wseglGetDrawableParameters
-+    wseglGetDrawableParameters,
-+    wseglConnectDrawable,
-+    wseglDisconnectDrawable
- };
- /* Return the table of WSEGL functions to the EGL implementation */
diff --git a/package/qt/0003-eglwsegl-use-system.patch b/package/qt/0003-eglwsegl-use-system.patch
new file mode 100644 (file)
index 0000000..cb30381
--- /dev/null
@@ -0,0 +1,802 @@
+Patch to remove obsolete powervr headers and instead use the headers provided
+on the system.
+
+Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
+---
+Index: qt-4.8.5/src/3rdparty/powervr/pvr2d.h
+===================================================================
+--- qt-4.8.5.orig/src/3rdparty/powervr/pvr2d.h 2013-07-08 11:24:33.010516867 -0500
++++ /dev/null  1970-01-01 00:00:00.000000000 +0000
+@@ -1,502 +0,0 @@
+-/*!****************************************************************************
+-@File          pvr2d.h
+-@Title         PVR2D external header file
+-@Author        Imagination Technologies
+-@Copyright     Copyright (c) by Imagination Technologies Limited.
+-                              This specification is protected by copyright laws and contains
+-                              material proprietary to Imagination Technologies Limited.
+-                              You may use and distribute this specification free of charge for implementing
+-                              the functionality therein, without altering or removing any trademark, copyright,
+-                              or other notice from the specification.
+-@Platform      Generic
+-@Description   PVR2D definitions for PVR2D clients
+-******************************************************************************/
+-
+-
+-/******************************************************************************
+-Modifications :-
+-$Log: pvr2d.h $
+-******************************************************************************/
+-
+-#ifndef _PVR2D_H_
+-#define _PVR2D_H_
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-
+-/* PVR2D Platform-specific definitions */
+-#define PVR2D_EXPORT
+-#define PVR2D_IMPORT
+-
+-
+-#define PVR2D_REV_MAJOR               2
+-#define PVR2D_REV_MINOR               1
+-
+-typedef enum
+-{
+-      PVR2D_FALSE = 0,
+-      PVR2D_TRUE
+-} PVR2D_BOOL;
+-
+-
+-/* error codes */
+-typedef enum
+-{
+-      PVR2D_OK = 0,
+-      PVR2DERROR_INVALID_PARAMETER = -1,
+-      PVR2DERROR_DEVICE_UNAVAILABLE = -2,
+-      PVR2DERROR_INVALID_CONTEXT = -3,
+-      PVR2DERROR_MEMORY_UNAVAILABLE = -4,
+-      PVR2DERROR_DEVICE_NOT_PRESENT = -5,
+-      PVR2DERROR_IOCTL_ERROR = -6,
+-      PVR2DERROR_GENERIC_ERROR = -7,
+-      PVR2DERROR_BLT_NOTCOMPLETE = -8,
+-      PVR2DERROR_HW_FEATURE_NOT_SUPPORTED = -9,
+-      PVR2DERROR_NOT_YET_IMPLEMENTED = -10,
+-      PVR2DERROR_MAPPING_FAILED = -11
+-}PVR2DERROR;
+-
+-
+-/* pixel formats */
+-typedef enum
+-{
+-      PVR2D_1BPP = 0,
+-      PVR2D_RGB565,
+-      PVR2D_ARGB4444,
+-      PVR2D_RGB888,
+-      PVR2D_ARGB8888,
+-      PVR2D_ARGB1555,
+-      PVR2D_ALPHA8,
+-      PVR2D_ALPHA4,
+-      PVR2D_PAL2,
+-      PVR2D_PAL4,
+-      PVR2D_PAL8,
+-      PVR2D_VGAEMU
+-
+-}PVR2DFORMAT;
+-
+-
+-/* wrap surface type */
+-typedef enum
+-{
+-      PVR2D_WRAPFLAG_NONCONTIGUOUS = 0,
+-      PVR2D_WRAPFLAG_CONTIGUOUS = 1,
+-
+-}PVR2DWRAPFLAGS;
+-
+-/* flags for control information of additional blits */
+-typedef enum
+-{
+-      PVR2D_BLIT_DISABLE_ALL                                  = 0x0000,       /* disable all additional controls */
+-      PVR2D_BLIT_CK_ENABLE                                    = 0x0001,       /* enable colour key */
+-      PVR2D_BLIT_GLOBAL_ALPHA_ENABLE                  = 0x0002,       /* enable standard global alpha */
+-      PVR2D_BLIT_PERPIXEL_ALPHABLEND_ENABLE   = 0x0004,       /* enable per-pixel alpha bleding */
+-      PVR2D_BLIT_PAT_SURFACE_ENABLE                   = 0x0008,       /* enable pattern surf (disable fill) */
+-      PVR2D_BLIT_FULLY_SPECIFIED_ALPHA_ENABLE = 0x0010,       /* enable fully specified alpha */
+-      PVR2D_BLIT_ROT_90                                               = 0x0020,       /* apply 90 degree rotation to the blt */
+-      PVR2D_BLIT_ROT_180                                              = 0x0040,       /* apply 180 degree rotation to the blt */
+-      PVR2D_BLIT_ROT_270                                              = 0x0080,       /* apply 270 degree rotation to the blt */
+-      PVR2D_BLIT_COPYORDER_TL2BR                              = 0x0100,       /* copy order overrides */
+-      PVR2D_BLIT_COPYORDER_BR2TL                              = 0x0200,
+-      PVR2D_BLIT_COPYORDER_TR2BL                              = 0x0400,
+-      PVR2D_BLIT_COPYORDER_BL2TR                              = 0x0800,
+-      PVR2D_BLIT_COLKEY_SOURCE                                = 0x1000,       /* Key colour is on the source surface */
+-      PVR2D_BLIT_COLKEY_DEST                                  = 0x2000        /* Key colour is on the destination surface */
+-
+-} PVR2DBLITFLAGS;
+-
+-/* standard alpha-blending functions, AlphaBlendingFunc field of PVR2DBLTINFO */
+-typedef enum
+-{
+-      PVR2D_ALPHA_OP_SRC_DSTINV = 1,  /* source alpha : Cdst = Csrc*Asrc + Cdst*(1-Asrc) */
+-      PVR2D_ALPHA_OP_SRCP_DSTINV = 2  /* premultiplied source alpha : Cdst = Csrc + Cdst*(1-Asrc) */
+-} PVR2D_ALPHABLENDFUNC;
+-
+-/* blend ops for fully specified alpha */
+-typedef enum
+-{
+-      PVR2D_BLEND_OP_ZERO = 0,
+-      PVR2D_BLEND_OP_ONE = 1,
+-      PVR2D_BLEND_OP_SRC = 2,
+-      PVR2D_BLEND_OP_DST = 3,
+-      PVR2D_BLEND_OP_GLOBAL = 4,
+-      PVR2D_BLEND_OP_SRC_PLUS_GLOBAL = 5,
+-      PVR2D_BLEND_OP_DST_PLUS_GLOBAL = 6
+-}PVR2D_BLEND_OP;
+-
+-
+-typedef void* PVR2D_HANDLE;
+-
+-
+-/* Fully specified alpha blend :      pAlpha field of PVR2DBLTINFO structure                                  */
+-/* a fully specified Alpha Blend operation is defined as                                                                      */
+-/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (ALPHA_3 * DST (ALPHA))                                                    */
+-/* DST (RGB)   = (ALPHA_2 * SRC (RGB)) + (ALPHA_4 * DST (RGB))                                                                */
+-/* if the pre-multiplication stage is enabled then the equations become the following:                */
+-/* PRE_MUL     = ((SRC(A)) * (Global Alpha Value))                                                                                    */
+-/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (PRE_MUL * DST (ALPHA))                                                    */
+-/* DST (RGB)   = (ALPHA_2 * SRC (RGB)) + (PRE_MUL * DST (RGB))                                                                */
+-/* if the transparent source alpha stage is enabled then a source alpha of zero forces the    */
+-/* source to be transparent for that pixel regardless of the blend equation being used.               */
+-typedef struct _PVR2D_ALPHABLT
+-{
+-      PVR2D_BLEND_OP  eAlpha1;
+-      PVR2D_BOOL              bAlpha1Invert;
+-      PVR2D_BLEND_OP  eAlpha2;
+-      PVR2D_BOOL              bAlpha2Invert;
+-      PVR2D_BLEND_OP  eAlpha3;
+-      PVR2D_BOOL              bAlpha3Invert;
+-      PVR2D_BLEND_OP  eAlpha4;
+-      PVR2D_BOOL              bAlpha4Invert;
+-      PVR2D_BOOL              bPremulAlpha;                   /* enable pre-multiplication stage */
+-      PVR2D_BOOL              bTransAlpha;                    /* enable transparent source alpha stage */
+-      PVR2D_BOOL              bUpdateAlphaLookup;             /* enable and update the 1555-Lookup alpha table */
+-      unsigned char   uAlphaLookup0;                  /* 8 bit alpha when A=0 in a 1555-Lookup surface */
+-      unsigned char   uAlphaLookup1;                  /* 8 bit alpha when A=1 in a 1555-Lookup surface */
+-      unsigned char   uGlobalRGB;                             /* Global Alpha Value for RGB, 0=transparent 255=opaque */
+-      unsigned char   uGlobalA;                               /* Global Alpha Value for Alpha */
+-
+-} PVR2D_ALPHABLT, *PPVR2D_ALPHABLT;
+-
+-
+-/* surface memory info structure */
+-typedef struct _PVR2DMEMINFO
+-{
+-      void                            *pBase;
+-      unsigned long           ui32MemSize;
+-      unsigned long           ui32DevAddr;
+-      unsigned long           ulFlags;
+-      void                            *hPrivateData;
+-      void                            *hPrivateMapData;
+-
+-}PVR2DMEMINFO, *PPVR2DMEMINFO;
+-
+-
+-#define PVR2D_MAX_DEVICE_NAME 20
+-
+-typedef struct _PVR2DDEVICEINFO
+-{
+-      unsigned long   ulDevID;
+-      char                    szDeviceName[PVR2D_MAX_DEVICE_NAME];
+-}PVR2DDEVICEINFO;
+-
+-
+-typedef struct _PVR2DISPLAYINFO
+-{
+-      unsigned long   ulMaxFlipChains;
+-      unsigned long   ulMaxBuffersInChain;
+-      PVR2DFORMAT             eFormat;
+-      unsigned long   ulWidth;
+-      unsigned long   ulHeight;
+-      long                    lStride;
+-      unsigned long   ulMinFlipInterval;
+-      unsigned long   ulMaxFlipInterval;
+-
+-}PVR2DDISPLAYINFO;
+-
+-
+-typedef struct _PVR2DBLTINFO
+-{
+-      unsigned long   CopyCode;                       /* rop code  */
+-      unsigned long   Colour;                         /* fill colour */
+-      unsigned long   ColourKey;                      /* colour key */
+-      unsigned char   GlobalAlphaValue;       /* global alpha blending */
+-      unsigned char   AlphaBlendingFunc;      /* per-pixel alpha-blending function */
+-
+-      PVR2DBLITFLAGS  BlitFlags;                      /* additional blit control information */
+-
+-      PVR2DMEMINFO    *pDstMemInfo;           /* destination memory */
+-      unsigned long   DstOffset;                      /* byte offset from start of allocation to destination surface pixel 0,0 */
+-      long                    DstStride;                      /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
+-      long                    DstX, DstY;                     /* pixel offset from start of dest surface to start of blt rectangle */
+-      long                    DSizeX,DSizeY;          /* blt size */
+-      PVR2DFORMAT             DstFormat;                      /* dest format */
+-      unsigned long   DstSurfWidth;           /* size of dest surface in pixels */
+-      unsigned long   DstSurfHeight;          /* size of dest surface in pixels */
+-
+-      PVR2DMEMINFO    *pSrcMemInfo;           /* source mem, (source fields are also used for patterns) */
+-      unsigned long   SrcOffset;                      /* byte offset from start of allocation to src/pat surface pixel 0,0 */
+-      long                    SrcStride;                      /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
+-      long                    SrcX, SrcY;                     /* pixel offset from start of surface to start of source rectangle */
+-                                                                              /* for patterns this is the start offset within the pattern */
+-      long                    SizeX,SizeY;            /* source rectangle size or pattern size in pixels */
+-      PVR2DFORMAT             SrcFormat;                      /* source/pattern format */
+-      PVR2DMEMINFO    *pPalMemInfo;           /* source/pattern palette memory containing argb8888 colour table */
+-      unsigned long   PalOffset;                      /* byte offset from start of allocation to start of palette */
+-      unsigned long   SrcSurfWidth;           /* size of source surface in pixels */
+-      unsigned long   SrcSurfHeight;          /* size of source surface in pixels */
+-
+-      PVR2DMEMINFO    *pMaskMemInfo;          /* mask memory, 1bpp format implied */
+-      unsigned long   MaskOffset;                     /* byte offset from start of allocation to mask surface pixel 0,0 */
+-      long                    MaskStride;                     /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
+-      long                    MaskX, MaskY;           /* mask rect top left (mask size = blt size) */
+-      unsigned long   MaskSurfWidth;          /* size of mask surface in pixels */
+-      unsigned long   MaskSurfHeight;         /* size of mask surface in pixels */
+-      
+-      PPVR2D_ALPHABLT pAlpha;                         /* fully specified alpha blend */
+-
+-}PVR2DBLTINFO, *PPVR2DBLTINFO;
+-
+-typedef struct _PVR2DRECT
+-{
+-      long left, top;
+-      long right, bottom;
+-} PVR2DRECT;
+-
+-typedef struct
+-{
+-      PVR2DMEMINFO    *pSurfMemInfo;          /* surface memory */
+-      unsigned long   SurfOffset;                     /* byte offset from start of allocation to destination surface pixel 0,0 */
+-      long                    Stride;                         /* signed stride */
+-      PVR2DFORMAT             Format;
+-      unsigned long   SurfWidth;                      /* surface size in pixels */
+-      unsigned long   SurfHeight;
+-
+-} PVR2D_SURFACE, *PPVR2D_SURFACE;
+-
+-typedef struct
+-{
+-      unsigned long   *pUseCode;                                      /* USSE code */
+-      unsigned long   UseCodeSize;                            /* usse code size in bytes */
+-
+-} PVR2D_USECODE, *PPVR2D_USECODE;
+-
+-typedef struct
+-{
+-      PVR2D_SURFACE                   sDst;                           /* destination surface */
+-      PVR2D_SURFACE                   sSrc;                           /* source surface */
+-      PVR2DRECT                               rcDest;                         /* destination rectangle */
+-      PVR2DRECT                               rcSource;                       /* source rectangle */
+-      PVR2D_HANDLE                    hUseCode;                       /* custom USE code (NULL implies source copy) */
+-      unsigned long                   UseParams[2];           /* per-blt params for use code */
+-
+-} PVR2D_3DBLT, *PPVR2D_3DBLT;
+-
+-
+-#define MAKE_COPY_BLIT(src,soff,dest,doff,sx,sy,dx,dy,sz)
+-
+-typedef void* PVR2DCONTEXTHANDLE;
+-typedef void* PVR2DFLIPCHAINHANDLE;
+-
+-
+-// CopyCode field of PVR2DBLTINFO structure:
+-// the CopyCode field of the PVR2DBLTINFO structure should contain a rop3 or rop4 code.
+-// a rop3 is an 8 bit code that describes a blt with three inputs : source dest and pattern
+-// rop4 is a 16 bit code that describes a blt with four inputs : source dest pattern and mask
+-// common rop3 codes are defined below
+-// a colour fill blt is processed in the pattern channel as a constant colour with a rop code of 0xF0
+-// PVR2D_BLIT_PAT_SURFACE_ENABLE defines whether the pattern channel is a surface or a fill colour.
+-// a rop4 is defined by two rop3 codes, and the 1 bit-per-pixel mask surface defines which is used.
+-// a common rop4 is 0xAAF0 which is the mask copy blt used for text glyphs.
+-// CopyCode is taken to be a rop4 when pMaskMemInfo is non zero, otherwise it is assumed to be a rop3
+-// use the PVR2DMASKROP4 macro below to construct a rop4 from two rop3's
+-// rop3a is the rop used when mask pixel = 1, and rop3b when mask = 0
+-#define PVR2DROP4(rop3b, rop3a)                       ((rop3b<<8)|rop3a)
+-
+-/* common rop codes */
+-#define PVR2DROPclear                         0x00       /* 0 (whiteness) */
+-#define PVR2DROPset                                   0xFF       /* 1 (blackness) */
+-#define PVR2DROPnoop                          0xAA       /* dst (used for masked blts) */
+-
+-/* source and  dest rop codes */
+-#define PVR2DROPand                                   0x88       /* src AND dst */
+-#define PVR2DROPandReverse                    0x44       /* src AND NOT dst */
+-#define PVR2DROPcopy                          0xCC       /* src (used for source copy and alpha blts) */
+-#define PVR2DROPandInverted                   0x22       /* NOT src AND dst */
+-#define PVR2DROPxor                                   0x66       /* src XOR dst */
+-#define PVR2DROPor                                    0xEE       /* src OR dst */
+-#define PVR2DROPnor                                   0x11       /* NOT src AND NOT dst */
+-#define PVR2DROPequiv                         0x99       /* NOT src XOR dst */
+-#define PVR2DROPinvert                                0x55       /* NOT dst */
+-#define PVR2DROPorReverse                     0xDD       /* src OR NOT dst */
+-#define PVR2DROPcopyInverted          0x33       /* NOT src */
+-#define PVR2DROPorInverted                    0xBB       /* NOT src OR dst */
+-#define PVR2DROPnand                          0x77       /* NOT src OR NOT dst */
+-
+-/* pattern rop codes */
+-#define PVR2DPATROPand                                0xA0       /* pat AND dst */
+-#define PVR2DPATROPandReverse         0x50       /* pat AND NOT dst */
+-#define PVR2DPATROPcopy                               0xF0       /* pat (used for solid color fills and pattern blts) */
+-#define PVR2DPATROPandInverted                0x0A       /* NOT pat AND dst */
+-#define PVR2DPATROPxor                                0x5A       /* pat XOR dst */
+-#define PVR2DPATROPor                         0xFA       /* pat OR dst */
+-#define PVR2DPATROPnor                                0x05       /* NOT pat AND NOT dst */
+-#define PVR2DPATROPequiv                      0xA5       /* NOT pat XOR dst */
+-#define PVR2DPATROPinvert                     0x55       /* NOT dst */
+-#define PVR2DPATROPorReverse          0xF5       /* pat OR NOT dst */
+-#define PVR2DPATROPcopyInverted               0x0F       /* NOT pat */
+-#define PVR2DPATROPorInverted         0xAF       /* NOT pat OR dst */
+-#define PVR2DPATROPnand                               0x5F       /* NOT pat OR NOT dst */
+-
+-/* common rop4 codes */
+-#define PVR2DROP4MaskedCopy              PVR2DROP4(PVR2DROPnoop,PVR2DROPcopy)         /* masked source copy blt (used for rounded window corners etc) */
+-#define PVR2DROP4MaskedFill              PVR2DROP4(PVR2DROPnoop,PVR2DPATROPcopy)      /* masked colour fill blt (used for text) */
+-
+-/* Legacy support */
+-#define PVR2DROP3_PATMASK                     PVR2DPATROPcopy
+-#define PVR2DROP3_SRCMASK                     PVR2DROPcopy
+-
+-/* pixmap memory alignment */
+-#define PVR2D_ALIGNMENT_4                     4                       /* DWORD alignment */
+-#define PVR2D_ALIGNMENT_ANY                   0                       /* no alignment    */
+-#define PVR2D_ALIGNMENT_PALETTE               16                      /* 16 byte alignment is required for palettes */
+-
+-/* Heap number for PVR2DGetFrameBuffer */
+-#define PVR2D_FB_PRIMARY_SURFACE 0
+-
+-#define PVR2D_PRESENT_PROPERTY_SRCSTRIDE      (1 << 0)
+-#define PVR2D_PRESENT_PROPERTY_DSTSIZE                (1 << 1)
+-#define PVR2D_PRESENT_PROPERTY_DSTPOS         (1 << 2)
+-#define PVR2D_PRESENT_PROPERTY_CLIPRECTS      (1 << 3)
+-#define PVR2D_PRESENT_PROPERTY_INTERVAL               (1 << 4)
+-
+-
+-#define PVR2D_CREATE_FLIPCHAIN_SHARED         (1 << 0)
+-#define PVR2D_CREATE_FLIPCHAIN_QUERY          (1 << 1)
+-
+-/* Functions that the library exports */
+-
+-PVR2D_IMPORT
+-int PVR2DEnumerateDevices(PVR2DDEVICEINFO *pDevInfo);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DCreateDeviceContext(unsigned long ulDevID,
+-                                                                      PVR2DCONTEXTHANDLE* phContext,
+-                                                                      unsigned long ulFlags);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DDestroyDeviceContext(PVR2DCONTEXTHANDLE hContext);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DGetDeviceInfo(PVR2DCONTEXTHANDLE hContext,
+-                                                        PVR2DDISPLAYINFO *pDisplayInfo);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DGetScreenMode(PVR2DCONTEXTHANDLE hContext,
+-                                                        PVR2DFORMAT *pFormat,
+-                                                        long *plWidth,
+-                                                        long *plHeight,
+-                                                        long *plStride,
+-                                                        int *piRefreshRate);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DGetFrameBuffer(PVR2DCONTEXTHANDLE hContext,
+-                                                         int nHeap,
+-                                                         PVR2DMEMINFO **ppsMemInfo);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DMemAlloc(PVR2DCONTEXTHANDLE hContext,
+-                                               unsigned long ulBytes,
+-                                               unsigned long ulAlign,
+-                                               unsigned long ulFlags,
+-                                               PVR2DMEMINFO **ppsMemInfo);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DMemWrap(PVR2DCONTEXTHANDLE hContext,
+-                                              void *pMem,
+-                                              unsigned long ulFlags,
+-                                              unsigned long ulBytes,
+-                                              unsigned long alPageAddress[],
+-                                              PVR2DMEMINFO **ppsMemInfo);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DMemMap(PVR2DCONTEXTHANDLE hContext,
+-                                              unsigned long ulFlags,
+-                                              void *hPrivateMapData,
+-                                              PVR2DMEMINFO **ppsDstMem);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DMemFree(PVR2DCONTEXTHANDLE hContext,
+-                                              PVR2DMEMINFO *psMemInfo);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DBlt(PVR2DCONTEXTHANDLE hContext,
+-                                      PVR2DBLTINFO *pBltInfo);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DBltClipped(PVR2DCONTEXTHANDLE hContext,
+-                                                 PVR2DBLTINFO *pBltInfo,
+-                                                 unsigned long ulNumClipRects,
+-                                                 PVR2DRECT *pClipRects);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DQueryBlitsComplete(PVR2DCONTEXTHANDLE hContext,
+-                                                                 PVR2DMEMINFO *pMemInfo,
+-                                                                 unsigned int uiWaitForComplete);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DSetPresentBltProperties(PVR2DCONTEXTHANDLE hContext,
+-                                                                              unsigned long ulPropertyMask,
+-                                                                              long lSrcStride,
+-                                                                              unsigned long ulDstWidth,
+-                                                                              unsigned long ulDstHeight,
+-                                                                              long lDstXPos,
+-                                                                              long lDstYPos,
+-                                                                              unsigned long ulNumClipRects,
+-                                                                              PVR2DRECT *pClipRects,
+-                                                                              unsigned long ulSwapInterval);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DPresentBlt(PVR2DCONTEXTHANDLE hContext,
+-                                                 PVR2DMEMINFO *pMemInfo,
+-                                                 long lRenderID);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DCreateFlipChain(PVR2DCONTEXTHANDLE hContext,
+-                                                              unsigned long ulFlags,
+-                                                              unsigned long ulNumBuffers,
+-                                                              unsigned long ulWidth,
+-                                                              unsigned long ulHeight,
+-                                                              PVR2DFORMAT eFormat,
+-                                                              long *plStride,
+-                                                              unsigned long *pulFlipChainID,
+-                                                              PVR2DFLIPCHAINHANDLE *phFlipChain);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DDestroyFlipChain(PVR2DCONTEXTHANDLE hContext,
+-                                                               PVR2DFLIPCHAINHANDLE hFlipChain);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DGetFlipChainBuffers(PVR2DCONTEXTHANDLE hContext,
+-                                                                      PVR2DFLIPCHAINHANDLE hFlipChain,
+-                                                                      unsigned long *pulNumBuffers,
+-                                                                      PVR2DMEMINFO *psMemInfo[]);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DSetPresentFlipProperties(PVR2DCONTEXTHANDLE hContext,
+-                                                                               PVR2DFLIPCHAINHANDLE hFlipChain,
+-                                                                               unsigned long ulPropertyMask,
+-                                                                               long lDstXPos,
+-                                                                               long lDstYPos,
+-                                                                               unsigned long ulNumClipRects,
+-                                                                               PVR2DRECT *pClipRects,
+-                                                                               unsigned long ulSwapInterval);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DPresentFlip(PVR2DCONTEXTHANDLE hContext,
+-                                                      PVR2DFLIPCHAINHANDLE hFlipChain,
+-                                                      PVR2DMEMINFO *psMemInfo,
+-                                                      long lRenderID);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DGetAPIRev(long *lRevMajor, long *lRevMinor);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DLoadUseCode (const PVR2DCONTEXTHANDLE hContext, const unsigned char   *pUseCode,
+-                                                                      const unsigned long UseCodeSize, PVR2D_HANDLE *pUseCodeHandle);
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DFreeUseCode (const PVR2DCONTEXTHANDLE hContext, const PVR2D_HANDLE hUseCodeHandle);
+-
+-PVR2D_IMPORT
+-PVR2DERROR PVR2DBlt3D (const PVR2DCONTEXTHANDLE hContext, const PPVR2D_3DBLT pBlt3D);
+-
+-#ifdef __cplusplus
+-}
+-#endif 
+-
+-#endif /* _PVR2D_H_ */
+-
+-/******************************************************************************
+- End of file (pvr2d.h)
+-******************************************************************************/
+Index: qt-4.8.5/src/3rdparty/powervr/wsegl.h
+===================================================================
+--- qt-4.8.5.orig/src/3rdparty/powervr/wsegl.h 2013-07-08 11:24:33.010516867 -0500
++++ /dev/null  1970-01-01 00:00:00.000000000 +0000
+@@ -1,240 +0,0 @@
+-/******************************************************************************
+- Name         : wsegl.h
+- Copyright    :       Copyright (c) Imagination Technologies Limited.
+-                              This specification is protected by copyright laws and contains
+-                              material proprietary to Imagination Technologies Limited.
+-                              You may use and distribute this specification free of charge for implementing
+-                              the functionality therein, without altering or removing any trademark, copyright,
+-                              or other notice from the specification.
+- Platform     : ANSI
+-*****************************************************************************/
+-
+-
+-#if !defined(__WSEGL_H__)
+-#define __WSEGL_H__
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif 
+-
+-/*
+-// WSEGL Platform-specific definitions
+-*/
+-#define WSEGL_EXPORT
+-#define WSEGL_IMPORT
+-
+-/*
+-// WSEGL API Version Number
+-*/
+-
+-#define WSEGL_VERSION 1
+-#define WSEGL_DEFAULT_DISPLAY 0
+-#define WSEGL_DEFAULT_NATIVE_ENGINE 0
+-
+-#define WSEGL_FALSE           0
+-#define WSEGL_TRUE            1
+-#define WSEGL_NULL            0
+-
+-#define       WSEGL_UNREFERENCED_PARAMETER(param) (param) = (param)
+-
+-/*
+-// WSEGL handles
+-*/
+-typedef void *WSEGLDisplayHandle;
+-typedef void *WSEGLDrawableHandle;
+-
+-/*
+-// Display capability type
+-*/
+-typedef enum WSEGLCapsType_TAG
+-{
+-      WSEGL_NO_CAPS = 0,
+-      WSEGL_CAP_MIN_SWAP_INTERVAL = 1, /* System default value = 1 */
+-      WSEGL_CAP_MAX_SWAP_INTERVAL = 2, /* System default value = 1 */
+-      WSEGL_CAP_WINDOWS_USE_HW_SYNC = 3, /* System default value = 0 (FALSE) */
+-      WSEGL_CAP_PIXMAPS_USE_HW_SYNC = 4, /* System default value = 0 (FALSE) */
+-
+-} WSEGLCapsType;
+-
+-/*
+-// Display capability
+-*/
+-typedef struct WSEGLCaps_TAG
+-{
+-      WSEGLCapsType eCapsType;
+-      unsigned long ui32CapsValue;
+-
+-} WSEGLCaps;
+-
+-/*
+-// Drawable type
+-*/
+-#define WSEGL_NO_DRAWABLE                     0x0
+-#define WSEGL_DRAWABLE_WINDOW         0x1
+-#define WSEGL_DRAWABLE_PIXMAP         0x2
+-
+-
+-/*
+-// Pixel format of display/drawable
+-*/
+-typedef enum WSEGLPixelFormat_TAG
+-{
+-      WSEGL_PIXELFORMAT_565 = 0,
+-      WSEGL_PIXELFORMAT_4444 = 1,
+-      WSEGL_PIXELFORMAT_8888 = 2,
+-      WSEGL_PIXELFORMAT_1555 = 3
+-
+-} WSEGLPixelFormat;
+-
+-/*
+-// Transparent of display/drawable
+-*/
+-typedef enum WSEGLTransparentType_TAG
+-{
+-      WSEGL_OPAQUE = 0,
+-      WSEGL_COLOR_KEY = 1,
+-
+-} WSEGLTransparentType;
+-
+-/*
+-// Display/drawable configuration
+-*/
+-typedef struct WSEGLConfig_TAG
+-{
+-      /*
+-      // Type of drawables this configuration applies to -
+-      // OR'd values of drawable types. 
+-      */
+-      unsigned long ui32DrawableType;
+-
+-      /* Pixel format */
+-      WSEGLPixelFormat ePixelFormat;
+-
+-      /* Native Renderable  - set to WSEGL_TRUE if native renderable */
+-      unsigned long ulNativeRenderable;
+-
+-      /* FrameBuffer Level Parameter */
+-      unsigned long ulFrameBufferLevel;
+-
+-      /* Native Visual ID */
+-      unsigned long ulNativeVisualID;
+-
+-      /* Native Visual */
+-      void *hNativeVisual;
+-
+-      /* Transparent Type */
+-      WSEGLTransparentType eTransparentType;
+-
+-      /* Transparent Color - only used if transparent type is COLOR_KEY */
+-      unsigned long ulTransparentColor; /* packed as 0x00RRGGBB */
+-
+-
+-} WSEGLConfig;
+-
+-/*
+-// WSEGL errors
+-*/
+-typedef enum WSEGLError_TAG
+-{
+-      WSEGL_SUCCESS = 0,
+-      WSEGL_CANNOT_INITIALISE = 1,
+-      WSEGL_BAD_NATIVE_DISPLAY = 2,
+-      WSEGL_BAD_NATIVE_WINDOW = 3,
+-      WSEGL_BAD_NATIVE_PIXMAP = 4,
+-      WSEGL_BAD_NATIVE_ENGINE = 5,
+-      WSEGL_BAD_DRAWABLE = 6,
+-      WSEGL_BAD_CONFIG = 7,
+-      WSEGL_OUT_OF_MEMORY = 8
+-
+-} WSEGLError; 
+-
+-/*
+-// Drawable orientation (in degrees anti-clockwise)
+-*/
+-typedef enum WSEGLRotationAngle_TAG
+-{
+-      WSEGL_ROTATE_0 = 0,
+-      WSEGL_ROTATE_90 = 1,
+-      WSEGL_ROTATE_180 = 2,
+-      WSEGL_ROTATE_270 = 3
+-
+-} WSEGLRotationAngle; 
+-
+-/*
+-// Drawable information required by OpenGL-ES driver
+-*/
+-typedef struct WSEGLDrawableParams_TAG
+-{
+-      /* Width in pixels of the drawable */
+-      unsigned long   ui32Width;
+-
+-      /* Height in pixels of the drawable */
+-      unsigned long   ui32Height;
+-
+-      /* Stride in pixels of the drawable */
+-      unsigned long   ui32Stride;
+-
+-      /* Pixel format of the drawable */
+-      WSEGLPixelFormat        ePixelFormat;
+-
+-      /* User space cpu virtual address of the drawable */
+-      void                    *pvLinearAddress;
+-
+-      /* HW address of the drawable */
+-      unsigned long   ui32HWAddress;
+-
+-      /* Private data for the drawable */
+-      void                    *hPrivateData;
+-
+-} WSEGLDrawableParams;
+-
+-
+-/*
+-// Table of function pointers that is returned by WSEGL_GetFunctionTablePointer()
+-//
+-// The first entry in the table is the version number of the wsegl.h header file that
+-// the module has been written against, and should therefore be set to WSEGL_VERSION
+-*/
+-typedef struct WSEGL_FunctionTable_TAG
+-{
+-      unsigned long ui32WSEGLVersion;
+-
+-      WSEGLError (*pfnWSEGL_IsDisplayValid)(NativeDisplayType);
+-
+-      WSEGLError (*pfnWSEGL_InitialiseDisplay)(NativeDisplayType, WSEGLDisplayHandle *, const WSEGLCaps **, WSEGLConfig **);
+-
+-      WSEGLError (*pfnWSEGL_CloseDisplay)(WSEGLDisplayHandle);
+-
+-      WSEGLError (*pfnWSEGL_CreateWindowDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativeWindowType, WSEGLRotationAngle *);
+-
+-      WSEGLError (*pfnWSEGL_CreatePixmapDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativePixmapType, WSEGLRotationAngle *);
+-
+-      WSEGLError (*pfnWSEGL_DeleteDrawable)(WSEGLDrawableHandle);
+-
+-      WSEGLError (*pfnWSEGL_SwapDrawable)(WSEGLDrawableHandle, unsigned long);
+-
+-      WSEGLError (*pfnWSEGL_SwapControlInterval)(WSEGLDrawableHandle, unsigned long);
+-
+-      WSEGLError (*pfnWSEGL_WaitNative)(WSEGLDrawableHandle, unsigned long);
+-
+-      WSEGLError (*pfnWSEGL_CopyFromDrawable)(WSEGLDrawableHandle, NativePixmapType);
+-
+-      WSEGLError (*pfnWSEGL_CopyFromPBuffer)(void *, unsigned long, unsigned long, unsigned long, WSEGLPixelFormat, NativePixmapType);
+-
+-      WSEGLError (*pfnWSEGL_GetDrawableParameters)(WSEGLDrawableHandle, WSEGLDrawableParams *, WSEGLDrawableParams *);
+-
+-
+-} WSEGL_FunctionTable;
+-
+-
+-WSEGL_IMPORT const WSEGL_FunctionTable *WSEGL_GetFunctionTablePointer(void);
+-
+-#ifdef __cplusplus
+-}
+-#endif 
+-
+-#endif /* __WSEGL_H__ */
+-
+-/******************************************************************************
+- End of file (wsegl.h)
+-******************************************************************************/
+Index: qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c
+===================================================================
+--- qt-4.8.5.orig/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c        2013-07-08 11:24:33.010516867 -0500
++++ qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c     2013-07-08 11:28:26.142521123 -0500
+@@ -39,7 +39,7 @@
+ **
+ ****************************************************************************/
+-#include <GLES/eglplatform.h>
++#include <EGL/eglplatform.h>
+ #include <wsegl.h>
+ #include <pvr2d.h>
+ #include <string.h>
+@@ -379,6 +379,20 @@
+     return WSEGL_SUCCESS;
+ }
++/* Function stub for ConnectDrawable() */
++static WSEGLError wseglConnectDrawable(WSEGLDrawableHandle hDrawable)
++{
++    WSEGL_UNREFERENCED_PARAMETER(hDrawable);
++    return WSEGL_SUCCESS;
++}
++
++/* Function stub for DisconnectDrawable() */
++static WSEGLError wseglDisconnectDrawable(WSEGLDrawableHandle hDrawable)
++{
++    WSEGL_UNREFERENCED_PARAMETER(hDrawable);
++    return WSEGL_SUCCESS;
++}
++
+ static WSEGL_FunctionTable const wseglFunctions = {
+     WSEGL_VERSION,
+     wseglIsDisplayValid,
+@@ -392,7 +406,9 @@
+     wseglWaitNative,
+     wseglCopyFromDrawable,
+     wseglCopyFromPBuffer,
+-    wseglGetDrawableParameters
++    wseglGetDrawableParameters,
++    wseglConnectDrawable,
++    wseglDisconnectDrawable
+ };
+ /* Return the table of WSEGL functions to the EGL implementation */
diff --git a/package/qt/0003-fix-const-atomics.patch b/package/qt/0003-fix-const-atomics.patch
deleted file mode 100644 (file)
index 6485356..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From d4d07dac01796b2aa0fb501c14865cab7e42b3a9 Mon Sep 17 00:00:00 2001
-From: Mischa Jonker <mischa.jonker@synopsys.com>
-Date: Sun, 4 Nov 2012 11:42:04 +0100
-Subject: [PATCH] Fix const-related build error in generic atomic ops
-
-It's still not entirely const-correct though. In all other architectures
-this is obfuscated through the use of inline asm (which the compiler
-doesn't check). This patch obfuscates through const_cast
----
- src/corelib/arch/generic/qatomic_generic_unix.cpp |    8 ++++----
- src/corelib/arch/qatomic_generic.h                |    2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/corelib/arch/generic/qatomic_generic_unix.cpp b/src/corelib/arch/generic/qatomic_generic_unix.cpp
-index 1c6cbf0..6fce81d 100644
---- a/src/corelib/arch/generic/qatomic_generic_unix.cpp
-+++ b/src/corelib/arch/generic/qatomic_generic_unix.cpp
-@@ -85,13 +85,13 @@ int QBasicAtomicInt_fetchAndAddOrdered(volatile int *_q_value, int valueToAdd)
- Q_CORE_EXPORT
- bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *_q_value,
--                                           void *expectedValue,
--                                           void *newValue)
-+                                           const void *expectedValue,
-+                                           const void *newValue)
- {
-     bool returnValue = false;
-     pthread_mutex_lock(&qAtomicMutex);
-     if (*_q_value == expectedValue) {
--        *_q_value = newValue;
-+        *_q_value = const_cast<void*>(newValue);
-         returnValue = true;
-     }
-     pthread_mutex_unlock(&qAtomicMutex);
-diff --git a/src/corelib/arch/qatomic_generic.h b/src/corelib/arch/qatomic_generic.h
-index 621a767..4c14679 100644
---- a/src/corelib/arch/qatomic_generic.h
-+++ b/src/corelib/arch/qatomic_generic.h
-@@ -105,7 +105,7 @@ Q_CORE_EXPORT bool QBasicAtomicInt_testAndSetOrdered(volatile int *, int, int);
- Q_CORE_EXPORT int QBasicAtomicInt_fetchAndStoreOrdered(volatile int *, int);
- Q_CORE_EXPORT int QBasicAtomicInt_fetchAndAddOrdered(volatile int *, int);
--Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, void *, void *);
-+Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, const void *, const void *);
- Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *, void *);
- Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *, qptrdiff);
--- 
-1.7.0.4
-
diff --git a/package/qt/0004-fix-const-atomics.patch b/package/qt/0004-fix-const-atomics.patch
new file mode 100644 (file)
index 0000000..6485356
--- /dev/null
@@ -0,0 +1,50 @@
+From d4d07dac01796b2aa0fb501c14865cab7e42b3a9 Mon Sep 17 00:00:00 2001
+From: Mischa Jonker <mischa.jonker@synopsys.com>
+Date: Sun, 4 Nov 2012 11:42:04 +0100
+Subject: [PATCH] Fix const-related build error in generic atomic ops
+
+It's still not entirely const-correct though. In all other architectures
+this is obfuscated through the use of inline asm (which the compiler
+doesn't check). This patch obfuscates through const_cast
+---
+ src/corelib/arch/generic/qatomic_generic_unix.cpp |    8 ++++----
+ src/corelib/arch/qatomic_generic.h                |    2 +-
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/corelib/arch/generic/qatomic_generic_unix.cpp b/src/corelib/arch/generic/qatomic_generic_unix.cpp
+index 1c6cbf0..6fce81d 100644
+--- a/src/corelib/arch/generic/qatomic_generic_unix.cpp
++++ b/src/corelib/arch/generic/qatomic_generic_unix.cpp
+@@ -85,13 +85,13 @@ int QBasicAtomicInt_fetchAndAddOrdered(volatile int *_q_value, int valueToAdd)
+ Q_CORE_EXPORT
+ bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *_q_value,
+-                                           void *expectedValue,
+-                                           void *newValue)
++                                           const void *expectedValue,
++                                           const void *newValue)
+ {
+     bool returnValue = false;
+     pthread_mutex_lock(&qAtomicMutex);
+     if (*_q_value == expectedValue) {
+-        *_q_value = newValue;
++        *_q_value = const_cast<void*>(newValue);
+         returnValue = true;
+     }
+     pthread_mutex_unlock(&qAtomicMutex);
+diff --git a/src/corelib/arch/qatomic_generic.h b/src/corelib/arch/qatomic_generic.h
+index 621a767..4c14679 100644
+--- a/src/corelib/arch/qatomic_generic.h
++++ b/src/corelib/arch/qatomic_generic.h
+@@ -105,7 +105,7 @@ Q_CORE_EXPORT bool QBasicAtomicInt_testAndSetOrdered(volatile int *, int, int);
+ Q_CORE_EXPORT int QBasicAtomicInt_fetchAndStoreOrdered(volatile int *, int);
+ Q_CORE_EXPORT int QBasicAtomicInt_fetchAndAddOrdered(volatile int *, int);
+-Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, void *, void *);
++Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, const void *, const void *);
+ Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *, void *);
+ Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *, qptrdiff);
+-- 
+1.7.0.4
+
diff --git a/package/qt/0004-pthread_getattr_np.patch b/package/qt/0004-pthread_getattr_np.patch
deleted file mode 100644 (file)
index 28f0c84..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-Add pthred_getattr_np / phread_attr_getstrack alternatives for uClibc
-
-Based on https://dev.openwrt.org/log/packages/Xorg/lib/qt4/patches/100-fix-webkit-for-uclibc.patch?rev=20371
-
-Signed-off-by: Johan Sagaert <sagaert.johan@skynet.be>
----
- src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp |   61 ++++++++++
- 1 file changed, 61 insertions(+)
-
-Index: qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
-===================================================================
---- qt-everywhere-opensource-src-4.8.1.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
-+++ qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
-@@ -70,6 +70,23 @@
- #endif
- #include <unistd.h>
-+#if defined(QT_LINUXBASE)
-+#include <dlfcn.h>
-+#endif
-+
-+#if defined(__UCLIBC__)
-+// versions of uClibc 0.9.32 and below with linuxthreads.old do not have
-+// pthread_getattr_np or pthread_attr_getstack.
-+#if __UCLIBC_MAJOR__ == 0 && \
-+    (__UCLIBC_MINOR__ < 9 || \
-+    (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ <= 32)) && \
-+    defined(__LINUXTHREADS_OLD__)
-+#define UCLIBC_USE_PROC_SELF_MAPS 1
-+#include <stdio_ext.h>
-+extern int *__libc_stack_end;
-+#endif
-+#endif
-+
- #if OS(SOLARIS)
- #include <thread.h>
- #else
-@@ -648,6 +665,37 @@
-     get_thread_info(find_thread(NULL), &threadInfo);
-     return threadInfo.stack_end;
- #elif OS(UNIX)
-+#ifdef UCLIBC_USE_PROC_SELF_MAPS
-+    // Read /proc/self/maps and locate the line whose address
-+    // range contains __libc_stack_end.
-+    FILE *file = fopen("/proc/self/maps", "r");
-+    if (!file)
-+        return 0;
-+    __fsetlocking(file, FSETLOCKING_BYCALLER);
-+    char *line = NULL;
-+    size_t lineLen = 0;
-+    while (!feof_unlocked(file)) {
-+        if (getdelim(&line, &lineLen, '\n', file) <= 0)
-+            break;
-+
-+        long from;
-+        long to;
-+        if (sscanf (line, "%lx-%lx", &from, &to) != 2)
-+            continue;
-+        if (from <= (long)__libc_stack_end && (long)__libc_stack_end < to) {
-+            fclose(file);
-+            free(line);
-+#ifdef _STACK_GROWS_UP
-+            return (void *)from;
-+#else
-+            return (void *)to;
-+#endif
-+        }
-+    }
-+    fclose(file);
-+    free(line);
-+    return 0;
-+#else
-     AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex);
-     MutexLocker locker(mutex);
-     static void* stackBase = 0;
-@@ -655,11 +703,23 @@
-     static pthread_t stackThread;
-     pthread_t thread = pthread_self();
-     if (stackBase == 0 || thread != stackThread) {
-+
-+#if defined(QT_LINUXBASE)
-+        // LinuxBase is missing pthread_getattr_np - resolve it once at runtime instead
-+        // see http://bugs.linuxbase.org/show_bug.cgi?id=2364
-+        typedef int (*GetAttrPtr)(pthread_t, pthread_attr_t *);
-+        static int (*pthread_getattr_np_ptr)(pthread_t, pthread_attr_t *) = 0;
-+        if (!pthread_getattr_np_ptr)
-+            *(void **)&pthread_getattr_np_ptr = dlsym(RTLD_DEFAULT, "pthread_getattr_np");
-+#endif
-         pthread_attr_t sattr;
-         pthread_attr_init(&sattr);
- #if HAVE(PTHREAD_NP_H) || OS(NETBSD)
-         // e.g. on FreeBSD 5.4, neundorf@kde.org
-         pthread_attr_get_np(thread, &sattr);
-+#elif defined(QT_LINUXBASE)
-+        if (pthread_getattr_np_ptr)
-+            pthread_getattr_np_ptr(thread, &sattr);
- #else
-         // FIXME: this function is non-portable; other POSIX systems may have different np alternatives
-         pthread_getattr_np(thread, &sattr);
-@@ -671,6 +731,7 @@
-         stackThread = thread;
-     }
-     return static_cast<char*>(stackBase) + stackSize;
-+#endif
- #else
- #error Need a way to get the stack base on this platform
- #endif
diff --git a/package/qt/0005-pthread_getattr_np.patch b/package/qt/0005-pthread_getattr_np.patch
new file mode 100644 (file)
index 0000000..28f0c84
--- /dev/null
@@ -0,0 +1,107 @@
+Add pthred_getattr_np / phread_attr_getstrack alternatives for uClibc
+
+Based on https://dev.openwrt.org/log/packages/Xorg/lib/qt4/patches/100-fix-webkit-for-uclibc.patch?rev=20371
+
+Signed-off-by: Johan Sagaert <sagaert.johan@skynet.be>
+---
+ src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp |   61 ++++++++++
+ 1 file changed, 61 insertions(+)
+
+Index: qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
+===================================================================
+--- qt-everywhere-opensource-src-4.8.1.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
++++ qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
+@@ -70,6 +70,23 @@
+ #endif
+ #include <unistd.h>
++#if defined(QT_LINUXBASE)
++#include <dlfcn.h>
++#endif
++
++#if defined(__UCLIBC__)
++// versions of uClibc 0.9.32 and below with linuxthreads.old do not have
++// pthread_getattr_np or pthread_attr_getstack.
++#if __UCLIBC_MAJOR__ == 0 && \
++    (__UCLIBC_MINOR__ < 9 || \
++    (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ <= 32)) && \
++    defined(__LINUXTHREADS_OLD__)
++#define UCLIBC_USE_PROC_SELF_MAPS 1
++#include <stdio_ext.h>
++extern int *__libc_stack_end;
++#endif
++#endif
++
+ #if OS(SOLARIS)
+ #include <thread.h>
+ #else
+@@ -648,6 +665,37 @@
+     get_thread_info(find_thread(NULL), &threadInfo);
+     return threadInfo.stack_end;
+ #elif OS(UNIX)
++#ifdef UCLIBC_USE_PROC_SELF_MAPS
++    // Read /proc/self/maps and locate the line whose address
++    // range contains __libc_stack_end.
++    FILE *file = fopen("/proc/self/maps", "r");
++    if (!file)
++        return 0;
++    __fsetlocking(file, FSETLOCKING_BYCALLER);
++    char *line = NULL;
++    size_t lineLen = 0;
++    while (!feof_unlocked(file)) {
++        if (getdelim(&line, &lineLen, '\n', file) <= 0)
++            break;
++
++        long from;
++        long to;
++        if (sscanf (line, "%lx-%lx", &from, &to) != 2)
++            continue;
++        if (from <= (long)__libc_stack_end && (long)__libc_stack_end < to) {
++            fclose(file);
++            free(line);
++#ifdef _STACK_GROWS_UP
++            return (void *)from;
++#else
++            return (void *)to;
++#endif
++        }
++    }
++    fclose(file);
++    free(line);
++    return 0;
++#else
+     AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex);
+     MutexLocker locker(mutex);
+     static void* stackBase = 0;
+@@ -655,11 +703,23 @@
+     static pthread_t stackThread;
+     pthread_t thread = pthread_self();
+     if (stackBase == 0 || thread != stackThread) {
++
++#if defined(QT_LINUXBASE)
++        // LinuxBase is missing pthread_getattr_np - resolve it once at runtime instead
++        // see http://bugs.linuxbase.org/show_bug.cgi?id=2364
++        typedef int (*GetAttrPtr)(pthread_t, pthread_attr_t *);
++        static int (*pthread_getattr_np_ptr)(pthread_t, pthread_attr_t *) = 0;
++        if (!pthread_getattr_np_ptr)
++            *(void **)&pthread_getattr_np_ptr = dlsym(RTLD_DEFAULT, "pthread_getattr_np");
++#endif
+         pthread_attr_t sattr;
+         pthread_attr_init(&sattr);
+ #if HAVE(PTHREAD_NP_H) || OS(NETBSD)
+         // e.g. on FreeBSD 5.4, neundorf@kde.org
+         pthread_attr_get_np(thread, &sattr);
++#elif defined(QT_LINUXBASE)
++        if (pthread_getattr_np_ptr)
++            pthread_getattr_np_ptr(thread, &sattr);
+ #else
+         // FIXME: this function is non-portable; other POSIX systems may have different np alternatives
+         pthread_getattr_np(thread, &sattr);
+@@ -671,6 +731,7 @@
+         stackThread = thread;
+     }
+     return static_cast<char*>(stackBase) + stackSize;
++#endif
+ #else
+ #error Need a way to get the stack base on this platform
+ #endif
diff --git a/package/qt/0005-script-qtdbus-no-gui.patch b/package/qt/0005-script-qtdbus-no-gui.patch
deleted file mode 100644 (file)
index e29e9e4..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-[PATCH] fix build with script+dbus enabled, but no gui
-
-The script/qtdbus plugin doesn't need gui support, so don't try to
-link it against libQtGui.
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- src/plugins/script/qtdbus/qtdbus.pro |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro
-===================================================================
---- qt-4.7.3.orig/src/plugins/script/qtdbus/qtdbus.pro
-+++ qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro
-@@ -1,6 +1,6 @@
- TARGET  = qtscriptdbus
- include(../../qpluginbase.pri)
--QT = core gui script
-+QT = core script
- CONFIG += qdbus
- SOURCES += main.cpp
diff --git a/package/qt/0006-Add-initial-support-of-ARC-architecture.patch b/package/qt/0006-Add-initial-support-of-ARC-architecture.patch
deleted file mode 100644 (file)
index 4470d3b..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-From a695eec2ef21240bbc6cd8cd1bdbab76f8da8dfd Mon Sep 17 00:00:00 2001
-From: Vineet Gupta <vgupta@synopsys.com>
-Date: Wed, 20 May 2015 10:37:25 +0300
-Subject: [PATCH 1/2] Add initial support of ARC architecture
-
-DesignWare ARC 700 and ARC HS38 are families of 32-bit CPUs
-developed by Synopsys, Inc.
-
-This change implements following:
- [1] Defines ARC as one embedded targets
- [2] Defines default tools prefixed for ARC like
-     arc-linux-g++ etc
- [3] Defines "inotify" syscall numbers for ARC
-     (note ARC fully compliant to Linux UAPI headers)
- [4] Disables 16-bit aligned data access
-
-For now we're using generic atomic ops even though it may
-introduce performance panalty.
-
-Change-Id: I91e879ac55c2f3643a544f97cd59671a81ccc3c2
-
-This patch was submited in upstream Qt4 and if it ever gets accepted,
-it should be removed from Buildroot.
-
-https://codereview.qt-project.org/#/c/112667
----
- configure                                     |  6 ++++
- mkspecs/qws/linux-arc-g++/qmake.conf          | 21 ++++++++++++++
- mkspecs/qws/linux-arc-g++/qplatformdefs.h     | 42 +++++++++++++++++++++++++++
- src/corelib/arch/qatomic_arch.h               |  2 ++
- src/corelib/io/qfilesystemwatcher_inotify.cpp |  5 ++++
- src/gui/painting/qblendfunctions.cpp          |  4 +--
- 6 files changed, 78 insertions(+), 2 deletions(-)
- create mode 100644 mkspecs/qws/linux-arc-g++/qmake.conf
- create mode 100644 mkspecs/qws/linux-arc-g++/qplatformdefs.h
-
-diff --git a/configure b/configure
-index 10ad7ca..c7ef074 100755
---- a/configure
-+++ b/configure
-@@ -2829,6 +2829,9 @@ if [ "$CFG_EMBEDDED" != "no" ]; then
-                     *86_64)
-                         CFG_EMBEDDED=x86_64
-                         ;;
-+                    *arc)
-+                        CFG_EMBEDDED=arc
-+                        ;;
-                     *)
-                         CFG_EMBEDDED=generic
-                         ;;
-@@ -3309,6 +3312,9 @@ if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
-     arm*)
-         CFG_ARCH=arm
-         ;;
-+    arc)
-+        CFG_ARCH=arc
-+        ;;
-     *)
-         CFG_ARCH="$CFG_EMBEDDED"
-         ;;
-diff --git a/mkspecs/qws/linux-arc-g++/qmake.conf b/mkspecs/qws/linux-arc-g++/qmake.conf
-new file mode 100644
-index 0000000..a14587b
---- /dev/null
-+++ b/mkspecs/qws/linux-arc-g++/qmake.conf
-@@ -0,0 +1,21 @@
-+#
-+# qmake configuration for building with arc-linux-g++
-+#
-+
-+include(../../common/linux.conf)
-+include(../../common/gcc-base-unix.conf)
-+include(../../common/g++-unix.conf)
-+include(../../common/qws.conf)
-+
-+# modifications to g++.conf
-+QMAKE_CC                = arc-linux-gcc
-+QMAKE_CXX               = arc-linux-g++
-+QMAKE_LINK              = arc-linux-g++
-+QMAKE_LINK_SHLIB        = arc-linux-g++
-+
-+# modifications to linux.conf
-+QMAKE_AR                = arc-linux-ar cqs
-+QMAKE_OBJCOPY           = arc-linux-objcopy
-+QMAKE_STRIP             = arc-linux-strip
-+
-+load(qt_config)
-diff --git a/mkspecs/qws/linux-arc-g++/qplatformdefs.h b/mkspecs/qws/linux-arc-g++/qplatformdefs.h
-new file mode 100644
-index 0000000..a654aa7
---- /dev/null
-+++ b/mkspecs/qws/linux-arc-g++/qplatformdefs.h
-@@ -0,0 +1,42 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 The Qt Company Ltd.
-+** Contact: http://www.qt.io/licensing/
-+**
-+** This file is part of the qmake spec of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see http://www.qt.io/terms-conditions. For further
-+** information use the contact form at http://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 or version 3 as published by the Free
-+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-+** following information to ensure the GNU Lesser General Public License
-+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** As a special exception, The Qt Company gives you certain additional
-+** rights. These rights are described in The Qt Company LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "../../linux-g++/qplatformdefs.h"
-diff --git a/src/corelib/arch/qatomic_arch.h b/src/corelib/arch/qatomic_arch.h
-index d154b7e..a48c42a 100644
---- a/src/corelib/arch/qatomic_arch.h
-+++ b/src/corelib/arch/qatomic_arch.h
-@@ -94,6 +94,8 @@ QT_BEGIN_HEADER
- #  include "QtCore/qatomic_sh4a.h"
- #elif defined(QT_ARCH_NACL)
- #  include "QtCore/qatomic_generic.h"
-+#elif defined(QT_ARCH_ARC)
-+#  include "QtCore/qatomic_generic.h"
- #else
- #  error "Qt has not been ported to this architecture"
- #endif
-diff --git a/src/corelib/io/qfilesystemwatcher_inotify.cpp b/src/corelib/io/qfilesystemwatcher_inotify.cpp
-index 8bca422..e3e2565 100644
---- a/src/corelib/io/qfilesystemwatcher_inotify.cpp
-+++ b/src/corelib/io/qfilesystemwatcher_inotify.cpp
-@@ -143,6 +143,11 @@
- # define __NR_inotify_add_watch 27
- # define __NR_inotify_rm_watch  28
- // no inotify_init for aarch64
-+#elif defined (__arc__)
-+# define __NR_inotify_init      1043
-+# define __NR_inotify_add_watch 27
-+# define __NR_inotify_rm_watch  28
-+# define __NR_inotify_init1     26
- #else
- # error "This architecture is not supported. Please talk to qt-bugs@trolltech.com"
- #endif
-diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp
-index de8790a..cc2f5b6 100644
---- a/src/gui/painting/qblendfunctions.cpp
-+++ b/src/gui/painting/qblendfunctions.cpp
-@@ -309,9 +309,9 @@ template <typename T> void qt_blend_argb24_on_rgb16(uchar *destPixels, int dbpl,
-         const uchar *src = srcPixels + y * sbpl;
-         const uchar *srcEnd = src + srcOffset;
-         while (src < srcEnd) {
--#if defined(QT_ARCH_ARMV5) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || defined(QT_ARCH_AVR32) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_)) || (defined(QT_ARCH_SPARC) && defined(Q_CC_GNU)) || (defined(QT_ARCH_INTEGRITY) && !defined(_X86_))
-+#if defined(QT_ARCH_ARMV5) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || defined(QT_ARCH_AVR32) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_)) || (defined(QT_ARCH_SPARC) && defined(Q_CC_GNU)) || (defined(QT_ARCH_INTEGRITY) && !defined(_X86_)) || defined(QT_ARCH_ARC)
-             // non-16-bit aligned memory access is not possible on PowerPC,
--            // ARM <v6 (QT_ARCH_ARMV5) & SH & AVR32 & SPARC w/GCC
-+            // ARM <v6 (QT_ARCH_ARMV5) & SH & AVR32 & SPARC w/GCC & ARC
-             quint16 spix = (quint16(src[2])<<8) + src[1];
- #else
-             quint16 spix = *(quint16 *) (src + 1);
--- 
-2.1.0
-
diff --git a/package/qt/0006-script-qtdbus-no-gui.patch b/package/qt/0006-script-qtdbus-no-gui.patch
new file mode 100644 (file)
index 0000000..e29e9e4
--- /dev/null
@@ -0,0 +1,22 @@
+[PATCH] fix build with script+dbus enabled, but no gui
+
+The script/qtdbus plugin doesn't need gui support, so don't try to
+link it against libQtGui.
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+---
+ src/plugins/script/qtdbus/qtdbus.pro |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro
+===================================================================
+--- qt-4.7.3.orig/src/plugins/script/qtdbus/qtdbus.pro
++++ qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro
+@@ -1,6 +1,6 @@
+ TARGET  = qtscriptdbus
+ include(../../qpluginbase.pri)
+-QT = core gui script
++QT = core script
+ CONFIG += qdbus
+ SOURCES += main.cpp
diff --git a/package/qt/0007-Add-initial-support-of-ARC-architecture.patch b/package/qt/0007-Add-initial-support-of-ARC-architecture.patch
new file mode 100644 (file)
index 0000000..4470d3b
--- /dev/null
@@ -0,0 +1,183 @@
+From a695eec2ef21240bbc6cd8cd1bdbab76f8da8dfd Mon Sep 17 00:00:00 2001
+From: Vineet Gupta <vgupta@synopsys.com>
+Date: Wed, 20 May 2015 10:37:25 +0300
+Subject: [PATCH 1/2] Add initial support of ARC architecture
+
+DesignWare ARC 700 and ARC HS38 are families of 32-bit CPUs
+developed by Synopsys, Inc.
+
+This change implements following:
+ [1] Defines ARC as one embedded targets
+ [2] Defines default tools prefixed for ARC like
+     arc-linux-g++ etc
+ [3] Defines "inotify" syscall numbers for ARC
+     (note ARC fully compliant to Linux UAPI headers)
+ [4] Disables 16-bit aligned data access
+
+For now we're using generic atomic ops even though it may
+introduce performance panalty.
+
+Change-Id: I91e879ac55c2f3643a544f97cd59671a81ccc3c2
+
+This patch was submited in upstream Qt4 and if it ever gets accepted,
+it should be removed from Buildroot.
+
+https://codereview.qt-project.org/#/c/112667
+---
+ configure                                     |  6 ++++
+ mkspecs/qws/linux-arc-g++/qmake.conf          | 21 ++++++++++++++
+ mkspecs/qws/linux-arc-g++/qplatformdefs.h     | 42 +++++++++++++++++++++++++++
+ src/corelib/arch/qatomic_arch.h               |  2 ++
+ src/corelib/io/qfilesystemwatcher_inotify.cpp |  5 ++++
+ src/gui/painting/qblendfunctions.cpp          |  4 +--
+ 6 files changed, 78 insertions(+), 2 deletions(-)
+ create mode 100644 mkspecs/qws/linux-arc-g++/qmake.conf
+ create mode 100644 mkspecs/qws/linux-arc-g++/qplatformdefs.h
+
+diff --git a/configure b/configure
+index 10ad7ca..c7ef074 100755
+--- a/configure
++++ b/configure
+@@ -2829,6 +2829,9 @@ if [ "$CFG_EMBEDDED" != "no" ]; then
+                     *86_64)
+                         CFG_EMBEDDED=x86_64
+                         ;;
++                    *arc)
++                        CFG_EMBEDDED=arc
++                        ;;
+                     *)
+                         CFG_EMBEDDED=generic
+                         ;;
+@@ -3309,6 +3312,9 @@ if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
+     arm*)
+         CFG_ARCH=arm
+         ;;
++    arc)
++        CFG_ARCH=arc
++        ;;
+     *)
+         CFG_ARCH="$CFG_EMBEDDED"
+         ;;
+diff --git a/mkspecs/qws/linux-arc-g++/qmake.conf b/mkspecs/qws/linux-arc-g++/qmake.conf
+new file mode 100644
+index 0000000..a14587b
+--- /dev/null
++++ b/mkspecs/qws/linux-arc-g++/qmake.conf
+@@ -0,0 +1,21 @@
++#
++# qmake configuration for building with arc-linux-g++
++#
++
++include(../../common/linux.conf)
++include(../../common/gcc-base-unix.conf)
++include(../../common/g++-unix.conf)
++include(../../common/qws.conf)
++
++# modifications to g++.conf
++QMAKE_CC                = arc-linux-gcc
++QMAKE_CXX               = arc-linux-g++
++QMAKE_LINK              = arc-linux-g++
++QMAKE_LINK_SHLIB        = arc-linux-g++
++
++# modifications to linux.conf
++QMAKE_AR                = arc-linux-ar cqs
++QMAKE_OBJCOPY           = arc-linux-objcopy
++QMAKE_STRIP             = arc-linux-strip
++
++load(qt_config)
+diff --git a/mkspecs/qws/linux-arc-g++/qplatformdefs.h b/mkspecs/qws/linux-arc-g++/qplatformdefs.h
+new file mode 100644
+index 0000000..a654aa7
+--- /dev/null
++++ b/mkspecs/qws/linux-arc-g++/qplatformdefs.h
+@@ -0,0 +1,42 @@
++/****************************************************************************
++**
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
++**
++** This file is part of the qmake spec of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
++** GNU Lesser General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
++** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
++**
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
++**
++** GNU General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 3.0 as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL included in the
++** packaging of this file.  Please review the following information to
++** ensure the GNU General Public License version 3.0 requirements will be
++** met: http://www.gnu.org/copyleft/gpl.html.
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++#include "../../linux-g++/qplatformdefs.h"
+diff --git a/src/corelib/arch/qatomic_arch.h b/src/corelib/arch/qatomic_arch.h
+index d154b7e..a48c42a 100644
+--- a/src/corelib/arch/qatomic_arch.h
++++ b/src/corelib/arch/qatomic_arch.h
+@@ -94,6 +94,8 @@ QT_BEGIN_HEADER
+ #  include "QtCore/qatomic_sh4a.h"
+ #elif defined(QT_ARCH_NACL)
+ #  include "QtCore/qatomic_generic.h"
++#elif defined(QT_ARCH_ARC)
++#  include "QtCore/qatomic_generic.h"
+ #else
+ #  error "Qt has not been ported to this architecture"
+ #endif
+diff --git a/src/corelib/io/qfilesystemwatcher_inotify.cpp b/src/corelib/io/qfilesystemwatcher_inotify.cpp
+index 8bca422..e3e2565 100644
+--- a/src/corelib/io/qfilesystemwatcher_inotify.cpp
++++ b/src/corelib/io/qfilesystemwatcher_inotify.cpp
+@@ -143,6 +143,11 @@
+ # define __NR_inotify_add_watch 27
+ # define __NR_inotify_rm_watch  28
+ // no inotify_init for aarch64
++#elif defined (__arc__)
++# define __NR_inotify_init      1043
++# define __NR_inotify_add_watch 27
++# define __NR_inotify_rm_watch  28
++# define __NR_inotify_init1     26
+ #else
+ # error "This architecture is not supported. Please talk to qt-bugs@trolltech.com"
+ #endif
+diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp
+index de8790a..cc2f5b6 100644
+--- a/src/gui/painting/qblendfunctions.cpp
++++ b/src/gui/painting/qblendfunctions.cpp
+@@ -309,9 +309,9 @@ template <typename T> void qt_blend_argb24_on_rgb16(uchar *destPixels, int dbpl,
+         const uchar *src = srcPixels + y * sbpl;
+         const uchar *srcEnd = src + srcOffset;
+         while (src < srcEnd) {
+-#if defined(QT_ARCH_ARMV5) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || defined(QT_ARCH_AVR32) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_)) || (defined(QT_ARCH_SPARC) && defined(Q_CC_GNU)) || (defined(QT_ARCH_INTEGRITY) && !defined(_X86_))
++#if defined(QT_ARCH_ARMV5) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || defined(QT_ARCH_AVR32) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_)) || (defined(QT_ARCH_SPARC) && defined(Q_CC_GNU)) || (defined(QT_ARCH_INTEGRITY) && !defined(_X86_)) || defined(QT_ARCH_ARC)
+             // non-16-bit aligned memory access is not possible on PowerPC,
+-            // ARM <v6 (QT_ARCH_ARMV5) & SH & AVR32 & SPARC w/GCC
++            // ARM <v6 (QT_ARCH_ARMV5) & SH & AVR32 & SPARC w/GCC & ARC
+             quint16 spix = (quint16(src[2])<<8) + src[1];
+ #else
+             quint16 spix = *(quint16 *) (src + 1);
+-- 
+2.1.0
+
diff --git a/package/qt/0007-Prevent-unaligned-access-on-ARC.patch b/package/qt/0007-Prevent-unaligned-access-on-ARC.patch
deleted file mode 100644 (file)
index 684a5b4..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-From 9392d29bf0ad0390c6895933fdec0f690d2bdedf Mon Sep 17 00:00:00 2001
-From: Alexey Brodkin <abrodkin@synopsys.com>
-Date: Wed, 20 May 2015 10:53:59 +0300
-Subject: [PATCH 2/2] Prevent unaligned access on ARC
-
-As many other architectures ARC cores by default don't support
-unaligned word access to data.
-
-Even though it's possible to enable unaligned access to data in
-ARC HS38 core (we're talking about configuration of core design)
-to make sure Qt could be executed on any flavour of ARC fall-back
-to byte-accesses is used.
-
-Change-Id: I96068d40b449f11ba987ed1e5d5e44f493d1eb5f
-
-This patch was submited in upstream Qt4 and if it ever gets accepted,
-it should be removed from Buildroot.
-
-https://codereview.qt-project.org/#/c/112668
----
- src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h |  2 +-
- src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h    | 13 ++++++++++++-
- .../webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp  |  2 +-
- .../webkit/Source/JavaScriptCore/wtf/text/StringHash.h      |  2 +-
- 4 files changed, 15 insertions(+), 4 deletions(-)
-
-diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h
-index 2d76809..ee9b7f0 100644
---- a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h
-+++ b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h
-@@ -202,7 +202,7 @@ struct UStringHash {
-         // FIXME: perhaps we should have a more abstract macro that indicates when
-         // going 4 bytes at a time is unsafe
--#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
-+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC)
-         const UChar* aChars = a->characters();
-         const UChar* bChars = b->characters();
-         for (unsigned i = 0; i != aLength; ++i) {
-diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
-index e8b03be..cd17e9c 100644
---- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
-+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
-@@ -369,7 +369,18 @@
- #endif /* ARM */
--#if CPU(ARM) || CPU(MIPS) || CPU(SH4)
-+/* CPU(ARC) - ARC, any version*/
-+#if   defined(arc) \
-+    || defined(__arc__) \
-+    || defined(ARC) \
-+    || defined(_ARC_)
-+#define WTF_CPU_ARC 1
-+#if defined(__BIG_ENDIAN__)
-+#define WTF_CPU_BIG_ENDIAN 1
-+#endif
-+#endif
-+
-+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ARC)
- #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
- #endif
-diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp
-index 9dd655e..bd3ab95 100644
---- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp
-+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp
-@@ -142,7 +142,7 @@ static inline bool equal(StringImpl* string, const UChar* characters, unsigned l
-     // FIXME: perhaps we should have a more abstract macro that indicates when
-     // going 4 bytes at a time is unsafe
--#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
-+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC)
-     const UChar* stringCharacters = string->characters();
-     for (unsigned i = 0; i != length; ++i) {
-         if (*stringCharacters++ != *characters++)
-diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h
-index 4637c3d..91cef81 100644
---- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h
-+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h
-@@ -55,7 +55,7 @@ namespace WTF {
-             // FIXME: perhaps we should have a more abstract macro that indicates when
-             // going 4 bytes at a time is unsafe
--#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
-+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC)
-             const UChar* aChars = a->characters();
-             const UChar* bChars = b->characters();
-             for (unsigned i = 0; i != aLength; ++i) {
--- 
-2.1.0
-
diff --git a/package/qt/0008-Fix-conversion-constructor-error-for-legacy-c-compil.patch b/package/qt/0008-Fix-conversion-constructor-error-for-legacy-c-compil.patch
deleted file mode 100644 (file)
index d7d387a..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-From ea46f47fb3c475ba2d7581c15185b8d43e63b8c2 Mon Sep 17 00:00:00 2001
-From: Peter Seiderer <ps.report@gmx.net>
-Date: Fri, 27 Feb 2015 21:30:52 +0100
-Subject: [PATCH] Fix conversion/constructor error for legacy c++ compiler.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes the following compile error with legacy c++ compiler:
-
-error: in C++98 ‘blitRect’ must be initialized by constructor, not by ‘{...}’
-
-Signed-off-by: Peter Seiderer <ps.report@gmx.net>
----
- src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp   | 14 +++++++-------
- src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp        |  6 +++---
- src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp        |  6 +++---
- src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp |  2 +-
- 4 files changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
-index 876d0c2..ed69386 100644
---- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
-+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
-@@ -942,7 +942,7 @@ void QDirectFBPaintEngine::drawBufferSpan(const uint *buffer, int bufsize,
-     IDirectFBSurface *src = d->surfaceCache->getSurface(buffer, bufsize);
-     // ### how does this play with setDFBColor
-     src->SetColor(src, 0, 0, 0, const_alpha);
--    const DFBRectangle rect = { 0, 0, length, 1 };
-+    const DFBRectangle rect = (DFBRectangle_C){ 0, 0, length, 1 };
-     d->surface->Blit(d->surface, src, &rect, x, y);
- }
-@@ -1223,14 +1223,14 @@ void QDirectFBPaintEnginePrivate::blit(const QRectF &dest, IDirectFBSurface *s,
-     const QRect dr = engine->state()->matrix.mapRect(dest).toRect();
-     if (dr.isEmpty())
-         return;
--    const DFBRectangle sRect = { sr.x(), sr.y(), sr.width(), sr.height() };
-+    const DFBRectangle sRect = (DFBRectangle_C){ sr.x(), sr.y(), sr.width(), sr.height() };
-     DFBResult result;
-     if (dr.size() == sr.size()) {
-         result = surface->Blit(surface, s, &sRect, dr.x(), dr.y());
-     } else {
-         Q_ASSERT(supportsStretchBlit());
--        const DFBRectangle dRect = { dr.x(), dr.y(), dr.width(), dr.height() };
-+        const DFBRectangle dRect = (DFBRectangle_C){ dr.x(), dr.y(), dr.width(), dr.height() };
-         result = surface->StretchBlit(surface, s, &sRect, &dRect);
-     }
-     if (result != DFB_OK)
-@@ -1261,7 +1261,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
-     if (newClip.isNull())
-         return;
--    const DFBRegion clip = {
-+    const DFBRegion clip = (DFBRegion_C){
-         newClip.x(),
-         newClip.y(),
-         newClip.right(),
-@@ -1295,7 +1295,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
-         while (y <= destinationRect.bottom()) {
-             qreal x = startX;
-             while (x <= destinationRect.right()) {
--                const DFBRectangle destination = { qRound(x), qRound(y), mappedSize.width(), mappedSize.height() };
-+                const DFBRectangle destination = (DFBRectangle_C){ qRound(x), qRound(y), (int)mappedSize.width(), (int)mappedSize.height() };
-                 surface->StretchBlit(surface, sourceSurface, 0, &destination);
-                 x += mappedSize.width();
-             }
-@@ -1337,7 +1337,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
-     if (currentClip.isEmpty()) {
-         surface->SetClip(surface, 0);
-     } else {
--        const DFBRegion clip = {
-+        const DFBRegion clip = (DFBRegion_C){
-             currentClip.x(),
-             currentClip.y(),
-             currentClip.right(),
-@@ -1356,7 +1356,7 @@ void QDirectFBPaintEnginePrivate::updateClip()
-         surface->SetClip(surface, NULL);
-         clipType = NoClip;
-     } else if (clipData->hasRectClip) {
--        const DFBRegion r = {
-+        const DFBRegion r = (DFBRegion_C){
-             clipData->clipRect.x(),
-             clipData->clipRect.y(),
-             clipData->clipRect.right(),
-diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
-index 412e684..c59c47d 100644
---- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
-+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
-@@ -363,7 +363,7 @@ void QDirectFBPixmapData::copy(const QPixmapData *data, const QRect &rect)
-     } else {
-         dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX);
-     }
--    const DFBRectangle blitRect = { rect.x(), rect.y(),
-+    const DFBRectangle blitRect = (DFBRectangle_C){ rect.x(), rect.y(),
-                                     rect.width(), rect.height() };
-     w = rect.width();
-     h = rect.height();
-@@ -465,7 +465,7 @@ QPixmap QDirectFBPixmapData::transformed(const QTransform &transform,
-     }
-     data->dfbSurface->SetBlittingFlags(data->dfbSurface, flags);
--    const DFBRectangle destRect = { 0, 0, size.width(), size.height() };
-+    const DFBRectangle destRect = (DFBRectangle_C){ 0, 0, size.width(), size.height() };
-     data->dfbSurface->StretchBlit(data->dfbSurface, dfbSurface, 0, &destRect);
-     data->w = size.width();
-     data->h = size.height();
-@@ -551,7 +551,7 @@ bool QDirectFBPixmapData::scroll(int dx, int dy, const QRect &rect)
-         return false;
-     }
--    const DFBRectangle source = { rect.x(), rect.y(), rect.width(), rect.height() };
-+    const DFBRectangle source = (DFBRectangle_C){ rect.x(), rect.y(), rect.width(), rect.height() };
-     result = dfbSurface->Blit(dfbSurface, dfbSurface, &source, source.x + dx, source.y + dy);
-     if (result != DFB_OK) {
-         DirectFBError("QDirectFBPixmapData::scroll", result);
-diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
-index eab9580..d26e5bf 100644
---- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
-+++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
-@@ -1635,7 +1635,7 @@ void QDirectFBScreen::solidFill(const QColor &color, const QRegion &region)
- static inline void clearRect(IDirectFBSurface *surface, const QColor &color, const QRect &rect)
- {
-     Q_ASSERT(surface);
--    const DFBRegion region = { rect.left(), rect.top(), rect.right(), rect.bottom() };
-+    const DFBRegion region = (DFBRegion_C){ rect.left(), rect.top(), rect.right(), rect.bottom() };
-     // could just reinterpret_cast this to a DFBRegion
-     surface->SetClip(surface, &region);
-     surface->Clear(surface, color.red(), color.green(), color.blue(), color.alpha());
-@@ -1716,14 +1716,14 @@ void QDirectFBScreen::flipSurface(IDirectFBSurface *surface, DFBSurfaceFlipFlags
-             const DFBSurfaceFlipFlags nonWaitFlags = flipFlags & ~DSFLIP_WAIT;
-             for (int i=0; i<rects.size(); ++i) {
-                 const QRect &r = rects.at(i);
--                const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
-+                const DFBRegion dfbReg = (DFBRegion_C){ r.x() + offset.x(), r.y() + offset.y(),
-                                            r.right() + offset.x(),
-                                            r.bottom() + offset.y() };
-                 surface->Flip(surface, &dfbReg, i + 1 < rects.size() ? nonWaitFlags : flipFlags);
-             }
-         } else {
-             const QRect r = region.boundingRect();
--            const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
-+            const DFBRegion dfbReg = (DFBRegion_C){ r.x() + offset.x(), r.y() + offset.y(),
-                                        r.right() + offset.x(),
-                                        r.bottom() + offset.y() };
-             surface->Flip(surface, &dfbReg, flipFlags);
-diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
-index 4dff907..25ad06b 100644
---- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
-+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
-@@ -333,7 +333,7 @@ bool QDirectFBWindowSurface::scroll(const QRegion &region, int dx, int dy)
-     }
-     dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX);
-     const QRect r = region.boundingRect();
--    const DFBRectangle rect = { r.x(), r.y(), r.width(), r.height() };
-+    const DFBRectangle rect = (DFBRectangle_C){ r.x(), r.y(), r.width(), r.height() };
-     dfbSurface->Blit(dfbSurface, dfbSurface, &rect, r.x() + dx, r.y() + dy);
-     return true;
- }
--- 
-2.1.4
-
diff --git a/package/qt/0008-Prevent-unaligned-access-on-ARC.patch b/package/qt/0008-Prevent-unaligned-access-on-ARC.patch
new file mode 100644 (file)
index 0000000..684a5b4
--- /dev/null
@@ -0,0 +1,92 @@
+From 9392d29bf0ad0390c6895933fdec0f690d2bdedf Mon Sep 17 00:00:00 2001
+From: Alexey Brodkin <abrodkin@synopsys.com>
+Date: Wed, 20 May 2015 10:53:59 +0300
+Subject: [PATCH 2/2] Prevent unaligned access on ARC
+
+As many other architectures ARC cores by default don't support
+unaligned word access to data.
+
+Even though it's possible to enable unaligned access to data in
+ARC HS38 core (we're talking about configuration of core design)
+to make sure Qt could be executed on any flavour of ARC fall-back
+to byte-accesses is used.
+
+Change-Id: I96068d40b449f11ba987ed1e5d5e44f493d1eb5f
+
+This patch was submited in upstream Qt4 and if it ever gets accepted,
+it should be removed from Buildroot.
+
+https://codereview.qt-project.org/#/c/112668
+---
+ src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h |  2 +-
+ src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h    | 13 ++++++++++++-
+ .../webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp  |  2 +-
+ .../webkit/Source/JavaScriptCore/wtf/text/StringHash.h      |  2 +-
+ 4 files changed, 15 insertions(+), 4 deletions(-)
+
+diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h
+index 2d76809..ee9b7f0 100644
+--- a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h
++++ b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h
+@@ -202,7 +202,7 @@ struct UStringHash {
+         // FIXME: perhaps we should have a more abstract macro that indicates when
+         // going 4 bytes at a time is unsafe
+-#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
++#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC)
+         const UChar* aChars = a->characters();
+         const UChar* bChars = b->characters();
+         for (unsigned i = 0; i != aLength; ++i) {
+diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
+index e8b03be..cd17e9c 100644
+--- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
++++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
+@@ -369,7 +369,18 @@
+ #endif /* ARM */
+-#if CPU(ARM) || CPU(MIPS) || CPU(SH4)
++/* CPU(ARC) - ARC, any version*/
++#if   defined(arc) \
++    || defined(__arc__) \
++    || defined(ARC) \
++    || defined(_ARC_)
++#define WTF_CPU_ARC 1
++#if defined(__BIG_ENDIAN__)
++#define WTF_CPU_BIG_ENDIAN 1
++#endif
++#endif
++
++#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ARC)
+ #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
+ #endif
+diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp
+index 9dd655e..bd3ab95 100644
+--- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp
++++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp
+@@ -142,7 +142,7 @@ static inline bool equal(StringImpl* string, const UChar* characters, unsigned l
+     // FIXME: perhaps we should have a more abstract macro that indicates when
+     // going 4 bytes at a time is unsafe
+-#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
++#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC)
+     const UChar* stringCharacters = string->characters();
+     for (unsigned i = 0; i != length; ++i) {
+         if (*stringCharacters++ != *characters++)
+diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h
+index 4637c3d..91cef81 100644
+--- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h
++++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h
+@@ -55,7 +55,7 @@ namespace WTF {
+             // FIXME: perhaps we should have a more abstract macro that indicates when
+             // going 4 bytes at a time is unsafe
+-#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
++#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC)
+             const UChar* aChars = a->characters();
+             const UChar* bChars = b->characters();
+             for (unsigned i = 0; i != aLength; ++i) {
+-- 
+2.1.0
+
diff --git a/package/qt/0009-Fix-conversion-constructor-error-for-legacy-c-compil.patch b/package/qt/0009-Fix-conversion-constructor-error-for-legacy-c-compil.patch
new file mode 100644 (file)
index 0000000..d7d387a
--- /dev/null
@@ -0,0 +1,163 @@
+From ea46f47fb3c475ba2d7581c15185b8d43e63b8c2 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Fri, 27 Feb 2015 21:30:52 +0100
+Subject: [PATCH] Fix conversion/constructor error for legacy c++ compiler.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes the following compile error with legacy c++ compiler:
+
+error: in C++98 ‘blitRect’ must be initialized by constructor, not by ‘{...}’
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp   | 14 +++++++-------
+ src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp        |  6 +++---
+ src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp        |  6 +++---
+ src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp |  2 +-
+ 4 files changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
+index 876d0c2..ed69386 100644
+--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
++++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
+@@ -942,7 +942,7 @@ void QDirectFBPaintEngine::drawBufferSpan(const uint *buffer, int bufsize,
+     IDirectFBSurface *src = d->surfaceCache->getSurface(buffer, bufsize);
+     // ### how does this play with setDFBColor
+     src->SetColor(src, 0, 0, 0, const_alpha);
+-    const DFBRectangle rect = { 0, 0, length, 1 };
++    const DFBRectangle rect = (DFBRectangle_C){ 0, 0, length, 1 };
+     d->surface->Blit(d->surface, src, &rect, x, y);
+ }
+@@ -1223,14 +1223,14 @@ void QDirectFBPaintEnginePrivate::blit(const QRectF &dest, IDirectFBSurface *s,
+     const QRect dr = engine->state()->matrix.mapRect(dest).toRect();
+     if (dr.isEmpty())
+         return;
+-    const DFBRectangle sRect = { sr.x(), sr.y(), sr.width(), sr.height() };
++    const DFBRectangle sRect = (DFBRectangle_C){ sr.x(), sr.y(), sr.width(), sr.height() };
+     DFBResult result;
+     if (dr.size() == sr.size()) {
+         result = surface->Blit(surface, s, &sRect, dr.x(), dr.y());
+     } else {
+         Q_ASSERT(supportsStretchBlit());
+-        const DFBRectangle dRect = { dr.x(), dr.y(), dr.width(), dr.height() };
++        const DFBRectangle dRect = (DFBRectangle_C){ dr.x(), dr.y(), dr.width(), dr.height() };
+         result = surface->StretchBlit(surface, s, &sRect, &dRect);
+     }
+     if (result != DFB_OK)
+@@ -1261,7 +1261,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
+     if (newClip.isNull())
+         return;
+-    const DFBRegion clip = {
++    const DFBRegion clip = (DFBRegion_C){
+         newClip.x(),
+         newClip.y(),
+         newClip.right(),
+@@ -1295,7 +1295,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
+         while (y <= destinationRect.bottom()) {
+             qreal x = startX;
+             while (x <= destinationRect.right()) {
+-                const DFBRectangle destination = { qRound(x), qRound(y), mappedSize.width(), mappedSize.height() };
++                const DFBRectangle destination = (DFBRectangle_C){ qRound(x), qRound(y), (int)mappedSize.width(), (int)mappedSize.height() };
+                 surface->StretchBlit(surface, sourceSurface, 0, &destination);
+                 x += mappedSize.width();
+             }
+@@ -1337,7 +1337,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
+     if (currentClip.isEmpty()) {
+         surface->SetClip(surface, 0);
+     } else {
+-        const DFBRegion clip = {
++        const DFBRegion clip = (DFBRegion_C){
+             currentClip.x(),
+             currentClip.y(),
+             currentClip.right(),
+@@ -1356,7 +1356,7 @@ void QDirectFBPaintEnginePrivate::updateClip()
+         surface->SetClip(surface, NULL);
+         clipType = NoClip;
+     } else if (clipData->hasRectClip) {
+-        const DFBRegion r = {
++        const DFBRegion r = (DFBRegion_C){
+             clipData->clipRect.x(),
+             clipData->clipRect.y(),
+             clipData->clipRect.right(),
+diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
+index 412e684..c59c47d 100644
+--- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
++++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
+@@ -363,7 +363,7 @@ void QDirectFBPixmapData::copy(const QPixmapData *data, const QRect &rect)
+     } else {
+         dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX);
+     }
+-    const DFBRectangle blitRect = { rect.x(), rect.y(),
++    const DFBRectangle blitRect = (DFBRectangle_C){ rect.x(), rect.y(),
+                                     rect.width(), rect.height() };
+     w = rect.width();
+     h = rect.height();
+@@ -465,7 +465,7 @@ QPixmap QDirectFBPixmapData::transformed(const QTransform &transform,
+     }
+     data->dfbSurface->SetBlittingFlags(data->dfbSurface, flags);
+-    const DFBRectangle destRect = { 0, 0, size.width(), size.height() };
++    const DFBRectangle destRect = (DFBRectangle_C){ 0, 0, size.width(), size.height() };
+     data->dfbSurface->StretchBlit(data->dfbSurface, dfbSurface, 0, &destRect);
+     data->w = size.width();
+     data->h = size.height();
+@@ -551,7 +551,7 @@ bool QDirectFBPixmapData::scroll(int dx, int dy, const QRect &rect)
+         return false;
+     }
+-    const DFBRectangle source = { rect.x(), rect.y(), rect.width(), rect.height() };
++    const DFBRectangle source = (DFBRectangle_C){ rect.x(), rect.y(), rect.width(), rect.height() };
+     result = dfbSurface->Blit(dfbSurface, dfbSurface, &source, source.x + dx, source.y + dy);
+     if (result != DFB_OK) {
+         DirectFBError("QDirectFBPixmapData::scroll", result);
+diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
+index eab9580..d26e5bf 100644
+--- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
++++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
+@@ -1635,7 +1635,7 @@ void QDirectFBScreen::solidFill(const QColor &color, const QRegion &region)
+ static inline void clearRect(IDirectFBSurface *surface, const QColor &color, const QRect &rect)
+ {
+     Q_ASSERT(surface);
+-    const DFBRegion region = { rect.left(), rect.top(), rect.right(), rect.bottom() };
++    const DFBRegion region = (DFBRegion_C){ rect.left(), rect.top(), rect.right(), rect.bottom() };
+     // could just reinterpret_cast this to a DFBRegion
+     surface->SetClip(surface, &region);
+     surface->Clear(surface, color.red(), color.green(), color.blue(), color.alpha());
+@@ -1716,14 +1716,14 @@ void QDirectFBScreen::flipSurface(IDirectFBSurface *surface, DFBSurfaceFlipFlags
+             const DFBSurfaceFlipFlags nonWaitFlags = flipFlags & ~DSFLIP_WAIT;
+             for (int i=0; i<rects.size(); ++i) {
+                 const QRect &r = rects.at(i);
+-                const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
++                const DFBRegion dfbReg = (DFBRegion_C){ r.x() + offset.x(), r.y() + offset.y(),
+                                            r.right() + offset.x(),
+                                            r.bottom() + offset.y() };
+                 surface->Flip(surface, &dfbReg, i + 1 < rects.size() ? nonWaitFlags : flipFlags);
+             }
+         } else {
+             const QRect r = region.boundingRect();
+-            const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
++            const DFBRegion dfbReg = (DFBRegion_C){ r.x() + offset.x(), r.y() + offset.y(),
+                                        r.right() + offset.x(),
+                                        r.bottom() + offset.y() };
+             surface->Flip(surface, &dfbReg, flipFlags);
+diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
+index 4dff907..25ad06b 100644
+--- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
++++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
+@@ -333,7 +333,7 @@ bool QDirectFBWindowSurface::scroll(const QRegion &region, int dx, int dy)
+     }
+     dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX);
+     const QRect r = region.boundingRect();
+-    const DFBRectangle rect = { r.x(), r.y(), r.width(), r.height() };
++    const DFBRectangle rect = (DFBRectangle_C){ r.x(), r.y(), r.width(), r.height() };
+     dfbSurface->Blit(dfbSurface, dfbSurface, &rect, r.x() + dx, r.y() + dy);
+     return true;
+ }
+-- 
+2.1.4
+
diff --git a/package/qt/0009-Fix-library-inclusion-order-when-building-statically.patch b/package/qt/0009-Fix-library-inclusion-order-when-building-statically.patch
deleted file mode 100644 (file)
index f6163fa..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-From 7a912823158a4113256c3113a34c38d6b241d275 Mon Sep 17 00:00:00 2001
-From: Alexey Brodkin <abrodkin@synopsys.com>
-Date: Wed, 13 Jan 2016 20:15:36 +0300
-Subject: [PATCH] Fix library inclusion order when building statically
-
-When building application statically it's important to keep
-libraries we're linking against in order. Otherwise if libA depends on
-libB but it is mentioned after libB in linker command line
-there will be unresolved symbols.
-
-Consider real example - configuration of Qt with glib for static build.
-Initially reported by Buildroot autobuilder here:
-http://autobuild.buildroot.net/results/174/174c6e47eb761f9897275b6fedff742ace2f3081
-
-What happens here:
-
-[1] Qt's configuration script tries to build glib test app
-    (in config.tests/unix/glib)
-
-[2] For that it first asks which libs to use during linkage this way:
-    QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
-
-    In our case we're getting something like this:
-    -L/.../sysroot/usr/lib -lintl -lgthread-2.0 -pthread -lglib-2.0 \
-    -lintl -pthread -lintl
-
-    Note "-lintl" is mentioned 3 times because libgthread depends on
-    libthread and both of them plus libglib all depend on libintl - so
-    we're getting "lintl" for each separate library mentioned above.
-
-[3] Now we execute "compileTest" for real heavy lifting this way:
-    compileTest unix/glib "Glib" $QT_CFLAGS_GLIB $QT_LIBS_GLIB ...
-
-[4] compileTest (the one for unix) parses command-line passed to it
-    groups all entries with "-l" prefix and puts them in LFLAGS
-    variable. And finally executes qmake passing it that kind of
-    construction:
-    $OUTDIR/bin/qmake ..."LIBS*=$LFLAGS"
-
-[5] When qmake sees construction "MYVAR*=MYVAL" it populates MYVAR with
-    unique values from MYVAL string.
-
-[6] As a result qmake generated Makefile with the following:
-    LIBS = $(SUBLIBS) -pthread -L/.../sysroot/usr/lib -lintl -lgthread-2.0 \
-    -lglib-2.0
-
-[7] And essentially on attempt to link glib test app a failure happens
-    because libglib needs libintl, i.e. "-lintl" must follow "-lglib-2.0":
--------------------->8------------------
-linking glib
-
-g++ -static -Wl,-O1 -o glib glib.o -pthread -L/.../sysroot/usr/lib \
--lintl -lgthread-2.0 -lglib-2.0
-
-/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function '_g_dgettext_should_translate':
-ggettext.c:(.text+0x28): undefined reference to `libintl_textdomain'
-ggettext.c:(.text+0x36): undefined reference to `libintl_gettext'
-/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function `ensure_gettext_initialized':
-ggettext.c:(.text+0xe6): undefined reference to `libintl_bindtextdomain'
-ggettext.c:(.text+0xf6): undefined reference to `libintl_bind_textdomain_codeset'
-/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function `g_dgettext':
-ggettext.c:(.text+0x148): undefined reference to `libintl_dgettext'
-/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function `g_dcgettext':
-ggettext.c:(.text+0x2dc): undefined reference to `libintl_dcgettext'
-/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function `g_dngettext':
-ggettext.c:(.text+0x32a): undefined reference to `libintl_dngettext'
-collect2: error: ld returned 1 exit status
-Makefile:99: recipe for target 'glib' failed
-make: *** [glib] Error 1
-
-Glib disabled.
-Glib support cannot be enabled due to functionality tests!
- Turn on verbose messaging (-v) to ./configure to see the final report.
- If you believe this message is in error you may use the continue
- switch (-continue) to ./configure to continue.
--------------------->8------------------
-
-Solution to this problem is simple we have to pass all libraries exactly
-in order of their initial mention by upper layers.
-
-Change-Id: I7ff00901031a8eb85b4fbd7889b0e0c02be806bb
-
-This fix was sent to Qt Gerrit for review here:
-https://codereview.qt-project.org/#/c/145967/
-
----
- config.tests/unix/compile.test | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test
-index f484f03..dac0a4f 100755
---- a/config.tests/unix/compile.test
-+++ b/config.tests/unix/compile.test
-@@ -73,7 +73,7 @@ test -r Makefile && $MAKE distclean >/dev/null 2>&1
- rm -f "$EXE" "${EXE}.exe"
- echo "QT_BUILD_TREE = $OUTDIR" > "$OUTDIR/$TEST/.qmake.cache"
--"$OUTDIR/bin/qmake" -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
-+"$OUTDIR/bin/qmake" -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
- if [ "$VERBOSE" = "yes" ]; then
-     $MAKE
--- 
-2.4.3
-
diff --git a/package/qt/0010-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch b/package/qt/0010-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch
deleted file mode 100644 (file)
index 9b16553..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From 0bf90de93b9fe21df32319e27b2507154fa8a21d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
-Date: Fri, 15 Apr 2016 00:37:26 +0200
-Subject: [PATCH] Fix for platform socklen_t on other C libraries than glibc
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This helps to make sure that QT_SOCKLEN_T is defined to be 'int'
-only when its glibc < 2 and not also for the libraries which may define
-it as per standards but are not glibc, e.g. musl.
-
-This patch is adapted from Qt5 [1].
-
-[1]
-https://github.com/qtproject/qtbase/commit/813f468a14fb84af43c1f8fc0a1430277358eba2
-
-Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
----
- mkspecs/linux-g++/qplatformdefs.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/mkspecs/linux-g++/qplatformdefs.h b/mkspecs/linux-g++/qplatformdefs.h
-index de751dd..d4146ed 100644
---- a/mkspecs/linux-g++/qplatformdefs.h
-+++ b/mkspecs/linux-g++/qplatformdefs.h
-@@ -86,10 +86,10 @@
- #undef QT_SOCKLEN_T
--#if defined(__GLIBC__) && (__GLIBC__ >= 2)
--#define QT_SOCKLEN_T            socklen_t
--#else
-+#if defined(__GLIBC__) && (__GLIBC__ < 2)
- #define QT_SOCKLEN_T            int
-+#else
-+#define QT_SOCKLEN_T            socklen_t
- #endif
- #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
--- 
-2.8.0
-
diff --git a/package/qt/0010-Fix-library-inclusion-order-when-building-statically.patch b/package/qt/0010-Fix-library-inclusion-order-when-building-statically.patch
new file mode 100644 (file)
index 0000000..f6163fa
--- /dev/null
@@ -0,0 +1,105 @@
+From 7a912823158a4113256c3113a34c38d6b241d275 Mon Sep 17 00:00:00 2001
+From: Alexey Brodkin <abrodkin@synopsys.com>
+Date: Wed, 13 Jan 2016 20:15:36 +0300
+Subject: [PATCH] Fix library inclusion order when building statically
+
+When building application statically it's important to keep
+libraries we're linking against in order. Otherwise if libA depends on
+libB but it is mentioned after libB in linker command line
+there will be unresolved symbols.
+
+Consider real example - configuration of Qt with glib for static build.
+Initially reported by Buildroot autobuilder here:
+http://autobuild.buildroot.net/results/174/174c6e47eb761f9897275b6fedff742ace2f3081
+
+What happens here:
+
+[1] Qt's configuration script tries to build glib test app
+    (in config.tests/unix/glib)
+
+[2] For that it first asks which libs to use during linkage this way:
+    QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
+
+    In our case we're getting something like this:
+    -L/.../sysroot/usr/lib -lintl -lgthread-2.0 -pthread -lglib-2.0 \
+    -lintl -pthread -lintl
+
+    Note "-lintl" is mentioned 3 times because libgthread depends on
+    libthread and both of them plus libglib all depend on libintl - so
+    we're getting "lintl" for each separate library mentioned above.
+
+[3] Now we execute "compileTest" for real heavy lifting this way:
+    compileTest unix/glib "Glib" $QT_CFLAGS_GLIB $QT_LIBS_GLIB ...
+
+[4] compileTest (the one for unix) parses command-line passed to it
+    groups all entries with "-l" prefix and puts them in LFLAGS
+    variable. And finally executes qmake passing it that kind of
+    construction:
+    $OUTDIR/bin/qmake ..."LIBS*=$LFLAGS"
+
+[5] When qmake sees construction "MYVAR*=MYVAL" it populates MYVAR with
+    unique values from MYVAL string.
+
+[6] As a result qmake generated Makefile with the following:
+    LIBS = $(SUBLIBS) -pthread -L/.../sysroot/usr/lib -lintl -lgthread-2.0 \
+    -lglib-2.0
+
+[7] And essentially on attempt to link glib test app a failure happens
+    because libglib needs libintl, i.e. "-lintl" must follow "-lglib-2.0":
+-------------------->8------------------
+linking glib
+
+g++ -static -Wl,-O1 -o glib glib.o -pthread -L/.../sysroot/usr/lib \
+-lintl -lgthread-2.0 -lglib-2.0
+
+/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function '_g_dgettext_should_translate':
+ggettext.c:(.text+0x28): undefined reference to `libintl_textdomain'
+ggettext.c:(.text+0x36): undefined reference to `libintl_gettext'
+/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function `ensure_gettext_initialized':
+ggettext.c:(.text+0xe6): undefined reference to `libintl_bindtextdomain'
+ggettext.c:(.text+0xf6): undefined reference to `libintl_bind_textdomain_codeset'
+/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function `g_dgettext':
+ggettext.c:(.text+0x148): undefined reference to `libintl_dgettext'
+/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function `g_dcgettext':
+ggettext.c:(.text+0x2dc): undefined reference to `libintl_dcgettext'
+/.../sysroot/usr/lib/libglib-2.0.a(libglib_2_0_la-ggettext.o): In function `g_dngettext':
+ggettext.c:(.text+0x32a): undefined reference to `libintl_dngettext'
+collect2: error: ld returned 1 exit status
+Makefile:99: recipe for target 'glib' failed
+make: *** [glib] Error 1
+
+Glib disabled.
+Glib support cannot be enabled due to functionality tests!
+ Turn on verbose messaging (-v) to ./configure to see the final report.
+ If you believe this message is in error you may use the continue
+ switch (-continue) to ./configure to continue.
+-------------------->8------------------
+
+Solution to this problem is simple we have to pass all libraries exactly
+in order of their initial mention by upper layers.
+
+Change-Id: I7ff00901031a8eb85b4fbd7889b0e0c02be806bb
+
+This fix was sent to Qt Gerrit for review here:
+https://codereview.qt-project.org/#/c/145967/
+
+---
+ config.tests/unix/compile.test | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test
+index f484f03..dac0a4f 100755
+--- a/config.tests/unix/compile.test
++++ b/config.tests/unix/compile.test
+@@ -73,7 +73,7 @@ test -r Makefile && $MAKE distclean >/dev/null 2>&1
+ rm -f "$EXE" "${EXE}.exe"
+ echo "QT_BUILD_TREE = $OUTDIR" > "$OUTDIR/$TEST/.qmake.cache"
+-"$OUTDIR/bin/qmake" -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
++"$OUTDIR/bin/qmake" -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "LIBS=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
+ if [ "$VERBOSE" = "yes" ]; then
+     $MAKE
+-- 
+2.4.3
+
diff --git a/package/qt/0011-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch b/package/qt/0011-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch
new file mode 100644 (file)
index 0000000..9b16553
--- /dev/null
@@ -0,0 +1,43 @@
+From 0bf90de93b9fe21df32319e27b2507154fa8a21d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
+Date: Fri, 15 Apr 2016 00:37:26 +0200
+Subject: [PATCH] Fix for platform socklen_t on other C libraries than glibc
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This helps to make sure that QT_SOCKLEN_T is defined to be 'int'
+only when its glibc < 2 and not also for the libraries which may define
+it as per standards but are not glibc, e.g. musl.
+
+This patch is adapted from Qt5 [1].
+
+[1]
+https://github.com/qtproject/qtbase/commit/813f468a14fb84af43c1f8fc0a1430277358eba2
+
+Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
+---
+ mkspecs/linux-g++/qplatformdefs.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/mkspecs/linux-g++/qplatformdefs.h b/mkspecs/linux-g++/qplatformdefs.h
+index de751dd..d4146ed 100644
+--- a/mkspecs/linux-g++/qplatformdefs.h
++++ b/mkspecs/linux-g++/qplatformdefs.h
+@@ -86,10 +86,10 @@
+ #undef QT_SOCKLEN_T
+-#if defined(__GLIBC__) && (__GLIBC__ >= 2)
+-#define QT_SOCKLEN_T            socklen_t
+-#else
++#if defined(__GLIBC__) && (__GLIBC__ < 2)
+ #define QT_SOCKLEN_T            int
++#else
++#define QT_SOCKLEN_T            socklen_t
+ #endif
+ #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+-- 
+2.8.0
+
diff --git a/package/qt/0011-Link-with-ldl-option-only-when-it-is-supported.patch b/package/qt/0011-Link-with-ldl-option-only-when-it-is-supported.patch
deleted file mode 100644 (file)
index f3d47f7..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-From 438f088ad520ac91ae47dba9a515ab0d1088c89c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
-Date: Fri, 15 Apr 2016 03:32:02 +0200
-Subject: [PATCH] Link with -ldl option only when it is supported
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-`-ldl` option is used unconditionally in `QMAKE_LIBS_DYNLOAD` while libdl is
-not supported when libc is static. As the value of `QMAKE_LIBS_DYNLOAD` goes
-into 'Libs.private' field of the pkgconfig files created by qmake, static
-linking with qt will fail with:
-  /usr/bin/ld: cannot find -ldl
-
-Fix this issue by adding a build test to configure to check if libdl is
-supported. `QMAKE_LIBS_DYNLOAD` in "src/corelib/plugin/plugin.pri" is now used
-only if libdl is available.
-
-Backported from Qt5:
-https://github.com/qtproject/qtbase/commit/f669ea0d54302de31456d57286aa0e4ca1443e98
-
-Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
----
- config.tests/unix/libdl/libdl.cpp | 39 +++++++++++++++++++++++++++++++++++++++
- config.tests/unix/libdl/libdl.pro |  3 +++
- configure                         |  6 ++++++
- src/corelib/plugin/plugin.pri     |  2 +-
- 4 files changed, 49 insertions(+), 1 deletion(-)
- create mode 100644 config.tests/unix/libdl/libdl.cpp
- create mode 100644 config.tests/unix/libdl/libdl.pro
-
-diff --git a/config.tests/unix/libdl/libdl.cpp b/config.tests/unix/libdl/libdl.cpp
-new file mode 100644
-index 0000000..28a8233
---- /dev/null
-+++ b/config.tests/unix/libdl/libdl.cpp
-@@ -0,0 +1,39 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 The Qt Company Ltd.
-+** Contact: http://www.qt.io/licensing/
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL21$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see http://www.qt.io/terms-conditions. For further
-+** information use the contact form at http://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 or version 3 as published by the Free
-+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-+** following information to ensure the GNU Lesser General Public License
-+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** As a special exception, The Qt Company gives you certain additional
-+** rights. These rights are described in The Qt Company LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <dlfcn.h>
-+
-+int main(int, char **)
-+{
-+    dlopen(0, 0);
-+}
-diff --git a/config.tests/unix/libdl/libdl.pro b/config.tests/unix/libdl/libdl.pro
-new file mode 100644
-index 0000000..a643934
---- /dev/null
-+++ b/config.tests/unix/libdl/libdl.pro
-@@ -0,0 +1,3 @@
-+SOURCES = libdl.cpp
-+CONFIG -= qt dylib
-+LIBS += -ldl
-\ No newline at end of file
-diff --git a/configure b/configure
-index 10ad7ca..1c70691 100755
---- a/configure
-+++ b/configure
-@@ -5506,6 +5506,12 @@ if [ "$CFG_LIBPNG" = "auto" ]; then
-     fi
- fi
-+# detect dl
-+if ! compileTest unix/libdl "libdl"; then
-+    QMakeVar add DEFINES QT_NO_DYNAMIC_LIBRARY
-+    QMAKE_CONFIG="$QMAKE_CONFIG no-libdl"
-+fi
-+
- # detect accessibility
- if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
-     if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
-diff --git a/src/corelib/plugin/plugin.pri b/src/corelib/plugin/plugin.pri
-index eb7a7f7..c342f2e 100644
---- a/src/corelib/plugin/plugin.pri
-+++ b/src/corelib/plugin/plugin.pri
-@@ -32,4 +32,4 @@ integrity {
-       SOURCES += plugin/qlibrary_unix.cpp
- }
--LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD
-+!no-libdl: LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD
--- 
-2.8.0
-
diff --git a/package/qt/0012-Link-with-ldl-option-only-when-it-is-supported.patch b/package/qt/0012-Link-with-ldl-option-only-when-it-is-supported.patch
new file mode 100644 (file)
index 0000000..f3d47f7
--- /dev/null
@@ -0,0 +1,116 @@
+From 438f088ad520ac91ae47dba9a515ab0d1088c89c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
+Date: Fri, 15 Apr 2016 03:32:02 +0200
+Subject: [PATCH] Link with -ldl option only when it is supported
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+`-ldl` option is used unconditionally in `QMAKE_LIBS_DYNLOAD` while libdl is
+not supported when libc is static. As the value of `QMAKE_LIBS_DYNLOAD` goes
+into 'Libs.private' field of the pkgconfig files created by qmake, static
+linking with qt will fail with:
+  /usr/bin/ld: cannot find -ldl
+
+Fix this issue by adding a build test to configure to check if libdl is
+supported. `QMAKE_LIBS_DYNLOAD` in "src/corelib/plugin/plugin.pri" is now used
+only if libdl is available.
+
+Backported from Qt5:
+https://github.com/qtproject/qtbase/commit/f669ea0d54302de31456d57286aa0e4ca1443e98
+
+Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
+---
+ config.tests/unix/libdl/libdl.cpp | 39 +++++++++++++++++++++++++++++++++++++++
+ config.tests/unix/libdl/libdl.pro |  3 +++
+ configure                         |  6 ++++++
+ src/corelib/plugin/plugin.pri     |  2 +-
+ 4 files changed, 49 insertions(+), 1 deletion(-)
+ create mode 100644 config.tests/unix/libdl/libdl.cpp
+ create mode 100644 config.tests/unix/libdl/libdl.pro
+
+diff --git a/config.tests/unix/libdl/libdl.cpp b/config.tests/unix/libdl/libdl.cpp
+new file mode 100644
+index 0000000..28a8233
+--- /dev/null
++++ b/config.tests/unix/libdl/libdl.cpp
+@@ -0,0 +1,39 @@
++/****************************************************************************
++**
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
++**
++** This file is part of the config.tests of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL21$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
++** GNU Lesser General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
++** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
++**
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++#include <dlfcn.h>
++
++int main(int, char **)
++{
++    dlopen(0, 0);
++}
+diff --git a/config.tests/unix/libdl/libdl.pro b/config.tests/unix/libdl/libdl.pro
+new file mode 100644
+index 0000000..a643934
+--- /dev/null
++++ b/config.tests/unix/libdl/libdl.pro
+@@ -0,0 +1,3 @@
++SOURCES = libdl.cpp
++CONFIG -= qt dylib
++LIBS += -ldl
+\ No newline at end of file
+diff --git a/configure b/configure
+index 10ad7ca..1c70691 100755
+--- a/configure
++++ b/configure
+@@ -5506,6 +5506,12 @@ if [ "$CFG_LIBPNG" = "auto" ]; then
+     fi
+ fi
++# detect dl
++if ! compileTest unix/libdl "libdl"; then
++    QMakeVar add DEFINES QT_NO_DYNAMIC_LIBRARY
++    QMAKE_CONFIG="$QMAKE_CONFIG no-libdl"
++fi
++
+ # detect accessibility
+ if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
+     if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
+diff --git a/src/corelib/plugin/plugin.pri b/src/corelib/plugin/plugin.pri
+index eb7a7f7..c342f2e 100644
+--- a/src/corelib/plugin/plugin.pri
++++ b/src/corelib/plugin/plugin.pri
+@@ -32,4 +32,4 @@ integrity {
+       SOURCES += plugin/qlibrary_unix.cpp
+ }
+-LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD
++!no-libdl: LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD
+-- 
+2.8.0
+
diff --git a/package/qt/0012-OpenGL-EGL-Avoid-X11-header-collision.patch b/package/qt/0012-OpenGL-EGL-Avoid-X11-header-collision.patch
deleted file mode 100644 (file)
index 8c65d1d..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-From 87c9c18fad02744238336a6cf1ce70d3ec2c89c2 Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Sat, 11 Jun 2016 17:03:07 +0200
-Subject: [PATCH 1/1] OpenGL/EGL: Avoid X11 header collision
-
-Including X11 headers via EGL/egl.h leads to a collision of defines
-between Qt and X11. To fix this qt5 added
-  DEFINES += MESA_EGL_NO_X11_HEADERS
-in various files:
-
-https://github.com/qtproject/qtbase/blob/dev/src/platformsupport/eglconvenience/eglconvenience.pri#L19
-https://github.com/qtproject/qtbase/blob/dev/src/plugins/platforms/minimalegl/minimalegl.pro#L10
-https://github.com/qtproject/qtbase/blob/dev/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro#L6
-[...]
-
-This patch fixes a similar compile error in qt4:
-http://autobuild.buildroot.net/results/9b0/9b0ed92984eead89d148eaa71aff6e2f1e117837/
-http://autobuild.buildroot.org/results/4fd/4fd57553336d36439fab32a7221fc8639758e887/
-http://autobuild.buildroot.org/results/5cb/5cb8072f8220f7203fa79936eedcc43eab53ec66/
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-(patch not sent upstream because qt4 branch is closed:
- http://blog.qt.io/blog/2015/05/26/qt-4-8-7-released/)
----
-
- src/gui/egl/egl.pri   | 3 +++
- src/opengl/opengl.pro | 3 +++
- 2 files changed, 6 insertions(+)
-
-diff --git a/src/gui/egl/egl.pri b/src/gui/egl/egl.pri
-index 8e8664c..715ffd7 100644
---- a/src/gui/egl/egl.pri
-+++ b/src/gui/egl/egl.pri
-@@ -22,6 +22,9 @@ contains(QT_CONFIG, egl): {
-             !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
-         }
-+      # Avoid X11 header collision
-+      DEFINES += MESA_EGL_NO_X11_HEADERS
-+
-       wince*: SOURCES += egl/qegl_wince.cpp
-       unix {
-diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro
-index ce1a5d2..65b1031 100644
---- a/src/opengl/opengl.pro
-+++ b/src/opengl/opengl.pro
-@@ -149,6 +149,9 @@ embedded {
-                qglwindowsurface_qws_p.h \
-                qgl_egl_p.h
-+    # Avoid X11 header collision
-+    DEFINES += MESA_EGL_NO_X11_HEADERS
-+
-     contains(QT_CONFIG, fontconfig) {
-         include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri)
-     } else {
--- 
-2.8.1
-
diff --git a/package/qt/0013-OpenGL-EGL-Avoid-X11-header-collision.patch b/package/qt/0013-OpenGL-EGL-Avoid-X11-header-collision.patch
new file mode 100644 (file)
index 0000000..8c65d1d
--- /dev/null
@@ -0,0 +1,60 @@
+From 87c9c18fad02744238336a6cf1ce70d3ec2c89c2 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Sat, 11 Jun 2016 17:03:07 +0200
+Subject: [PATCH 1/1] OpenGL/EGL: Avoid X11 header collision
+
+Including X11 headers via EGL/egl.h leads to a collision of defines
+between Qt and X11. To fix this qt5 added
+  DEFINES += MESA_EGL_NO_X11_HEADERS
+in various files:
+
+https://github.com/qtproject/qtbase/blob/dev/src/platformsupport/eglconvenience/eglconvenience.pri#L19
+https://github.com/qtproject/qtbase/blob/dev/src/plugins/platforms/minimalegl/minimalegl.pro#L10
+https://github.com/qtproject/qtbase/blob/dev/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro#L6
+[...]
+
+This patch fixes a similar compile error in qt4:
+http://autobuild.buildroot.net/results/9b0/9b0ed92984eead89d148eaa71aff6e2f1e117837/
+http://autobuild.buildroot.org/results/4fd/4fd57553336d36439fab32a7221fc8639758e887/
+http://autobuild.buildroot.org/results/5cb/5cb8072f8220f7203fa79936eedcc43eab53ec66/
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+(patch not sent upstream because qt4 branch is closed:
+ http://blog.qt.io/blog/2015/05/26/qt-4-8-7-released/)
+---
+
+ src/gui/egl/egl.pri   | 3 +++
+ src/opengl/opengl.pro | 3 +++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/src/gui/egl/egl.pri b/src/gui/egl/egl.pri
+index 8e8664c..715ffd7 100644
+--- a/src/gui/egl/egl.pri
++++ b/src/gui/egl/egl.pri
+@@ -22,6 +22,9 @@ contains(QT_CONFIG, egl): {
+             !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
+         }
++      # Avoid X11 header collision
++      DEFINES += MESA_EGL_NO_X11_HEADERS
++
+       wince*: SOURCES += egl/qegl_wince.cpp
+       unix {
+diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro
+index ce1a5d2..65b1031 100644
+--- a/src/opengl/opengl.pro
++++ b/src/opengl/opengl.pro
+@@ -149,6 +149,9 @@ embedded {
+                qglwindowsurface_qws_p.h \
+                qgl_egl_p.h
++    # Avoid X11 header collision
++    DEFINES += MESA_EGL_NO_X11_HEADERS
++
+     contains(QT_CONFIG, fontconfig) {
+         include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri)
+     } else {
+-- 
+2.8.1
+
index de81368511f6c27bd5aa9220b22efb0b6842f8cb..301010cae15bf3a7f0425896c55618db5c1cd063 100644 (file)
@@ -1,4 +1,3 @@
 # md5 http://download.qt.io/official_releases/qt/4.8/4.8.7/md5sums-4.8.7, sha256 locally computed:
 md5    d990ee66bf7ab0c785589776f35ba6ad                                 qt-everywhere-opensource-src-4.8.7.tar.gz
 sha256 e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0 qt-everywhere-opensource-src-4.8.7.tar.gz
-sha256 e03740e20b8dbf52d163d8a4a37125e7c55b59a9a5e7cf7e89a08e07286b6135 b8f98d956501dfa4ce03a137f15d404930a56066.patch
index 8b522081488b2c8f99e2907ad6706de027e44198..e9af8f4be12da253333e35b8eb8d52ed2288339d 100644 (file)
@@ -8,9 +8,6 @@ QT_VERSION_MAJOR = 4.8
 QT_VERSION = $(QT_VERSION_MAJOR).7
 QT_SOURCE = qt-everywhere-opensource-src-$(QT_VERSION).tar.gz
 QT_SITE = http://download.qt-project.org/official_releases/qt/$(QT_VERSION_MAJOR)/$(QT_VERSION)
-# Patch fixing ALSA detection. Taken from Qt5, but applies fine to
-# Qt4.
-QT_PATCH = https://github.com/qtproject/qtbase/commit/b8f98d956501dfa4ce03a137f15d404930a56066.patch
 QT_DEPENDENCIES = host-pkgconf
 QT_INSTALL_STAGING = YES