comment "Legacy options removed in 2019.02"
+config BR2_PACKAGE_QT
+ bool "qt package removed"
+ select BR2_LEGACY
+ help
+ The qt package was removed.
+
config BR2_PACKAGE_QTUIO
bool "qtuio package removed"
select BR2_LEGACY
source "package/tk/Config.in"
comment "Other GUIs"
- source "package/qt/Config.in"
source "package/qt5/Config.in"
source "package/kf5/Config.in"
-if BR2_PACKAGE_QT || BR2_PACKAGE_QT5
+if BR2_PACKAGE_QT5
comment "QT libraries and helper libraries"
source "package/cutelyst/Config.in"
source "package/grantlee/Config.in"
+++ /dev/null
-From b8f98d956501dfa4ce03a137f15d404930a56066 Mon Sep 17 00:00:00 2001
-From: Dmitry Shachnev <mitya57@gmail.com>
-Date: Sat, 5 Mar 2016 10:25:33 +0300
-Subject: [PATCH] alsatest: Fix the check to treat alsalib 1.1.x as correct
- version
-
-Task-number: QTBUG-51681
-Change-Id: I63266c33342f02f4d1a5ea5786f5fbc5a1b421b3
-Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-[Upstream commit: https://github.com/qtproject/qtbase/commit/b8f98d956501dfa4ce03a137f15d404930a56066]
-[Patch fixing ALSA detection. Taken from Qt5, but applies fine to Qt4.]
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- config.tests/unix/alsa/alsatest.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/config.tests/unix/alsa/alsatest.cpp b/config.tests/unix/alsa/alsatest.cpp
-index cab6533977..0b45819b61 100644
---- a/config.tests/unix/alsa/alsatest.cpp
-+++ b/config.tests/unix/alsa/alsatest.cpp
-@@ -32,7 +32,7 @@
- ****************************************************************************/
-
- #include <alsa/asoundlib.h>
--#if(!(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10))
-+#if SND_LIB_VERSION < 0x1000a // 1.0.10
- #error "Alsa version found too old, require >= 1.0.10"
- #endif
-
+++ /dev/null
-Fix -hostprefix behaviour
-
-When -hostprefix ./configure option is used, Qt installs all its
-headers, libraries and binaries inside the given host prefix, instead
-of the prefix. This is used by Buildroot to make sure that all Qt
-libraries and headers are installed in $(STAGING_DIR).
-
-Qt ./configure script also allows to tune the installation location of
-various elements, for examples the plugins through the -plugindir
-option. Unfortunately, this option only impact the installation path
-on the target, but not on the host when -hostprefix is used.
-
-This patch modifies Qt ./configure script so that HOST_*PATH_STR
-variables are composed of the host prefix concatenated with the path
-of installation on the target. This way, the plugin installation local
-in the $(STAGING_DIR) and on the target remains the same.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
----
- configure | 18 +++++++++---------
- 1 file changed, 9 insertions(+), 9 deletions(-)
-
-Index: qt-everywhere-opensource-src-4.8.1/configure
-===================================================================
---- qt-everywhere-opensource-src-4.8.1.orig/configure
-+++ qt-everywhere-opensource-src-4.8.1/configure
-@@ -4661,15 +4661,15 @@
-
-
- if [ ! -z "$QT_HOST_PREFIX" ]; then
-- HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
-- HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
-- HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
-- HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
-- HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
-- HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
-- HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"`
-- HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
-- HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
-+ HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX/$QT_INSTALL_PREFIX"`
-+ HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/$QT_INSTALL_DOCS"`
-+ HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/$QT_INSTALL_HEADERS"`
-+ HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/$QT_INSTALL_LIBS"`
-+ HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/$QT_INSTALL_BINS"`
-+ HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/$QT_INSTALL_PLUGINS"`
-+ HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/$QT_INSTALL_IMPORTS"`
-+ HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX/$QT_INSTALL_DATA"`
-+ HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/$QT_INSTALL_TRANSLATIONS"`
- HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
- HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
- HOSTDEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
+++ /dev/null
-Patch to remove obsolete powervr headers and instead use the headers provided
-on the system.
-
-Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
----
-Index: qt-4.8.5/src/3rdparty/powervr/pvr2d.h
-===================================================================
---- qt-4.8.5.orig/src/3rdparty/powervr/pvr2d.h 2013-07-08 11:24:33.010516867 -0500
-+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
-@@ -1,502 +0,0 @@
--/*!****************************************************************************
--@File pvr2d.h
--@Title PVR2D external header file
--@Author Imagination Technologies
--@Copyright Copyright (c) by Imagination Technologies Limited.
-- This specification is protected by copyright laws and contains
-- material proprietary to Imagination Technologies Limited.
-- You may use and distribute this specification free of charge for implementing
-- the functionality therein, without altering or removing any trademark, copyright,
-- or other notice from the specification.
--@Platform Generic
--@Description PVR2D definitions for PVR2D clients
--******************************************************************************/
--
--
--/******************************************************************************
--Modifications :-
--$Log: pvr2d.h $
--******************************************************************************/
--
--#ifndef _PVR2D_H_
--#define _PVR2D_H_
--
--#ifdef __cplusplus
--extern "C" {
--#endif
--
--/* PVR2D Platform-specific definitions */
--#define PVR2D_EXPORT
--#define PVR2D_IMPORT
--
--
--#define PVR2D_REV_MAJOR 2
--#define PVR2D_REV_MINOR 1
--
--typedef enum
--{
-- PVR2D_FALSE = 0,
-- PVR2D_TRUE
--} PVR2D_BOOL;
--
--
--/* error codes */
--typedef enum
--{
-- PVR2D_OK = 0,
-- PVR2DERROR_INVALID_PARAMETER = -1,
-- PVR2DERROR_DEVICE_UNAVAILABLE = -2,
-- PVR2DERROR_INVALID_CONTEXT = -3,
-- PVR2DERROR_MEMORY_UNAVAILABLE = -4,
-- PVR2DERROR_DEVICE_NOT_PRESENT = -5,
-- PVR2DERROR_IOCTL_ERROR = -6,
-- PVR2DERROR_GENERIC_ERROR = -7,
-- PVR2DERROR_BLT_NOTCOMPLETE = -8,
-- PVR2DERROR_HW_FEATURE_NOT_SUPPORTED = -9,
-- PVR2DERROR_NOT_YET_IMPLEMENTED = -10,
-- PVR2DERROR_MAPPING_FAILED = -11
--}PVR2DERROR;
--
--
--/* pixel formats */
--typedef enum
--{
-- PVR2D_1BPP = 0,
-- PVR2D_RGB565,
-- PVR2D_ARGB4444,
-- PVR2D_RGB888,
-- PVR2D_ARGB8888,
-- PVR2D_ARGB1555,
-- PVR2D_ALPHA8,
-- PVR2D_ALPHA4,
-- PVR2D_PAL2,
-- PVR2D_PAL4,
-- PVR2D_PAL8,
-- PVR2D_VGAEMU
--
--}PVR2DFORMAT;
--
--
--/* wrap surface type */
--typedef enum
--{
-- PVR2D_WRAPFLAG_NONCONTIGUOUS = 0,
-- PVR2D_WRAPFLAG_CONTIGUOUS = 1,
--
--}PVR2DWRAPFLAGS;
--
--/* flags for control information of additional blits */
--typedef enum
--{
-- PVR2D_BLIT_DISABLE_ALL = 0x0000, /* disable all additional controls */
-- PVR2D_BLIT_CK_ENABLE = 0x0001, /* enable colour key */
-- PVR2D_BLIT_GLOBAL_ALPHA_ENABLE = 0x0002, /* enable standard global alpha */
-- PVR2D_BLIT_PERPIXEL_ALPHABLEND_ENABLE = 0x0004, /* enable per-pixel alpha bleding */
-- PVR2D_BLIT_PAT_SURFACE_ENABLE = 0x0008, /* enable pattern surf (disable fill) */
-- PVR2D_BLIT_FULLY_SPECIFIED_ALPHA_ENABLE = 0x0010, /* enable fully specified alpha */
-- PVR2D_BLIT_ROT_90 = 0x0020, /* apply 90 degree rotation to the blt */
-- PVR2D_BLIT_ROT_180 = 0x0040, /* apply 180 degree rotation to the blt */
-- PVR2D_BLIT_ROT_270 = 0x0080, /* apply 270 degree rotation to the blt */
-- PVR2D_BLIT_COPYORDER_TL2BR = 0x0100, /* copy order overrides */
-- PVR2D_BLIT_COPYORDER_BR2TL = 0x0200,
-- PVR2D_BLIT_COPYORDER_TR2BL = 0x0400,
-- PVR2D_BLIT_COPYORDER_BL2TR = 0x0800,
-- PVR2D_BLIT_COLKEY_SOURCE = 0x1000, /* Key colour is on the source surface */
-- PVR2D_BLIT_COLKEY_DEST = 0x2000 /* Key colour is on the destination surface */
--
--} PVR2DBLITFLAGS;
--
--/* standard alpha-blending functions, AlphaBlendingFunc field of PVR2DBLTINFO */
--typedef enum
--{
-- PVR2D_ALPHA_OP_SRC_DSTINV = 1, /* source alpha : Cdst = Csrc*Asrc + Cdst*(1-Asrc) */
-- PVR2D_ALPHA_OP_SRCP_DSTINV = 2 /* premultiplied source alpha : Cdst = Csrc + Cdst*(1-Asrc) */
--} PVR2D_ALPHABLENDFUNC;
--
--/* blend ops for fully specified alpha */
--typedef enum
--{
-- PVR2D_BLEND_OP_ZERO = 0,
-- PVR2D_BLEND_OP_ONE = 1,
-- PVR2D_BLEND_OP_SRC = 2,
-- PVR2D_BLEND_OP_DST = 3,
-- PVR2D_BLEND_OP_GLOBAL = 4,
-- PVR2D_BLEND_OP_SRC_PLUS_GLOBAL = 5,
-- PVR2D_BLEND_OP_DST_PLUS_GLOBAL = 6
--}PVR2D_BLEND_OP;
--
--
--typedef void* PVR2D_HANDLE;
--
--
--/* Fully specified alpha blend : pAlpha field of PVR2DBLTINFO structure */
--/* a fully specified Alpha Blend operation is defined as */
--/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (ALPHA_3 * DST (ALPHA)) */
--/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (ALPHA_4 * DST (RGB)) */
--/* if the pre-multiplication stage is enabled then the equations become the following: */
--/* PRE_MUL = ((SRC(A)) * (Global Alpha Value)) */
--/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (PRE_MUL * DST (ALPHA)) */
--/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (PRE_MUL * DST (RGB)) */
--/* if the transparent source alpha stage is enabled then a source alpha of zero forces the */
--/* source to be transparent for that pixel regardless of the blend equation being used. */
--typedef struct _PVR2D_ALPHABLT
--{
-- PVR2D_BLEND_OP eAlpha1;
-- PVR2D_BOOL bAlpha1Invert;
-- PVR2D_BLEND_OP eAlpha2;
-- PVR2D_BOOL bAlpha2Invert;
-- PVR2D_BLEND_OP eAlpha3;
-- PVR2D_BOOL bAlpha3Invert;
-- PVR2D_BLEND_OP eAlpha4;
-- PVR2D_BOOL bAlpha4Invert;
-- PVR2D_BOOL bPremulAlpha; /* enable pre-multiplication stage */
-- PVR2D_BOOL bTransAlpha; /* enable transparent source alpha stage */
-- PVR2D_BOOL bUpdateAlphaLookup; /* enable and update the 1555-Lookup alpha table */
-- unsigned char uAlphaLookup0; /* 8 bit alpha when A=0 in a 1555-Lookup surface */
-- unsigned char uAlphaLookup1; /* 8 bit alpha when A=1 in a 1555-Lookup surface */
-- unsigned char uGlobalRGB; /* Global Alpha Value for RGB, 0=transparent 255=opaque */
-- unsigned char uGlobalA; /* Global Alpha Value for Alpha */
--
--} PVR2D_ALPHABLT, *PPVR2D_ALPHABLT;
--
--
--/* surface memory info structure */
--typedef struct _PVR2DMEMINFO
--{
-- void *pBase;
-- unsigned long ui32MemSize;
-- unsigned long ui32DevAddr;
-- unsigned long ulFlags;
-- void *hPrivateData;
-- void *hPrivateMapData;
--
--}PVR2DMEMINFO, *PPVR2DMEMINFO;
--
--
--#define PVR2D_MAX_DEVICE_NAME 20
--
--typedef struct _PVR2DDEVICEINFO
--{
-- unsigned long ulDevID;
-- char szDeviceName[PVR2D_MAX_DEVICE_NAME];
--}PVR2DDEVICEINFO;
--
--
--typedef struct _PVR2DISPLAYINFO
--{
-- unsigned long ulMaxFlipChains;
-- unsigned long ulMaxBuffersInChain;
-- PVR2DFORMAT eFormat;
-- unsigned long ulWidth;
-- unsigned long ulHeight;
-- long lStride;
-- unsigned long ulMinFlipInterval;
-- unsigned long ulMaxFlipInterval;
--
--}PVR2DDISPLAYINFO;
--
--
--typedef struct _PVR2DBLTINFO
--{
-- unsigned long CopyCode; /* rop code */
-- unsigned long Colour; /* fill colour */
-- unsigned long ColourKey; /* colour key */
-- unsigned char GlobalAlphaValue; /* global alpha blending */
-- unsigned char AlphaBlendingFunc; /* per-pixel alpha-blending function */
--
-- PVR2DBLITFLAGS BlitFlags; /* additional blit control information */
--
-- PVR2DMEMINFO *pDstMemInfo; /* destination memory */
-- unsigned long DstOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */
-- long DstStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
-- long DstX, DstY; /* pixel offset from start of dest surface to start of blt rectangle */
-- long DSizeX,DSizeY; /* blt size */
-- PVR2DFORMAT DstFormat; /* dest format */
-- unsigned long DstSurfWidth; /* size of dest surface in pixels */
-- unsigned long DstSurfHeight; /* size of dest surface in pixels */
--
-- PVR2DMEMINFO *pSrcMemInfo; /* source mem, (source fields are also used for patterns) */
-- unsigned long SrcOffset; /* byte offset from start of allocation to src/pat surface pixel 0,0 */
-- long SrcStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
-- long SrcX, SrcY; /* pixel offset from start of surface to start of source rectangle */
-- /* for patterns this is the start offset within the pattern */
-- long SizeX,SizeY; /* source rectangle size or pattern size in pixels */
-- PVR2DFORMAT SrcFormat; /* source/pattern format */
-- PVR2DMEMINFO *pPalMemInfo; /* source/pattern palette memory containing argb8888 colour table */
-- unsigned long PalOffset; /* byte offset from start of allocation to start of palette */
-- unsigned long SrcSurfWidth; /* size of source surface in pixels */
-- unsigned long SrcSurfHeight; /* size of source surface in pixels */
--
-- PVR2DMEMINFO *pMaskMemInfo; /* mask memory, 1bpp format implied */
-- unsigned long MaskOffset; /* byte offset from start of allocation to mask surface pixel 0,0 */
-- long MaskStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
-- long MaskX, MaskY; /* mask rect top left (mask size = blt size) */
-- unsigned long MaskSurfWidth; /* size of mask surface in pixels */
-- unsigned long MaskSurfHeight; /* size of mask surface in pixels */
--
-- PPVR2D_ALPHABLT pAlpha; /* fully specified alpha blend */
--
--}PVR2DBLTINFO, *PPVR2DBLTINFO;
--
--typedef struct _PVR2DRECT
--{
-- long left, top;
-- long right, bottom;
--} PVR2DRECT;
--
--typedef struct
--{
-- PVR2DMEMINFO *pSurfMemInfo; /* surface memory */
-- unsigned long SurfOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */
-- long Stride; /* signed stride */
-- PVR2DFORMAT Format;
-- unsigned long SurfWidth; /* surface size in pixels */
-- unsigned long SurfHeight;
--
--} PVR2D_SURFACE, *PPVR2D_SURFACE;
--
--typedef struct
--{
-- unsigned long *pUseCode; /* USSE code */
-- unsigned long UseCodeSize; /* usse code size in bytes */
--
--} PVR2D_USECODE, *PPVR2D_USECODE;
--
--typedef struct
--{
-- PVR2D_SURFACE sDst; /* destination surface */
-- PVR2D_SURFACE sSrc; /* source surface */
-- PVR2DRECT rcDest; /* destination rectangle */
-- PVR2DRECT rcSource; /* source rectangle */
-- PVR2D_HANDLE hUseCode; /* custom USE code (NULL implies source copy) */
-- unsigned long UseParams[2]; /* per-blt params for use code */
--
--} PVR2D_3DBLT, *PPVR2D_3DBLT;
--
--
--#define MAKE_COPY_BLIT(src,soff,dest,doff,sx,sy,dx,dy,sz)
--
--typedef void* PVR2DCONTEXTHANDLE;
--typedef void* PVR2DFLIPCHAINHANDLE;
--
--
--// CopyCode field of PVR2DBLTINFO structure:
--// the CopyCode field of the PVR2DBLTINFO structure should contain a rop3 or rop4 code.
--// a rop3 is an 8 bit code that describes a blt with three inputs : source dest and pattern
--// rop4 is a 16 bit code that describes a blt with four inputs : source dest pattern and mask
--// common rop3 codes are defined below
--// a colour fill blt is processed in the pattern channel as a constant colour with a rop code of 0xF0
--// PVR2D_BLIT_PAT_SURFACE_ENABLE defines whether the pattern channel is a surface or a fill colour.
--// a rop4 is defined by two rop3 codes, and the 1 bit-per-pixel mask surface defines which is used.
--// a common rop4 is 0xAAF0 which is the mask copy blt used for text glyphs.
--// CopyCode is taken to be a rop4 when pMaskMemInfo is non zero, otherwise it is assumed to be a rop3
--// use the PVR2DMASKROP4 macro below to construct a rop4 from two rop3's
--// rop3a is the rop used when mask pixel = 1, and rop3b when mask = 0
--#define PVR2DROP4(rop3b, rop3a) ((rop3b<<8)|rop3a)
--
--/* common rop codes */
--#define PVR2DROPclear 0x00 /* 0 (whiteness) */
--#define PVR2DROPset 0xFF /* 1 (blackness) */
--#define PVR2DROPnoop 0xAA /* dst (used for masked blts) */
--
--/* source and dest rop codes */
--#define PVR2DROPand 0x88 /* src AND dst */
--#define PVR2DROPandReverse 0x44 /* src AND NOT dst */
--#define PVR2DROPcopy 0xCC /* src (used for source copy and alpha blts) */
--#define PVR2DROPandInverted 0x22 /* NOT src AND dst */
--#define PVR2DROPxor 0x66 /* src XOR dst */
--#define PVR2DROPor 0xEE /* src OR dst */
--#define PVR2DROPnor 0x11 /* NOT src AND NOT dst */
--#define PVR2DROPequiv 0x99 /* NOT src XOR dst */
--#define PVR2DROPinvert 0x55 /* NOT dst */
--#define PVR2DROPorReverse 0xDD /* src OR NOT dst */
--#define PVR2DROPcopyInverted 0x33 /* NOT src */
--#define PVR2DROPorInverted 0xBB /* NOT src OR dst */
--#define PVR2DROPnand 0x77 /* NOT src OR NOT dst */
--
--/* pattern rop codes */
--#define PVR2DPATROPand 0xA0 /* pat AND dst */
--#define PVR2DPATROPandReverse 0x50 /* pat AND NOT dst */
--#define PVR2DPATROPcopy 0xF0 /* pat (used for solid color fills and pattern blts) */
--#define PVR2DPATROPandInverted 0x0A /* NOT pat AND dst */
--#define PVR2DPATROPxor 0x5A /* pat XOR dst */
--#define PVR2DPATROPor 0xFA /* pat OR dst */
--#define PVR2DPATROPnor 0x05 /* NOT pat AND NOT dst */
--#define PVR2DPATROPequiv 0xA5 /* NOT pat XOR dst */
--#define PVR2DPATROPinvert 0x55 /* NOT dst */
--#define PVR2DPATROPorReverse 0xF5 /* pat OR NOT dst */
--#define PVR2DPATROPcopyInverted 0x0F /* NOT pat */
--#define PVR2DPATROPorInverted 0xAF /* NOT pat OR dst */
--#define PVR2DPATROPnand 0x5F /* NOT pat OR NOT dst */
--
--/* common rop4 codes */
--#define PVR2DROP4MaskedCopy PVR2DROP4(PVR2DROPnoop,PVR2DROPcopy) /* masked source copy blt (used for rounded window corners etc) */
--#define PVR2DROP4MaskedFill PVR2DROP4(PVR2DROPnoop,PVR2DPATROPcopy) /* masked colour fill blt (used for text) */
--
--/* Legacy support */
--#define PVR2DROP3_PATMASK PVR2DPATROPcopy
--#define PVR2DROP3_SRCMASK PVR2DROPcopy
--
--/* pixmap memory alignment */
--#define PVR2D_ALIGNMENT_4 4 /* DWORD alignment */
--#define PVR2D_ALIGNMENT_ANY 0 /* no alignment */
--#define PVR2D_ALIGNMENT_PALETTE 16 /* 16 byte alignment is required for palettes */
--
--/* Heap number for PVR2DGetFrameBuffer */
--#define PVR2D_FB_PRIMARY_SURFACE 0
--
--#define PVR2D_PRESENT_PROPERTY_SRCSTRIDE (1 << 0)
--#define PVR2D_PRESENT_PROPERTY_DSTSIZE (1 << 1)
--#define PVR2D_PRESENT_PROPERTY_DSTPOS (1 << 2)
--#define PVR2D_PRESENT_PROPERTY_CLIPRECTS (1 << 3)
--#define PVR2D_PRESENT_PROPERTY_INTERVAL (1 << 4)
--
--
--#define PVR2D_CREATE_FLIPCHAIN_SHARED (1 << 0)
--#define PVR2D_CREATE_FLIPCHAIN_QUERY (1 << 1)
--
--/* Functions that the library exports */
--
--PVR2D_IMPORT
--int PVR2DEnumerateDevices(PVR2DDEVICEINFO *pDevInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DCreateDeviceContext(unsigned long ulDevID,
-- PVR2DCONTEXTHANDLE* phContext,
-- unsigned long ulFlags);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DDestroyDeviceContext(PVR2DCONTEXTHANDLE hContext);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DGetDeviceInfo(PVR2DCONTEXTHANDLE hContext,
-- PVR2DDISPLAYINFO *pDisplayInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DGetScreenMode(PVR2DCONTEXTHANDLE hContext,
-- PVR2DFORMAT *pFormat,
-- long *plWidth,
-- long *plHeight,
-- long *plStride,
-- int *piRefreshRate);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DGetFrameBuffer(PVR2DCONTEXTHANDLE hContext,
-- int nHeap,
-- PVR2DMEMINFO **ppsMemInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DMemAlloc(PVR2DCONTEXTHANDLE hContext,
-- unsigned long ulBytes,
-- unsigned long ulAlign,
-- unsigned long ulFlags,
-- PVR2DMEMINFO **ppsMemInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DMemWrap(PVR2DCONTEXTHANDLE hContext,
-- void *pMem,
-- unsigned long ulFlags,
-- unsigned long ulBytes,
-- unsigned long alPageAddress[],
-- PVR2DMEMINFO **ppsMemInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DMemMap(PVR2DCONTEXTHANDLE hContext,
-- unsigned long ulFlags,
-- void *hPrivateMapData,
-- PVR2DMEMINFO **ppsDstMem);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DMemFree(PVR2DCONTEXTHANDLE hContext,
-- PVR2DMEMINFO *psMemInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DBlt(PVR2DCONTEXTHANDLE hContext,
-- PVR2DBLTINFO *pBltInfo);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DBltClipped(PVR2DCONTEXTHANDLE hContext,
-- PVR2DBLTINFO *pBltInfo,
-- unsigned long ulNumClipRects,
-- PVR2DRECT *pClipRects);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DQueryBlitsComplete(PVR2DCONTEXTHANDLE hContext,
-- PVR2DMEMINFO *pMemInfo,
-- unsigned int uiWaitForComplete);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DSetPresentBltProperties(PVR2DCONTEXTHANDLE hContext,
-- unsigned long ulPropertyMask,
-- long lSrcStride,
-- unsigned long ulDstWidth,
-- unsigned long ulDstHeight,
-- long lDstXPos,
-- long lDstYPos,
-- unsigned long ulNumClipRects,
-- PVR2DRECT *pClipRects,
-- unsigned long ulSwapInterval);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DPresentBlt(PVR2DCONTEXTHANDLE hContext,
-- PVR2DMEMINFO *pMemInfo,
-- long lRenderID);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DCreateFlipChain(PVR2DCONTEXTHANDLE hContext,
-- unsigned long ulFlags,
-- unsigned long ulNumBuffers,
-- unsigned long ulWidth,
-- unsigned long ulHeight,
-- PVR2DFORMAT eFormat,
-- long *plStride,
-- unsigned long *pulFlipChainID,
-- PVR2DFLIPCHAINHANDLE *phFlipChain);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DDestroyFlipChain(PVR2DCONTEXTHANDLE hContext,
-- PVR2DFLIPCHAINHANDLE hFlipChain);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DGetFlipChainBuffers(PVR2DCONTEXTHANDLE hContext,
-- PVR2DFLIPCHAINHANDLE hFlipChain,
-- unsigned long *pulNumBuffers,
-- PVR2DMEMINFO *psMemInfo[]);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DSetPresentFlipProperties(PVR2DCONTEXTHANDLE hContext,
-- PVR2DFLIPCHAINHANDLE hFlipChain,
-- unsigned long ulPropertyMask,
-- long lDstXPos,
-- long lDstYPos,
-- unsigned long ulNumClipRects,
-- PVR2DRECT *pClipRects,
-- unsigned long ulSwapInterval);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DPresentFlip(PVR2DCONTEXTHANDLE hContext,
-- PVR2DFLIPCHAINHANDLE hFlipChain,
-- PVR2DMEMINFO *psMemInfo,
-- long lRenderID);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DGetAPIRev(long *lRevMajor, long *lRevMinor);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DLoadUseCode (const PVR2DCONTEXTHANDLE hContext, const unsigned char *pUseCode,
-- const unsigned long UseCodeSize, PVR2D_HANDLE *pUseCodeHandle);
--PVR2D_IMPORT
--PVR2DERROR PVR2DFreeUseCode (const PVR2DCONTEXTHANDLE hContext, const PVR2D_HANDLE hUseCodeHandle);
--
--PVR2D_IMPORT
--PVR2DERROR PVR2DBlt3D (const PVR2DCONTEXTHANDLE hContext, const PPVR2D_3DBLT pBlt3D);
--
--#ifdef __cplusplus
--}
--#endif
--
--#endif /* _PVR2D_H_ */
--
--/******************************************************************************
-- End of file (pvr2d.h)
--******************************************************************************/
-Index: qt-4.8.5/src/3rdparty/powervr/wsegl.h
-===================================================================
---- qt-4.8.5.orig/src/3rdparty/powervr/wsegl.h 2013-07-08 11:24:33.010516867 -0500
-+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
-@@ -1,240 +0,0 @@
--/******************************************************************************
-- Name : wsegl.h
-- Copyright : Copyright (c) Imagination Technologies Limited.
-- This specification is protected by copyright laws and contains
-- material proprietary to Imagination Technologies Limited.
-- You may use and distribute this specification free of charge for implementing
-- the functionality therein, without altering or removing any trademark, copyright,
-- or other notice from the specification.
-- Platform : ANSI
--*****************************************************************************/
--
--
--#if !defined(__WSEGL_H__)
--#define __WSEGL_H__
--
--#ifdef __cplusplus
--extern "C" {
--#endif
--
--/*
--// WSEGL Platform-specific definitions
--*/
--#define WSEGL_EXPORT
--#define WSEGL_IMPORT
--
--/*
--// WSEGL API Version Number
--*/
--
--#define WSEGL_VERSION 1
--#define WSEGL_DEFAULT_DISPLAY 0
--#define WSEGL_DEFAULT_NATIVE_ENGINE 0
--
--#define WSEGL_FALSE 0
--#define WSEGL_TRUE 1
--#define WSEGL_NULL 0
--
--#define WSEGL_UNREFERENCED_PARAMETER(param) (param) = (param)
--
--/*
--// WSEGL handles
--*/
--typedef void *WSEGLDisplayHandle;
--typedef void *WSEGLDrawableHandle;
--
--/*
--// Display capability type
--*/
--typedef enum WSEGLCapsType_TAG
--{
-- WSEGL_NO_CAPS = 0,
-- WSEGL_CAP_MIN_SWAP_INTERVAL = 1, /* System default value = 1 */
-- WSEGL_CAP_MAX_SWAP_INTERVAL = 2, /* System default value = 1 */
-- WSEGL_CAP_WINDOWS_USE_HW_SYNC = 3, /* System default value = 0 (FALSE) */
-- WSEGL_CAP_PIXMAPS_USE_HW_SYNC = 4, /* System default value = 0 (FALSE) */
--
--} WSEGLCapsType;
--
--/*
--// Display capability
--*/
--typedef struct WSEGLCaps_TAG
--{
-- WSEGLCapsType eCapsType;
-- unsigned long ui32CapsValue;
--
--} WSEGLCaps;
--
--/*
--// Drawable type
--*/
--#define WSEGL_NO_DRAWABLE 0x0
--#define WSEGL_DRAWABLE_WINDOW 0x1
--#define WSEGL_DRAWABLE_PIXMAP 0x2
--
--
--/*
--// Pixel format of display/drawable
--*/
--typedef enum WSEGLPixelFormat_TAG
--{
-- WSEGL_PIXELFORMAT_565 = 0,
-- WSEGL_PIXELFORMAT_4444 = 1,
-- WSEGL_PIXELFORMAT_8888 = 2,
-- WSEGL_PIXELFORMAT_1555 = 3
--
--} WSEGLPixelFormat;
--
--/*
--// Transparent of display/drawable
--*/
--typedef enum WSEGLTransparentType_TAG
--{
-- WSEGL_OPAQUE = 0,
-- WSEGL_COLOR_KEY = 1,
--
--} WSEGLTransparentType;
--
--/*
--// Display/drawable configuration
--*/
--typedef struct WSEGLConfig_TAG
--{
-- /*
-- // Type of drawables this configuration applies to -
-- // OR'd values of drawable types.
-- */
-- unsigned long ui32DrawableType;
--
-- /* Pixel format */
-- WSEGLPixelFormat ePixelFormat;
--
-- /* Native Renderable - set to WSEGL_TRUE if native renderable */
-- unsigned long ulNativeRenderable;
--
-- /* FrameBuffer Level Parameter */
-- unsigned long ulFrameBufferLevel;
--
-- /* Native Visual ID */
-- unsigned long ulNativeVisualID;
--
-- /* Native Visual */
-- void *hNativeVisual;
--
-- /* Transparent Type */
-- WSEGLTransparentType eTransparentType;
--
-- /* Transparent Color - only used if transparent type is COLOR_KEY */
-- unsigned long ulTransparentColor; /* packed as 0x00RRGGBB */
--
--
--} WSEGLConfig;
--
--/*
--// WSEGL errors
--*/
--typedef enum WSEGLError_TAG
--{
-- WSEGL_SUCCESS = 0,
-- WSEGL_CANNOT_INITIALISE = 1,
-- WSEGL_BAD_NATIVE_DISPLAY = 2,
-- WSEGL_BAD_NATIVE_WINDOW = 3,
-- WSEGL_BAD_NATIVE_PIXMAP = 4,
-- WSEGL_BAD_NATIVE_ENGINE = 5,
-- WSEGL_BAD_DRAWABLE = 6,
-- WSEGL_BAD_CONFIG = 7,
-- WSEGL_OUT_OF_MEMORY = 8
--
--} WSEGLError;
--
--/*
--// Drawable orientation (in degrees anti-clockwise)
--*/
--typedef enum WSEGLRotationAngle_TAG
--{
-- WSEGL_ROTATE_0 = 0,
-- WSEGL_ROTATE_90 = 1,
-- WSEGL_ROTATE_180 = 2,
-- WSEGL_ROTATE_270 = 3
--
--} WSEGLRotationAngle;
--
--/*
--// Drawable information required by OpenGL-ES driver
--*/
--typedef struct WSEGLDrawableParams_TAG
--{
-- /* Width in pixels of the drawable */
-- unsigned long ui32Width;
--
-- /* Height in pixels of the drawable */
-- unsigned long ui32Height;
--
-- /* Stride in pixels of the drawable */
-- unsigned long ui32Stride;
--
-- /* Pixel format of the drawable */
-- WSEGLPixelFormat ePixelFormat;
--
-- /* User space cpu virtual address of the drawable */
-- void *pvLinearAddress;
--
-- /* HW address of the drawable */
-- unsigned long ui32HWAddress;
--
-- /* Private data for the drawable */
-- void *hPrivateData;
--
--} WSEGLDrawableParams;
--
--
--/*
--// Table of function pointers that is returned by WSEGL_GetFunctionTablePointer()
--//
--// The first entry in the table is the version number of the wsegl.h header file that
--// the module has been written against, and should therefore be set to WSEGL_VERSION
--*/
--typedef struct WSEGL_FunctionTable_TAG
--{
-- unsigned long ui32WSEGLVersion;
--
-- WSEGLError (*pfnWSEGL_IsDisplayValid)(NativeDisplayType);
--
-- WSEGLError (*pfnWSEGL_InitialiseDisplay)(NativeDisplayType, WSEGLDisplayHandle *, const WSEGLCaps **, WSEGLConfig **);
--
-- WSEGLError (*pfnWSEGL_CloseDisplay)(WSEGLDisplayHandle);
--
-- WSEGLError (*pfnWSEGL_CreateWindowDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativeWindowType, WSEGLRotationAngle *);
--
-- WSEGLError (*pfnWSEGL_CreatePixmapDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativePixmapType, WSEGLRotationAngle *);
--
-- WSEGLError (*pfnWSEGL_DeleteDrawable)(WSEGLDrawableHandle);
--
-- WSEGLError (*pfnWSEGL_SwapDrawable)(WSEGLDrawableHandle, unsigned long);
--
-- WSEGLError (*pfnWSEGL_SwapControlInterval)(WSEGLDrawableHandle, unsigned long);
--
-- WSEGLError (*pfnWSEGL_WaitNative)(WSEGLDrawableHandle, unsigned long);
--
-- WSEGLError (*pfnWSEGL_CopyFromDrawable)(WSEGLDrawableHandle, NativePixmapType);
--
-- WSEGLError (*pfnWSEGL_CopyFromPBuffer)(void *, unsigned long, unsigned long, unsigned long, WSEGLPixelFormat, NativePixmapType);
--
-- WSEGLError (*pfnWSEGL_GetDrawableParameters)(WSEGLDrawableHandle, WSEGLDrawableParams *, WSEGLDrawableParams *);
--
--
--} WSEGL_FunctionTable;
--
--
--WSEGL_IMPORT const WSEGL_FunctionTable *WSEGL_GetFunctionTablePointer(void);
--
--#ifdef __cplusplus
--}
--#endif
--
--#endif /* __WSEGL_H__ */
--
--/******************************************************************************
-- End of file (wsegl.h)
--******************************************************************************/
-Index: qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c
-===================================================================
---- qt-4.8.5.orig/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c 2013-07-08 11:24:33.010516867 -0500
-+++ qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c 2013-07-08 11:28:26.142521123 -0500
-@@ -39,7 +39,7 @@
- **
- ****************************************************************************/
-
--#include <GLES/eglplatform.h>
-+#include <EGL/eglplatform.h>
- #include <wsegl.h>
- #include <pvr2d.h>
- #include <string.h>
-@@ -379,6 +379,20 @@
- return WSEGL_SUCCESS;
- }
-
-+/* Function stub for ConnectDrawable() */
-+static WSEGLError wseglConnectDrawable(WSEGLDrawableHandle hDrawable)
-+{
-+ WSEGL_UNREFERENCED_PARAMETER(hDrawable);
-+ return WSEGL_SUCCESS;
-+}
-+
-+/* Function stub for DisconnectDrawable() */
-+static WSEGLError wseglDisconnectDrawable(WSEGLDrawableHandle hDrawable)
-+{
-+ WSEGL_UNREFERENCED_PARAMETER(hDrawable);
-+ return WSEGL_SUCCESS;
-+}
-+
- static WSEGL_FunctionTable const wseglFunctions = {
- WSEGL_VERSION,
- wseglIsDisplayValid,
-@@ -392,7 +406,9 @@
- wseglWaitNative,
- wseglCopyFromDrawable,
- wseglCopyFromPBuffer,
-- wseglGetDrawableParameters
-+ wseglGetDrawableParameters,
-+ wseglConnectDrawable,
-+ wseglDisconnectDrawable
- };
-
- /* Return the table of WSEGL functions to the EGL implementation */
+++ /dev/null
-From d4d07dac01796b2aa0fb501c14865cab7e42b3a9 Mon Sep 17 00:00:00 2001
-From: Mischa Jonker <mischa.jonker@synopsys.com>
-Date: Sun, 4 Nov 2012 11:42:04 +0100
-Subject: [PATCH] Fix const-related build error in generic atomic ops
-
-It's still not entirely const-correct though. In all other architectures
-this is obfuscated through the use of inline asm (which the compiler
-doesn't check). This patch obfuscates through const_cast
----
- src/corelib/arch/generic/qatomic_generic_unix.cpp | 8 ++++----
- src/corelib/arch/qatomic_generic.h | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/corelib/arch/generic/qatomic_generic_unix.cpp b/src/corelib/arch/generic/qatomic_generic_unix.cpp
-index 1c6cbf0..6fce81d 100644
---- a/src/corelib/arch/generic/qatomic_generic_unix.cpp
-+++ b/src/corelib/arch/generic/qatomic_generic_unix.cpp
-@@ -85,13 +85,13 @@ int QBasicAtomicInt_fetchAndAddOrdered(volatile int *_q_value, int valueToAdd)
-
- Q_CORE_EXPORT
- bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *_q_value,
-- void *expectedValue,
-- void *newValue)
-+ const void *expectedValue,
-+ const void *newValue)
- {
- bool returnValue = false;
- pthread_mutex_lock(&qAtomicMutex);
- if (*_q_value == expectedValue) {
-- *_q_value = newValue;
-+ *_q_value = const_cast<void*>(newValue);
- returnValue = true;
- }
- pthread_mutex_unlock(&qAtomicMutex);
-diff --git a/src/corelib/arch/qatomic_generic.h b/src/corelib/arch/qatomic_generic.h
-index 621a767..4c14679 100644
---- a/src/corelib/arch/qatomic_generic.h
-+++ b/src/corelib/arch/qatomic_generic.h
-@@ -105,7 +105,7 @@ Q_CORE_EXPORT bool QBasicAtomicInt_testAndSetOrdered(volatile int *, int, int);
- Q_CORE_EXPORT int QBasicAtomicInt_fetchAndStoreOrdered(volatile int *, int);
- Q_CORE_EXPORT int QBasicAtomicInt_fetchAndAddOrdered(volatile int *, int);
-
--Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, void *, void *);
-+Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, const void *, const void *);
- Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *, void *);
- Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *, qptrdiff);
-
---
-1.7.0.4
-
+++ /dev/null
-Add pthred_getattr_np / phread_attr_getstrack alternatives for uClibc
-
-Based on https://dev.openwrt.org/log/packages/Xorg/lib/qt4/patches/100-fix-webkit-for-uclibc.patch?rev=20371
-
-Signed-off-by: Johan Sagaert <sagaert.johan@skynet.be>
----
- src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp | 61 ++++++++++
- 1 file changed, 61 insertions(+)
-
-Index: qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
-===================================================================
---- qt-everywhere-opensource-src-4.8.1.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
-+++ qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
-@@ -70,6 +70,23 @@
- #endif
- #include <unistd.h>
-
-+#if defined(QT_LINUXBASE)
-+#include <dlfcn.h>
-+#endif
-+
-+#if defined(__UCLIBC__)
-+// versions of uClibc 0.9.32 and below with linuxthreads.old do not have
-+// pthread_getattr_np or pthread_attr_getstack.
-+#if __UCLIBC_MAJOR__ == 0 && \
-+ (__UCLIBC_MINOR__ < 9 || \
-+ (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ <= 32)) && \
-+ defined(__LINUXTHREADS_OLD__)
-+#define UCLIBC_USE_PROC_SELF_MAPS 1
-+#include <stdio_ext.h>
-+extern int *__libc_stack_end;
-+#endif
-+#endif
-+
- #if OS(SOLARIS)
- #include <thread.h>
- #else
-@@ -648,6 +665,37 @@
- get_thread_info(find_thread(NULL), &threadInfo);
- return threadInfo.stack_end;
- #elif OS(UNIX)
-+#ifdef UCLIBC_USE_PROC_SELF_MAPS
-+ // Read /proc/self/maps and locate the line whose address
-+ // range contains __libc_stack_end.
-+ FILE *file = fopen("/proc/self/maps", "r");
-+ if (!file)
-+ return 0;
-+ __fsetlocking(file, FSETLOCKING_BYCALLER);
-+ char *line = NULL;
-+ size_t lineLen = 0;
-+ while (!feof_unlocked(file)) {
-+ if (getdelim(&line, &lineLen, '\n', file) <= 0)
-+ break;
-+
-+ long from;
-+ long to;
-+ if (sscanf (line, "%lx-%lx", &from, &to) != 2)
-+ continue;
-+ if (from <= (long)__libc_stack_end && (long)__libc_stack_end < to) {
-+ fclose(file);
-+ free(line);
-+#ifdef _STACK_GROWS_UP
-+ return (void *)from;
-+#else
-+ return (void *)to;
-+#endif
-+ }
-+ }
-+ fclose(file);
-+ free(line);
-+ return 0;
-+#else
- AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex);
- MutexLocker locker(mutex);
- static void* stackBase = 0;
-@@ -655,11 +703,23 @@
- static pthread_t stackThread;
- pthread_t thread = pthread_self();
- if (stackBase == 0 || thread != stackThread) {
-+
-+#if defined(QT_LINUXBASE)
-+ // LinuxBase is missing pthread_getattr_np - resolve it once at runtime instead
-+ // see http://bugs.linuxbase.org/show_bug.cgi?id=2364
-+ typedef int (*GetAttrPtr)(pthread_t, pthread_attr_t *);
-+ static int (*pthread_getattr_np_ptr)(pthread_t, pthread_attr_t *) = 0;
-+ if (!pthread_getattr_np_ptr)
-+ *(void **)&pthread_getattr_np_ptr = dlsym(RTLD_DEFAULT, "pthread_getattr_np");
-+#endif
- pthread_attr_t sattr;
- pthread_attr_init(&sattr);
- #if HAVE(PTHREAD_NP_H) || OS(NETBSD)
- // e.g. on FreeBSD 5.4, neundorf@kde.org
- pthread_attr_get_np(thread, &sattr);
-+#elif defined(QT_LINUXBASE)
-+ if (pthread_getattr_np_ptr)
-+ pthread_getattr_np_ptr(thread, &sattr);
- #else
- // FIXME: this function is non-portable; other POSIX systems may have different np alternatives
- pthread_getattr_np(thread, &sattr);
-@@ -671,6 +731,7 @@
- stackThread = thread;
- }
- return static_cast<char*>(stackBase) + stackSize;
-+#endif
- #else
- #error Need a way to get the stack base on this platform
- #endif
+++ /dev/null
-[PATCH] fix build with script+dbus enabled, but no gui
-
-The script/qtdbus plugin doesn't need gui support, so don't try to
-link it against libQtGui.
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- src/plugins/script/qtdbus/qtdbus.pro | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro
-===================================================================
---- qt-4.7.3.orig/src/plugins/script/qtdbus/qtdbus.pro
-+++ qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro
-@@ -1,6 +1,6 @@
- TARGET = qtscriptdbus
- include(../../qpluginbase.pri)
--QT = core gui script
-+QT = core script
- CONFIG += qdbus
-
- SOURCES += main.cpp
+++ /dev/null
-From a695eec2ef21240bbc6cd8cd1bdbab76f8da8dfd Mon Sep 17 00:00:00 2001
-From: Vineet Gupta <vgupta@synopsys.com>
-Date: Wed, 20 May 2015 10:37:25 +0300
-Subject: [PATCH 1/2] Add initial support of ARC architecture
-
-DesignWare ARC 700 and ARC HS38 are families of 32-bit CPUs
-developed by Synopsys, Inc.
-
-This change implements following:
- [1] Defines ARC as one embedded targets
- [2] Defines default tools prefixed for ARC like
- arc-linux-g++ etc
- [3] Defines "inotify" syscall numbers for ARC
- (note ARC fully compliant to Linux UAPI headers)
- [4] Disables 16-bit aligned data access
-
-For now we're using generic atomic ops even though it may
-introduce performance panalty.
-
-Change-Id: I91e879ac55c2f3643a544f97cd59671a81ccc3c2
-
-This patch was submited in upstream Qt4 and if it ever gets accepted,
-it should be removed from Buildroot.
-
-https://codereview.qt-project.org/#/c/112667
----
- configure | 6 ++++
- mkspecs/qws/linux-arc-g++/qmake.conf | 21 ++++++++++++++
- mkspecs/qws/linux-arc-g++/qplatformdefs.h | 42 +++++++++++++++++++++++++++
- src/corelib/arch/qatomic_arch.h | 2 ++
- src/corelib/io/qfilesystemwatcher_inotify.cpp | 5 ++++
- src/gui/painting/qblendfunctions.cpp | 4 +--
- 6 files changed, 78 insertions(+), 2 deletions(-)
- create mode 100644 mkspecs/qws/linux-arc-g++/qmake.conf
- create mode 100644 mkspecs/qws/linux-arc-g++/qplatformdefs.h
-
-diff --git a/configure b/configure
-index 10ad7ca..c7ef074 100755
---- a/configure
-+++ b/configure
-@@ -2829,6 +2829,9 @@ if [ "$CFG_EMBEDDED" != "no" ]; then
- *86_64)
- CFG_EMBEDDED=x86_64
- ;;
-+ *arc)
-+ CFG_EMBEDDED=arc
-+ ;;
- *)
- CFG_EMBEDDED=generic
- ;;
-@@ -3309,6 +3312,9 @@ if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
- arm*)
- CFG_ARCH=arm
- ;;
-+ arc)
-+ CFG_ARCH=arc
-+ ;;
- *)
- CFG_ARCH="$CFG_EMBEDDED"
- ;;
-diff --git a/mkspecs/qws/linux-arc-g++/qmake.conf b/mkspecs/qws/linux-arc-g++/qmake.conf
-new file mode 100644
-index 0000000..a14587b
---- /dev/null
-+++ b/mkspecs/qws/linux-arc-g++/qmake.conf
-@@ -0,0 +1,21 @@
-+#
-+# qmake configuration for building with arc-linux-g++
-+#
-+
-+include(../../common/linux.conf)
-+include(../../common/gcc-base-unix.conf)
-+include(../../common/g++-unix.conf)
-+include(../../common/qws.conf)
-+
-+# modifications to g++.conf
-+QMAKE_CC = arc-linux-gcc
-+QMAKE_CXX = arc-linux-g++
-+QMAKE_LINK = arc-linux-g++
-+QMAKE_LINK_SHLIB = arc-linux-g++
-+
-+# modifications to linux.conf
-+QMAKE_AR = arc-linux-ar cqs
-+QMAKE_OBJCOPY = arc-linux-objcopy
-+QMAKE_STRIP = arc-linux-strip
-+
-+load(qt_config)
-diff --git a/mkspecs/qws/linux-arc-g++/qplatformdefs.h b/mkspecs/qws/linux-arc-g++/qplatformdefs.h
-new file mode 100644
-index 0000000..a654aa7
---- /dev/null
-+++ b/mkspecs/qws/linux-arc-g++/qplatformdefs.h
-@@ -0,0 +1,42 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 The Qt Company Ltd.
-+** Contact: http://www.qt.io/licensing/
-+**
-+** This file is part of the qmake spec of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see http://www.qt.io/terms-conditions. For further
-+** information use the contact form at http://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 or version 3 as published by the Free
-+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-+** following information to ensure the GNU Lesser General Public License
-+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** As a special exception, The Qt Company gives you certain additional
-+** rights. These rights are described in The Qt Company LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "../../linux-g++/qplatformdefs.h"
-diff --git a/src/corelib/arch/qatomic_arch.h b/src/corelib/arch/qatomic_arch.h
-index d154b7e..a48c42a 100644
---- a/src/corelib/arch/qatomic_arch.h
-+++ b/src/corelib/arch/qatomic_arch.h
-@@ -94,6 +94,8 @@ QT_BEGIN_HEADER
- # include "QtCore/qatomic_sh4a.h"
- #elif defined(QT_ARCH_NACL)
- # include "QtCore/qatomic_generic.h"
-+#elif defined(QT_ARCH_ARC)
-+# include "QtCore/qatomic_generic.h"
- #else
- # error "Qt has not been ported to this architecture"
- #endif
-diff --git a/src/corelib/io/qfilesystemwatcher_inotify.cpp b/src/corelib/io/qfilesystemwatcher_inotify.cpp
-index 8bca422..e3e2565 100644
---- a/src/corelib/io/qfilesystemwatcher_inotify.cpp
-+++ b/src/corelib/io/qfilesystemwatcher_inotify.cpp
-@@ -143,6 +143,11 @@
- # define __NR_inotify_add_watch 27
- # define __NR_inotify_rm_watch 28
- // no inotify_init for aarch64
-+#elif defined (__arc__)
-+# define __NR_inotify_init 1043
-+# define __NR_inotify_add_watch 27
-+# define __NR_inotify_rm_watch 28
-+# define __NR_inotify_init1 26
- #else
- # error "This architecture is not supported. Please talk to qt-bugs@trolltech.com"
- #endif
-diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp
-index de8790a..cc2f5b6 100644
---- a/src/gui/painting/qblendfunctions.cpp
-+++ b/src/gui/painting/qblendfunctions.cpp
-@@ -309,9 +309,9 @@ template <typename T> void qt_blend_argb24_on_rgb16(uchar *destPixels, int dbpl,
- const uchar *src = srcPixels + y * sbpl;
- const uchar *srcEnd = src + srcOffset;
- while (src < srcEnd) {
--#if defined(QT_ARCH_ARMV5) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || defined(QT_ARCH_AVR32) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_)) || (defined(QT_ARCH_SPARC) && defined(Q_CC_GNU)) || (defined(QT_ARCH_INTEGRITY) && !defined(_X86_))
-+#if defined(QT_ARCH_ARMV5) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || defined(QT_ARCH_AVR32) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_)) || (defined(QT_ARCH_SPARC) && defined(Q_CC_GNU)) || (defined(QT_ARCH_INTEGRITY) && !defined(_X86_)) || defined(QT_ARCH_ARC)
- // non-16-bit aligned memory access is not possible on PowerPC,
-- // ARM <v6 (QT_ARCH_ARMV5) & SH & AVR32 & SPARC w/GCC
-+ // ARM <v6 (QT_ARCH_ARMV5) & SH & AVR32 & SPARC w/GCC & ARC
- quint16 spix = (quint16(src[2])<<8) + src[1];
- #else
- quint16 spix = *(quint16 *) (src + 1);
---
-2.1.0
-
+++ /dev/null
-From 9392d29bf0ad0390c6895933fdec0f690d2bdedf Mon Sep 17 00:00:00 2001
-From: Alexey Brodkin <abrodkin@synopsys.com>
-Date: Wed, 20 May 2015 10:53:59 +0300
-Subject: [PATCH 2/2] Prevent unaligned access on ARC
-
-As many other architectures ARC cores by default don't support
-unaligned word access to data.
-
-Even though it's possible to enable unaligned access to data in
-ARC HS38 core (we're talking about configuration of core design)
-to make sure Qt could be executed on any flavour of ARC fall-back
-to byte-accesses is used.
-
-Change-Id: I96068d40b449f11ba987ed1e5d5e44f493d1eb5f
-
-This patch was submited in upstream Qt4 and if it ever gets accepted,
-it should be removed from Buildroot.
-
-https://codereview.qt-project.org/#/c/112668
----
- src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h | 2 +-
- src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h | 13 ++++++++++++-
- .../webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp | 2 +-
- .../webkit/Source/JavaScriptCore/wtf/text/StringHash.h | 2 +-
- 4 files changed, 15 insertions(+), 4 deletions(-)
-
-diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h
-index 2d76809..ee9b7f0 100644
---- a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h
-+++ b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h
-@@ -202,7 +202,7 @@ struct UStringHash {
-
- // FIXME: perhaps we should have a more abstract macro that indicates when
- // going 4 bytes at a time is unsafe
--#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
-+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC)
- const UChar* aChars = a->characters();
- const UChar* bChars = b->characters();
- for (unsigned i = 0; i != aLength; ++i) {
-diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
-index e8b03be..cd17e9c 100644
---- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
-+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
-@@ -369,7 +369,18 @@
-
- #endif /* ARM */
-
--#if CPU(ARM) || CPU(MIPS) || CPU(SH4)
-+/* CPU(ARC) - ARC, any version*/
-+#if defined(arc) \
-+ || defined(__arc__) \
-+ || defined(ARC) \
-+ || defined(_ARC_)
-+#define WTF_CPU_ARC 1
-+#if defined(__BIG_ENDIAN__)
-+#define WTF_CPU_BIG_ENDIAN 1
-+#endif
-+#endif
-+
-+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ARC)
- #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
- #endif
-
-diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp
-index 9dd655e..bd3ab95 100644
---- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp
-+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp
-@@ -142,7 +142,7 @@ static inline bool equal(StringImpl* string, const UChar* characters, unsigned l
-
- // FIXME: perhaps we should have a more abstract macro that indicates when
- // going 4 bytes at a time is unsafe
--#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
-+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC)
- const UChar* stringCharacters = string->characters();
- for (unsigned i = 0; i != length; ++i) {
- if (*stringCharacters++ != *characters++)
-diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h
-index 4637c3d..91cef81 100644
---- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h
-+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h
-@@ -55,7 +55,7 @@ namespace WTF {
-
- // FIXME: perhaps we should have a more abstract macro that indicates when
- // going 4 bytes at a time is unsafe
--#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
-+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC)
- const UChar* aChars = a->characters();
- const UChar* bChars = b->characters();
- for (unsigned i = 0; i != aLength; ++i) {
---
-2.1.0
-
+++ /dev/null
-From ea46f47fb3c475ba2d7581c15185b8d43e63b8c2 Mon Sep 17 00:00:00 2001
-From: Peter Seiderer <ps.report@gmx.net>
-Date: Fri, 27 Feb 2015 21:30:52 +0100
-Subject: [PATCH] Fix conversion/constructor error for legacy c++ compiler.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes the following compile error with legacy c++ compiler:
-
-error: in C++98 ‘blitRect’ must be initialized by constructor, not by ‘{...}’
-
-Signed-off-by: Peter Seiderer <ps.report@gmx.net>
----
- src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp | 14 +++++++-------
- src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp | 6 +++---
- src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp | 6 +++---
- src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp | 2 +-
- 4 files changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
-index 876d0c2..ed69386 100644
---- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
-+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
-@@ -942,7 +942,7 @@ void QDirectFBPaintEngine::drawBufferSpan(const uint *buffer, int bufsize,
- IDirectFBSurface *src = d->surfaceCache->getSurface(buffer, bufsize);
- // ### how does this play with setDFBColor
- src->SetColor(src, 0, 0, 0, const_alpha);
-- const DFBRectangle rect = { 0, 0, length, 1 };
-+ const DFBRectangle rect = (DFBRectangle_C){ 0, 0, length, 1 };
- d->surface->Blit(d->surface, src, &rect, x, y);
- }
-
-@@ -1223,14 +1223,14 @@ void QDirectFBPaintEnginePrivate::blit(const QRectF &dest, IDirectFBSurface *s,
- const QRect dr = engine->state()->matrix.mapRect(dest).toRect();
- if (dr.isEmpty())
- return;
-- const DFBRectangle sRect = { sr.x(), sr.y(), sr.width(), sr.height() };
-+ const DFBRectangle sRect = (DFBRectangle_C){ sr.x(), sr.y(), sr.width(), sr.height() };
- DFBResult result;
-
- if (dr.size() == sr.size()) {
- result = surface->Blit(surface, s, &sRect, dr.x(), dr.y());
- } else {
- Q_ASSERT(supportsStretchBlit());
-- const DFBRectangle dRect = { dr.x(), dr.y(), dr.width(), dr.height() };
-+ const DFBRectangle dRect = (DFBRectangle_C){ dr.x(), dr.y(), dr.width(), dr.height() };
- result = surface->StretchBlit(surface, s, &sRect, &dRect);
- }
- if (result != DFB_OK)
-@@ -1261,7 +1261,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
- if (newClip.isNull())
- return;
-
-- const DFBRegion clip = {
-+ const DFBRegion clip = (DFBRegion_C){
- newClip.x(),
- newClip.y(),
- newClip.right(),
-@@ -1295,7 +1295,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
- while (y <= destinationRect.bottom()) {
- qreal x = startX;
- while (x <= destinationRect.right()) {
-- const DFBRectangle destination = { qRound(x), qRound(y), mappedSize.width(), mappedSize.height() };
-+ const DFBRectangle destination = (DFBRectangle_C){ qRound(x), qRound(y), (int)mappedSize.width(), (int)mappedSize.height() };
- surface->StretchBlit(surface, sourceSurface, 0, &destination);
- x += mappedSize.width();
- }
-@@ -1337,7 +1337,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
- if (currentClip.isEmpty()) {
- surface->SetClip(surface, 0);
- } else {
-- const DFBRegion clip = {
-+ const DFBRegion clip = (DFBRegion_C){
- currentClip.x(),
- currentClip.y(),
- currentClip.right(),
-@@ -1356,7 +1356,7 @@ void QDirectFBPaintEnginePrivate::updateClip()
- surface->SetClip(surface, NULL);
- clipType = NoClip;
- } else if (clipData->hasRectClip) {
-- const DFBRegion r = {
-+ const DFBRegion r = (DFBRegion_C){
- clipData->clipRect.x(),
- clipData->clipRect.y(),
- clipData->clipRect.right(),
-diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
-index 412e684..c59c47d 100644
---- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
-+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
-@@ -363,7 +363,7 @@ void QDirectFBPixmapData::copy(const QPixmapData *data, const QRect &rect)
- } else {
- dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX);
- }
-- const DFBRectangle blitRect = { rect.x(), rect.y(),
-+ const DFBRectangle blitRect = (DFBRectangle_C){ rect.x(), rect.y(),
- rect.width(), rect.height() };
- w = rect.width();
- h = rect.height();
-@@ -465,7 +465,7 @@ QPixmap QDirectFBPixmapData::transformed(const QTransform &transform,
- }
- data->dfbSurface->SetBlittingFlags(data->dfbSurface, flags);
-
-- const DFBRectangle destRect = { 0, 0, size.width(), size.height() };
-+ const DFBRectangle destRect = (DFBRectangle_C){ 0, 0, size.width(), size.height() };
- data->dfbSurface->StretchBlit(data->dfbSurface, dfbSurface, 0, &destRect);
- data->w = size.width();
- data->h = size.height();
-@@ -551,7 +551,7 @@ bool QDirectFBPixmapData::scroll(int dx, int dy, const QRect &rect)
- return false;
- }
-
-- const DFBRectangle source = { rect.x(), rect.y(), rect.width(), rect.height() };
-+ const DFBRectangle source = (DFBRectangle_C){ rect.x(), rect.y(), rect.width(), rect.height() };
- result = dfbSurface->Blit(dfbSurface, dfbSurface, &source, source.x + dx, source.y + dy);
- if (result != DFB_OK) {
- DirectFBError("QDirectFBPixmapData::scroll", result);
-diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
-index eab9580..d26e5bf 100644
---- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
-+++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
-@@ -1635,7 +1635,7 @@ void QDirectFBScreen::solidFill(const QColor &color, const QRegion ®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; i<rects.size(); ++i) {
- const QRect &r = rects.at(i);
-- const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
-+ const DFBRegion dfbReg = (DFBRegion_C){ r.x() + offset.x(), r.y() + offset.y(),
- r.right() + offset.x(),
- r.bottom() + offset.y() };
- surface->Flip(surface, &dfbReg, i + 1 < rects.size() ? nonWaitFlags : flipFlags);
- }
- } else {
- const QRect r = region.boundingRect();
-- const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
-+ const DFBRegion dfbReg = (DFBRegion_C){ r.x() + offset.x(), r.y() + offset.y(),
- r.right() + offset.x(),
- r.bottom() + offset.y() };
- surface->Flip(surface, &dfbReg, flipFlags);
-diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
-index 4dff907..25ad06b 100644
---- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
-+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
-@@ -333,7 +333,7 @@ bool QDirectFBWindowSurface::scroll(const QRegion ®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
-
+++ /dev/null
-From 0bf90de93b9fe21df32319e27b2507154fa8a21d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
-Date: Fri, 15 Apr 2016 00:37:26 +0200
-Subject: [PATCH] Fix for platform socklen_t on other C libraries than glibc
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This helps to make sure that QT_SOCKLEN_T is defined to be 'int'
-only when its glibc < 2 and not also for the libraries which may define
-it as per standards but are not glibc, e.g. musl.
-
-This patch is adapted from Qt5 [1].
-
-[1]
-https://github.com/qtproject/qtbase/commit/813f468a14fb84af43c1f8fc0a1430277358eba2
-
-Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
----
- mkspecs/linux-g++/qplatformdefs.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/mkspecs/linux-g++/qplatformdefs.h b/mkspecs/linux-g++/qplatformdefs.h
-index de751dd..d4146ed 100644
---- a/mkspecs/linux-g++/qplatformdefs.h
-+++ b/mkspecs/linux-g++/qplatformdefs.h
-@@ -86,10 +86,10 @@
-
- #undef QT_SOCKLEN_T
-
--#if defined(__GLIBC__) && (__GLIBC__ >= 2)
--#define QT_SOCKLEN_T socklen_t
--#else
-+#if defined(__GLIBC__) && (__GLIBC__ < 2)
- #define QT_SOCKLEN_T int
-+#else
-+#define QT_SOCKLEN_T socklen_t
- #endif
-
- #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
---
-2.8.0
-
+++ /dev/null
-From 438f088ad520ac91ae47dba9a515ab0d1088c89c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
-Date: Fri, 15 Apr 2016 03:32:02 +0200
-Subject: [PATCH] Link with -ldl option only when it is supported
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-`-ldl` option is used unconditionally in `QMAKE_LIBS_DYNLOAD` while libdl is
-not supported when libc is static. As the value of `QMAKE_LIBS_DYNLOAD` goes
-into 'Libs.private' field of the pkgconfig files created by qmake, static
-linking with qt will fail with:
- /usr/bin/ld: cannot find -ldl
-
-Fix this issue by adding a build test to configure to check if libdl is
-supported. `QMAKE_LIBS_DYNLOAD` in "src/corelib/plugin/plugin.pri" is now used
-only if libdl is available.
-
-Backported from Qt5:
-https://github.com/qtproject/qtbase/commit/f669ea0d54302de31456d57286aa0e4ca1443e98
-
-Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
----
- config.tests/unix/libdl/libdl.cpp | 39 +++++++++++++++++++++++++++++++++++++++
- config.tests/unix/libdl/libdl.pro | 3 +++
- configure | 6 ++++++
- src/corelib/plugin/plugin.pri | 2 +-
- 4 files changed, 49 insertions(+), 1 deletion(-)
- create mode 100644 config.tests/unix/libdl/libdl.cpp
- create mode 100644 config.tests/unix/libdl/libdl.pro
-
-diff --git a/config.tests/unix/libdl/libdl.cpp b/config.tests/unix/libdl/libdl.cpp
-new file mode 100644
-index 0000000..28a8233
---- /dev/null
-+++ b/config.tests/unix/libdl/libdl.cpp
-@@ -0,0 +1,39 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 The Qt Company Ltd.
-+** Contact: http://www.qt.io/licensing/
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL21$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see http://www.qt.io/terms-conditions. For further
-+** information use the contact form at http://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 or version 3 as published by the Free
-+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-+** following information to ensure the GNU Lesser General Public License
-+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** As a special exception, The Qt Company gives you certain additional
-+** rights. These rights are described in The Qt Company LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <dlfcn.h>
-+
-+int main(int, char **)
-+{
-+ dlopen(0, 0);
-+}
-diff --git a/config.tests/unix/libdl/libdl.pro b/config.tests/unix/libdl/libdl.pro
-new file mode 100644
-index 0000000..a643934
---- /dev/null
-+++ b/config.tests/unix/libdl/libdl.pro
-@@ -0,0 +1,3 @@
-+SOURCES = libdl.cpp
-+CONFIG -= qt dylib
-+LIBS += -ldl
-\ No newline at end of file
-diff --git a/configure b/configure
-index 10ad7ca..1c70691 100755
---- a/configure
-+++ b/configure
-@@ -5506,6 +5506,12 @@ if [ "$CFG_LIBPNG" = "auto" ]; then
- fi
- fi
-
-+# detect dl
-+if ! compileTest unix/libdl "libdl"; then
-+ QMakeVar add DEFINES QT_NO_DYNAMIC_LIBRARY
-+ QMAKE_CONFIG="$QMAKE_CONFIG no-libdl"
-+fi
-+
- # detect accessibility
- if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
- if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
-diff --git a/src/corelib/plugin/plugin.pri b/src/corelib/plugin/plugin.pri
-index eb7a7f7..c342f2e 100644
---- a/src/corelib/plugin/plugin.pri
-+++ b/src/corelib/plugin/plugin.pri
-@@ -32,4 +32,4 @@ integrity {
- SOURCES += plugin/qlibrary_unix.cpp
- }
-
--LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD
-+!no-libdl: LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD
---
-2.8.0
-
+++ /dev/null
-From 87c9c18fad02744238336a6cf1ce70d3ec2c89c2 Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Sat, 11 Jun 2016 17:03:07 +0200
-Subject: [PATCH 1/1] OpenGL/EGL: Avoid X11 header collision
-
-Including X11 headers via EGL/egl.h leads to a collision of defines
-between Qt and X11. To fix this qt5 added
- DEFINES += MESA_EGL_NO_X11_HEADERS
-in various files:
-
-https://github.com/qtproject/qtbase/blob/dev/src/platformsupport/eglconvenience/eglconvenience.pri#L19
-https://github.com/qtproject/qtbase/blob/dev/src/plugins/platforms/minimalegl/minimalegl.pro#L10
-https://github.com/qtproject/qtbase/blob/dev/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro#L6
-[...]
-
-This patch fixes a similar compile error in qt4:
-http://autobuild.buildroot.net/results/9b0/9b0ed92984eead89d148eaa71aff6e2f1e117837/
-http://autobuild.buildroot.org/results/4fd/4fd57553336d36439fab32a7221fc8639758e887/
-http://autobuild.buildroot.org/results/5cb/5cb8072f8220f7203fa79936eedcc43eab53ec66/
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-(patch not sent upstream because qt4 branch is closed:
- http://blog.qt.io/blog/2015/05/26/qt-4-8-7-released/)
----
-
- src/gui/egl/egl.pri | 3 +++
- src/opengl/opengl.pro | 3 +++
- 2 files changed, 6 insertions(+)
-
-diff --git a/src/gui/egl/egl.pri b/src/gui/egl/egl.pri
-index 8e8664c..715ffd7 100644
---- a/src/gui/egl/egl.pri
-+++ b/src/gui/egl/egl.pri
-@@ -22,6 +22,9 @@ contains(QT_CONFIG, egl): {
- !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
- }
-
-+ # Avoid X11 header collision
-+ DEFINES += MESA_EGL_NO_X11_HEADERS
-+
- wince*: SOURCES += egl/qegl_wince.cpp
-
- unix {
-diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro
-index ce1a5d2..65b1031 100644
---- a/src/opengl/opengl.pro
-+++ b/src/opengl/opengl.pro
-@@ -149,6 +149,9 @@ embedded {
- qglwindowsurface_qws_p.h \
- qgl_egl_p.h
-
-+ # Avoid X11 header collision
-+ DEFINES += MESA_EGL_NO_X11_HEADERS
-+
- contains(QT_CONFIG, fontconfig) {
- include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri)
- } else {
---
-2.8.1
-
+++ /dev/null
-From 2281fa50f6e13278d3fd4f028377b8249b7b3cdb Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Fri, 8 Sep 2017 09:06:54 +0200
-Subject: [PATCH] src/corelib/arch/qatomic_arm.h: fix build on ARMv8 32-bit
-
-The Qt build fails on ARMv8 32-bit because it falls back to using the
-ARMv5 code that uses the swp instruction, which no longer exists:
-
-/tmp/ccSxVIzw.s: Assembler messages:
-/tmp/ccSxVIzw.s:127: Error: swp{b} use is obsoleted for ARMv8 and later
-/tmp/ccSxVIzw.s:190: Error: swp{b} use is obsoleted for ARMv8 and later
-
-So, this commit adjusts the ARM atomic code to assume ARMv8 is similar
-to ARMv7.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- src/corelib/arch/qatomic_arm.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/corelib/arch/qatomic_arm.h b/src/corelib/arch/qatomic_arm.h
-index 77cd66f272..e011929d3e 100644
---- a/src/corelib/arch/qatomic_arm.h
-+++ b/src/corelib/arch/qatomic_arm.h
-@@ -47,7 +47,8 @@ QT_BEGIN_HEADER
- #if defined(__ARM_ARCH_7__) \
- || defined(__ARM_ARCH_7A__) \
- || defined(__ARM_ARCH_7R__) \
-- || defined(__ARM_ARCH_7M__)
-+ || defined(__ARM_ARCH_7M__) \
-+ || defined(__ARM_ARCH_8A__)
- # define QT_ARCH_ARMV7
- QT_BEGIN_INCLUDE_HEADER
- # include "QtCore/qatomic_armv7.h"
---
-2.13.5
-
+++ /dev/null
-From f566411fb314b7e4ab01f28e25e942cfaf8c59b7 Mon Sep 17 00:00:00 2001
-From: Evgeniy Didin <didin@synopsys.com>
-Date: Fri, 15 Sep 2017 19:43:48 +0300
-Subject: [PATCH] qt: Allow enabling of QtWebKit with GCC 6+
-
-Building Qt with QtWebKit on configuration step there is
-a check which disables QtWebKit build with GCC 6+.
-Back in the day nobody thought about building Qt with GCC
-version greater than 5.x. And now with modern GCCs like
-6.x and 7.x this assumption gets in the way.
-
-Given in Buildroot today we don't have GCC older than 4.9
-it should be safe to remove now meaningless check completely.
-
-Signed-off-by: Evgeniy Didin <didin@synopsys.com>
-Cc: Alexey Brodkin <abrodkin@synopsys.com>
-Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
----
- configure | 14 --------------
- 1 file changed, 14 deletions(-)
-
-diff --git a/configure b/configure
-index 10ad7ca0b0..8771144a65 100755
---- a/configure
-+++ b/configure
-@@ -7731,20 +7731,6 @@ case "$XPLATFORM" in
- canBuildWebKit="no"
- canBuildQtXmlPatterns="no"
- ;;
-- *-g++*)
-- # Check gcc's version
-- case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
-- 5*|4*|3.4*)
-- ;;
-- 3.3*)
-- canBuildWebKit="no"
-- ;;
-- *)
-- canBuildWebKit="no"
-- canBuildQtXmlPatterns="no"
-- ;;
-- esac
-- ;;
- solaris-cc*)
- # Check the compiler version
- case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
---
-2.11.0
-
+++ /dev/null
-From 02e9698c96ca78342b82fa7239e93bab4aa45db2 Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Fri, 17 Nov 2017 22:20:06 +0100
-Subject: [PATCH] configure: fix build on non-x86 platforms
-
-When building for an uncommon platform on a ppc64le machine, Qt build
-fails because it builds qmake with the target compiler instead of
-using the host compiler. This is due to the fact that Qt configure
-script believes that both the host and target platforms are "powerpc",
-even though the target really is Xtensa or ARC for example.
-
-Qt's configure script defines a variable called PLATFORM that points to
-the mkspecs describing the host machine. For x86, its value is
-qws/linux-x86-g++ and for x86-64, its value is
-qws/linux-x86_64-g++. For any other host architecture, its value is
-qws/linux-generic-g++.
-
-In parallel to this, Qt's configure script defines a variable called
-XPLATFORM that points to the mkspecs describing the target machine. It
-points to qws/linux-${CFG_EMBEDDED}-g++, where CFG_EMBEDDED is
-simply "generic" for most uncommon architectures.
-
-Therefore, when we're building for an uncommon architecture, on a
-ppc64le machine, we have:
-
- PLATFORM = qws/linux-generic-g++
- XPLATFORM = qws/linux-generic-g++
-
-i.e, both values are equal. Due to this, the following condition is
-false:
-
-if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
-
-which causes Qt's configure script to fallback to:
-
-elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
- CFG_ARCH=$CFG_HOST_ARCH
-fi
-
-because CFG_ARCH is not defined, and therefore gets defined to
-CFG_HOST_ARCH. So we have CFG_ARCH == CFG_HOST_ARCH, and Qt believes
-we're doing a native build.
-
-Therefore, we need to ensure that PLATFORM and XPLATFORM always have a
-different value. To achieve this, we create a
-qws/linux-host-generic-g++ mkspecs, which is always used as
-PLATFORM. It is identical to qws/linux-x86-g++. Compared to
-qws/linux-x86_64-g++, the only difference is that we're not passing
-the -m64 flag, but that isn't needed when building host tools.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- configure | 8 +----
- mkspecs/qws/linux-host-generic-g++/qmake.conf | 10 ++++++
- mkspecs/qws/linux-host-generic-g++/qplatformdefs.h | 42 ++++++++++++++++++++++
- 3 files changed, 53 insertions(+), 7 deletions(-)
- create mode 100644 mkspecs/qws/linux-host-generic-g++/qmake.conf
- create mode 100644 mkspecs/qws/linux-host-generic-g++/qplatformdefs.h
-
-diff --git a/configure b/configure
-index 10ad7ca0b0..d25f90be1e 100755
---- a/configure
-+++ b/configure
-@@ -2806,14 +2806,8 @@ if [ "$CFG_EMBEDDED" != "no" ]; then
- Linux:*)
- if [ -z "$PLATFORM" ]; then
- case "$UNAME_MACHINE" in
-- *86)
-- PLATFORM=qws/linux-x86-g++
-- ;;
-- *86_64)
-- PLATFORM=qws/linux-x86_64-g++
-- ;;
- *)
-- PLATFORM=qws/linux-generic-g++
-+ PLATFORM=qws/linux-host-generic-g++
- ;;
- esac
- fi
-diff --git a/mkspecs/qws/linux-host-generic-g++/qmake.conf b/mkspecs/qws/linux-host-generic-g++/qmake.conf
-new file mode 100644
-index 0000000000..55011ec52b
---- /dev/null
-+++ b/mkspecs/qws/linux-host-generic-g++/qmake.conf
-@@ -0,0 +1,10 @@
-+#
-+# qmake configuration for building with linux-g++
-+#
-+
-+include(../../common/linux.conf)
-+include(../../common/gcc-base-unix.conf)
-+include(../../common/g++-unix.conf)
-+include(../../common/qws.conf)
-+
-+load(qt_config)
-diff --git a/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h b/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h
-new file mode 100644
-index 0000000000..a654aa78a2
---- /dev/null
-+++ b/mkspecs/qws/linux-host-generic-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"
---
-2.13.6
-
+++ /dev/null
-menu "Graphics drivers"
-
-config BR2_PACKAGE_QT_GFX_LINUXFB
- bool "Linux Framebuffer"
- default y
-
-config BR2_PACKAGE_QT_GFX_TRANSFORMED
- bool "Transformed"
-
-config BR2_PACKAGE_QT_GFX_QVFB
- bool "Qt Virtual Framebuffer"
-
-config BR2_PACKAGE_QT_GFX_VNC
- bool "VNC"
-
-config BR2_PACKAGE_QT_GFX_MULTISCREEN
- bool "multiscreen"
-
-comment "directfb Qt driver not available (need directfb)"
- depends on !BR2_PACKAGE_DIRECTFB
-
-config BR2_PACKAGE_QT_GFX_DIRECTFB
- bool "directFB"
- depends on BR2_PACKAGE_DIRECTFB
-
-config BR2_PACKAGE_QT_GFX_POWERVR
- bool "powervr"
- depends on BR2_PACKAGE_QT_OPENGL_ES
- depends on BR2_PACKAGE_HAS_POWERVR
-
-endmenu
+++ /dev/null
-comment "qt needs a toolchain w/ C++, threads"
- depends on BR2_USE_MMU
- depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
-
-menuconfig BR2_PACKAGE_QT
- bool "Qt (obsolete)"
- depends on BR2_USE_MMU # fork
- depends on BR2_INSTALL_LIBSTDCPP
- depends on BR2_TOOLCHAIN_HAS_THREADS
- help
- Qt is a cross-platform application and UI framework for
- developers using C++.
-
- http://qt-project.org
-
-if BR2_PACKAGE_QT
-
-choice
- prompt "Qt installation"
- help
- Selects the type of installation: standard or embedded
-
-config BR2_PACKAGE_QT_EMBEDDED
- bool "Qt embedded"
- help
- The embedded Qt installation targets embedded systems
- without X.org. Provides backends for framebuffer.
- If unsure, say Y.
-
-comment "Qt standard (X11) not available (need X.org)"
- depends on !BR2_PACKAGE_XORG7
-
-config BR2_PACKAGE_QT_X11
- bool "Qt standard (X11)"
- depends on BR2_PACKAGE_XORG7
- select BR2_PACKAGE_FONTCONFIG
- select BR2_PACKAGE_XLIB_LIBXI
- select BR2_PACKAGE_XLIB_LIBX11
- select BR2_PACKAGE_XLIB_LIBXRENDER
- select BR2_PACKAGE_XLIB_LIBXCURSOR
- select BR2_PACKAGE_XLIB_LIBXRANDR
- select BR2_PACKAGE_XLIB_LIBXEXT
- select BR2_PACKAGE_XLIB_LIBXV
- select BR2_PACKAGE_QT_SYSTEMFREETYPE
- select BR2_PACKAGE_QT_GUI_MODULE
- help
- The standard Qt installation provides X.org backend. If you
- don't want to use X.org, say N.
-
-endchoice
-
-config BR2_PACKAGE_QT_DEBUG
- bool "Compile with debug support"
- help
- If unsure, say N.
-
-config BR2_PACKAGE_QT_DEMOS
- bool "Compile and install Qt demos (with code)"
- select BR2_PACKAGE_QT_GUI_MODULE
- help
- If unsure, say N.
-
-config BR2_PACKAGE_QT_TRANSLATION_FILES
- bool "Install translation files"
- help
- Install binary .qm translation files.
- Say y if you need these files. They will take about 8 MB
- on the target root filesystem.
-
-config BR2_PACKAGE_QT_EXAMPLES
- bool "Compile and install Qt examples (with code)"
- select BR2_PACKAGE_QT_GUI_MODULE
- help
- If unsure, say N.
-
-choice
- prompt "Library type"
- help
- Selects the library type: Shared or Static
-
-config BR2_PACKAGE_QT_SHARED
- bool "Shared library"
- depends on !BR2_STATIC_LIBS
- help
- Create and use shared Qt libraries.
- If you have multiple programs that depend on Qt or intend to
- use plugins, say Y.
-
-config BR2_PACKAGE_QT_STATIC
- bool "Static Library"
- help
- Create and use static Qt libraries.
- If you don't have multiple programs on the target that
- depends on Qt, then this will save you quite some of storage
- space.
- If unsure, say Y.
-
-endchoice
-
-config BR2_PACKAGE_QT_CONFIG_FILE
- string "Config file"
- help
- Configure options allow to set which modules are being
- compiled or not in Qt, but Qt also provide a more
- fine-grained mechanism to configure which features should be
- enabled or disabled, through a header file. Examples of such
- header files can be found in src/corelib/global/qconfig-*.h
- in the Qt sources.
-
- This option allows to set the path of such a configuration
- file, which Buildroot will give to Qt at compile time.
-
-config BR2_PACKAGE_QT_QT3SUPPORT
- bool "Compatibility with Qt3"
- depends on BR2_PACKAGE_QT_GUI_MODULE
- select BR2_PACKAGE_QT_SQL_MODULE
- help
- Turns on support for older Qt3. This will create an
- additional library with proxy code and increase the space
- required on target. If unsure say n.
-
-config BR2_PACKAGE_QT_GUI_MODULE
- bool "Gui Module"
- default y
- select BR2_PACKAGE_QT_NETWORK
- help
- Turns on support for Gui applications. If your board doesn't
- have video output, or you don't require Qt GUI, say n.
-
-if BR2_PACKAGE_QT_GUI_MODULE
-
-if BR2_PACKAGE_QT_EMBEDDED
-
-menu "Pixel depths"
-comment "Deselecting each option leads to Qt's default (8,16,32)"
-
-config BR2_PACKAGE_QT_PIXEL_DEPTH_1
- bool "1 bpp, black/white"
-
-config BR2_PACKAGE_QT_PIXEL_DEPTH_4
- bool "4 bpp, grayscale"
-
-config BR2_PACKAGE_QT_PIXEL_DEPTH_8
- bool "8 bpp, paletted"
- default y
-
-config BR2_PACKAGE_QT_PIXEL_DEPTH_12
- bool "12 bpp, rgb 4-4-4"
-
-config BR2_PACKAGE_QT_PIXEL_DEPTH_15
- bool "15 bpp, rgb 5-5-5"
-
-config BR2_PACKAGE_QT_PIXEL_DEPTH_16
- bool "16 bpp, rgb 5-6-5"
- default y
-
-config BR2_PACKAGE_QT_PIXEL_DEPTH_18
- bool "18 bpp, rgb 6-6-6"
-
-config BR2_PACKAGE_QT_PIXEL_DEPTH_24
- bool "24 bpp, rgb 8-8-8"
-
-config BR2_PACKAGE_QT_PIXEL_DEPTH_32
- bool "32 bpp, argb 8-8-8-8 and rgb 8-8-8"
- default y
-
-endmenu
-
-menu "Fonts"
-
-config BR2_PACKAGE_QT_FONT_TRUETYPE
- bool "dejavu/vera"
- default y
- depends on BR2_PACKAGE_QT_QTFREETYPE || BR2_PACKAGE_QT_SYSTEMFREETYPE
-
-comment "dejavu/vera fonts need freetype support"
- depends on !BR2_PACKAGE_QT_QTFREETYPE && !BR2_PACKAGE_QT_SYSTEMFREETYPE
-
-config BR2_PACKAGE_QT_FONT_MICRO
- bool "micro"
- default y
-
-config BR2_PACKAGE_QT_FONT_FIXED
- bool "fixed"
- default y
-
-config BR2_PACKAGE_QT_FONT_HELVETICA
- bool "helvetica"
- default y
-
-config BR2_PACKAGE_QT_FONT_JAPANESE
- bool "japanese"
-
-config BR2_PACKAGE_QT_FONT_UNIFONT
- bool "unicode"
-
-endmenu
-
-endif # BR2_PACKAGE_QT_EMBEDDED
-
-choice
- prompt "freetype2 support"
- default BR2_PACKAGE_QT_NOFREETYPE
- help
- Select freetype2 support.
-
-config BR2_PACKAGE_QT_NOFREETYPE
- bool "no freetype2 support"
- depends on BR2_PACKAGE_QT_EMBEDDED
- help
- Do not compile in Freetype2 support.
-
-comment "Qt freetype2 needs Qt embedded"
- depends on BR2_PACKAGE_QT_X11
-
-config BR2_PACKAGE_QT_QTFREETYPE
- bool "Qt freetype2"
- depends on BR2_PACKAGE_QT_EMBEDDED
- help
- Use the libfreetype bundled with Qt.
-
-config BR2_PACKAGE_QT_SYSTEMFREETYPE
- bool "System freetype2"
- select BR2_PACKAGE_FREETYPE
- help
- Use shared libfreetype from the target system.
- See http://www.freetype.org/
-endchoice
-
-config BR2_PACKAGE_QT_GIF
- bool "Enable GIF support"
- help
- This compiles and installs the plugin for GIF reading support.
-
-config BR2_PACKAGE_QT_LIBMNG
- bool "Enable libmng support"
- help
- This compiles and installs the plugin for MNG support.
-
-choice
- prompt "JPEG support"
- default BR2_PACKAGE_QT_NOJPEG
- help
- Select libjpeg support.
-
-config BR2_PACKAGE_QT_NOJPEG
- bool "No jpeg support"
- help
- Disable JPEG support
-
-config BR2_PACKAGE_QT_SYSTEMJPEG
- bool "System libjpeg"
- select BR2_PACKAGE_JPEG
- help
- Link against system libjpeg
-
-config BR2_PACKAGE_QT_QTJPEG
- bool "Use Qt bundled libjpeg"
- help
- Link against libjpeg provided with Qt
-endchoice
-
-choice
- prompt "PNG support"
- default BR2_PACKAGE_QT_NOPNG
- help
- Select which library to use if PNG support should be enabled.
-
-config BR2_PACKAGE_QT_NOPNG
- bool "No PNG support"
-
-config BR2_PACKAGE_QT_SYSTEMPNG
- bool "System libpng"
- select BR2_PACKAGE_LIBPNG
-
-config BR2_PACKAGE_QT_QTPNG
- bool "Use Qt bundled libpng"
-endchoice
-
-choice
- prompt "TIFF support"
- default BR2_PACKAGE_QT_NOTIFF
- help
- Select which library to use if TIFF support should be enabled.
-
-config BR2_PACKAGE_QT_NOTIFF
- bool "No TIFF support"
-
-config BR2_PACKAGE_QT_SYSTEMTIFF
- bool "System libtiff"
- select BR2_PACKAGE_TIFF
-
-config BR2_PACKAGE_QT_QTTIFF
- bool "Use Qt bundled libtiff"
-endchoice
-
-config BR2_PACKAGE_QT_ACCESSIBILITY
- bool "Enable accessibility support"
- help
- This enables and compiles the accessibility support.
-
-endif # BR2_PACKAGE_QT_GUI_MODULE
-
-choice
- prompt "zlib support"
- default BR2_PACKAGE_QT_QTZLIB
- help
- Select zlib support.
-
-config BR2_PACKAGE_QT_QTZLIB
- bool "Qt zlib"
- depends on !BR2_STATIC_LIBS
- help
- Use the zlib bundled with Qt.
-
-comment "Qt zlib needs a toolchain w/ dynamic library"
- depends on BR2_STATIC_LIBS
-
-config BR2_PACKAGE_QT_SYSTEMZLIB
- bool "System zlib"
- select BR2_PACKAGE_ZLIB
- help
- Use the shared zlib from the system.
-endchoice
-
-source "package/qt/Config.sql.in"
-if BR2_PACKAGE_QT_GUI_MODULE
-if BR2_PACKAGE_QT_EMBEDDED
-source "package/qt/Config.gfx.in"
-source "package/qt/Config.mouse.in"
-source "package/qt/Config.keyboard.in"
-endif
-
-config BR2_PACKAGE_QT_PHONON
- bool "Phonon Module"
- default y
- depends on BR2_PACKAGE_GSTREAMER
- select BR2_PACKAGE_GST_PLUGINS_BASE
- help
- Build the Phonon module. Support for different audio/video
- formats can be configured at the GStreamer package.
- If unsure, say n.
-
-comment "Phonon module needs gstreamer"
- depends on !BR2_PACKAGE_GSTREAMER
-
-config BR2_PACKAGE_QT_PHONON_BACKEND
- bool "Phonon Module Backend"
- depends on BR2_PACKAGE_QT_PHONON
- help
- Build the platform Phonon plugin.
- If unsure, say n.
-
-config BR2_PACKAGE_QT_OPENGL
- bool "OpenGL support"
- default y
- depends on (BR2_PACKAGE_HAS_LIBGL && BR2_PACKAGE_QT_X11) || \
- (BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGLES)
- help
- This option enables OpenGL support.
-
-if BR2_PACKAGE_QT_OPENGL
-
-choice
- prompt "OpenGL API"
- help
- Select OpenGL API.
-
-comment "Desktop OpenGL not available (needs Qt standard (X11))"
- depends on !BR2_PACKAGE_QT_X11
-
-config BR2_PACKAGE_QT_OPENGL_GL_DESKTOP
- bool "Desktop OpenGL"
- depends on BR2_PACKAGE_HAS_LIBGL
- depends on BR2_PACKAGE_QT_X11
- help
- Use desktop OpenGL.
-
-config BR2_PACKAGE_QT_OPENGL_ES
- bool "OpenGL ES v2.x support"
- depends on BR2_PACKAGE_HAS_LIBGLES
- depends on BR2_PACKAGE_HAS_LIBEGL
- help
- Enable the OpenGL ES v2.x support.
-
-endchoice
-
-endif # BR2_PACKAGE_QT_OPENGL
-
-endif
-
-config BR2_PACKAGE_QT_DBUS
- bool "DBus Module"
- depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
- depends on BR2_USE_MMU # dbus
- select BR2_PACKAGE_DBUS
- help
- Build the Qt DBus module.
-
-comment "DBus Module needs a toolchain w/ threads"
- depends on BR2_USE_MMU
- depends on !BR2_TOOLCHAIN_HAS_THREADS
-
-config BR2_PACKAGE_QT_XML
- bool "XML Module"
- default y
- help
- Build the XML module.
-
-config BR2_PACKAGE_QT_XMLPATTERNS
- bool "XML Patterns Module"
- depends on BR2_PACKAGE_QT_XML
- help
- Build QtXmlPatterns module.
- If unsure, say n
-
-config BR2_PACKAGE_QT_MULTIMEDIA
- bool "Multimedia Module"
- depends on BR2_PACKAGE_QT_GUI_MODULE
- help
- Build QtMultimedia module.
-
-config BR2_PACKAGE_QT_AUDIO_BACKEND
- bool "QtMultimedia Audio backend"
- depends on BR2_PACKAGE_QT_MULTIMEDIA
- depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
- select BR2_PACKAGE_ALSA_LIB
- help
- Build the ALSA audio backend into QtMultimedia
-
-config BR2_PACKAGE_QT_SVG
- bool "SVG Module"
- depends on BR2_PACKAGE_QT_GUI_MODULE
- help
- Build the SVG module.
- If unsure, say n
-
-config BR2_PACKAGE_QT_NETWORK
- bool "Network Module"
- default y
- help
- Install the Network module.
- if unsure, say y
-
-config BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
- bool
- # see src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
- # see http://lists.busybox.net/pipermail/buildroot/2014-November/112605.html
- default y if BR2_arc || BR2_arm || BR2_armeb || BR2_i386 || BR2_microblazeel || \
- BR2_microblazebe || BR2_mips || BR2_mipsel || \
- (BR2_mips64 || BR2_mips64el) && !BR2_MIPS_NABI32 || BR2_powerpc || \
- BR2_powerpc64 || BR2_powerpc64le || BR2_x86_64 || \
- BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb
- depends on BR2_TOOLCHAIN_HAS_SYNC_4
-
-config BR2_PACKAGE_QT_WEBKIT
- bool "WebKit Module"
- depends on BR2_PACKAGE_QT_SCRIPT
- depends on BR2_PACKAGE_QT_SHARED
- depends on BR2_PACKAGE_QT_GUI_MODULE
- depends on BR2_PACKAGE_QT_NETWORK
- depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
- depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # needs pthread_getattr_np()
- depends on BR2_PACKAGE_GSTREAMER
- select BR2_PACKAGE_GST_PLUGINS_BASE
- select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP
- help
- Build the WebKit module.
- If unsure, say n.
-
-comment "WebKit needs a toolchain w/ dynamic library, NPTL"
- depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
- depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIB
-
-comment "WebKit needs QtShared/Script/Gui/Network and Gstreamer 0.10"
- depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
- depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL && !BR2_STATIC_LIB
- depends on !BR2_PACKAGE_QT_SCRIPT || !BR2_PACKAGE_QT_SHARED \
- || !BR2_PACKAGE_QT_GUI_MODULE || !BR2_PACKAGE_QT_NETWORK \
- || !BR2_PACKAGE_GSTREAMER
-
-config BR2_PACKAGE_QT_STL
- bool "STL support"
- help
- Compile STL support.
- If unsure, say n.
-
-config BR2_PACKAGE_QT_OPENSSL
- bool "Enable OpenSSL support"
- depends on BR2_PACKAGE_QT_NETWORK
- select BR2_PACKAGE_OPENSSL
- help
- Enable support for the OpenSSL encryption library. If you use
- QSslSocket say y here, otherwise, say no to save space on the
- target.
- If unsure, say n.
-
-config BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT
- bool
- # see http://lists.busybox.net/pipermail/buildroot/2014-November/112605.html
- default y if BR2_arc || BR2_arm || BR2_armeb || BR2_aarch64 || BR2_i386 || \
- BR2_microblazeel || BR2_microblazebe || BR2_mips || BR2_mipsel || \
- BR2_mips64 || BR2_mips64el || BR2_nios2 || BR2_powerpc || \
- BR2_powerpc64 || BR2_powerpc64le || BR2_sh4 || BR2_sh4eb || \
- BR2_sh4a || BR2_sh4aeb || BR2_x86_64
- depends on BR2_TOOLCHAIN_HAS_SYNC_4
-
-config BR2_PACKAGE_QT_SCRIPT
- bool "Script Module"
- default y
- depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT
- depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # needs pthread_getattr_np()
- help
- Build the Qt Script module.
- if unsure, say y.
-
-comment "Script Module needs a toolchain with NPTL"
- depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
- depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT
-
-config BR2_PACKAGE_QT_SCRIPTTOOLS
- bool "Script Tools Module"
- depends on BR2_PACKAGE_QT_SCRIPT
- depends on BR2_PACKAGE_QT_GUI_MODULE
- help
- Build the Qt Script Tools module.
- if unsure, say n.
-
-config BR2_PACKAGE_QT_DECLARATIVE
- bool "Declarative module"
- depends on BR2_PACKAGE_QT_SCRIPT
- depends on BR2_PACKAGE_QT_GUI_MODULE
- depends on BR2_PACKAGE_QT_SQL_MODULE
- help
- Build the Qt Declarative Module for qml support
- if unsure, say n.
-
-config BR2_PACKAGE_QT_TEST
- bool "Test Module"
- help
- Install the Test module.
-
-endif # BR2_PACKAGE_QT
+++ /dev/null
-menu "Keyboard drivers"
-
-config BR2_PACKAGE_QT_KEYBOARD_TTY
- bool "tty"
-
-config BR2_PACKAGE_QT_KEYBOARD_LINUXINPUT
- bool "linux input"
-
-config BR2_PACKAGE_QT_KEYBOARD_QVFB
- bool "qvfb"
-
-endmenu
+++ /dev/null
-menu "Mouse drivers"
-
-config BR2_PACKAGE_QT_MOUSE_PC
- bool "pc"
-
-config BR2_PACKAGE_QT_MOUSE_LINUXTP
- bool "linuxtp"
-
-config BR2_PACKAGE_QT_MOUSE_LINUXINPUT
- bool "linux input"
-
-config BR2_PACKAGE_QT_MOUSE_TSLIB
- bool "tslib"
- select BR2_PACKAGE_TSLIB
-
-config BR2_PACKAGE_QT_MOUSE_QVFB
- bool "qvfb"
-
-comment "Mouse Options"
-
-config BR2_PACKAGE_QT_MOUSE_NO_QWS_CURSOR
- bool "Hide the mouse cursor"
- help
- Do not show the mouse cursor in QWS.
-
-endmenu
+++ /dev/null
-menuconfig BR2_PACKAGE_QT_SQL_MODULE
- bool "SQL Module"
- help
- Compile Qt SQL Module
-
-if BR2_PACKAGE_QT_SQL_MODULE
-config BR2_PACKAGE_QT_MYSQL
- bool "MySQL Driver"
- depends on BR2_USE_MMU # mysql
- select BR2_PACKAGE_MYSQL
- select BR2_PACKAGE_NCURSES
- select BR2_PACKAGE_READLINE
- help
- Build MySQL driver
- If unsure, say n.
-
-config BR2_PACKAGE_QT_ODBC
- bool "ODBC Driver"
- depends on !BR2_STATIC_LIBS # unixodbc
- select BR2_PACKAGE_UNIXODBC
- help
- Build ODBC driver
- If unsure, say n.
-
-comment "ODBC driver needs a toolchain w/ dynamic library"
- depends on BR2_STATIC_LIBS
-
-config BR2_PACKAGE_QT_PSQL
- bool "PostgreSQL Driver"
- depends on !BR2_STATIC_LIBS
- depends on BR2_USE_WCHAR
- select BR2_PACKAGE_POSTGRESQL
- help
- Build PostgreSQL driver
- If unsure, say n.
-
-comment "PostgreSQL driver needs a toolchain w/ wchar, dynamic library"
- depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR
-
-choice
- prompt "SQLite 3 support"
- default BR2_PACKAGE_QT_SQLITE_NONE
- help
- Select SQLite support.
-
-config BR2_PACKAGE_QT_SQLITE_NONE
- bool "No sqlite support"
- help
- Do not compile any kind of SQLite support.
-
-config BR2_PACKAGE_QT_SQLITE_QT
- bool "Qt SQLite"
- help
- Use Qt bundled SQLite support.
-
-config BR2_PACKAGE_QT_SQLITE_SYSTEM
- bool "System SQLite"
- select BR2_PACKAGE_SQLITE
- help
- Use system SQLite.
-
-endchoice
-
-endif
+++ /dev/null
-[default]
-WindowSystem=libpvrQWSWSEGL.so.1
+++ /dev/null
-# 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
+++ /dev/null
-################################################################################
-#
-# qt
-#
-################################################################################
-
-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.io/archive/qt/$(QT_VERSION_MAJOR)/$(QT_VERSION)
-QT_DEPENDENCIES = host-pkgconf
-QT_INSTALL_STAGING = YES
-
-QT_LICENSE := LGPL-2.1 with exceptions or GPL-3.0
-QT_LICENSE_FILES = LICENSE.LGPL LGPL_EXCEPTION.txt LICENSE.GPL3
-
-# Opensource licenses are the only one we catter about
-QT_CONFIGURE_OPTS += -opensource -confirm-license
-
-QT_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_QT_CONFIG_FILE))
-
-ifneq ($(QT_CONFIG_FILE),)
-QT_CONFIGURE_OPTS += -qconfig buildroot
-endif
-
-QT_CFLAGS = $(TARGET_CFLAGS)
-QT_CXXFLAGS = $(TARGET_CXXFLAGS)
-QT_LDFLAGS = $(TARGET_LDFLAGS)
-
-# Qt WebKit build fails when gcc-6 is used for build, because
-# 'std::auto_ptr' is deprecated starting from gcc 6.x. So, we have to
-# use an older c++ standard to prevent build failure
-QT_CXXFLAGS += -std=gnu++98
-
-# gcc bug internal compiler error: in validate_condition_mode, at
-# config/rs6000/rs6000.c:180744. Bug is fixed since gcc 7.
-# Workaround is to set -mno-isel, see
-# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818 and
-# https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01036.html
-ifeq ($(BR2_powerpc_8540)$(BR2_powerpc_8548)$(BR2_powerpc_e500mc)$(BR2_powerpc_e5500):$(BR2_TOOLCHAIN_GCC_AT_LEAST_7),y:)
-QT_CXXFLAGS += -mno-isel
-endif
-
-# Qt has some assembly function that are not present in thumb1 mode:
-# Error: selected processor does not support Thumb mode `swp r3,r7,[r4]'
-# so, we desactivate thumb mode
-ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
-QT_CFLAGS += -marm
-QT_CXXFLAGS += -marm
-endif
-
-ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y)
-QT_CONFIGURE_OPTS += -qt3support
-else
-QT_CONFIGURE_OPTS += -no-qt3support
-endif
-
-ifeq ($(BR2_PACKAGE_QT_DEMOS),y)
-QT_CONFIGURE_OPTS += -demosdir $(TARGET_DIR)/usr/share/qt/demos
-else
-QT_CONFIGURE_OPTS += -nomake demos
-endif
-ifeq ($(BR2_PACKAGE_QT_EXAMPLES),y)
-QT_CONFIGURE_OPTS += -examplesdir $(TARGET_DIR)/usr/share/qt/examples
-else
-QT_CONFIGURE_OPTS += -nomake examples
-endif
-
-# ensure glib is built first if enabled for Qt's glib support
-ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
-QT_CONFIGURE_OPTS += -glib
-QT_DEPENDENCIES += libglib2
-else
-QT_CONFIGURE_OPTS += -no-glib
-endif
-
-### Pixel depths
-QT_PIXEL_DEPTHS = # empty
-ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_1),y)
-QT_PIXEL_DEPTHS += 1
-endif
-ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_4),y)
-QT_PIXEL_DEPTHS += 4
-endif
-ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_8),y)
-QT_PIXEL_DEPTHS += 8
-endif
-ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_12),y)
-QT_PIXEL_DEPTHS += 12
-endif
-ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_15),y)
-QT_PIXEL_DEPTHS += 15
-endif
-ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_16),y)
-QT_PIXEL_DEPTHS += 16
-endif
-ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_18),y)
-QT_PIXEL_DEPTHS += 18
-endif
-ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_24),y)
-QT_PIXEL_DEPTHS += 24
-endif
-ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_32),y)
-QT_PIXEL_DEPTHS += 32
-endif
-ifneq ($(QT_PIXEL_DEPTHS),)
-QT_CONFIGURE_OPTS += -depths $(subst $(space),$(comma),$(strip $(QT_PIXEL_DEPTHS)))
-endif
-
-### Display drivers
-ifeq ($(BR2_PACKAGE_QT_GFX_LINUXFB),y)
-QT_CONFIGURE_OPTS += -qt-gfx-linuxfb
-else
-QT_CONFIGURE_OPTS += -no-gfx-linuxfb
-endif
-ifeq ($(BR2_PACKAGE_QT_GFX_TRANSFORMED),y)
-QT_CONFIGURE_OPTS += -qt-gfx-transformed
-else
-QT_CONFIGURE_OPTS += -no-gfx-transformed
-endif
-ifeq ($(BR2_PACKAGE_QT_GFX_QVFB),y)
-QT_CONFIGURE_OPTS += -qt-gfx-qvfb
-else
-QT_CONFIGURE_OPTS += -no-gfx-qvfb
-endif
-ifeq ($(BR2_PACKAGE_QT_GFX_VNC),y)
-QT_CONFIGURE_OPTS += -qt-gfx-vnc
-else
-QT_CONFIGURE_OPTS += -no-gfx-vnc
-endif
-ifeq ($(BR2_PACKAGE_QT_GFX_MULTISCREEN),y)
-QT_CONFIGURE_OPTS += -qt-gfx-multiscreen
-else
-QT_CONFIGURE_OPTS += -no-gfx-multiscreen
-endif
-ifeq ($(BR2_PACKAGE_QT_GFX_DIRECTFB),y)
-QT_CONFIGURE_OPTS += -qt-gfx-directfb
-QT_DEPENDENCIES += directfb
-else
-QT_CONFIGURE_OPTS += -no-gfx-directfb
-endif
-ifeq ($(BR2_PACKAGE_QT_GFX_POWERVR),y)
-QT_CONFIGURE_OPTS += \
- -plugin-gfx-powervr -D QT_NO_QWS_CURSOR -D QT_QWS_CLIENTBLIT
-QT_DEPENDENCIES += powervr
-endif
-
-### Mouse drivers
-ifeq ($(BR2_PACKAGE_QT_MOUSE_PC),y)
-QT_CONFIGURE_OPTS += -qt-mouse-pc
-else
-QT_CONFIGURE_OPTS += -no-mouse-pc
-endif
-ifeq ($(BR2_PACKAGE_QT_MOUSE_LINUXTP),y)
-QT_CONFIGURE_OPTS += -qt-mouse-linuxtp
-else
-QT_CONFIGURE_OPTS += -no-mouse-linuxtp
-endif
-ifeq ($(BR2_PACKAGE_QT_MOUSE_LINUXINPUT),y)
-QT_CONFIGURE_OPTS += -qt-mouse-linuxinput
-else
-QT_CONFIGURE_OPTS += -no-mouse-linuxinput
-endif
-ifeq ($(BR2_PACKAGE_QT_MOUSE_TSLIB),y)
-QT_CONFIGURE_OPTS += -qt-mouse-tslib
-QT_DEPENDENCIES += tslib
-else
-QT_CONFIGURE_OPTS += -no-mouse-tslib
-endif
-ifeq ($(BR2_PACKAGE_QT_MOUSE_QVFB),y)
-QT_CONFIGURE_OPTS += -qt-mouse-qvfb
-else
-QT_CONFIGURE_OPTS += -no-mouse-qvfb
-endif
-ifeq ($(BR2_PACKAGE_QT_MOUSE_NO_QWS_CURSOR),y)
-QT_CONFIGURE_OPTS += -D QT_NO_QWS_CURSOR
-endif
-
-### Keyboard drivers
-ifeq ($(BR2_PACKAGE_QT_KEYBOARD_TTY),y)
-QT_CONFIGURE_OPTS += -qt-kbd-tty
-else
-QT_CONFIGURE_OPTS += -no-kbd-tty
-endif
-ifeq ($(BR2_PACKAGE_QT_KEYBOARD_LINUXINPUT),y)
-QT_CONFIGURE_OPTS += -qt-kbd-linuxinput
-else
-QT_CONFIGURE_OPTS += -no-kbd-linuxinput
-endif
-ifeq ($(BR2_PACKAGE_QT_KEYBOARD_QVFB),y)
-QT_CONFIGURE_OPTS += -qt-kbd-qvfb
-else
-QT_CONFIGURE_OPTS += -no-kbd-qvfb
-endif
-
-ifeq ($(BR2_PACKAGE_QT_DEBUG),y)
-QT_CONFIGURE_OPTS += -debug
-else
-QT_CONFIGURE_OPTS += -release
-endif
-
-ifeq ($(BR2_PACKAGE_QT_SHARED),y)
-QT_CONFIGURE_OPTS += -shared
-else
-QT_CONFIGURE_OPTS += -static
-endif
-
-ifeq ($(BR2_STATIC_LIBS),y)
-QT_CONFIGURE_OPTS += -D QT_NO_DYNAMIC_LIBRARY
-endif
-
-ifeq ($(BR2_ENDIAN),"LITTLE")
-QT_CONFIGURE_OPTS += -little-endian
-else
-QT_CONFIGURE_OPTS += -big-endian
-endif
-
-ifeq ($(BR2_arm)$(BR2_armeb),y)
-QT_EMB_PLATFORM = arm
-else ifeq ($(BR2_i386),y)
-QT_EMB_PLATFORM = x86
-else ifeq ($(BR2_x86_64),y)
-QT_EMB_PLATFORM = x86_64
-else ifeq ($(BR2_mips)$(BR2_mipsel),y)
-QT_EMB_PLATFORM = mips
-else ifeq ($(BR2_powerpc),y)
-QT_EMB_PLATFORM = powerpc
-else ifeq ($(BR2_sh4)$(BR2_sh4eb)$(BR2_sh4a)$(BR2_sh4aeb),y)
-QT_EMB_PLATFORM = sh
-else
-QT_EMB_PLATFORM = generic
-endif
-
-ifeq ($(BR2_PACKAGE_QT_X11),y)
-QT_DEPENDENCIES += fontconfig xlib_libXi xlib_libX11 xlib_libXrender \
- xlib_libXcursor xlib_libXrandr xlib_libXext xlib_libXv
-# Using pkg-config avoids us some logic to redefine and sed again mkspecs files
-# to add X11 include path and link options
-QT_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags x11`
-QT_CXXFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags x11`
-QT_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs x11 xext`
-QT_CONFIGURE_OPTS += -arch $(QT_EMB_PLATFORM) \
- -xplatform qws/linux-$(QT_EMB_PLATFORM)-g++ -x11 -no-gtkstyle -no-sm \
- -no-openvg
-else # if BR2_PACKAGE_QT_EMBEDDED
-QT_CONFIGURE_OPTS += -embedded $(QT_EMB_PLATFORM)
-endif
-
-ifneq ($(BR2_PACKAGE_QT_GUI_MODULE),y)
-QT_CONFIGURE_OPTS += -no-gui
-endif
-
-ifneq ($(BR2_PACKAGE_QT_GIF),y)
-QT_CONFIGURE_OPTS += -no-gif
-endif
-
-ifeq ($(BR2_PACKAGE_QT_LIBMNG),y)
-QT_CONFIGURE_OPTS += -qt-libmng
-else
-QT_CONFIGURE_OPTS += -no-libmng
-endif
-
-ifeq ($(BR2_PACKAGE_QT_ACCESSIBILITY),y)
-QT_CONFIGURE_OPTS += -accessibility
-else
-QT_CONFIGURE_OPTS += -no-accessibility
-endif
-
-ifeq ($(BR2_PACKAGE_QT_QTZLIB),y)
-QT_CONFIGURE_OPTS += -qt-zlib
-else
-ifeq ($(BR2_PACKAGE_QT_SYSTEMZLIB),y)
-QT_CONFIGURE_OPTS += -system-zlib
-QT_DEPENDENCIES += zlib
-endif
-endif
-
-ifeq ($(BR2_PACKAGE_QT_QTJPEG),y)
-QT_CONFIGURE_OPTS += -qt-libjpeg
-else
-ifeq ($(BR2_PACKAGE_QT_SYSTEMJPEG),y)
-QT_CONFIGURE_OPTS += -system-libjpeg
-QT_DEPENDENCIES += jpeg
-else
-QT_CONFIGURE_OPTS += -no-libjpeg
-endif
-endif
-
-ifeq ($(BR2_PACKAGE_QT_QTPNG),y)
-QT_CONFIGURE_OPTS += -qt-libpng
-else
-ifeq ($(BR2_PACKAGE_QT_SYSTEMPNG),y)
-QT_CONFIGURE_OPTS += -system-libpng
-QT_DEPENDENCIES += libpng
-else
-QT_CONFIGURE_OPTS += -no-libpng
-endif
-endif
-
-ifeq ($(BR2_PACKAGE_QT_QTTIFF),y)
-QT_CONFIGURE_OPTS += -qt-libtiff
-else
-ifeq ($(BR2_PACKAGE_QT_SYSTEMTIFF),y)
-QT_CONFIGURE_OPTS += -system-libtiff
-QT_DEPENDENCIES += tiff
-else
-QT_CONFIGURE_OPTS += -no-libtiff
-endif
-endif
-
-QT_FONTS = $(addprefix $(STAGING_DIR)/usr/lib/fonts/, $(addsuffix *.qpf, \
- $(if $(BR2_PACKAGE_QT_FONT_MICRO),micro) \
- $(if $(BR2_PACKAGE_QT_FONT_FIXED),fixed) \
- $(if $(BR2_PACKAGE_QT_FONT_HELVETICA),helvetica) \
- $(if $(BR2_PACKAGE_QT_FONT_JAPANESE),japanese) \
- $(if $(BR2_PACKAGE_QT_FONT_UNIFONT),unifont)))
-
-ifeq ($(BR2_PACKAGE_QT_QTFREETYPE),y)
-QT_CONFIGURE_OPTS += -qt-freetype
-else
-ifeq ($(BR2_PACKAGE_QT_SYSTEMFREETYPE),y)
-QT_CONFIGURE_OPTS += -system-freetype
-QT_CONFIGURE_OPTS += -I $(STAGING_DIR)/usr/include/freetype2/
-QT_DEPENDENCIES += freetype
-else
-QT_CONFIGURE_OPTS += -no-freetype
-endif
-endif
-
-ifeq ($(BR2_PACKAGE_QT_DBUS),y)
-QT_DEPENDENCIES += dbus
-endif
-
-ifeq ($(BR2_PACKAGE_QT_OPENSSL),y)
-QT_CONFIGURE_OPTS += -openssl
-QT_DEPENDENCIES += openssl
-else
-QT_CONFIGURE_OPTS += -no-openssl
-endif
-
-ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y)
-QT_CONFIGURE_OPTS += -opengl es2 -egl
-QT_DEPENDENCIES += libgles libegl
-QT_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl`
-QT_CXXFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl`
-QT_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs egl`
-else ifeq ($(BR2_PACKAGE_QT_OPENGL_GL_DESKTOP),y)
-QT_CONFIGURE_OPTS += -opengl desktop
-QT_DEPENDENCIES += libgl
-else
-QT_CONFIGURE_OPTS += -no-opengl
-endif
-
-# Qt SQL Drivers
-ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y)
-ifeq ($(BR2_PACKAGE_QT_MYSQL),y)
-QT_CONFIGURE_OPTS += -qt-sql-mysql -mysql_config $(STAGING_DIR)/usr/bin/mysql_config
-QT_DEPENDENCIES += mysql
-endif
-ifeq ($(BR2_PACKAGE_QT_ODBC),y)
-QT_CONFIGURE_OPTS += -qt-sql-odbc
-QT_DEPENDENCIES += unixodbc
-endif
-ifeq ($(BR2_PACKAGE_QT_PSQL),y)
-QT_CONFIGURE_OPTS += -qt-sql-psql -psql_config $(STAGING_DIR)/usr/bin/pg_config
-QT_DEPENDENCIES += postgresql
-endif
-ifeq ($(BR2_PACKAGE_QT_SQLITE_QT),y)
-QT_CONFIGURE_OPTS += -qt-sql-sqlite
-else
-ifeq ($(BR2_PACKAGE_QT_SQLITE_SYSTEM),y)
-QT_CONFIGURE_OPTS += -system-sqlite
-QT_DEPENDENCIES += sqlite
-else
-QT_CONFIGURE_OPTS += -no-sql-sqlite
-endif
-endif
-ifeq ($(BR2_PACKAGE_QT_SQLITE2),y)
-QT_CONFIGURE_OPTS += -qt-sql-sqlite2
-endif
-else
-# By default, no SQL driver is turned on by configure.
-# but it seems sqlite isn't disabled despite what says
-# configure --help
-QT_CONFIGURE_OPTS += -no-sql-sqlite
-endif
-
-ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y)
-QT_CONFIGURE_OPTS += -xmlpatterns -exceptions
-else
-QT_CONFIGURE_OPTS += -no-xmlpatterns
-endif
-
-ifeq ($(BR2_PACKAGE_QT_MULTIMEDIA),y)
-QT_CONFIGURE_OPTS += -multimedia
-else
-QT_CONFIGURE_OPTS += -no-multimedia
-endif
-
-ifeq ($(BR2_PACKAGE_QT_AUDIO_BACKEND),y)
-QT_CONFIGURE_OPTS += -audio-backend
-QT_DEPENDENCIES += alsa-lib
-else
-QT_CONFIGURE_OPTS += -no-audio-backend
-endif
-
-ifeq ($(BR2_PACKAGE_QT_PHONON),y)
-QT_CONFIGURE_OPTS += -phonon
-QT_DEPENDENCIES += gstreamer gst-plugins-base
-else
-QT_CONFIGURE_OPTS += -no-phonon
-endif
-
-ifeq ($(BR2_PACKAGE_QT_PHONON_BACKEND),y)
-QT_CONFIGURE_OPTS += -phonon-backend
-else
-QT_CONFIGURE_OPTS += -no-phonon-backend
-endif
-
-ifeq ($(BR2_PACKAGE_QT_SVG),y)
-QT_CONFIGURE_OPTS += -svg
-else
-QT_CONFIGURE_OPTS += -no-svg
-endif
-
-ifeq ($(BR2_PACKAGE_QT_WEBKIT),y)
-QT_CONFIGURE_OPTS += -webkit
-QT_DEPENDENCIES += gstreamer gst-plugins-base
-else
-QT_CONFIGURE_OPTS += -no-webkit
-endif
-
-ifeq ($(BR2_PACKAGE_QT_SCRIPT),y)
-QT_CONFIGURE_OPTS += -script
-else
-QT_CONFIGURE_OPTS += -no-script
-endif
-
-ifeq ($(BR2_PACKAGE_QT_SCRIPTTOOLS),y)
-QT_CONFIGURE_OPTS += -scripttools
-else
-QT_CONFIGURE_OPTS += -no-scripttools
-endif
-
-ifeq ($(BR2_PACKAGE_QT_STL),y)
-QT_CONFIGURE_OPTS += -stl
-else
-QT_CONFIGURE_OPTS += -no-stl
-endif
-
-ifeq ($(BR2_PACKAGE_QT_DECLARATIVE),y)
-QT_CONFIGURE_OPTS += -declarative
-else
-QT_CONFIGURE_OPTS += -no-declarative
-endif
-
-# -no-pch is needed to workaround the issue described at
-# http://comments.gmane.org/gmane.comp.lib.qt.devel/5933.
-# In addition, ccache and precompiled headers don't play well together
-QT_CONFIGURE_OPTS += -no-pch
-
-# x86x86fix
-# Workaround Qt Embedded bug when crosscompiling for x86 under x86 with linux
-# host. It's unclear if this would happen on other hosts.
-ifneq ($(findstring linux,$(GNU_HOST_NAME)),)
-ifneq ($(findstring x86,$(QT_EMB_PLATFORM)),)
-QT_CONFIGURE_OPTS += -platform linux-g++
-endif
-endif
-# End of workaround.
-
-# Variable for other Qt applications to use
-QT_QMAKE = $(HOST_DIR)/bin/qmake -spec qws/linux-$(QT_EMB_PLATFORM)-g++
-
-################################################################################
-# QT_QMAKE_SET -- helper macro to set <variable> = <value> in
-# the qmake.conf file. Will remove existing variable declaration if
-# available.
-#
-# Argument 1 is the variable name
-# Argument 2 is the value to set variable to
-# Argument 3 is the base source directory of Qt
-#
-# E.G. use like this:
-# $(call QT_QMAKE_SET,variable,value,directory)
-################################################################################
-define QT_QMAKE_SET
- $(SED) '/$(1)/d' $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf
- $(SED) "/include.*qws.conf/a$(1) = $(2)" $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf
-endef
-
-ifneq ($(QT_CONFIG_FILE),)
-define QT_CONFIGURE_CONFIG_FILE
- cp $(QT_CONFIG_FILE) $(@D)/src/corelib/global/qconfig-buildroot.h
-endef
-endif
-
-define QT_CONFIGURE_CMDS
- -[ -f $(@D)/Makefile ] && $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) confclean
- $(QT_CONFIGURE_IPV6)
- $(QT_CONFIGURE_CONFIG_FILE)
- # Fix compiler path
- $(call QT_QMAKE_SET,QMAKE_CC,$(TARGET_CC),$(@D))
- $(call QT_QMAKE_SET,QMAKE_CXX,$(TARGET_CXX),$(@D))
- $(call QT_QMAKE_SET,QMAKE_LINK,$(TARGET_CXX),$(@D))
- $(call QT_QMAKE_SET,QMAKE_LINK_SHLIB,$(TARGET_CXX),$(@D))
- $(call QT_QMAKE_SET,QMAKE_AR,$(TARGET_AR) cqs,$(@D))
- $(call QT_QMAKE_SET,QMAKE_OBJCOPY,$(TARGET_OBJCOPY),$(@D))
- $(call QT_QMAKE_SET,QMAKE_RANLIB,$(TARGET_RANLIB),$(@D))
- $(call QT_QMAKE_SET,QMAKE_STRIP,$(TARGET_STRIP),$(@D))
- $(call QT_QMAKE_SET,QMAKE_CFLAGS,$(QT_CFLAGS),$(@D))
- $(call QT_QMAKE_SET,QMAKE_CXXFLAGS,$(QT_CXXFLAGS),$(@D))
- $(call QT_QMAKE_SET,QMAKE_LFLAGS,$(QT_LDFLAGS),$(@D))
- $(call QT_QMAKE_SET,PKG_CONFIG,$(HOST_DIR)/bin/pkg-config,$(@D))
-# Don't use TARGET_CONFIGURE_OPTS here, qmake would be compiled for the target
-# instead of the host then. So set PKG_CONFIG* manually.
- (cd $(@D); \
- PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
- PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
- PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig:$(PKG_CONFIG_PATH)" \
- $(TARGET_MAKE_ENV) \
- MAKEFLAGS="$(MAKEFLAGS) -j$(PARALLEL_JOBS)" ./configure \
- $(if $(VERBOSE),-verbose,-silent) \
- -force-pkg-config \
- $(QT_CONFIGURE_OPTS) \
- -no-xinerama \
- -no-cups \
- -no-nis \
- -no-separate-debug-info \
- -prefix /usr \
- -plugindir /usr/lib/qt/plugins \
- -importdir /usr/lib/qt/imports \
- -translationdir /usr/share/qt/translations \
- -hostprefix $(STAGING_DIR) \
- -fast \
- -no-rpath \
- )
-endef
-
-define QT_BUILD_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
-endef
-
-# Build the list of libraries and plugins to install to the target
-
-QT_INSTALL_LIBS += QtCore
-QT_HOST_PROGRAMS += moc rcc qmake lrelease
-
-ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y)
-QT_INSTALL_LIBS += QtGui
-QT_HOST_PROGRAMS += uic
-endif
-ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y)
-QT_INSTALL_LIBS += QtSql
-endif
-ifeq ($(BR2_PACKAGE_QT_MULTIMEDIA),y)
-QT_INSTALL_LIBS += QtMultimedia
-endif
-ifeq ($(BR2_PACKAGE_QT_PHONON),y)
-QT_INSTALL_LIBS += phonon
-endif
-ifeq ($(BR2_PACKAGE_QT_SVG),y)
-QT_INSTALL_LIBS += QtSvg
-endif
-ifeq ($(BR2_PACKAGE_QT_NETWORK),y)
-QT_INSTALL_LIBS += QtNetwork
-endif
-ifeq ($(BR2_PACKAGE_QT_WEBKIT),y)
-QT_INSTALL_LIBS += QtWebKit
-endif
-ifeq ($(BR2_PACKAGE_QT_XML),y)
-QT_INSTALL_LIBS += QtXml
-endif
-ifeq ($(BR2_PACKAGE_QT_DBUS),y)
-QT_INSTALL_LIBS += QtDBus
-endif
-ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y)
-QT_INSTALL_LIBS += QtXmlPatterns
-endif
-ifeq ($(BR2_PACKAGE_QT_SCRIPT),y)
-QT_INSTALL_LIBS += QtScript
-endif
-ifeq ($(BR2_PACKAGE_QT_SCRIPTTOOLS),y)
-QT_INSTALL_LIBS += QtScriptTools
-endif
-ifeq ($(BR2_PACKAGE_QT_DECLARATIVE),y)
-QT_INSTALL_LIBS += QtDeclarative
-endif
-ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y)
-QT_INSTALL_LIBS += Qt3Support
-endif
-ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y)
-QT_INSTALL_LIBS += QtOpenGL
-endif
-ifeq ($(BR2_PACKAGE_QT_GFX_POWERVR),y)
-QT_INSTALL_LIBS += pvrQWSWSEGL
-endif
-ifeq ($(BR2_PACKAGE_QT_TEST),y)
-QT_INSTALL_LIBS += QtTest
-endif
-
-QT_CONF_FILE = $(HOST_DIR)/bin/qt.conf
-
-# Since host programs and spec files have been moved to $(HOST_DIR),
-# we need to tell qmake the new location of the various elements,
-# through a qt.conf file.
-define QT_INSTALL_QT_CONF
- mkdir -p $(dir $(QT_CONF_FILE))
- echo "[Paths]" > $(QT_CONF_FILE)
- echo "Prefix=$(HOST_DIR)" >> $(QT_CONF_FILE)
- echo "Headers=$(STAGING_DIR)/usr/include" >> $(QT_CONF_FILE)
- echo "Libraries=$(STAGING_DIR)/usr/lib" >> $(QT_CONF_FILE)
- echo "Data=$(HOST_DIR)" >> $(QT_CONF_FILE)
- echo "Binaries=$(HOST_DIR)/bin" >> $(QT_CONF_FILE)
-endef
-
-# After running Qt normal installation process (which installs
-# everything in the STAGING_DIR), we move host programs such as qmake,
-# rcc or uic to the HOST_DIR so that they are available at the usual
-# location. A qt.conf file is generated to make sure that all host
-# programs still find all files they need. The .pc files are tuned to
-# remove the sysroot path from them, since pkg-config already adds it
-# automatically.
-define QT_INSTALL_STAGING_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
- mkdir -p $(HOST_DIR)/bin
- mv $(addprefix $(STAGING_DIR)/usr/bin/,$(QT_HOST_PROGRAMS)) $(HOST_DIR)/bin
- ln -sf $(STAGING_DIR)/usr/mkspecs $(HOST_DIR)/mkspecs
- $(QT_INSTALL_QT_CONF)
- for i in moc uic rcc lupdate lrelease ; do \
- $(SED) "s,^$${i}_location=.*,$${i}_location=$(HOST_DIR)/bin/$${i}," \
- $(STAGING_DIR)/usr/lib/pkgconfig/Qt*.pc ; \
- done
- $(SED) "s,$(STAGING_DIR)/,,g" $(STAGING_DIR)/usr/lib/pkgconfig/Qt*.pc
-endef
-
-# Library installation
-ifeq ($(BR2_PACKAGE_QT_SHARED),y)
-define QT_INSTALL_TARGET_LIBS
- mkdir -p $(TARGET_DIR)/usr/lib
- for lib in $(QT_INSTALL_LIBS); do \
- cp -dpf $(STAGING_DIR)/usr/lib/lib$${lib}.so.* $(TARGET_DIR)/usr/lib ; \
- done
-endef
-endif
-
-# Plugin installation
-define QT_INSTALL_TARGET_PLUGINS
- if [ -d $(STAGING_DIR)/usr/lib/qt/plugins/ ] ; then \
- mkdir -p $(TARGET_DIR)/usr/lib/qt/plugins ; \
- cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/* $(TARGET_DIR)/usr/lib/qt/plugins ; \
- fi
-endef
-
-# Import installation
-define QT_INSTALL_TARGET_IMPORTS
- if [ -d $(STAGING_DIR)/usr/lib/qt/imports/ ] ; then \
- mkdir -p $(TARGET_DIR)/usr/lib/qt/imports ; \
- cp -dpfr $(STAGING_DIR)/usr/lib/qt/imports/* $(TARGET_DIR)/usr/lib/qt/imports ; \
- fi
-endef
-
-# Fonts installation
-ifeq ($(BR2_PACKAGE_QT_EMBEDDED),y)
-ifneq ($(QT_FONTS),)
-define QT_INSTALL_TARGET_FONTS
- mkdir -p $(TARGET_DIR)/usr/lib/fonts
- cp -dpf $(QT_FONTS) $(TARGET_DIR)/usr/lib/fonts
-endef
-ifneq ($(BR2_PACKAGE_QT_FONT_MICRO)$(BR2_PACKAGE_QT_FONT_FIXED),)
-# as stated in the font source src/3rdparty/fonts/micro.bdf
-# source src/3rdparty/fonts/5x7.bdf and source src/3rdparty/fonts/6x13.bdf
-QT_LICENSE := $(QT_LICENSE), Public Domain (Micro/Fixed font)
-endif
-ifneq ($(BR2_PACKAGE_QT_FONT_HELVETICA)$(BR2_PACKAGE_QT_FONT_JAPANESE),)
-QT_LICENSE := $(QT_LICENSE), Adobe Helvetica license (Helvetica/Japanese fonts)
-QT_LICENSE_FILES += src/3rdparty/fonts/COPYING.Helvetica
-endif
-ifeq ($(BR2_PACKAGE_QT_FONT_UNIFONT),y)
-QT_LICENSE := $(QT_LICENSE), Freeware (Unifont font)
-QT_LICENSE_FILES += src/3rdparty/fonts/COPYRIGHT.Unifont
-endif
-endif # QT_FONTS
-
-ifeq ($(BR2_PACKAGE_QT_FONT_TRUETYPE),y)
-define QT_INSTALL_TARGET_FONTS_TTF
- mkdir -p $(TARGET_DIR)/usr/lib/fonts
- cp -dpf $(STAGING_DIR)/usr/lib/fonts/*.ttf $(TARGET_DIR)/usr/lib/fonts
-endef
-QT_LICENSE := $(QT_LICENSE), Bitstream license (DejaVu/Vera TrueType fonts)
-QT_LICENSE_FILES += src/3rdparty/fonts/COPYRIGHT.DejaVu \
- src/3rdparty/fonts/README.DejaVu \
- src/3rdparty/fonts/COPYRIGHT.Vera
-endif
-endif # BR2_PACKAGE_QT_EMBEDDED
-
-ifeq ($(BR2_PACKAGE_QT_GFX_POWERVR),y)
-define QT_INSTALL_TARGET_POWERVR
- # Note: this overwrites the default powervr.ini provided by the ti-gfx
- # package.
- $(INSTALL) -D -m 0644 package/qt/powervr.ini \
- $(TARGET_DIR)/etc/powervr.ini
-endef
-endif
-
-ifeq ($(BR2_PACKAGE_QT_TRANSLATION_FILES),y)
-define QT_INSTALL_TARGET_TRANSLATIONS
- if [ -d $(STAGING_DIR)/usr/share/qt/translations/ ] ; then \
- mkdir -p $(TARGET_DIR)/usr/share/qt/translations ; \
- cp -dpfr $(STAGING_DIR)/usr/share/qt/translations/* $(TARGET_DIR)/usr/share/qt/translations ; \
- fi
-endef
-endif
-
-define QT_INSTALL_TARGET_CMDS
- $(QT_INSTALL_TARGET_LIBS)
- $(QT_INSTALL_TARGET_PLUGINS)
- $(QT_INSTALL_TARGET_IMPORTS)
- $(QT_INSTALL_TARGET_FONTS)
- $(QT_INSTALL_TARGET_FONTS_TTF)
- $(QT_INSTALL_TARGET_POWERVR)
- $(QT_INSTALL_TARGET_TRANSLATIONS)
-endef
-
-$(eval $(generic-package))
depends on !BR2_ARM_CPU_ARMV4
comment "Qt5 needs a toolchain w/ wchar, NPTL, C++, dynamic library"
- depends on !BR2_PACKAGE_QT
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
menuconfig BR2_PACKAGE_QT5
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on !BR2_STATIC_LIBS
- depends on !BR2_PACKAGE_QT
select BR2_PACKAGE_QT5BASE
help
This option enables the Qt5 framework. Sub-options allow to