From: Thomas Petazzoni Date: Sun, 2 Jul 2017 16:53:34 +0000 (+0200) Subject: qt: don't download patch from Github X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=35bc55eaaae8d9d463d3fddcf0b200685014865a;p=buildroot.git qt: don't download patch from Github Patches downloaded from Github are not stable, so bring them in the tree. Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- 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 index 0000000000..4cec4bde52 --- /dev/null +++ b/package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch @@ -0,0 +1,29 @@ +From b8f98d956501dfa4ce03a137f15d404930a56066 Mon Sep 17 00:00:00 2001 +From: Dmitry Shachnev +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 +[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 +--- + 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 +-#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 index 07c9630c90..0000000000 --- a/package/qt/0001-configure.patch +++ /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 - ---- - 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 index 0000000000..07c9630c90 --- /dev/null +++ b/package/qt/0002-configure.patch @@ -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 + +--- + 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 index cb3038138f..0000000000 --- a/package/qt/0002-eglwsegl-use-system.patch +++ /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 ---- -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 -+#include - #include - #include - #include -@@ -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 index 0000000000..cb3038138f --- /dev/null +++ b/package/qt/0003-eglwsegl-use-system.patch @@ -0,0 +1,802 @@ +Patch to remove obsolete powervr headers and instead use the headers provided +on the system. + +Signed-off-by: Spenser Gilliland +--- +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 ++#include + #include + #include + #include +@@ -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 index 64853565e8..0000000000 --- a/package/qt/0003-fix-const-atomics.patch +++ /dev/null @@ -1,50 +0,0 @@ -From d4d07dac01796b2aa0fb501c14865cab7e42b3a9 Mon Sep 17 00:00:00 2001 -From: Mischa Jonker -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(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 index 0000000000..64853565e8 --- /dev/null +++ b/package/qt/0004-fix-const-atomics.patch @@ -0,0 +1,50 @@ +From d4d07dac01796b2aa0fb501c14865cab7e42b3a9 Mon Sep 17 00:00:00 2001 +From: Mischa Jonker +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(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 index 28f0c8411b..0000000000 --- a/package/qt/0004-pthread_getattr_np.patch +++ /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 ---- - 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 - -+#if defined(QT_LINUXBASE) -+#include -+#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 -+extern int *__libc_stack_end; -+#endif -+#endif -+ - #if OS(SOLARIS) - #include - #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(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 index 0000000000..28f0c8411b --- /dev/null +++ b/package/qt/0005-pthread_getattr_np.patch @@ -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 +--- + 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 + ++#if defined(QT_LINUXBASE) ++#include ++#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 ++extern int *__libc_stack_end; ++#endif ++#endif ++ + #if OS(SOLARIS) + #include + #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(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 index e29e9e4a1b..0000000000 --- a/package/qt/0005-script-qtdbus-no-gui.patch +++ /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 ---- - 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 index 4470d3b0df..0000000000 --- a/package/qt/0006-Add-initial-support-of-ARC-architecture.patch +++ /dev/null @@ -1,183 +0,0 @@ -From a695eec2ef21240bbc6cd8cd1bdbab76f8da8dfd Mon Sep 17 00:00:00 2001 -From: Vineet Gupta -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 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 +--- + 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 index 0000000000..4470d3b0df --- /dev/null +++ b/package/qt/0007-Add-initial-support-of-ARC-architecture.patch @@ -0,0 +1,183 @@ +From a695eec2ef21240bbc6cd8cd1bdbab76f8da8dfd Mon Sep 17 00:00:00 2001 +From: Vineet Gupta +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 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 -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 index d7d387a78d..0000000000 --- a/package/qt/0008-Fix-conversion-constructor-error-for-legacy-c-compil.patch +++ /dev/null @@ -1,163 +0,0 @@ -From ea46f47fb3c475ba2d7581c15185b8d43e63b8c2 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -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 ---- - 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 ®ion) - 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, ®ion); - 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; iFlip(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 ®ion, 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 index 0000000000..684a5b494b --- /dev/null +++ b/package/qt/0008-Prevent-unaligned-access-on-ARC.patch @@ -0,0 +1,92 @@ +From 9392d29bf0ad0390c6895933fdec0f690d2bdedf Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +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 index 0000000000..d7d387a78d --- /dev/null +++ b/package/qt/0009-Fix-conversion-constructor-error-for-legacy-c-compil.patch @@ -0,0 +1,163 @@ +From ea46f47fb3c475ba2d7581c15185b8d43e63b8c2 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +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 +--- + 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 ®ion) + 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, ®ion); + 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; iFlip(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 ®ion, 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 index f6163fa0d2..0000000000 --- a/package/qt/0009-Fix-library-inclusion-order-when-building-statically.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 7a912823158a4113256c3113a34c38d6b241d275 Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -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 index 9b1655322a..0000000000 --- a/package/qt/0010-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 0bf90de93b9fe21df32319e27b2507154fa8a21d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -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 ---- - 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 index 0000000000..f6163fa0d2 --- /dev/null +++ b/package/qt/0010-Fix-library-inclusion-order-when-building-statically.patch @@ -0,0 +1,105 @@ +From 7a912823158a4113256c3113a34c38d6b241d275 Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +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 index 0000000000..9b1655322a --- /dev/null +++ b/package/qt/0011-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch @@ -0,0 +1,43 @@ +From 0bf90de93b9fe21df32319e27b2507154fa8a21d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= +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 +--- + 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 index f3d47f754e..0000000000 --- a/package/qt/0011-Link-with-ldl-option-only-when-it-is-supported.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 438f088ad520ac91ae47dba9a515ab0d1088c89c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -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 ---- - 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 -+ -+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 index 0000000000..f3d47f754e --- /dev/null +++ b/package/qt/0012-Link-with-ldl-option-only-when-it-is-supported.patch @@ -0,0 +1,116 @@ +From 438f088ad520ac91ae47dba9a515ab0d1088c89c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= +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 +--- + 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 ++ ++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 index 8c65d1db38..0000000000 --- a/package/qt/0012-OpenGL-EGL-Avoid-X11-header-collision.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 87c9c18fad02744238336a6cf1ce70d3ec2c89c2 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -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 -(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 index 0000000000..8c65d1db38 --- /dev/null +++ b/package/qt/0013-OpenGL-EGL-Avoid-X11-header-collision.patch @@ -0,0 +1,60 @@ +From 87c9c18fad02744238336a6cf1ce70d3ec2c89c2 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +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 +(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/qt.hash b/package/qt/qt.hash index de81368511..301010cae1 100644 --- a/package/qt/qt.hash +++ b/package/qt/qt.hash @@ -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 diff --git a/package/qt/qt.mk b/package/qt/qt.mk index 8b52208148..e9af8f4be1 100644 --- a/package/qt/qt.mk +++ b/package/qt/qt.mk @@ -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