package/qt: remove package

Qt4 has been marked obsolete for close to 1 year, since commit 3538b5fb10
(qt: mark as obsolete) and is no longer supported upstream since December
2015:

https://blog.qt.io/blog/2015/05/26/qt-4-8-7-released/

So now finally remove it as the in tree users have been removed.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019.02.x
Peter Korsgaard 2019-02-06 15:10:58 +01:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 3e99c8418a
commit 5a8bc8083a
26 changed files with 7 additions and 3362 deletions

View File

@ -146,6 +146,12 @@ endif
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

View File

@ -312,10 +312,9 @@ comment "Graphic libraries"
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"

View File

@ -1,29 +0,0 @@
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

View File

@ -1,52 +0,0 @@
Fix -hostprefix behaviour
When -hostprefix ./configure option is used, Qt installs all its
headers, libraries and binaries inside the given host prefix, instead
of the prefix. This is used by Buildroot to make sure that all Qt
libraries and headers are installed in $(STAGING_DIR).
Qt ./configure script also allows to tune the installation location of
various elements, for examples the plugins through the -plugindir
option. Unfortunately, this option only impact the installation path
on the target, but not on the host when -hostprefix is used.
This patch modifies Qt ./configure script so that HOST_*PATH_STR
variables are composed of the host prefix concatenated with the path
of installation on the target. This way, the plugin installation local
in the $(STAGING_DIR) and on the target remains the same.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
configure | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
Index: qt-everywhere-opensource-src-4.8.1/configure
===================================================================
--- qt-everywhere-opensource-src-4.8.1.orig/configure
+++ qt-everywhere-opensource-src-4.8.1/configure
@@ -4661,15 +4661,15 @@
if [ ! -z "$QT_HOST_PREFIX" ]; then
- HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
- HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
- HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"`
- HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"`
- HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"`
- HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"`
- HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"`
- HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"`
- HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"`
+ HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX/$QT_INSTALL_PREFIX"`
+ HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/$QT_INSTALL_DOCS"`
+ HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/$QT_INSTALL_HEADERS"`
+ HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/$QT_INSTALL_LIBS"`
+ HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/$QT_INSTALL_BINS"`
+ HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/$QT_INSTALL_PLUGINS"`
+ HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/$QT_INSTALL_IMPORTS"`
+ HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX/$QT_INSTALL_DATA"`
+ HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/$QT_INSTALL_TRANSLATIONS"`
HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"`
HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
HOSTDEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`

View File

@ -1,802 +0,0 @@
Patch to remove obsolete powervr headers and instead use the headers provided
on the system.
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
---
Index: qt-4.8.5/src/3rdparty/powervr/pvr2d.h
===================================================================
--- qt-4.8.5.orig/src/3rdparty/powervr/pvr2d.h 2013-07-08 11:24:33.010516867 -0500
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,502 +0,0 @@
-/*!****************************************************************************
-@File pvr2d.h
-@Title PVR2D external header file
-@Author Imagination Technologies
-@Copyright Copyright (c) by Imagination Technologies Limited.
- This specification is protected by copyright laws and contains
- material proprietary to Imagination Technologies Limited.
- You may use and distribute this specification free of charge for implementing
- the functionality therein, without altering or removing any trademark, copyright,
- or other notice from the specification.
-@Platform Generic
-@Description PVR2D definitions for PVR2D clients
-******************************************************************************/
-
-
-/******************************************************************************
-Modifications :-
-$Log: pvr2d.h $
-******************************************************************************/
-
-#ifndef _PVR2D_H_
-#define _PVR2D_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* PVR2D Platform-specific definitions */
-#define PVR2D_EXPORT
-#define PVR2D_IMPORT
-
-
-#define PVR2D_REV_MAJOR 2
-#define PVR2D_REV_MINOR 1
-
-typedef enum
-{
- PVR2D_FALSE = 0,
- PVR2D_TRUE
-} PVR2D_BOOL;
-
-
-/* error codes */
-typedef enum
-{
- PVR2D_OK = 0,
- PVR2DERROR_INVALID_PARAMETER = -1,
- PVR2DERROR_DEVICE_UNAVAILABLE = -2,
- PVR2DERROR_INVALID_CONTEXT = -3,
- PVR2DERROR_MEMORY_UNAVAILABLE = -4,
- PVR2DERROR_DEVICE_NOT_PRESENT = -5,
- PVR2DERROR_IOCTL_ERROR = -6,
- PVR2DERROR_GENERIC_ERROR = -7,
- PVR2DERROR_BLT_NOTCOMPLETE = -8,
- PVR2DERROR_HW_FEATURE_NOT_SUPPORTED = -9,
- PVR2DERROR_NOT_YET_IMPLEMENTED = -10,
- PVR2DERROR_MAPPING_FAILED = -11
-}PVR2DERROR;
-
-
-/* pixel formats */
-typedef enum
-{
- PVR2D_1BPP = 0,
- PVR2D_RGB565,
- PVR2D_ARGB4444,
- PVR2D_RGB888,
- PVR2D_ARGB8888,
- PVR2D_ARGB1555,
- PVR2D_ALPHA8,
- PVR2D_ALPHA4,
- PVR2D_PAL2,
- PVR2D_PAL4,
- PVR2D_PAL8,
- PVR2D_VGAEMU
-
-}PVR2DFORMAT;
-
-
-/* wrap surface type */
-typedef enum
-{
- PVR2D_WRAPFLAG_NONCONTIGUOUS = 0,
- PVR2D_WRAPFLAG_CONTIGUOUS = 1,
-
-}PVR2DWRAPFLAGS;
-
-/* flags for control information of additional blits */
-typedef enum
-{
- PVR2D_BLIT_DISABLE_ALL = 0x0000, /* disable all additional controls */
- PVR2D_BLIT_CK_ENABLE = 0x0001, /* enable colour key */
- PVR2D_BLIT_GLOBAL_ALPHA_ENABLE = 0x0002, /* enable standard global alpha */
- PVR2D_BLIT_PERPIXEL_ALPHABLEND_ENABLE = 0x0004, /* enable per-pixel alpha bleding */
- PVR2D_BLIT_PAT_SURFACE_ENABLE = 0x0008, /* enable pattern surf (disable fill) */
- PVR2D_BLIT_FULLY_SPECIFIED_ALPHA_ENABLE = 0x0010, /* enable fully specified alpha */
- PVR2D_BLIT_ROT_90 = 0x0020, /* apply 90 degree rotation to the blt */
- PVR2D_BLIT_ROT_180 = 0x0040, /* apply 180 degree rotation to the blt */
- PVR2D_BLIT_ROT_270 = 0x0080, /* apply 270 degree rotation to the blt */
- PVR2D_BLIT_COPYORDER_TL2BR = 0x0100, /* copy order overrides */
- PVR2D_BLIT_COPYORDER_BR2TL = 0x0200,
- PVR2D_BLIT_COPYORDER_TR2BL = 0x0400,
- PVR2D_BLIT_COPYORDER_BL2TR = 0x0800,
- PVR2D_BLIT_COLKEY_SOURCE = 0x1000, /* Key colour is on the source surface */
- PVR2D_BLIT_COLKEY_DEST = 0x2000 /* Key colour is on the destination surface */
-
-} PVR2DBLITFLAGS;
-
-/* standard alpha-blending functions, AlphaBlendingFunc field of PVR2DBLTINFO */
-typedef enum
-{
- PVR2D_ALPHA_OP_SRC_DSTINV = 1, /* source alpha : Cdst = Csrc*Asrc + Cdst*(1-Asrc) */
- PVR2D_ALPHA_OP_SRCP_DSTINV = 2 /* premultiplied source alpha : Cdst = Csrc + Cdst*(1-Asrc) */
-} PVR2D_ALPHABLENDFUNC;
-
-/* blend ops for fully specified alpha */
-typedef enum
-{
- PVR2D_BLEND_OP_ZERO = 0,
- PVR2D_BLEND_OP_ONE = 1,
- PVR2D_BLEND_OP_SRC = 2,
- PVR2D_BLEND_OP_DST = 3,
- PVR2D_BLEND_OP_GLOBAL = 4,
- PVR2D_BLEND_OP_SRC_PLUS_GLOBAL = 5,
- PVR2D_BLEND_OP_DST_PLUS_GLOBAL = 6
-}PVR2D_BLEND_OP;
-
-
-typedef void* PVR2D_HANDLE;
-
-
-/* Fully specified alpha blend : pAlpha field of PVR2DBLTINFO structure */
-/* a fully specified Alpha Blend operation is defined as */
-/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (ALPHA_3 * DST (ALPHA)) */
-/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (ALPHA_4 * DST (RGB)) */
-/* if the pre-multiplication stage is enabled then the equations become the following: */
-/* PRE_MUL = ((SRC(A)) * (Global Alpha Value)) */
-/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (PRE_MUL * DST (ALPHA)) */
-/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (PRE_MUL * DST (RGB)) */
-/* if the transparent source alpha stage is enabled then a source alpha of zero forces the */
-/* source to be transparent for that pixel regardless of the blend equation being used. */
-typedef struct _PVR2D_ALPHABLT
-{
- PVR2D_BLEND_OP eAlpha1;
- PVR2D_BOOL bAlpha1Invert;
- PVR2D_BLEND_OP eAlpha2;
- PVR2D_BOOL bAlpha2Invert;
- PVR2D_BLEND_OP eAlpha3;
- PVR2D_BOOL bAlpha3Invert;
- PVR2D_BLEND_OP eAlpha4;
- PVR2D_BOOL bAlpha4Invert;
- PVR2D_BOOL bPremulAlpha; /* enable pre-multiplication stage */
- PVR2D_BOOL bTransAlpha; /* enable transparent source alpha stage */
- PVR2D_BOOL bUpdateAlphaLookup; /* enable and update the 1555-Lookup alpha table */
- unsigned char uAlphaLookup0; /* 8 bit alpha when A=0 in a 1555-Lookup surface */
- unsigned char uAlphaLookup1; /* 8 bit alpha when A=1 in a 1555-Lookup surface */
- unsigned char uGlobalRGB; /* Global Alpha Value for RGB, 0=transparent 255=opaque */
- unsigned char uGlobalA; /* Global Alpha Value for Alpha */
-
-} PVR2D_ALPHABLT, *PPVR2D_ALPHABLT;
-
-
-/* surface memory info structure */
-typedef struct _PVR2DMEMINFO
-{
- void *pBase;
- unsigned long ui32MemSize;
- unsigned long ui32DevAddr;
- unsigned long ulFlags;
- void *hPrivateData;
- void *hPrivateMapData;
-
-}PVR2DMEMINFO, *PPVR2DMEMINFO;
-
-
-#define PVR2D_MAX_DEVICE_NAME 20
-
-typedef struct _PVR2DDEVICEINFO
-{
- unsigned long ulDevID;
- char szDeviceName[PVR2D_MAX_DEVICE_NAME];
-}PVR2DDEVICEINFO;
-
-
-typedef struct _PVR2DISPLAYINFO
-{
- unsigned long ulMaxFlipChains;
- unsigned long ulMaxBuffersInChain;
- PVR2DFORMAT eFormat;
- unsigned long ulWidth;
- unsigned long ulHeight;
- long lStride;
- unsigned long ulMinFlipInterval;
- unsigned long ulMaxFlipInterval;
-
-}PVR2DDISPLAYINFO;
-
-
-typedef struct _PVR2DBLTINFO
-{
- unsigned long CopyCode; /* rop code */
- unsigned long Colour; /* fill colour */
- unsigned long ColourKey; /* colour key */
- unsigned char GlobalAlphaValue; /* global alpha blending */
- unsigned char AlphaBlendingFunc; /* per-pixel alpha-blending function */
-
- PVR2DBLITFLAGS BlitFlags; /* additional blit control information */
-
- PVR2DMEMINFO *pDstMemInfo; /* destination memory */
- unsigned long DstOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */
- long DstStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
- long DstX, DstY; /* pixel offset from start of dest surface to start of blt rectangle */
- long DSizeX,DSizeY; /* blt size */
- PVR2DFORMAT DstFormat; /* dest format */
- unsigned long DstSurfWidth; /* size of dest surface in pixels */
- unsigned long DstSurfHeight; /* size of dest surface in pixels */
-
- PVR2DMEMINFO *pSrcMemInfo; /* source mem, (source fields are also used for patterns) */
- unsigned long SrcOffset; /* byte offset from start of allocation to src/pat surface pixel 0,0 */
- long SrcStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
- long SrcX, SrcY; /* pixel offset from start of surface to start of source rectangle */
- /* for patterns this is the start offset within the pattern */
- long SizeX,SizeY; /* source rectangle size or pattern size in pixels */
- PVR2DFORMAT SrcFormat; /* source/pattern format */
- PVR2DMEMINFO *pPalMemInfo; /* source/pattern palette memory containing argb8888 colour table */
- unsigned long PalOffset; /* byte offset from start of allocation to start of palette */
- unsigned long SrcSurfWidth; /* size of source surface in pixels */
- unsigned long SrcSurfHeight; /* size of source surface in pixels */
-
- PVR2DMEMINFO *pMaskMemInfo; /* mask memory, 1bpp format implied */
- unsigned long MaskOffset; /* byte offset from start of allocation to mask surface pixel 0,0 */
- long MaskStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
- long MaskX, MaskY; /* mask rect top left (mask size = blt size) */
- unsigned long MaskSurfWidth; /* size of mask surface in pixels */
- unsigned long MaskSurfHeight; /* size of mask surface in pixels */
-
- PPVR2D_ALPHABLT pAlpha; /* fully specified alpha blend */
-
-}PVR2DBLTINFO, *PPVR2DBLTINFO;
-
-typedef struct _PVR2DRECT
-{
- long left, top;
- long right, bottom;
-} PVR2DRECT;
-
-typedef struct
-{
- PVR2DMEMINFO *pSurfMemInfo; /* surface memory */
- unsigned long SurfOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */
- long Stride; /* signed stride */
- PVR2DFORMAT Format;
- unsigned long SurfWidth; /* surface size in pixels */
- unsigned long SurfHeight;
-
-} PVR2D_SURFACE, *PPVR2D_SURFACE;
-
-typedef struct
-{
- unsigned long *pUseCode; /* USSE code */
- unsigned long UseCodeSize; /* usse code size in bytes */
-
-} PVR2D_USECODE, *PPVR2D_USECODE;
-
-typedef struct
-{
- PVR2D_SURFACE sDst; /* destination surface */
- PVR2D_SURFACE sSrc; /* source surface */
- PVR2DRECT rcDest; /* destination rectangle */
- PVR2DRECT rcSource; /* source rectangle */
- PVR2D_HANDLE hUseCode; /* custom USE code (NULL implies source copy) */
- unsigned long UseParams[2]; /* per-blt params for use code */
-
-} PVR2D_3DBLT, *PPVR2D_3DBLT;
-
-
-#define MAKE_COPY_BLIT(src,soff,dest,doff,sx,sy,dx,dy,sz)
-
-typedef void* PVR2DCONTEXTHANDLE;
-typedef void* PVR2DFLIPCHAINHANDLE;
-
-
-// CopyCode field of PVR2DBLTINFO structure:
-// the CopyCode field of the PVR2DBLTINFO structure should contain a rop3 or rop4 code.
-// a rop3 is an 8 bit code that describes a blt with three inputs : source dest and pattern
-// rop4 is a 16 bit code that describes a blt with four inputs : source dest pattern and mask
-// common rop3 codes are defined below
-// a colour fill blt is processed in the pattern channel as a constant colour with a rop code of 0xF0
-// PVR2D_BLIT_PAT_SURFACE_ENABLE defines whether the pattern channel is a surface or a fill colour.
-// a rop4 is defined by two rop3 codes, and the 1 bit-per-pixel mask surface defines which is used.
-// a common rop4 is 0xAAF0 which is the mask copy blt used for text glyphs.
-// CopyCode is taken to be a rop4 when pMaskMemInfo is non zero, otherwise it is assumed to be a rop3
-// use the PVR2DMASKROP4 macro below to construct a rop4 from two rop3's
-// rop3a is the rop used when mask pixel = 1, and rop3b when mask = 0
-#define PVR2DROP4(rop3b, rop3a) ((rop3b<<8)|rop3a)
-
-/* common rop codes */
-#define PVR2DROPclear 0x00 /* 0 (whiteness) */
-#define PVR2DROPset 0xFF /* 1 (blackness) */
-#define PVR2DROPnoop 0xAA /* dst (used for masked blts) */
-
-/* source and dest rop codes */
-#define PVR2DROPand 0x88 /* src AND dst */
-#define PVR2DROPandReverse 0x44 /* src AND NOT dst */
-#define PVR2DROPcopy 0xCC /* src (used for source copy and alpha blts) */
-#define PVR2DROPandInverted 0x22 /* NOT src AND dst */
-#define PVR2DROPxor 0x66 /* src XOR dst */
-#define PVR2DROPor 0xEE /* src OR dst */
-#define PVR2DROPnor 0x11 /* NOT src AND NOT dst */
-#define PVR2DROPequiv 0x99 /* NOT src XOR dst */
-#define PVR2DROPinvert 0x55 /* NOT dst */
-#define PVR2DROPorReverse 0xDD /* src OR NOT dst */
-#define PVR2DROPcopyInverted 0x33 /* NOT src */
-#define PVR2DROPorInverted 0xBB /* NOT src OR dst */
-#define PVR2DROPnand 0x77 /* NOT src OR NOT dst */
-
-/* pattern rop codes */
-#define PVR2DPATROPand 0xA0 /* pat AND dst */
-#define PVR2DPATROPandReverse 0x50 /* pat AND NOT dst */
-#define PVR2DPATROPcopy 0xF0 /* pat (used for solid color fills and pattern blts) */
-#define PVR2DPATROPandInverted 0x0A /* NOT pat AND dst */
-#define PVR2DPATROPxor 0x5A /* pat XOR dst */
-#define PVR2DPATROPor 0xFA /* pat OR dst */
-#define PVR2DPATROPnor 0x05 /* NOT pat AND NOT dst */
-#define PVR2DPATROPequiv 0xA5 /* NOT pat XOR dst */
-#define PVR2DPATROPinvert 0x55 /* NOT dst */
-#define PVR2DPATROPorReverse 0xF5 /* pat OR NOT dst */
-#define PVR2DPATROPcopyInverted 0x0F /* NOT pat */
-#define PVR2DPATROPorInverted 0xAF /* NOT pat OR dst */
-#define PVR2DPATROPnand 0x5F /* NOT pat OR NOT dst */
-
-/* common rop4 codes */
-#define PVR2DROP4MaskedCopy PVR2DROP4(PVR2DROPnoop,PVR2DROPcopy) /* masked source copy blt (used for rounded window corners etc) */
-#define PVR2DROP4MaskedFill PVR2DROP4(PVR2DROPnoop,PVR2DPATROPcopy) /* masked colour fill blt (used for text) */
-
-/* Legacy support */
-#define PVR2DROP3_PATMASK PVR2DPATROPcopy
-#define PVR2DROP3_SRCMASK PVR2DROPcopy
-
-/* pixmap memory alignment */
-#define PVR2D_ALIGNMENT_4 4 /* DWORD alignment */
-#define PVR2D_ALIGNMENT_ANY 0 /* no alignment */
-#define PVR2D_ALIGNMENT_PALETTE 16 /* 16 byte alignment is required for palettes */
-
-/* Heap number for PVR2DGetFrameBuffer */
-#define PVR2D_FB_PRIMARY_SURFACE 0
-
-#define PVR2D_PRESENT_PROPERTY_SRCSTRIDE (1 << 0)
-#define PVR2D_PRESENT_PROPERTY_DSTSIZE (1 << 1)
-#define PVR2D_PRESENT_PROPERTY_DSTPOS (1 << 2)
-#define PVR2D_PRESENT_PROPERTY_CLIPRECTS (1 << 3)
-#define PVR2D_PRESENT_PROPERTY_INTERVAL (1 << 4)
-
-
-#define PVR2D_CREATE_FLIPCHAIN_SHARED (1 << 0)
-#define PVR2D_CREATE_FLIPCHAIN_QUERY (1 << 1)
-
-/* Functions that the library exports */
-
-PVR2D_IMPORT
-int PVR2DEnumerateDevices(PVR2DDEVICEINFO *pDevInfo);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DCreateDeviceContext(unsigned long ulDevID,
- PVR2DCONTEXTHANDLE* phContext,
- unsigned long ulFlags);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DDestroyDeviceContext(PVR2DCONTEXTHANDLE hContext);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DGetDeviceInfo(PVR2DCONTEXTHANDLE hContext,
- PVR2DDISPLAYINFO *pDisplayInfo);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DGetScreenMode(PVR2DCONTEXTHANDLE hContext,
- PVR2DFORMAT *pFormat,
- long *plWidth,
- long *plHeight,
- long *plStride,
- int *piRefreshRate);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DGetFrameBuffer(PVR2DCONTEXTHANDLE hContext,
- int nHeap,
- PVR2DMEMINFO **ppsMemInfo);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DMemAlloc(PVR2DCONTEXTHANDLE hContext,
- unsigned long ulBytes,
- unsigned long ulAlign,
- unsigned long ulFlags,
- PVR2DMEMINFO **ppsMemInfo);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DMemWrap(PVR2DCONTEXTHANDLE hContext,
- void *pMem,
- unsigned long ulFlags,
- unsigned long ulBytes,
- unsigned long alPageAddress[],
- PVR2DMEMINFO **ppsMemInfo);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DMemMap(PVR2DCONTEXTHANDLE hContext,
- unsigned long ulFlags,
- void *hPrivateMapData,
- PVR2DMEMINFO **ppsDstMem);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DMemFree(PVR2DCONTEXTHANDLE hContext,
- PVR2DMEMINFO *psMemInfo);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DBlt(PVR2DCONTEXTHANDLE hContext,
- PVR2DBLTINFO *pBltInfo);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DBltClipped(PVR2DCONTEXTHANDLE hContext,
- PVR2DBLTINFO *pBltInfo,
- unsigned long ulNumClipRects,
- PVR2DRECT *pClipRects);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DQueryBlitsComplete(PVR2DCONTEXTHANDLE hContext,
- PVR2DMEMINFO *pMemInfo,
- unsigned int uiWaitForComplete);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DSetPresentBltProperties(PVR2DCONTEXTHANDLE hContext,
- unsigned long ulPropertyMask,
- long lSrcStride,
- unsigned long ulDstWidth,
- unsigned long ulDstHeight,
- long lDstXPos,
- long lDstYPos,
- unsigned long ulNumClipRects,
- PVR2DRECT *pClipRects,
- unsigned long ulSwapInterval);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DPresentBlt(PVR2DCONTEXTHANDLE hContext,
- PVR2DMEMINFO *pMemInfo,
- long lRenderID);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DCreateFlipChain(PVR2DCONTEXTHANDLE hContext,
- unsigned long ulFlags,
- unsigned long ulNumBuffers,
- unsigned long ulWidth,
- unsigned long ulHeight,
- PVR2DFORMAT eFormat,
- long *plStride,
- unsigned long *pulFlipChainID,
- PVR2DFLIPCHAINHANDLE *phFlipChain);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DDestroyFlipChain(PVR2DCONTEXTHANDLE hContext,
- PVR2DFLIPCHAINHANDLE hFlipChain);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DGetFlipChainBuffers(PVR2DCONTEXTHANDLE hContext,
- PVR2DFLIPCHAINHANDLE hFlipChain,
- unsigned long *pulNumBuffers,
- PVR2DMEMINFO *psMemInfo[]);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DSetPresentFlipProperties(PVR2DCONTEXTHANDLE hContext,
- PVR2DFLIPCHAINHANDLE hFlipChain,
- unsigned long ulPropertyMask,
- long lDstXPos,
- long lDstYPos,
- unsigned long ulNumClipRects,
- PVR2DRECT *pClipRects,
- unsigned long ulSwapInterval);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DPresentFlip(PVR2DCONTEXTHANDLE hContext,
- PVR2DFLIPCHAINHANDLE hFlipChain,
- PVR2DMEMINFO *psMemInfo,
- long lRenderID);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DGetAPIRev(long *lRevMajor, long *lRevMinor);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DLoadUseCode (const PVR2DCONTEXTHANDLE hContext, const unsigned char *pUseCode,
- const unsigned long UseCodeSize, PVR2D_HANDLE *pUseCodeHandle);
-PVR2D_IMPORT
-PVR2DERROR PVR2DFreeUseCode (const PVR2DCONTEXTHANDLE hContext, const PVR2D_HANDLE hUseCodeHandle);
-
-PVR2D_IMPORT
-PVR2DERROR PVR2DBlt3D (const PVR2DCONTEXTHANDLE hContext, const PPVR2D_3DBLT pBlt3D);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PVR2D_H_ */
-
-/******************************************************************************
- End of file (pvr2d.h)
-******************************************************************************/
Index: qt-4.8.5/src/3rdparty/powervr/wsegl.h
===================================================================
--- qt-4.8.5.orig/src/3rdparty/powervr/wsegl.h 2013-07-08 11:24:33.010516867 -0500
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,240 +0,0 @@
-/******************************************************************************
- Name : wsegl.h
- Copyright : Copyright (c) Imagination Technologies Limited.
- This specification is protected by copyright laws and contains
- material proprietary to Imagination Technologies Limited.
- You may use and distribute this specification free of charge for implementing
- the functionality therein, without altering or removing any trademark, copyright,
- or other notice from the specification.
- Platform : ANSI
-*****************************************************************************/
-
-
-#if !defined(__WSEGL_H__)
-#define __WSEGL_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
-// WSEGL Platform-specific definitions
-*/
-#define WSEGL_EXPORT
-#define WSEGL_IMPORT
-
-/*
-// WSEGL API Version Number
-*/
-
-#define WSEGL_VERSION 1
-#define WSEGL_DEFAULT_DISPLAY 0
-#define WSEGL_DEFAULT_NATIVE_ENGINE 0
-
-#define WSEGL_FALSE 0
-#define WSEGL_TRUE 1
-#define WSEGL_NULL 0
-
-#define WSEGL_UNREFERENCED_PARAMETER(param) (param) = (param)
-
-/*
-// WSEGL handles
-*/
-typedef void *WSEGLDisplayHandle;
-typedef void *WSEGLDrawableHandle;
-
-/*
-// Display capability type
-*/
-typedef enum WSEGLCapsType_TAG
-{
- WSEGL_NO_CAPS = 0,
- WSEGL_CAP_MIN_SWAP_INTERVAL = 1, /* System default value = 1 */
- WSEGL_CAP_MAX_SWAP_INTERVAL = 2, /* System default value = 1 */
- WSEGL_CAP_WINDOWS_USE_HW_SYNC = 3, /* System default value = 0 (FALSE) */
- WSEGL_CAP_PIXMAPS_USE_HW_SYNC = 4, /* System default value = 0 (FALSE) */
-
-} WSEGLCapsType;
-
-/*
-// Display capability
-*/
-typedef struct WSEGLCaps_TAG
-{
- WSEGLCapsType eCapsType;
- unsigned long ui32CapsValue;
-
-} WSEGLCaps;
-
-/*
-// Drawable type
-*/
-#define WSEGL_NO_DRAWABLE 0x0
-#define WSEGL_DRAWABLE_WINDOW 0x1
-#define WSEGL_DRAWABLE_PIXMAP 0x2
-
-
-/*
-// Pixel format of display/drawable
-*/
-typedef enum WSEGLPixelFormat_TAG
-{
- WSEGL_PIXELFORMAT_565 = 0,
- WSEGL_PIXELFORMAT_4444 = 1,
- WSEGL_PIXELFORMAT_8888 = 2,
- WSEGL_PIXELFORMAT_1555 = 3
-
-} WSEGLPixelFormat;
-
-/*
-// Transparent of display/drawable
-*/
-typedef enum WSEGLTransparentType_TAG
-{
- WSEGL_OPAQUE = 0,
- WSEGL_COLOR_KEY = 1,
-
-} WSEGLTransparentType;
-
-/*
-// Display/drawable configuration
-*/
-typedef struct WSEGLConfig_TAG
-{
- /*
- // Type of drawables this configuration applies to -
- // OR'd values of drawable types.
- */
- unsigned long ui32DrawableType;
-
- /* Pixel format */
- WSEGLPixelFormat ePixelFormat;
-
- /* Native Renderable - set to WSEGL_TRUE if native renderable */
- unsigned long ulNativeRenderable;
-
- /* FrameBuffer Level Parameter */
- unsigned long ulFrameBufferLevel;
-
- /* Native Visual ID */
- unsigned long ulNativeVisualID;
-
- /* Native Visual */
- void *hNativeVisual;
-
- /* Transparent Type */
- WSEGLTransparentType eTransparentType;
-
- /* Transparent Color - only used if transparent type is COLOR_KEY */
- unsigned long ulTransparentColor; /* packed as 0x00RRGGBB */
-
-
-} WSEGLConfig;
-
-/*
-// WSEGL errors
-*/
-typedef enum WSEGLError_TAG
-{
- WSEGL_SUCCESS = 0,
- WSEGL_CANNOT_INITIALISE = 1,
- WSEGL_BAD_NATIVE_DISPLAY = 2,
- WSEGL_BAD_NATIVE_WINDOW = 3,
- WSEGL_BAD_NATIVE_PIXMAP = 4,
- WSEGL_BAD_NATIVE_ENGINE = 5,
- WSEGL_BAD_DRAWABLE = 6,
- WSEGL_BAD_CONFIG = 7,
- WSEGL_OUT_OF_MEMORY = 8
-
-} WSEGLError;
-
-/*
-// Drawable orientation (in degrees anti-clockwise)
-*/
-typedef enum WSEGLRotationAngle_TAG
-{
- WSEGL_ROTATE_0 = 0,
- WSEGL_ROTATE_90 = 1,
- WSEGL_ROTATE_180 = 2,
- WSEGL_ROTATE_270 = 3
-
-} WSEGLRotationAngle;
-
-/*
-// Drawable information required by OpenGL-ES driver
-*/
-typedef struct WSEGLDrawableParams_TAG
-{
- /* Width in pixels of the drawable */
- unsigned long ui32Width;
-
- /* Height in pixels of the drawable */
- unsigned long ui32Height;
-
- /* Stride in pixels of the drawable */
- unsigned long ui32Stride;
-
- /* Pixel format of the drawable */
- WSEGLPixelFormat ePixelFormat;
-
- /* User space cpu virtual address of the drawable */
- void *pvLinearAddress;
-
- /* HW address of the drawable */
- unsigned long ui32HWAddress;
-
- /* Private data for the drawable */
- void *hPrivateData;
-
-} WSEGLDrawableParams;
-
-
-/*
-// Table of function pointers that is returned by WSEGL_GetFunctionTablePointer()
-//
-// The first entry in the table is the version number of the wsegl.h header file that
-// the module has been written against, and should therefore be set to WSEGL_VERSION
-*/
-typedef struct WSEGL_FunctionTable_TAG
-{
- unsigned long ui32WSEGLVersion;
-
- WSEGLError (*pfnWSEGL_IsDisplayValid)(NativeDisplayType);
-
- WSEGLError (*pfnWSEGL_InitialiseDisplay)(NativeDisplayType, WSEGLDisplayHandle *, const WSEGLCaps **, WSEGLConfig **);
-
- WSEGLError (*pfnWSEGL_CloseDisplay)(WSEGLDisplayHandle);
-
- WSEGLError (*pfnWSEGL_CreateWindowDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativeWindowType, WSEGLRotationAngle *);
-
- WSEGLError (*pfnWSEGL_CreatePixmapDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativePixmapType, WSEGLRotationAngle *);
-
- WSEGLError (*pfnWSEGL_DeleteDrawable)(WSEGLDrawableHandle);
-
- WSEGLError (*pfnWSEGL_SwapDrawable)(WSEGLDrawableHandle, unsigned long);
-
- WSEGLError (*pfnWSEGL_SwapControlInterval)(WSEGLDrawableHandle, unsigned long);
-
- WSEGLError (*pfnWSEGL_WaitNative)(WSEGLDrawableHandle, unsigned long);
-
- WSEGLError (*pfnWSEGL_CopyFromDrawable)(WSEGLDrawableHandle, NativePixmapType);
-
- WSEGLError (*pfnWSEGL_CopyFromPBuffer)(void *, unsigned long, unsigned long, unsigned long, WSEGLPixelFormat, NativePixmapType);
-
- WSEGLError (*pfnWSEGL_GetDrawableParameters)(WSEGLDrawableHandle, WSEGLDrawableParams *, WSEGLDrawableParams *);
-
-
-} WSEGL_FunctionTable;
-
-
-WSEGL_IMPORT const WSEGL_FunctionTable *WSEGL_GetFunctionTablePointer(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WSEGL_H__ */
-
-/******************************************************************************
- End of file (wsegl.h)
-******************************************************************************/
Index: qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c
===================================================================
--- qt-4.8.5.orig/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c 2013-07-08 11:24:33.010516867 -0500
+++ qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c 2013-07-08 11:28:26.142521123 -0500
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <GLES/eglplatform.h>
+#include <EGL/eglplatform.h>
#include <wsegl.h>
#include <pvr2d.h>
#include <string.h>
@@ -379,6 +379,20 @@
return WSEGL_SUCCESS;
}
+/* Function stub for ConnectDrawable() */
+static WSEGLError wseglConnectDrawable(WSEGLDrawableHandle hDrawable)
+{
+ WSEGL_UNREFERENCED_PARAMETER(hDrawable);
+ return WSEGL_SUCCESS;
+}
+
+/* Function stub for DisconnectDrawable() */
+static WSEGLError wseglDisconnectDrawable(WSEGLDrawableHandle hDrawable)
+{
+ WSEGL_UNREFERENCED_PARAMETER(hDrawable);
+ return WSEGL_SUCCESS;
+}
+
static WSEGL_FunctionTable const wseglFunctions = {
WSEGL_VERSION,
wseglIsDisplayValid,
@@ -392,7 +406,9 @@
wseglWaitNative,
wseglCopyFromDrawable,
wseglCopyFromPBuffer,
- wseglGetDrawableParameters
+ wseglGetDrawableParameters,
+ wseglConnectDrawable,
+ wseglDisconnectDrawable
};
/* Return the table of WSEGL functions to the EGL implementation */

View File

@ -1,50 +0,0 @@
From d4d07dac01796b2aa0fb501c14865cab7e42b3a9 Mon Sep 17 00:00:00 2001
From: Mischa Jonker <mischa.jonker@synopsys.com>
Date: Sun, 4 Nov 2012 11:42:04 +0100
Subject: [PATCH] Fix const-related build error in generic atomic ops
It's still not entirely const-correct though. In all other architectures
this is obfuscated through the use of inline asm (which the compiler
doesn't check). This patch obfuscates through const_cast
---
src/corelib/arch/generic/qatomic_generic_unix.cpp | 8 ++++----
src/corelib/arch/qatomic_generic.h | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/corelib/arch/generic/qatomic_generic_unix.cpp b/src/corelib/arch/generic/qatomic_generic_unix.cpp
index 1c6cbf0..6fce81d 100644
--- a/src/corelib/arch/generic/qatomic_generic_unix.cpp
+++ b/src/corelib/arch/generic/qatomic_generic_unix.cpp
@@ -85,13 +85,13 @@ int QBasicAtomicInt_fetchAndAddOrdered(volatile int *_q_value, int valueToAdd)
Q_CORE_EXPORT
bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *_q_value,
- void *expectedValue,
- void *newValue)
+ const void *expectedValue,
+ const void *newValue)
{
bool returnValue = false;
pthread_mutex_lock(&qAtomicMutex);
if (*_q_value == expectedValue) {
- *_q_value = newValue;
+ *_q_value = const_cast<void*>(newValue);
returnValue = true;
}
pthread_mutex_unlock(&qAtomicMutex);
diff --git a/src/corelib/arch/qatomic_generic.h b/src/corelib/arch/qatomic_generic.h
index 621a767..4c14679 100644
--- a/src/corelib/arch/qatomic_generic.h
+++ b/src/corelib/arch/qatomic_generic.h
@@ -105,7 +105,7 @@ Q_CORE_EXPORT bool QBasicAtomicInt_testAndSetOrdered(volatile int *, int, int);
Q_CORE_EXPORT int QBasicAtomicInt_fetchAndStoreOrdered(volatile int *, int);
Q_CORE_EXPORT int QBasicAtomicInt_fetchAndAddOrdered(volatile int *, int);
-Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, void *, void *);
+Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, const void *, const void *);
Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *, void *);
Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *, qptrdiff);
--
1.7.0.4

View File

@ -1,107 +0,0 @@
Add pthred_getattr_np / phread_attr_getstrack alternatives for uClibc
Based on https://dev.openwrt.org/log/packages/Xorg/lib/qt4/patches/100-fix-webkit-for-uclibc.patch?rev=20371
Signed-off-by: Johan Sagaert <sagaert.johan@skynet.be>
---
src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp | 61 ++++++++++
1 file changed, 61 insertions(+)
Index: qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
===================================================================
--- qt-everywhere-opensource-src-4.8.1.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
+++ qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
@@ -70,6 +70,23 @@
#endif
#include <unistd.h>
+#if defined(QT_LINUXBASE)
+#include <dlfcn.h>
+#endif
+
+#if defined(__UCLIBC__)
+// versions of uClibc 0.9.32 and below with linuxthreads.old do not have
+// pthread_getattr_np or pthread_attr_getstack.
+#if __UCLIBC_MAJOR__ == 0 && \
+ (__UCLIBC_MINOR__ < 9 || \
+ (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ <= 32)) && \
+ defined(__LINUXTHREADS_OLD__)
+#define UCLIBC_USE_PROC_SELF_MAPS 1
+#include <stdio_ext.h>
+extern int *__libc_stack_end;
+#endif
+#endif
+
#if OS(SOLARIS)
#include <thread.h>
#else
@@ -648,6 +665,37 @@
get_thread_info(find_thread(NULL), &threadInfo);
return threadInfo.stack_end;
#elif OS(UNIX)
+#ifdef UCLIBC_USE_PROC_SELF_MAPS
+ // Read /proc/self/maps and locate the line whose address
+ // range contains __libc_stack_end.
+ FILE *file = fopen("/proc/self/maps", "r");
+ if (!file)
+ return 0;
+ __fsetlocking(file, FSETLOCKING_BYCALLER);
+ char *line = NULL;
+ size_t lineLen = 0;
+ while (!feof_unlocked(file)) {
+ if (getdelim(&line, &lineLen, '\n', file) <= 0)
+ break;
+
+ long from;
+ long to;
+ if (sscanf (line, "%lx-%lx", &from, &to) != 2)
+ continue;
+ if (from <= (long)__libc_stack_end && (long)__libc_stack_end < to) {
+ fclose(file);
+ free(line);
+#ifdef _STACK_GROWS_UP
+ return (void *)from;
+#else
+ return (void *)to;
+#endif
+ }
+ }
+ fclose(file);
+ free(line);
+ return 0;
+#else
AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex);
MutexLocker locker(mutex);
static void* stackBase = 0;
@@ -655,11 +703,23 @@
static pthread_t stackThread;
pthread_t thread = pthread_self();
if (stackBase == 0 || thread != stackThread) {
+
+#if defined(QT_LINUXBASE)
+ // LinuxBase is missing pthread_getattr_np - resolve it once at runtime instead
+ // see http://bugs.linuxbase.org/show_bug.cgi?id=2364
+ typedef int (*GetAttrPtr)(pthread_t, pthread_attr_t *);
+ static int (*pthread_getattr_np_ptr)(pthread_t, pthread_attr_t *) = 0;
+ if (!pthread_getattr_np_ptr)
+ *(void **)&pthread_getattr_np_ptr = dlsym(RTLD_DEFAULT, "pthread_getattr_np");
+#endif
pthread_attr_t sattr;
pthread_attr_init(&sattr);
#if HAVE(PTHREAD_NP_H) || OS(NETBSD)
// e.g. on FreeBSD 5.4, neundorf@kde.org
pthread_attr_get_np(thread, &sattr);
+#elif defined(QT_LINUXBASE)
+ if (pthread_getattr_np_ptr)
+ pthread_getattr_np_ptr(thread, &sattr);
#else
// FIXME: this function is non-portable; other POSIX systems may have different np alternatives
pthread_getattr_np(thread, &sattr);
@@ -671,6 +731,7 @@
stackThread = thread;
}
return static_cast<char*>(stackBase) + stackSize;
+#endif
#else
#error Need a way to get the stack base on this platform
#endif

View File

@ -1,22 +0,0 @@
[PATCH] fix build with script+dbus enabled, but no gui
The script/qtdbus plugin doesn't need gui support, so don't try to
link it against libQtGui.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
src/plugins/script/qtdbus/qtdbus.pro | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro
===================================================================
--- qt-4.7.3.orig/src/plugins/script/qtdbus/qtdbus.pro
+++ qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro
@@ -1,6 +1,6 @@
TARGET = qtscriptdbus
include(../../qpluginbase.pri)
-QT = core gui script
+QT = core script
CONFIG += qdbus
SOURCES += main.cpp

View File

@ -1,183 +0,0 @@
From a695eec2ef21240bbc6cd8cd1bdbab76f8da8dfd Mon Sep 17 00:00:00 2001
From: Vineet Gupta <vgupta@synopsys.com>
Date: Wed, 20 May 2015 10:37:25 +0300
Subject: [PATCH 1/2] Add initial support of ARC architecture
DesignWare ARC 700 and ARC HS38 are families of 32-bit CPUs
developed by Synopsys, Inc.
This change implements following:
[1] Defines ARC as one embedded targets
[2] Defines default tools prefixed for ARC like
arc-linux-g++ etc
[3] Defines "inotify" syscall numbers for ARC
(note ARC fully compliant to Linux UAPI headers)
[4] Disables 16-bit aligned data access
For now we're using generic atomic ops even though it may
introduce performance panalty.
Change-Id: I91e879ac55c2f3643a544f97cd59671a81ccc3c2
This patch was submited in upstream Qt4 and if it ever gets accepted,
it should be removed from Buildroot.
https://codereview.qt-project.org/#/c/112667
---
configure | 6 ++++
mkspecs/qws/linux-arc-g++/qmake.conf | 21 ++++++++++++++
mkspecs/qws/linux-arc-g++/qplatformdefs.h | 42 +++++++++++++++++++++++++++
src/corelib/arch/qatomic_arch.h | 2 ++
src/corelib/io/qfilesystemwatcher_inotify.cpp | 5 ++++
src/gui/painting/qblendfunctions.cpp | 4 +--
6 files changed, 78 insertions(+), 2 deletions(-)
create mode 100644 mkspecs/qws/linux-arc-g++/qmake.conf
create mode 100644 mkspecs/qws/linux-arc-g++/qplatformdefs.h
diff --git a/configure b/configure
index 10ad7ca..c7ef074 100755
--- a/configure
+++ b/configure
@@ -2829,6 +2829,9 @@ if [ "$CFG_EMBEDDED" != "no" ]; then
*86_64)
CFG_EMBEDDED=x86_64
;;
+ *arc)
+ CFG_EMBEDDED=arc
+ ;;
*)
CFG_EMBEDDED=generic
;;
@@ -3309,6 +3312,9 @@ if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
arm*)
CFG_ARCH=arm
;;
+ arc)
+ CFG_ARCH=arc
+ ;;
*)
CFG_ARCH="$CFG_EMBEDDED"
;;
diff --git a/mkspecs/qws/linux-arc-g++/qmake.conf b/mkspecs/qws/linux-arc-g++/qmake.conf
new file mode 100644
index 0000000..a14587b
--- /dev/null
+++ b/mkspecs/qws/linux-arc-g++/qmake.conf
@@ -0,0 +1,21 @@
+#
+# qmake configuration for building with arc-linux-g++
+#
+
+include(../../common/linux.conf)
+include(../../common/gcc-base-unix.conf)
+include(../../common/g++-unix.conf)
+include(../../common/qws.conf)
+
+# modifications to g++.conf
+QMAKE_CC = arc-linux-gcc
+QMAKE_CXX = arc-linux-g++
+QMAKE_LINK = arc-linux-g++
+QMAKE_LINK_SHLIB = arc-linux-g++
+
+# modifications to linux.conf
+QMAKE_AR = arc-linux-ar cqs
+QMAKE_OBJCOPY = arc-linux-objcopy
+QMAKE_STRIP = arc-linux-strip
+
+load(qt_config)
diff --git a/mkspecs/qws/linux-arc-g++/qplatformdefs.h b/mkspecs/qws/linux-arc-g++/qplatformdefs.h
new file mode 100644
index 0000000..a654aa7
--- /dev/null
+++ b/mkspecs/qws/linux-arc-g++/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../../linux-g++/qplatformdefs.h"
diff --git a/src/corelib/arch/qatomic_arch.h b/src/corelib/arch/qatomic_arch.h
index d154b7e..a48c42a 100644
--- a/src/corelib/arch/qatomic_arch.h
+++ b/src/corelib/arch/qatomic_arch.h
@@ -94,6 +94,8 @@ QT_BEGIN_HEADER
# include "QtCore/qatomic_sh4a.h"
#elif defined(QT_ARCH_NACL)
# include "QtCore/qatomic_generic.h"
+#elif defined(QT_ARCH_ARC)
+# include "QtCore/qatomic_generic.h"
#else
# error "Qt has not been ported to this architecture"
#endif
diff --git a/src/corelib/io/qfilesystemwatcher_inotify.cpp b/src/corelib/io/qfilesystemwatcher_inotify.cpp
index 8bca422..e3e2565 100644
--- a/src/corelib/io/qfilesystemwatcher_inotify.cpp
+++ b/src/corelib/io/qfilesystemwatcher_inotify.cpp
@@ -143,6 +143,11 @@
# define __NR_inotify_add_watch 27
# define __NR_inotify_rm_watch 28
// no inotify_init for aarch64
+#elif defined (__arc__)
+# define __NR_inotify_init 1043
+# define __NR_inotify_add_watch 27
+# define __NR_inotify_rm_watch 28
+# define __NR_inotify_init1 26
#else
# error "This architecture is not supported. Please talk to qt-bugs@trolltech.com"
#endif
diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp
index de8790a..cc2f5b6 100644
--- a/src/gui/painting/qblendfunctions.cpp
+++ b/src/gui/painting/qblendfunctions.cpp
@@ -309,9 +309,9 @@ template <typename T> void qt_blend_argb24_on_rgb16(uchar *destPixels, int dbpl,
const uchar *src = srcPixels + y * sbpl;
const uchar *srcEnd = src + srcOffset;
while (src < srcEnd) {
-#if defined(QT_ARCH_ARMV5) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || defined(QT_ARCH_AVR32) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_)) || (defined(QT_ARCH_SPARC) && defined(Q_CC_GNU)) || (defined(QT_ARCH_INTEGRITY) && !defined(_X86_))
+#if defined(QT_ARCH_ARMV5) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || defined(QT_ARCH_AVR32) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_)) || (defined(QT_ARCH_SPARC) && defined(Q_CC_GNU)) || (defined(QT_ARCH_INTEGRITY) && !defined(_X86_)) || defined(QT_ARCH_ARC)
// non-16-bit aligned memory access is not possible on PowerPC,
- // ARM <v6 (QT_ARCH_ARMV5) & SH & AVR32 & SPARC w/GCC
+ // ARM <v6 (QT_ARCH_ARMV5) & SH & AVR32 & SPARC w/GCC & ARC
quint16 spix = (quint16(src[2])<<8) + src[1];
#else
quint16 spix = *(quint16 *) (src + 1);
--
2.1.0

View File

@ -1,92 +0,0 @@
From 9392d29bf0ad0390c6895933fdec0f690d2bdedf Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <abrodkin@synopsys.com>
Date: Wed, 20 May 2015 10:53:59 +0300
Subject: [PATCH 2/2] Prevent unaligned access on ARC
As many other architectures ARC cores by default don't support
unaligned word access to data.
Even though it's possible to enable unaligned access to data in
ARC HS38 core (we're talking about configuration of core design)
to make sure Qt could be executed on any flavour of ARC fall-back
to byte-accesses is used.
Change-Id: I96068d40b449f11ba987ed1e5d5e44f493d1eb5f
This patch was submited in upstream Qt4 and if it ever gets accepted,
it should be removed from Buildroot.
https://codereview.qt-project.org/#/c/112668
---
src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h | 2 +-
src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h | 13 ++++++++++++-
.../webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp | 2 +-
.../webkit/Source/JavaScriptCore/wtf/text/StringHash.h | 2 +-
4 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h
index 2d76809..ee9b7f0 100644
--- a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h
+++ b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h
@@ -202,7 +202,7 @@ struct UStringHash {
// FIXME: perhaps we should have a more abstract macro that indicates when
// going 4 bytes at a time is unsafe
-#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC)
const UChar* aChars = a->characters();
const UChar* bChars = b->characters();
for (unsigned i = 0; i != aLength; ++i) {
diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
index e8b03be..cd17e9c 100644
--- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
@@ -369,7 +369,18 @@
#endif /* ARM */
-#if CPU(ARM) || CPU(MIPS) || CPU(SH4)
+/* CPU(ARC) - ARC, any version*/
+#if defined(arc) \
+ || defined(__arc__) \
+ || defined(ARC) \
+ || defined(_ARC_)
+#define WTF_CPU_ARC 1
+#if defined(__BIG_ENDIAN__)
+#define WTF_CPU_BIG_ENDIAN 1
+#endif
+#endif
+
+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ARC)
#define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
#endif
diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp
index 9dd655e..bd3ab95 100644
--- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp
+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp
@@ -142,7 +142,7 @@ static inline bool equal(StringImpl* string, const UChar* characters, unsigned l
// FIXME: perhaps we should have a more abstract macro that indicates when
// going 4 bytes at a time is unsafe
-#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC)
const UChar* stringCharacters = string->characters();
for (unsigned i = 0; i != length; ++i) {
if (*stringCharacters++ != *characters++)
diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h
index 4637c3d..91cef81 100644
--- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h
+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h
@@ -55,7 +55,7 @@ namespace WTF {
// FIXME: perhaps we should have a more abstract macro that indicates when
// going 4 bytes at a time is unsafe
-#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC)
const UChar* aChars = a->characters();
const UChar* bChars = b->characters();
for (unsigned i = 0; i != aLength; ++i) {
--
2.1.0

View File

@ -1,163 +0,0 @@
From ea46f47fb3c475ba2d7581c15185b8d43e63b8c2 Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
Date: Fri, 27 Feb 2015 21:30:52 +0100
Subject: [PATCH] Fix conversion/constructor error for legacy c++ compiler.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes the following compile error with legacy c++ compiler:
error: in C++98 blitRect must be initialized by constructor, not by {...}
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp | 14 +++++++-------
src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp | 6 +++---
src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp | 6 +++---
src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp | 2 +-
4 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
index 876d0c2..ed69386 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
@@ -942,7 +942,7 @@ void QDirectFBPaintEngine::drawBufferSpan(const uint *buffer, int bufsize,
IDirectFBSurface *src = d->surfaceCache->getSurface(buffer, bufsize);
// ### how does this play with setDFBColor
src->SetColor(src, 0, 0, 0, const_alpha);
- const DFBRectangle rect = { 0, 0, length, 1 };
+ const DFBRectangle rect = (DFBRectangle_C){ 0, 0, length, 1 };
d->surface->Blit(d->surface, src, &rect, x, y);
}
@@ -1223,14 +1223,14 @@ void QDirectFBPaintEnginePrivate::blit(const QRectF &dest, IDirectFBSurface *s,
const QRect dr = engine->state()->matrix.mapRect(dest).toRect();
if (dr.isEmpty())
return;
- const DFBRectangle sRect = { sr.x(), sr.y(), sr.width(), sr.height() };
+ const DFBRectangle sRect = (DFBRectangle_C){ sr.x(), sr.y(), sr.width(), sr.height() };
DFBResult result;
if (dr.size() == sr.size()) {
result = surface->Blit(surface, s, &sRect, dr.x(), dr.y());
} else {
Q_ASSERT(supportsStretchBlit());
- const DFBRectangle dRect = { dr.x(), dr.y(), dr.width(), dr.height() };
+ const DFBRectangle dRect = (DFBRectangle_C){ dr.x(), dr.y(), dr.width(), dr.height() };
result = surface->StretchBlit(surface, s, &sRect, &dRect);
}
if (result != DFB_OK)
@@ -1261,7 +1261,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
if (newClip.isNull())
return;
- const DFBRegion clip = {
+ const DFBRegion clip = (DFBRegion_C){
newClip.x(),
newClip.y(),
newClip.right(),
@@ -1295,7 +1295,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
while (y <= destinationRect.bottom()) {
qreal x = startX;
while (x <= destinationRect.right()) {
- const DFBRectangle destination = { qRound(x), qRound(y), mappedSize.width(), mappedSize.height() };
+ const DFBRectangle destination = (DFBRectangle_C){ qRound(x), qRound(y), (int)mappedSize.width(), (int)mappedSize.height() };
surface->StretchBlit(surface, sourceSurface, 0, &destination);
x += mappedSize.width();
}
@@ -1337,7 +1337,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
if (currentClip.isEmpty()) {
surface->SetClip(surface, 0);
} else {
- const DFBRegion clip = {
+ const DFBRegion clip = (DFBRegion_C){
currentClip.x(),
currentClip.y(),
currentClip.right(),
@@ -1356,7 +1356,7 @@ void QDirectFBPaintEnginePrivate::updateClip()
surface->SetClip(surface, NULL);
clipType = NoClip;
} else if (clipData->hasRectClip) {
- const DFBRegion r = {
+ const DFBRegion r = (DFBRegion_C){
clipData->clipRect.x(),
clipData->clipRect.y(),
clipData->clipRect.right(),
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
index 412e684..c59c47d 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
@@ -363,7 +363,7 @@ void QDirectFBPixmapData::copy(const QPixmapData *data, const QRect &rect)
} else {
dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX);
}
- const DFBRectangle blitRect = { rect.x(), rect.y(),
+ const DFBRectangle blitRect = (DFBRectangle_C){ rect.x(), rect.y(),
rect.width(), rect.height() };
w = rect.width();
h = rect.height();
@@ -465,7 +465,7 @@ QPixmap QDirectFBPixmapData::transformed(const QTransform &transform,
}
data->dfbSurface->SetBlittingFlags(data->dfbSurface, flags);
- const DFBRectangle destRect = { 0, 0, size.width(), size.height() };
+ const DFBRectangle destRect = (DFBRectangle_C){ 0, 0, size.width(), size.height() };
data->dfbSurface->StretchBlit(data->dfbSurface, dfbSurface, 0, &destRect);
data->w = size.width();
data->h = size.height();
@@ -551,7 +551,7 @@ bool QDirectFBPixmapData::scroll(int dx, int dy, const QRect &rect)
return false;
}
- const DFBRectangle source = { rect.x(), rect.y(), rect.width(), rect.height() };
+ const DFBRectangle source = (DFBRectangle_C){ rect.x(), rect.y(), rect.width(), rect.height() };
result = dfbSurface->Blit(dfbSurface, dfbSurface, &source, source.x + dx, source.y + dy);
if (result != DFB_OK) {
DirectFBError("QDirectFBPixmapData::scroll", result);
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
index eab9580..d26e5bf 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
@@ -1635,7 +1635,7 @@ void QDirectFBScreen::solidFill(const QColor &color, const QRegion &region)
static inline void clearRect(IDirectFBSurface *surface, const QColor &color, const QRect &rect)
{
Q_ASSERT(surface);
- const DFBRegion region = { rect.left(), rect.top(), rect.right(), rect.bottom() };
+ const DFBRegion region = (DFBRegion_C){ rect.left(), rect.top(), rect.right(), rect.bottom() };
// could just reinterpret_cast this to a DFBRegion
surface->SetClip(surface, &region);
surface->Clear(surface, color.red(), color.green(), color.blue(), color.alpha());
@@ -1716,14 +1716,14 @@ void QDirectFBScreen::flipSurface(IDirectFBSurface *surface, DFBSurfaceFlipFlags
const DFBSurfaceFlipFlags nonWaitFlags = flipFlags & ~DSFLIP_WAIT;
for (int i=0; i<rects.size(); ++i) {
const QRect &r = rects.at(i);
- const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
+ const DFBRegion dfbReg = (DFBRegion_C){ r.x() + offset.x(), r.y() + offset.y(),
r.right() + offset.x(),
r.bottom() + offset.y() };
surface->Flip(surface, &dfbReg, i + 1 < rects.size() ? nonWaitFlags : flipFlags);
}
} else {
const QRect r = region.boundingRect();
- const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
+ const DFBRegion dfbReg = (DFBRegion_C){ r.x() + offset.x(), r.y() + offset.y(),
r.right() + offset.x(),
r.bottom() + offset.y() };
surface->Flip(surface, &dfbReg, flipFlags);
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
index 4dff907..25ad06b 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
@@ -333,7 +333,7 @@ bool QDirectFBWindowSurface::scroll(const QRegion &region, int dx, int dy)
}
dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX);
const QRect r = region.boundingRect();
- const DFBRectangle rect = { r.x(), r.y(), r.width(), r.height() };
+ const DFBRectangle rect = (DFBRectangle_C){ r.x(), r.y(), r.width(), r.height() };
dfbSurface->Blit(dfbSurface, dfbSurface, &rect, r.x() + dx, r.y() + dy);
return true;
}
--
2.1.4

View File

@ -1,43 +0,0 @@
From 0bf90de93b9fe21df32319e27b2507154fa8a21d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Fri, 15 Apr 2016 00:37:26 +0200
Subject: [PATCH] Fix for platform socklen_t on other C libraries than glibc
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This helps to make sure that QT_SOCKLEN_T is defined to be 'int'
only when its glibc < 2 and not also for the libraries which may define
it as per standards but are not glibc, e.g. musl.
This patch is adapted from Qt5 [1].
[1]
https://github.com/qtproject/qtbase/commit/813f468a14fb84af43c1f8fc0a1430277358eba2
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
mkspecs/linux-g++/qplatformdefs.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/mkspecs/linux-g++/qplatformdefs.h b/mkspecs/linux-g++/qplatformdefs.h
index de751dd..d4146ed 100644
--- a/mkspecs/linux-g++/qplatformdefs.h
+++ b/mkspecs/linux-g++/qplatformdefs.h
@@ -86,10 +86,10 @@
#undef QT_SOCKLEN_T
-#if defined(__GLIBC__) && (__GLIBC__ >= 2)
-#define QT_SOCKLEN_T socklen_t
-#else
+#if defined(__GLIBC__) && (__GLIBC__ < 2)
#define QT_SOCKLEN_T int
+#else
+#define QT_SOCKLEN_T socklen_t
#endif
#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
--
2.8.0

View File

@ -1,116 +0,0 @@
From 438f088ad520ac91ae47dba9a515ab0d1088c89c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Fri, 15 Apr 2016 03:32:02 +0200
Subject: [PATCH] Link with -ldl option only when it is supported
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
`-ldl` option is used unconditionally in `QMAKE_LIBS_DYNLOAD` while libdl is
not supported when libc is static. As the value of `QMAKE_LIBS_DYNLOAD` goes
into 'Libs.private' field of the pkgconfig files created by qmake, static
linking with qt will fail with:
/usr/bin/ld: cannot find -ldl
Fix this issue by adding a build test to configure to check if libdl is
supported. `QMAKE_LIBS_DYNLOAD` in "src/corelib/plugin/plugin.pri" is now used
only if libdl is available.
Backported from Qt5:
https://github.com/qtproject/qtbase/commit/f669ea0d54302de31456d57286aa0e4ca1443e98
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
config.tests/unix/libdl/libdl.cpp | 39 +++++++++++++++++++++++++++++++++++++++
config.tests/unix/libdl/libdl.pro | 3 +++
configure | 6 ++++++
src/corelib/plugin/plugin.pri | 2 +-
4 files changed, 49 insertions(+), 1 deletion(-)
create mode 100644 config.tests/unix/libdl/libdl.cpp
create mode 100644 config.tests/unix/libdl/libdl.pro
diff --git a/config.tests/unix/libdl/libdl.cpp b/config.tests/unix/libdl/libdl.cpp
new file mode 100644
index 0000000..28a8233
--- /dev/null
+++ b/config.tests/unix/libdl/libdl.cpp
@@ -0,0 +1,39 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the config.tests of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <dlfcn.h>
+
+int main(int, char **)
+{
+ dlopen(0, 0);
+}
diff --git a/config.tests/unix/libdl/libdl.pro b/config.tests/unix/libdl/libdl.pro
new file mode 100644
index 0000000..a643934
--- /dev/null
+++ b/config.tests/unix/libdl/libdl.pro
@@ -0,0 +1,3 @@
+SOURCES = libdl.cpp
+CONFIG -= qt dylib
+LIBS += -ldl
\ No newline at end of file
diff --git a/configure b/configure
index 10ad7ca..1c70691 100755
--- a/configure
+++ b/configure
@@ -5506,6 +5506,12 @@ if [ "$CFG_LIBPNG" = "auto" ]; then
fi
fi
+# detect dl
+if ! compileTest unix/libdl "libdl"; then
+ QMakeVar add DEFINES QT_NO_DYNAMIC_LIBRARY
+ QMAKE_CONFIG="$QMAKE_CONFIG no-libdl"
+fi
+
# detect accessibility
if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
diff --git a/src/corelib/plugin/plugin.pri b/src/corelib/plugin/plugin.pri
index eb7a7f7..c342f2e 100644
--- a/src/corelib/plugin/plugin.pri
+++ b/src/corelib/plugin/plugin.pri
@@ -32,4 +32,4 @@ integrity {
SOURCES += plugin/qlibrary_unix.cpp
}
-LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD
+!no-libdl: LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD
--
2.8.0

View File

@ -1,60 +0,0 @@
From 87c9c18fad02744238336a6cf1ce70d3ec2c89c2 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Sat, 11 Jun 2016 17:03:07 +0200
Subject: [PATCH 1/1] OpenGL/EGL: Avoid X11 header collision
Including X11 headers via EGL/egl.h leads to a collision of defines
between Qt and X11. To fix this qt5 added
DEFINES += MESA_EGL_NO_X11_HEADERS
in various files:
https://github.com/qtproject/qtbase/blob/dev/src/platformsupport/eglconvenience/eglconvenience.pri#L19
https://github.com/qtproject/qtbase/blob/dev/src/plugins/platforms/minimalegl/minimalegl.pro#L10
https://github.com/qtproject/qtbase/blob/dev/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro#L6
[...]
This patch fixes a similar compile error in qt4:
http://autobuild.buildroot.net/results/9b0/9b0ed92984eead89d148eaa71aff6e2f1e117837/
http://autobuild.buildroot.org/results/4fd/4fd57553336d36439fab32a7221fc8639758e887/
http://autobuild.buildroot.org/results/5cb/5cb8072f8220f7203fa79936eedcc43eab53ec66/
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
(patch not sent upstream because qt4 branch is closed:
http://blog.qt.io/blog/2015/05/26/qt-4-8-7-released/)
---
src/gui/egl/egl.pri | 3 +++
src/opengl/opengl.pro | 3 +++
2 files changed, 6 insertions(+)
diff --git a/src/gui/egl/egl.pri b/src/gui/egl/egl.pri
index 8e8664c..715ffd7 100644
--- a/src/gui/egl/egl.pri
+++ b/src/gui/egl/egl.pri
@@ -22,6 +22,9 @@ contains(QT_CONFIG, egl): {
!isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
}
+ # Avoid X11 header collision
+ DEFINES += MESA_EGL_NO_X11_HEADERS
+
wince*: SOURCES += egl/qegl_wince.cpp
unix {
diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro
index ce1a5d2..65b1031 100644
--- a/src/opengl/opengl.pro
+++ b/src/opengl/opengl.pro
@@ -149,6 +149,9 @@ embedded {
qglwindowsurface_qws_p.h \
qgl_egl_p.h
+ # Avoid X11 header collision
+ DEFINES += MESA_EGL_NO_X11_HEADERS
+
contains(QT_CONFIG, fontconfig) {
include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri)
} else {
--
2.8.1

View File

@ -1,37 +0,0 @@
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

View File

@ -1,50 +0,0 @@
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

View File

@ -1,146 +0,0 @@
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

View File

@ -1,31 +0,0 @@
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

View File

@ -1,543 +0,0 @@
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

View File

@ -1,12 +0,0 @@
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

View File

@ -1,26 +0,0 @@
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

View File

@ -1,64 +0,0 @@
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

View File

@ -1,2 +0,0 @@
[default]
WindowSystem=libpvrQWSWSEGL.so.1

View File

@ -1,3 +0,0 @@
# 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

View File

@ -1,725 +0,0 @@
################################################################################
#
# 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))

View File

@ -12,7 +12,6 @@ config BR2_PACKAGE_QT5_JSCORE_AVAILABLE
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
@ -21,7 +20,6 @@ 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