qt4: remove recipes and classes

Qt4 is no longer supportd upstream, but it is still needed for LSB compliancy.
Qt4 recipes have been moved to a separate meta-qt4 layer to be consistent with
meta-qt3 and meta-qt5.

(From OE-Core rev: cb89d2b25b4edb1241bc5426a69a6bc44df9be2c)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin 2015-11-27 15:48:20 +02:00 committed by Richard Purdie
parent 0baadc8a98
commit 8b11ed8a75
72 changed files with 1 additions and 3698 deletions

View File

@ -24,7 +24,6 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d
# - nfs-client - NFS client
# - ssh-server-dropbear - SSH server (dropbear)
# - ssh-server-openssh - SSH server (openssh)
# - qt4-pkgs - Qt4/X11 and demo applications
# - hwcodecs - Install hardware acceleration codecs
# - package-management - installs package management tools and preserves the package manager database
# - debug-tweaks - makes an image suitable for development, e.g. allowing passwordless root logins
@ -46,7 +45,6 @@ FEATURE_PACKAGES_nfs-server = "packagegroup-core-nfs-server"
FEATURE_PACKAGES_nfs-client = "packagegroup-core-nfs-client"
FEATURE_PACKAGES_ssh-server-dropbear = "packagegroup-core-ssh-dropbear"
FEATURE_PACKAGES_ssh-server-openssh = "packagegroup-core-ssh-openssh"
FEATURE_PACKAGES_qt4-pkgs = "packagegroup-core-qt-demoapps"
FEATURE_PACKAGES_hwcodecs = "${MACHINE_HWCODECS}"

View File

@ -1,27 +0,0 @@
#
# QMake variables for Qt4
#
inherit qmake_base
DEPENDS_prepend = "qt4-tools-native "
export QMAKESPEC = "${STAGING_DATADIR}/qt4/mkspecs/${TARGET_OS}-oe-g++"
export OE_QMAKE_QT_CONFIG = "${STAGING_DATADIR}/qt4/mkspecs/qconfig.pri"
export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic4"
export OE_QMAKE_UIC3 = "${STAGING_BINDIR_NATIVE}/uic34"
export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc4"
export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/rcc4"
export OE_QMAKE_QDBUSCPP2XML = "${STAGING_BINDIR_NATIVE}/qdbuscpp2xml4"
export OE_QMAKE_QDBUSXML2CPP = "${STAGING_BINDIR_NATIVE}/qdbusxml2cpp4"
export OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/qmake2"
export OE_QMAKE_LINK = "${CXX}"
export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}"
export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/qt4"
export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}"
export OE_QMAKE_LIBS_QT = "qt"
export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm"
export OE_QMAKE_LIBS_X11SM = "-lSM -lICE"
export OE_QMAKE_LCONVERT = "${STAGING_BINDIR_NATIVE}/lconvert4"
export OE_QMAKE_LRELEASE = "${STAGING_BINDIR_NATIVE}/lrelease4"
export OE_QMAKE_LUPDATE = "${STAGING_BINDIR_NATIVE}/lupdate4"
export OE_QMAKE_XMLPATTERNS = "${STAGING_BINDIR_NATIVE}/xmlpatterns4"

View File

@ -1,119 +0,0 @@
QMAKE_MKSPEC_PATH ?= "${STAGING_DATADIR_NATIVE}/qmake"
OE_QMAKE_PLATFORM = "${TARGET_OS}-oe-g++"
QMAKESPEC := "${QMAKE_MKSPEC_PATH}/${OE_QMAKE_PLATFORM}"
# We override this completely to eliminate the -e normally passed in
EXTRA_OEMAKE = ""
export OE_QMAKE_CC="${CC}"
export OE_QMAKE_CFLAGS="${CFLAGS}"
export OE_QMAKE_CXX="${CXX}"
export OE_QMAKE_LDFLAGS="${LDFLAGS}"
export OE_QMAKE_AR="${AR}"
export OE_QMAKE_STRIP="echo"
export OE_QMAKE_RPATH="-Wl,-rpath-link,"
# default to qte2 via bb.conf, inherit qt3x11 to configure for qt3x11
oe_qmake_mkspecs () {
mkdir -p mkspecs/${OE_QMAKE_PLATFORM}
for f in ${QMAKE_MKSPEC_PATH}/${OE_QMAKE_PLATFORM}/*; do
if [ -L $f ]; then
lnk=`readlink $f`
if [ -f mkspecs/${OE_QMAKE_PLATFORM}/$lnk ]; then
ln -s $lnk mkspecs/${OE_QMAKE_PLATFORM}/`basename $f`
else
cp $f mkspecs/${OE_QMAKE_PLATFORM}/
fi
else
cp $f mkspecs/${OE_QMAKE_PLATFORM}/
fi
done
}
do_generate_qt_config_file() {
export QT_CONF_PATH=${WORKDIR}/qt.conf
cat > ${WORKDIR}/qt.conf <<EOF
[Paths]
Prefix =
Binaries = ${STAGING_BINDIR_NATIVE}
Headers = ${STAGING_INCDIR}/${QT_DIR_NAME}
Plugins = ${STAGING_LIBDIR}/${QT_DIR_NAME}/plugins/
Mkspecs = ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/
EOF
}
addtask generate_qt_config_file after do_patch before do_configure
qmake_base_do_configure() {
case ${QMAKESPEC} in
*linux-oe-g++|*linux-uclibc-oe-g++|*linux-gnueabi-oe-g++|*linux-uclibceabi-oe-g++|*linux-gnuspe-oe-g++|*linux-uclibcspe-oe-g++|*linux-gnun32-oe-g++)
;;
*-oe-g++)
die Unsupported target ${TARGET_OS} for oe-g++ qmake spec
;;
*)
bbnote Searching for qmake spec file
paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-${TARGET_ARCH}-g++"
paths="${QMAKE_MKSPEC_PATH}/${TARGET_OS}-g++ $paths"
if (echo "${TARGET_ARCH}"|grep -q 'i.86'); then
paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-x86-g++ $paths"
fi
for i in $paths; do
if test -e $i; then
export QMAKESPEC=$i
break
fi
done
;;
esac
bbnote "using qmake spec in ${QMAKESPEC}, using profiles '${QMAKE_PROFILES}'"
if [ -z "${QMAKE_PROFILES}" ]; then
PROFILES="`ls *.pro`"
else
PROFILES="${QMAKE_PROFILES}"
fi
if [ -z "$PROFILES" ]; then
die "QMAKE_PROFILES not set and no profiles found in $PWD"
fi
if [ ! -z "${EXTRA_QMAKEVARS_POST}" ]; then
AFTER="-after"
QMAKE_VARSUBST_POST="${EXTRA_QMAKEVARS_POST}"
bbnote "qmake postvar substitution: ${EXTRA_QMAKEVARS_POST}"
fi
if [ ! -z "${EXTRA_QMAKEVARS_PRE}" ]; then
QMAKE_VARSUBST_PRE="${EXTRA_QMAKEVARS_PRE}"
bbnote "qmake prevar substitution: ${EXTRA_QMAKEVARS_PRE}"
fi
# Hack .pro files to use OE utilities
LCONVERT_NAME=$(basename ${OE_QMAKE_LCONVERT})
LRELEASE_NAME=$(basename ${OE_QMAKE_LRELEASE})
LUPDATE_NAME=$(basename ${OE_QMAKE_LUPDATE})
XMLPATTERNS_NAME=$(basename ${OE_QMAKE_XMLPATTERNS})
find -name '*.pro' \
-exec sed -i -e "s|\(=\s*.*\)/$LCONVERT_NAME|\1/lconvert|g" \
-e "s|\(=\s*.*\)/$LRELEASE_NAME|\1/lrelease|g" \
-e "s|\(=\s*.*\)/$LUPDATE_NAME|\1/lupdate|g" \
-e "s|\(=\s*.*\)/$XMLPATTERNS_NAME|\1/xmlpatterns|g" \
-e "s|\(=\s*.*\)/lconvert|\1/$LCONVERT_NAME|g" \
-e "s|\(=\s*.*\)/lrelease|\1/$LRELEASE_NAME|g" \
-e "s|\(=\s*.*\)/lupdate|\1/$LUPDATE_NAME|g" \
-e "s|\(=\s*.*\)/xmlpatterns|\1/$XMLPATTERNS_NAME|g" \
'{}' ';'
#bbnote "Calling '${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST'"
unset QMAKESPEC || true
${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST || die "Error calling ${OE_QMAKE_QMAKE} on $PROFILES"
}
EXPORT_FUNCTIONS do_configure
addtask configure after do_unpack do_patch before do_compile

View File

@ -1,21 +0,0 @@
QT4EDEPENDS ?= "qt4-embedded "
DEPENDS_prepend = "${QT4EDEPENDS}"
inherit qmake2
QT_BASE_NAME = "qt4-embedded"
QT_DIR_NAME = "qtopia"
QT_LIBINFIX = "E"
# override variables set by qmake-base to compile Qt/Embedded apps
#
export QMAKESPEC = "${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++"
export OE_QMAKE_QT_CONFIG = "${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/qconfig.pri"
export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/${QT_DIR_NAME}"
export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}"
export OE_QMAKE_LIBS_QT = "qt"
export OE_QMAKE_LIBS_X11 = ""
export OE_QMAKE_EXTRA_MODULES = "network"
EXTRA_QMAKEVARS_PRE += " QT_LIBINFIX=${QT_LIBINFIX} "
# Qt4 uses atomic instructions not supported in thumb mode
ARM_INSTRUCTION_SET = "arm"

View File

@ -1,14 +0,0 @@
QT4DEPENDS ?= "qt4-x11 "
DEPENDS_prepend = "${QT4DEPENDS}"
# depends on qt4-x11
REQUIRED_DISTRO_FEATURES += "x11"
inherit qmake2 distro_features_check
QT_BASE_NAME = "qt4"
QT_DIR_NAME = "qt4"
QT_LIBINFIX = ""
# Qt4 uses atomic instructions not supported in thumb mode
ARM_INSTRUCTION_SET = "arm"

View File

@ -31,8 +31,6 @@ COMMERCIAL_AUDIO_PLUGINS ?= ""
# COMMERCIAL_AUDIO_PLUGINS ?= "gst-plugins-ugly-mad gst-plugins-ugly-mpegaudioparse"
COMMERCIAL_VIDEO_PLUGINS ?= ""
# COMMERCIAL_VIDEO_PLUGINS ?= "gst-plugins-ugly-mpeg2dec gst-plugins-ugly-mpegstream gst-plugins-bad-mpegvideoparse"
COMMERCIAL_QT ?= ""
# COMMERCIAL_QT ?= "qmmp"
# Set of common licenses used for license.bbclass
COMMON_LICENSE_DIR ??= "${COREBASE}/meta/files/common-licenses"

View File

@ -52,7 +52,6 @@ DISTRO_PN_ALIAS_pn-core-image-full-cmdline = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-kernel-dev = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-lsb = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-lsb-dev = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-lsb-qt3 = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-lsb-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-minimal = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-minimal-dev = "OE-Core"
@ -102,7 +101,6 @@ DISTRO_PN_ALIAS_pn-fontcacheproto = "Meego=xorg-x11-proto-fontcacheproto"
DISTRO_PN_ALIAS_pn-fontsproto = "Meego=xorg-x11-proto-fontsproto"
DISTRO_PN_ALIAS_pn-font-util = "Meego=xorg-x11-font-utils Fedora=xorg-x11-font-utils Ubuntu=xfonts-utils Mandriva=x11-font-util Debian=xfonts-utils"
DISTRO_PN_ALIAS_pn-formfactor = "OE-Core"
DISTRO_PN_ALIAS_pn-fotowall = "Fedora=fotowall Ubuntu=fotowall"
DISTRO_PN_ALIAS_pn-fstests = "OpenedHand"
DISTRO_PN_ALIAS_pn-gcc-cross-initial = "OE-Core"
DISTRO_PN_ALIAS_pn-gcc-cross-initial-i586 = "OE-Core"
@ -261,8 +259,6 @@ DISTRO_PN_ALIAS_pn-meta-environment-qemux86 = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-environment-qemux86-64 = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-ide-support = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-toolchain = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-toolchain-qt = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-toolchain-qte = "OE-Core"
DISTRO_PN_ALIAS_pn-mini-x-session = "OSPDT"
DISTRO_PN_ALIAS_pn-mkelfimage = "Ubuntu=mkelfimage Fedora=mkelfimage"
DISTRO_PN_ALIAS_pn-mkfontdir = "Mandriva=mkfontdir Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
@ -301,8 +297,6 @@ DISTRO_PN_ALIAS_pn-packagegroup-core-eclipse-debug = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-full-cmdline = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-lsb = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-nfs = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-qt = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-qt4e = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-dropbear = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-openssh = "OE-Core"
@ -319,11 +313,6 @@ DISTRO_PN_ALIAS_pn-packagegroup-core-x11-xserver = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-cross-canadian-i586 = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-cross-canadian-qemux86 = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-cross-canadian-qemux86-64 = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qt4e = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-host = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-target = "Intel"
DISTRO_PN_ALIAS_pn-packagegroup-qt-toolchain-host = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qt-toolchain-target = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-sdk-host = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-self-hosted = "OE-Core"
DISTRO_PN_ALIAS_pn-package-index = "OE-Core"
@ -365,15 +354,6 @@ DISTRO_PN_ALIAS_pn-qemu-config = "OpenedHand"
DISTRO_PN_ALIAS_pn-qemugl = "OpenedHand"
DISTRO_PN_ALIAS_pn-qemu-helper = "OpenedHand"
DISTRO_PN_ALIAS_pn-qemuwrapper-cross = "OE-Core"
DISTRO_PN_ALIAS_pn-qmmp = "Fedora=qmmp Debian=qmmp"
DISTRO_PN_ALIAS_pn-qt4 = "Mandriva=libqt4-devel Ubuntu=libqt4-dev"
DISTRO_PN_ALIAS_pn-qt4e-demo-image = "OE-Core"
DISTRO_PN_ALIAS_pn-qt4-embedded = "OSPDT"
DISTRO_PN_ALIAS_pn-qt4-graphics-system = "OE-Core"
DISTRO_PN_ALIAS_pn-qt4-tools = "Mandriva=libqt4-devel Ubuntu=libqt4-dev"
DISTRO_PN_ALIAS_pn-qt4-x11-free = "Ubuntu=qt-x11-free Debian=qt-x11-free"
DISTRO_PN_ALIAS_pn-qt-demo-init = "OE-Core"
DISTRO_PN_ALIAS_pn-quicky = "OSPDT"
DISTRO_PN_ALIAS_pn-randrproto = "Meego=xorg-x11-proto-randrproto"
DISTRO_PN_ALIAS_pn-readline = "Fedora=readline Debian=readline-common"
DISTRO_PN_ALIAS_pn-recordproto = "Meego=xorg-x11-proto-recordproto"

View File

@ -23,7 +23,6 @@ do_devshell[doc] = "Starts a shell with the environment set up for development/d
do_diffconfig[doc] = "Compares the old and new config files after running do_menuconfig for the kernel"
do_fetch[doc] = "Fetches the source code"
do_fetchall[doc] = "Fetches all remote sources required to build a target"
do_generate_qt_config_file[doc] = "Writes a qt.conf file for building a Qt-based application"
do_install[doc] = "Copies files from the compilation directory to a holding area"
do_install_ptest_base[doc] = "Copies the runtime test suite files from the compilation directory to a holding area"
do_kernel_checkout[doc] = "Checks out source/meta branches for a linux-yocto style kernel"

View File

@ -1,14 +0,0 @@
DESCRIPTION = "An image that will launch into the demo application for the embedded (not based on X11) version of Qt."
LICENSE = "MIT"
PR = "r3"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
IMAGE_INSTALL += "\
${CORE_IMAGE_BASE_INSTALL} \
packagegroup-core-qt4e \
"
inherit core-image

View File

@ -1,5 +0,0 @@
# Qt toolchain
QTNAME = "qt"
QT_DIR_NAME = "qt4"
require meta-toolchain-qt.inc

View File

@ -1,35 +0,0 @@
TOOLCHAIN_HOST_TASK = "nativesdk-packagegroup-${QTNAME}-toolchain-host packagegroup-cross-canadian-${MACHINE}"
TOOLCHAIN_TARGET_TASK = "packagegroup-${QTNAME}-toolchain-target"
TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-toolchain-${QTNAME}-${DISTRO_VERSION}"
require recipes-core/meta/meta-toolchain.bb
QT_TOOLS_PREFIX = "$OECORE_NATIVE_SYSROOT${bindir_nativesdk}"
create_sdk_files_append() {
mkdir -p ${SDK_OUTPUT}${SDKPATHNATIVE}/environment-setup.d/
script=${SDK_OUTPUT}${SDKPATHNATIVE}/environment-setup.d/${QT_DIR_NAME}.sh
echo 'export OE_QMAKE_CFLAGS="$CFLAGS"' > $script
echo 'export OE_QMAKE_CXXFLAGS="$CXXFLAGS"' >> $script
echo 'export OE_QMAKE_LDFLAGS="$LDFLAGS"' >> $script
echo 'export OE_QMAKE_CC=$CC' >> $script
echo 'export OE_QMAKE_CXX=$CXX' >> $script
echo 'export OE_QMAKE_LINK=$CXX' >> $script
echo 'export OE_QMAKE_AR=$AR' >> $script
echo 'export OE_QMAKE_LIBDIR_QT=$OECORE_TARGET_SYSROOT${libdir}' >> $script
echo 'export OE_QMAKE_INCDIR_QT=$OECORE_TARGET_SYSROOT${includedir}/${QT_DIR_NAME}' >> $script
echo 'export OE_QMAKE_MOC=${QT_TOOLS_PREFIX}/moc4' >> $script
echo 'export OE_QMAKE_UIC=${QT_TOOLS_PREFIX}/uic4' >> $script
echo 'export OE_QMAKE_UIC3=${QT_TOOLS_PREFIX}/uic34' >> $script
echo 'export OE_QMAKE_RCC=${QT_TOOLS_PREFIX}/rcc4' >> $script
echo 'export OE_QMAKE_QDBUSCPP2XML=${QT_TOOLS_PREFIX}/qdbuscpp2xml4' >> $script
echo 'export OE_QMAKE_QDBUSXML2CPP=${QT_TOOLS_PREFIX}/qdbusxml2cpp4' >> $script
echo 'export OE_QMAKE_QT_CONFIG=$OECORE_TARGET_SYSROOT${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script
echo 'export QMAKESPEC=$OECORE_TARGET_SYSROOT${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script
echo 'export QT_CONF_PATH=$OECORE_NATIVE_SYSROOT${sysconfdir}/qt.conf' >> $script
# make a symbolic link to mkspecs for compatibility with Qt SDK
# and Qt Creator
(cd ${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}/..; ln -s ${SDKTARGETSYSROOT}/usr/share/${QT_DIR_NAME}/mkspecs mkspecs;)
}

View File

@ -1,6 +0,0 @@
# Qt Embedded toolchain
PR = "r6"
QTNAME = "qte"
QT_DIR_NAME = "qtopia"
require meta-toolchain-qt.inc

View File

@ -1,3 +0,0 @@
require nativesdk-packagegroup-qt-toolchain-host.inc
SUMMARY = "Host packages for Qt SDK"

View File

@ -1,6 +0,0 @@
require recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
DESCRIPTION = "Host packages for Qt Embedded SDK"
LICENSE = "MIT"
RDEPENDS_${PN} += "nativesdk-qt4-tools"

View File

@ -1,3 +0,0 @@
require nativesdk-packagegroup-qt-toolchain-host.inc
SUMMARY = "Host packages for Qt Embedded SDK"

View File

@ -1,22 +0,0 @@
#
# Copyright (C) 2010 Intel Corporation. All rights reserved
#
SUMMARY = "Qt package groups"
LICENSE = "MIT"
PR = "r4"
# Qt4 could NOT be built on MIPS64 with 64 bits userspace
COMPATIBLE_HOST_mips64 = "null"
inherit packagegroup distro_features_check
# The quicky and fotowall requires x11 in DISTRO_FEATURES
REQUIRED_DISTRO_FEATURES = "x11"
PACKAGES = "${PN}-demoapps"
QTDEMOS ?= "quicky ${COMMERCIAL_QT} fotowall"
SUMMARY_${PN}-demoapps = "Qt demo applications"
RDEPENDS_${PN}-demoapps = "${QTDEMOS}"

View File

@ -1,52 +0,0 @@
SUMMARY = "Qt for Embedded Linux (Qt without X11)"
PR = "r2"
LICENSE = "MIT"
# Qt4 could NOT be built on MIPS64 with 64 bits userspace
COMPATIBLE_HOST_mips64 = "null"
inherit packagegroup
TOUCH = ' ${@bb.utils.contains("MACHINE_FEATURES", "touchscreen", "tslib tslib-calibrate tslib-tests", "",d)}'
RDEPENDS_${PN} = " \
qt4-embedded \
libqt-embedded3support4 \
libqt-embeddedclucene4 \
libqt-embeddedcore4 \
libqt-embeddeddbus4 \
libqt-embeddedgui4 \
libqt-embeddedhelp4 \
libqt-embeddedmultimedia4 \
libqt-embeddednetwork4 \
libqt-embeddedscript4 \
libqt-embeddedscripttools4 \
libqt-embeddedsql4 \
libqt-embeddedsvg4 \
libqt-embeddedtest4 \
libqt-embeddedwebkit4 \
libqt-embeddedxml4 \
qt4-embedded-fonts-ttf-dejavu \
qt4-embedded-fonts-ttf-vera \
qt4-embedded-plugin-iconengine-svgicon \
qt4-embedded-plugin-imageformat-gif \
qt4-embedded-plugin-imageformat-ico \
qt4-embedded-plugin-imageformat-jpeg \
qt4-embedded-plugin-imageformat-mng \
qt4-embedded-plugin-imageformat-svg \
qt4-embedded-plugin-imageformat-tiff \
qt4-embedded-plugin-mousedriver-tslib \
qt4-embedded-plugin-script-dbus \
qt4-embedded-plugin-sqldriver-sqlite \
${TOUCH} \
qt4-embedded-demos \
qt4-embedded-examples \
qt-demo-init \
qt4-embedded-assistant \
"
RRECOMMENDS_${PN} = " \
libqt-embeddedxmlpatterns4 \
qt4-embedded-plugin-phonon-backend-gstreamer \
"

View File

@ -1,15 +0,0 @@
SUMMARY = "Target packages for Qt SDK"
QTLIBPREFIX = ""
require packagegroup-qt-toolchain-target.inc
inherit distro_features_check
# depends on qt4-x11-free
REQUIRED_DISTRO_FEATURES = "x11"
RDEPENDS_${PN} += " \
qt4-x11-free-dev \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'libqtopengl4-dev', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'openvg', 'libqtopenvg4-dev', '', d)} \
"

View File

@ -1,39 +0,0 @@
LICENSE = "MIT"
# Qt4 could NOT be built on MIPS64 with 64 bits userspace
COMPATIBLE_HOST_mips64 = "null"
inherit packagegroup
PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
RDEPENDS_${PN} += " \
packagegroup-core-standalone-sdk-target \
qt4${QTLIBPREFIX}-mkspecs \
libqt${QTLIBPREFIX}multimedia4-dev \
libqt${QTLIBPREFIX}3support4-dev \
libqt${QTLIBPREFIX}clucene4-dev \
libqt${QTLIBPREFIX}core4-dev \
libqt${QTLIBPREFIX}dbus4-dev \
libqt${QTLIBPREFIX}designercomponents4-dev \
libqt${QTLIBPREFIX}designer4-dev \
libqt${QTLIBPREFIX}uitools4-dev \
libqt${QTLIBPREFIX}gui4-dev \
libqt${QTLIBPREFIX}help4-dev \
libqt${QTLIBPREFIX}network4-dev \
libqt${QTLIBPREFIX}script4-dev \
libqt${QTLIBPREFIX}scripttools4-dev \
libqt${QTLIBPREFIX}sql4-dev \
libqt${QTLIBPREFIX}svg4-dev \
libqt${QTLIBPREFIX}test4-dev \
libqt${QTLIBPREFIX}webkit4-dev \
libqt${QTLIBPREFIX}xml4-dev \
libqt${QTLIBPREFIX}declarative4-dev \
libqt${QTLIBPREFIX}xmlpatterns4-dev \
libsqlite3-dev \
expat-dev \
"
RRECOMMENDS_${PN} += " \
libqt${QTLIBPREFIX}phonon4-dev \
"

View File

@ -1,7 +0,0 @@
SUMMARY = "Target packages for Qt Embedded SDK"
PR = "r7"
QTLIBPREFIX = "-embedded"
require packagegroup-qt-toolchain-target.inc

View File

@ -1,18 +0,0 @@
App/ExportWizard.cpp depends on wizard.h which depends on ui_wizard. The last one
should be already generated before compiling ExportWizard.cpp.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Upstream-Status: Pending
Index: Fotowall-0.9/App/ExportWizard.cpp
===================================================================
--- Fotowall-0.9.orig/App/ExportWizard.cpp 2009-11-30 13:21:31.000000000 +0200
+++ Fotowall-0.9/App/ExportWizard.cpp 2012-05-10 17:12:06.765230830 +0300
@@ -23,6 +23,7 @@
#include "imageloaderqt.h"
#include "posterazorcore.h"
#include "wizard.h"
+#include "ui_wizard.h"
#include <QDesktopServices>
#include <QDesktopWidget>

View File

@ -1,29 +0,0 @@
SUMMARY = "Creative photo display application"
DESCRIPTION = "Fotowall is a creative tool that allows you to layout your photos or pictures \
in a personal way. You can add pictures, then resize, move, change colors, text, shadows, etc.."
HOMEPAGE = "http://www.enricoros.com/opensource/fotowall"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://GPL_V2;md5=79808397c3355f163c012616125c9e26 \
file://main.cpp;beginline=6;endline=11;md5=b569acc2bf8974a3082b58fc53b9d8dc"
SECTION = "x11/apps"
PR = "r4"
SRCREV = "06d5a4142c599604d9a9fd64727b6945eb8cd3da"
SRC_URI = "git://github.com/enricoros/fotowall.git \
file://ExportWizard-depends-on-ui_wizard.patch \
"
S = "${WORKDIR}/git"
inherit qt4x11
EXTRA_QMAKEVARS_PRE = "CONFIG+=no-webcam"
do_install() {
oe_runmake INSTALL_ROOT=${D} install
}
# Ensure we have some plugins for some useful image formats
RRECOMMENDS_${PN} += "qt4-plugin-imageformat-gif qt4-plugin-imageformat-jpeg qt4-plugin-imageformat-tiff"

View File

@ -1,26 +0,0 @@
Do not include /usr/include host paths
These were added upstream apparently for freebsd support, but trigger
compiler warnings during the build and could be dangerous, so remove
them.
Upstream-Status: Inappropriate [cross]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Update patch for version 0.7.4.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
--- qmmp-0.7.4/CMakeLists.txt 2014-01-10 09:59:44.971837746 +0800
+++ qmmp-0.7.4/CMakeLists.txt.new 2014-01-10 10:24:51.855837566 +0800
@@ -1,9 +1,5 @@
cmake_minimum_required(VERSION 2.6.0)
-#freebsd support
-include_directories(SYSTEM /usr/local/include)
-SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} /usr/local/include)
-
#extract version from qmmp.h
FILE(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/src/qmmp/qmmp.h"
QMMP_VERSION_DATA REGEX "^#define[ \t]+QMMP_VERSION_[A-Z]+[ \t]+[0-9]+.*$")

View File

@ -1,72 +0,0 @@
SUMMARY = "Qt-based Multimedia Player"
DESCRIPTION = "Qmmp is an audio player, written with the help of the Qt library. The user interface is similar to Winamp or XMMS."
HOMEPAGE = "http://qmmp.ylsoftware.com"
LICENSE = "GPLv2"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SECTION = "multimedia"
DEPENDS = "taglib libmad libvorbis libogg alsa-lib libsndfile1 libsamplerate0 curl"
SRC_URI = "http://qmmp.ylsoftware.com/files/${BP}.tar.bz2 \
file://no-host-paths.patch \
"
SRC_URI[md5sum] = "67e96e89c61b7432e5a12f555db702b1"
SRC_URI[sha256sum] = "0daea3f0a0df7b34089513c2c57413c82816ab8892bddabf49c18a7956255449"
inherit cmake qt4x11
QMMP_PLUGIN_OPTIONS ??= "\
-DUSE_MMS:BOOL=FALSE \
-DUSE_MPC:BOOL=FALSE \
-DUSE_MODPLUG:BOOL=FALSE \
-DUSE_WAVPACK:BOOL=FALSE \
-DUSE_FFMPEG:BOOL=FALSE \
-DUSE_AAC:BOOL=FALSE \
-DUSE_CDA:BOOL=FALSE \
-DUSE_MIDI:BOOL=FALSE \
-DUSE_GME:BOOL=FALSE \
-DUSE_OSS4:BOOL=FALSE \
-DUSE_JACK:BOOL=FALSE \
-DUSE_BS2B:BOOL=FALSE \
-DUSE_PROJECTM:BOOL=FALSE \
-DUSE_ENCA:BOOL=FALSE \
"
export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \
-DQT_LRELEASE_EXECUTABLE=${OE_QMAKE_LRELEASE} \
-DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \
-DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \
-DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \
-DQT_LIBRARY_DIR=${OE_QMAKE_LIBDIR_QT} \
-DQT_HEADERS_DIR=${OE_QMAKE_INCDIR_QT} \
-DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \
${QMMP_PLUGIN_OPTIONS} \
"
do_configure() {
# Ensure we get the cmake configure and not qmake
cmake_do_configure
}
PACKAGES_DYNAMIC += "^qmmp-plugin-.* "
python populate_packages_prepend () {
qmmp_libdir = d.expand('${libdir}/qmmp')
gd = d.expand('${D}/${libdir}/qmmp')
plug_dirs = os.listdir(gd)
for plug_dir in plug_dirs:
g_plug_dir = os.path.join(qmmp_libdir,plug_dir)
do_split_packages(d, g_plug_dir, '^lib(.*)\.so$', 'qmmp-plugin-' + plug_dir.lower() + '-%s', 'Qmmp ' + plug_dir + ' plugin for %s')
}
FILES_${PN} = "\
${bindir}/qmmp \
${libdir}/lib*${SOLIBS} \
${datadir}/icons/* \
${datadir}/qmmp/images/* \
${datadir}/applications/* \
"
RDEPENDS_${PN} += "taglib alsa-lib libmad curl libicui18n"

View File

@ -1,21 +0,0 @@
SUMMARY = "A simple note-taking application with Wiki-style syntax and behaviour"
HOMEPAGE = "http://qt-apps.org/content/show.php/Quicky?content=80325"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://version.h;endline=19;md5=878bdaff438dab86298301fd1a210e14"
SECTION = "x11/apps"
PR = "r2"
SRC_URI = "http://qt-apps.org/CONTENT/content-files/80325-quicky-0.4.tar.gz"
SRC_URI[md5sum] = "824d9e477ee9c4994f73a3cb215161d9"
SRC_URI[sha256sum] = "9c66376e0035d44547612bf629890769a6178c3e7eafbcf95f1c6207ac0f352a"
UPSTREAM_CHECK_URI = "http://qt-apps.org/content/download.php?content=80325&id=1&tan=10417482"
inherit qt4x11
do_install() {
install -d ${D}${bindir}
install -m 0755 ${S}/${BPN} ${D}${bindir}
}

View File

@ -1,55 +0,0 @@
#!/bin/sh
set -e
if [ -x /usr/bin/qtdemo ]; then
QTDEMO="qtdemo"
else
QTDEMO="qtdemoE -qws"
fi
case "$1" in
start)
echo "Starting qtdemo"
if [ -f /etc/profile.d/tslib.sh ]; then
. /etc/profile.d/tslib.sh
fi
if [ -e "$TSLIB_TSDEVICE" ]; then
if [ ! -f /etc/pointercal ]; then
/usr/bin/ts_calibrate
fi
if [ "$QTDEMO" = "qtdemo" ]; then
Xorg &
export DISPLAY=:0
$QTDEMO &
else
QWS_MOUSE_PROTO=tslib:$TSLIB_TSDEVICE $QTDEMO &
fi
else
if [ "$QTDEMO" = "qtdemo" ]; then
Xorg &
export DISPLAY=:0
fi
$QTDEMO &
fi
;;
stop)
echo "Stopping qtdemo"
if [ "$QTDEMO" = "qtdemo" ]; then
killall Xorg
killall qtdemo
else
killall qtdemoE
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "usage: $0 { start | stop | restart }" >&2
exit 1
;;
esac
exit 0

View File

@ -1,19 +0,0 @@
SUMMARY = "Init script for qtdemo"
LICENSE = "MIT"
SRC_URI = "file://qtdemo-init"
PR = "r3"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
S = "${WORKDIR}"
do_install() {
install -d ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/qtdemo-init ${D}${sysconfdir}/init.d/qtdemo
}
inherit update-rc.d allarch
INITSCRIPT_NAME = "qtdemo"
INITSCRIPT_PARAMS = "start 99 5 2 . stop 19 0 1 6 ."

View File

@ -1,25 +0,0 @@
SUMMARY = "Sets default Qt4 Graphics System to ${QT_GRAPHICS_SYSTEM}"
SECTION = "x11/base"
LICENSE = "MIT-X"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r1"
QT_GRAPHICS_SYSTEM ?= "raster"
def _get_extra_rdepends(d):
gs = d.getVar('QT_GRAPHICS_SYSTEM', True)
if gs == "opengl":
return "qt4-plugin-graphicssystems-glgraphicssystem"
return ""
do_install () {
install -d ${D}/${sysconfdir}/profile.d/
cfg_file=${D}/${sysconfdir}/profile.d/qt-graphicssystem
echo "export QT_GRAPHICSSYSTEM=${QT_GRAPHICS_SYSTEM}" > $cfg_file
}
RDEPENDS_${PN} = "${@_get_extra_rdepends(d)}"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@ -1,128 +0,0 @@
SUMMARY = "SDK tools for Qt version 4.x"
DEPENDS = "nativesdk-zlib nativesdk-dbus qt4-native ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/nativesdk-libx11', '', d)}"
SECTION = "libs"
HOMEPAGE = "http://qt-project.org/"
LICENSE = "LGPLv2.1 | GPLv3"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt4-${PV}:"
inherit nativesdk qmake2
SRC_URI = "http://download.qt-project.org/official_releases/qt/4.8/${PV}/qt-everywhere-opensource-src-${PV}.tar.gz \
file://0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
file://0004-configure-qmake-is-already-built-in-qt4-tools-native.patch \
file://0005-configure-set-LFLAGS-to-pick-up-zlib-from-staging.patch \
file://0006-configure-Use-OE_QMAKE_-values-to-specify-Qt-utility.patch \
file://0007-dbus-Remove-const-usage-that-causes-compile-failure-.patch \
file://0008-qmake.pro-Allow-building-a-separate-qmake-for-the-ta.patch \
file://g++.conf \
file://linux.conf"
UPSTREAM_CHECK_URI = "http://download.qt.io/official_releases/qt/4.8/"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
file://LICENSE.GPL3;md5=6e1694ee338db410417517884918d4d2 \
file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6"
require qt4_arch.inc
# FIXME: make it work with "${STAGING_BINDIR_NATIVE}/pkg-config --cflags dbus-1"
EXTRA_OECONF = "-prefix ${prefix} \
-qt-libjpeg -system-zlib \
-no-libjpeg -no-libpng -no-libmng -no-libtiff \
-no-accessibility \
-no-cups \
-no-exceptions \
-no-nas-sound \
-no-nis -no-openssl \
-verbose -release -fast -static \
-platform ${TARGET_OS}-oe-g++ \
-xplatform ${TARGET_OS}-oe-g++ \
-arch ${QT_ARCH} \
-embedded -no-freetype -no-glib -no-iconv \
-qt3support \
-I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/dbus-1.0 \
-I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib/dbus-1.0/include"
# yank default -e, otherwise we get the following error:
# moc_qbuffer.cpp: No such file or directory
EXTRA_OEMAKE = " "
do_configure() {
# Avoid problems with Qt 4.8.0 configure setting QMAKE_LINK from LD (since we want the linker to be g++)
unset LD
if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
fi
cp ../g++.conf mkspecs/common
cp ../linux.conf mkspecs/common
if [ -f mkspecs/common/g++-base.conf ] ; then
# don't use host g++ even during configure (4.8.0+)
sed -i -e "s#= g++#= ${CXX}#" mkspecs/common/g++-base.conf
sed -i -e "s#= gcc#= ${CC}#" mkspecs/common/g++-base.conf
fi
# Use qmake from qt4-native for building
if [ ! -e bin/qmake ]; then
ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
fi
set_arch
(echo o; echo yes) | CC="${CC}" CXX="${CXX}" ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
}
TOBUILD = "\
src/tools/bootstrap \
src/tools/moc \
src/corelib \
src/sql \
src/dbus \
src/qt3support \
src/xml \
src/tools/uic \
src/tools/rcc \
src/network \
src/gui \
src/tools/uic3 \
tools/linguist/lrelease \
tools/linguist/lupdate \
tools/qdbus \
"
do_compile() {
for i in ${TOBUILD}; do
cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
done
# Build nativesdk qmake
export QMAKESPEC="${S}/mkspecs/${TARGET_OS}-oe-g++"
cd ${S}/qmake
${OE_QMAKE_QMAKE}
oe_runmake CC="${CC}" CXX="${CXX}"
cd ${S}
}
do_install() {
install -d ${D}${bindir}
install -m 0755 bin/qmake2 ${D}${bindir}/qmake2
for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do
install -m 0755 bin/${i} ${D}${bindir}/${i}4
done
(cd ${D}${bindir}; \
ln -s qmake2 qmake; \
for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do \
ln -s ${i}4 ${i}; \
done)
install -d ${D}${sysconfdir}
cat >${D}${sysconfdir}/qt.conf <<EOF
[Paths]
Prefix = ${prefix}
EOF
}

View File

@ -1,6 +0,0 @@
require nativesdk-qt4-tools.inc
SRC_URI += "file://0009-qmake-fix-source-file-references-in-qmake.pri.patch"
SRC_URI[md5sum] = "d990ee66bf7ab0c785589776f35ba6ad"
SRC_URI[sha256sum] = "e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0"

View File

@ -1,72 +0,0 @@
LICENSE = "LGPLv2.1 | GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
file://LICENSE.GPL3;md5=6e1694ee338db410417517884918d4d2 \
file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt4-${PV}:"
SRC_URI = "http://download.qt-project.org/official_releases/qt/4.8/${PV}/qt-everywhere-opensource-src-${PV}.tar.gz \
file://0003-webkit2-set-OUTPUT_DIR-value-if-empty.patch \
file://0004-configure-qmake-is-already-built-in-qt4-tools-native.patch \
file://0008-qmake.pro-Allow-building-a-separate-qmake-for-the-ta.patch \
file://0009-qmake-fix-source-file-references-in-qmake.pri.patch \
file://0010-configure-Hack-to-not-use-the-pg_config-of-the-host-.patch \
file://0011-freetype-host-includes.patch \
file://0012-Add-2bpp-support.patch \
file://0013-configure-add-crossarch-option.patch \
file://0014-translations-fix-phony-translation-linking-error.patch \
file://0015-configure-add-nostrip-for-debug-packages.patch \
file://0016-configure-eval-QMAKE_CXX.patch \
file://0017-configure-ensure-we-identify-the-compiler-as-g-in-co.patch \
file://0018-configure-make-pulseaudio-a-configurable-option.patch \
file://0019-Fixes-for-gcc-4.7.0-particularly-on-qemux86.patch \
file://0027-tools.pro-disable-qmeegographicssystemhelper.patch \
file://0030-aarch64_arm64_qatomic_support.patch \
file://0031-aarch64_arm64_mkspecs.patch \
file://0032-aarch64_add_header.patch \
file://0034-Fix-kmap2qmap-build-with-clang.patch \
file://Fix-QWSLock-invalid-argument-logs.patch \
file://add_check_for_aarch64_32.patch \
file://g++.conf \
file://linux.conf \
file://fix-for-mips-n32.patch \
"
SRC_URI[md5sum] = "d990ee66bf7ab0c785589776f35ba6ad"
SRC_URI[sha256sum] = "e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0"
UPSTREAM_CHECK_URI = "http://download.qt.io/official_releases/qt/4.8/"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
# disable webkit for mips64 n32 temporarily that fails to compile,
# qt upstream defect:
# https://bugreports.qt-project.org/browse/QTBUG-39224
QT_CONFIG_FLAGS_append_mips64n32 = " -no-webkit"
# disable webkit for aarch64 temporarily that fails to compile
QT_CONFIG_FLAGS_append_aarch64 = " -no-webkit"
FILES_${QT_BASE_NAME}-tools_append = " ${bindir}/qml ${bindir}/qmlplugindump"
FILES_${QT_BASE_NAME}-tools-dbg_append = " ${bindir}/.debug/qml ${bindir}/.debug/qmlplugindump"
PACKAGES_append = " ${QT_BASE_NAME}-tests-dbg ${QT_BASE_NAME}-tests"
FILES_${QT_BASE_NAME}-tests-dbg = "${prefix}/tests/qt4/*/.debug"
FILES_${QT_BASE_NAME}-tests = "${prefix}/tests/qt4/*"
do_configure_prepend() {
sed -i 's:qtPrepareTool(LRELEASE, lrelease):LRELEASE = ${OE_QMAKE_LRELEASE}:g' \
${S}/translations/translations.pro
sed -i \
-e /QMAKE_MOC\ /d \
-e /QMAKE_UIC\ /d \
-e /QMAKE_UIC3\ /d \
-e /QMAKE_RCC\ /d \
${S}/configure
# Avoid problems with Qt 4.8.0 configure setting QMAKE_LINK from LD (since we want the linker to be g++)
unset LD
}

View File

@ -1,43 +0,0 @@
From 55097d27e8b746b3d5ff437939caf1fa43c0d62b Mon Sep 17 00:00:00 2001
From: Holger Freyther <zecke@selfish.org>
Date: Wed, 26 Sep 2012 17:22:30 +0200
Subject: [PATCH 01/21] qlibraryinfo: allow to set qt.conf from the outside
using the environment
Allow to set a qt.conf from the outside using the environment. This allows
to inject new prefixes and other paths into qmake. This is needed when using
the same qmake binary to build qt/x11 and qt/embedded
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/corelib/global/qlibraryinfo.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index 180dc39..4adad35 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -54,6 +54,7 @@
QT_BEGIN_NAMESPACE
extern QString qmake_libraryInfoFile();
QT_END_NAMESPACE
+#include <stdlib.h>
#else
# include "qcoreapplication.h"
#endif
@@ -112,6 +113,10 @@ QSettings *QLibraryInfoPrivate::findConfiguration()
#ifdef BOOTSTRAPPING
if(!QFile::exists(qtconfig))
qtconfig = qmake_libraryInfoFile();
+ if (!QFile::exists(qtconfig)) {
+ QByteArray config = getenv("QT_CONF_PATH");
+ qtconfig = QFile::decodeName(config);
+ }
#else
if (!QFile::exists(qtconfig) && QCoreApplication::instance()) {
#ifdef Q_OS_MAC
--
1.8.0

View File

@ -1,50 +0,0 @@
From 5e6b1051afa3099a02a758b0596236759d70670e Mon Sep 17 00:00:00 2001
From: Wenzong Fan <wenzong.fan@windriver.com>
Date: Wed, 26 Sep 2012 20:18:08 +0200
Subject: [PATCH 02/21] qkbdtty_qws: fix build with old kernel headers
This issue is that with C++ compiler process an old version of kernel
header file, coincidently that file has a variable named 'new':
* 'embedded/qkbdtty_qws.cpp' include 'linux/vt.h';
* '/usr/include/linux/vt.h' has below code on SLED-11.x:
+ unsigned int new;
On mostly hosts it has been changed to: new -> newev.
Upstream-Status: Pending
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/gui/embedded/qkbdtty_qws.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/gui/embedded/qkbdtty_qws.cpp b/src/gui/embedded/qkbdtty_qws.cpp
index a46811b..762138f 100644
--- a/src/gui/embedded/qkbdtty_qws.cpp
+++ b/src/gui/embedded/qkbdtty_qws.cpp
@@ -54,8 +54,20 @@
#if defined Q_OS_LINUX
# include <linux/kd.h>
+
+/* Workaround kernel headers using "new" as variable name. The problem
+ is specific to SLED-11, other distros use "newev" rather than "new" */
+#ifdef __cplusplus
+#warning "workaround kernel headers using new as variable name on SLED 11"
+#define new newev
+#endif
+
# include <linux/vt.h> //TODO: move vt handling somewhere else (QLinuxFbScreen?)
+#ifdef __cplusplus
+#undef new
+#endif
+
# include "qscreen_qws.h"
# include "qwindowsystem_qws.h"
# include "qapplication.h"
--
1.8.0

View File

@ -1,34 +0,0 @@
From b6805e883c078f7647d9234aca4e3513ebd1c9bf Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Tue, 1 May 2012 07:48:15 +0200
Subject: [PATCH 03/21] webkit2: set OUTPUT_DIR value if empty
Without this do_configure was trying to create /include/WebCore/libdummy.prl in root of build host filesystem
now it's in proper place ${WORKDIR}/qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/include/WebCore/libdummy.prl
First reported here:
http://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg24436.html
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro b/src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro
index 006a88c..5e17193 100644
--- a/src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro
+++ b/src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro
@@ -3,6 +3,8 @@ TARGET = dummy
CONFIG -= debug_and_release
+isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../..
+
CONFIG(standalone_package) {
isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = $$PWD/generated
isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = $$PWD/../WebCore/generated
--
1.8.0

View File

@ -1,29 +0,0 @@
From af699c6e8cf9fb28d6f8b789bf33d53b47edaec7 Mon Sep 17 00:00:00 2001
From: Michael Krelin <hacker@klever.net>
Date: Wed, 26 Sep 2012 20:24:20 +0200
Subject: [PATCH 04/21] configure: qmake is already built in qt4-tools-native,
so disable it
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index e3d464b..cc04b27 100755
--- a/configure
+++ b/configure
@@ -4899,7 +4899,7 @@ setBootstrapVariable()
}
# build qmake
-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
+if false; then ###[ '!' -f "$outpath/bin/qmake" ];
echo "Creating qmake. Please wait..."
OLD_QCONFIG_H=
--
1.8.0

View File

@ -1,28 +0,0 @@
From ac93237bc90ea7773c0ef5275962baba01d4a9c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= <jeremy.laine@m4x.org>
Date: Wed, 26 Sep 2012 20:27:44 +0200
Subject: [PATCH 05/21] configure: set LFLAGS to pick up zlib from staging
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index cc04b27..5a7c4ee 100755
--- a/configure
+++ b/configure
@@ -690,7 +690,7 @@ fi
# initalize variables
#-------------------------------------------------------------------------------
-SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
+SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS LFLAGS"
for varname in $SYSTEM_VARIABLES; do
qmakevarname="${varname}"
# use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
--
1.8.0

View File

@ -1,38 +0,0 @@
From 0bc0db83812b5900dc4e6ffa96bdeab46b6adcae Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Wed, 26 Sep 2012 20:29:09 +0200
Subject: [PATCH 06/21] configure: Use OE_QMAKE_* values to specify Qt utility
paths
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/configure b/configure
index 5a7c4ee..db4d044 100755
--- a/configure
+++ b/configure
@@ -8683,11 +8683,11 @@ QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
#local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
-QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
-QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
-QMAKE_UIC3 = \$\$QT_BUILD_TREE/bin/uic3
-QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
-QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp
+QMAKE_MOC = \${OE_QMAKE_MOC}
+QMAKE_UIC = \${OE_QMAKE_UIC}
+QMAKE_UIC3 = \${OE_QMAKE_UIC3}
+QMAKE_RCC = \${OE_QMAKE_RCC}
+QMAKE_QDBUSXML2CPP = \${OE_QMAKE_QDBUSXML2CPP}
QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
--
1.8.0

View File

@ -1,34 +0,0 @@
From 2011bb8029480af1d1266f258e5a5f5cef7392d3 Mon Sep 17 00:00:00 2001
From: Pavel Heimlich <tropikhajma@gmail.com>
Date: Wed, 26 Sep 2012 20:31:10 +0200
Subject: [PATCH 07/21] dbus: Remove "const" usage that causes compile failure
building nativesdk-qt4-tools
Patch has apparently been rejected upstream, not because it is invalid
but because the submitter did not submit a merge request for it, so the
validity of the patch upstream is uncertain. For further details see:
https://bugreports.qt-project.org/browse/QTBUG-17962
Upstream-Status: Denied [possible retry]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/dbus/qdbusintegrator.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index 0f0b647..aa4cbab 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -73,7 +73,7 @@ QT_BEGIN_NAMESPACE
static bool isDebugging;
#define qDBusDebug if (!::isDebugging); else qDebug
-Q_GLOBAL_STATIC_WITH_ARGS(const QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS)))
+Q_GLOBAL_STATIC_WITH_ARGS(QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS)))
static inline QString dbusServiceString()
{ return *orgFreedesktopDBusString(); }
--
1.8.0

View File

@ -1,29 +0,0 @@
From 64ce5d0e7c19436b928a2a0d9d192f56be3c9bb2 Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Wed, 26 Sep 2012 20:32:41 +0200
Subject: [PATCH 08/21] qmake.pro: Allow building a separate qmake for the
target
Upstream-Status: Inappropriate [config]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
qmake/qmake.pro | 1 +
1 file changed, 1 insertion(+)
diff --git a/qmake/qmake.pro b/qmake/qmake.pro
index 38e0fce..53b1ffb 100644
--- a/qmake/qmake.pro
+++ b/qmake/qmake.pro
@@ -7,6 +7,7 @@ CONFIG += console bootstrap
CONFIG -= qt shared app_bundle uic
DEFINES += QT_BUILD_QMAKE QT_BOOTSTRAPPED
DESTDIR = ../bin/
+TARGET = qmake2
OBJECTS_DIR = .
MOC_DIR = .
--
1.8.0

View File

@ -1,52 +0,0 @@
From e129dc0d6cde69dd15d1836c4111e0526fc29161 Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Wed, 26 Sep 2012 20:33:49 +0200
Subject: [PATCH 09/21] qmake: fix source file references in qmake.pri
Fix duplicate entries in SOURCES and HEADERS, and fix the source file
list for the split of qlocale.cpp.
Upstream-Status: Pending
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
qmake/qmake.pri | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/qmake/qmake.pri b/qmake/qmake.pri
index 31f67f4..9081669 100644
--- a/qmake/qmake.pri
+++ b/qmake/qmake.pri
@@ -22,8 +22,7 @@ SOURCES += project.cpp property.cpp main.cpp generators/makefile.cpp \
generators/symbian/initprojectdeploy_symbian.cpp \
generators/integrity/gbuild.cpp \
windows/registry.cpp \
- symbian/epocroot.cpp \
- generators/integrity/gbuild.cpp
+ symbian/epocroot.cpp
HEADERS += project.h property.h generators/makefile.h \
generators/unix/unixmake.h meta.h option.h cachekeys.h \
@@ -40,8 +39,7 @@ HEADERS += project.h property.h generators/makefile.h \
generators/symbian/initprojectdeploy_symbian.h \
generators/integrity/gbuild.h \
windows/registry_p.h \
- symbian/epocroot_p.h \
- generators/integrity/gbuild.h
+ symbian/epocroot_p.h
contains(QT_EDITION, OpenSource) {
DEFINES += QMAKE_OPENSOURCE_EDITION
@@ -72,6 +70,8 @@ bootstrap { #Qt code
qlist.cpp \
qlinkedlist.cpp \
qlocale.cpp \
+ qlocale_tools.cpp \
+ qlocale_unix.cpp \
qmalloc.cpp \
qmap.cpp \
qmetatype.cpp \
--
1.8.0

View File

@ -1,46 +0,0 @@
From 4888791d1899f781af710dd8813887dea52fda59 Mon Sep 17 00:00:00 2001
From: Holger Freyther <zecke@selfish.org>
Date: Wed, 26 Sep 2012 20:36:38 +0200
Subject: [PATCH 10/21] configure: Hack to not use the pg_config of the host
system which will add /usr/include
pg_config is a native binary so using that when cross compiling
will always fail. The commented out fix would do, but for OE
our -platform and -xplatform is the same so we are actually not
really cross compiling. Just comment out the test, we are passing
the location to the postgres headers and if they are okay we
will pad.
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Update for qt 4.8.7.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
configure | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/configure b/configure
index db4d044..35a8fe7 100755
--- a/configure
+++ b/configure
@@ -5574,10 +5574,10 @@
if [ "$CFG_SQL_psql" != "no" ]; then
[ -z "$CFG_PSQL_CONFIG" ] && CFG_PSQL_CONFIG=`"$WHICH" pg_config`
# Be careful not to use native pg_config when cross building.
- if [ "$XPLATFORM_MINGW" != "yes" ] && [ -x "$CFG_PSQL_CONFIG" ]; then
- QT_CFLAGS_PSQL=`$CFG_PSQL_CONFIG --includedir 2>/dev/null`
- QT_LFLAGS_PSQL=`$CFG_PSQL_CONFIG --libdir 2>/dev/null`
- fi
+# if [ "$XPLATFORM_MINGW" != "yes" ] && [ -x "$CFG_PSQL_CONFIG" ]; then
+# QT_CFLAGS_PSQL=`$CFG_PSQL_CONFIG --includedir 2>/dev/null`
+# QT_LFLAGS_PSQL=`$CFG_PSQL_CONFIG --libdir 2>/dev/null`
+# fi
[ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
[ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
# But, respect PSQL_LIBS if set
--
1.8.0

View File

@ -1,29 +0,0 @@
From 3fcffa79e6a5f0448cbfe2bb33fe1218f5dae61d Mon Sep 17 00:00:00 2001
From: Michael Krelin <hacker@klever.net>
Date: Mon, 4 Jun 2007 14:48:50 +0200
Subject: [PATCH 11/21] freetype host includes
Host include path should not be used in cross compiling case.
Ported from OE by: Yu Ke <ke.yu@intel.com>
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
config.tests/unix/freetype/freetype.pri | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config.tests/unix/freetype/freetype.pri b/config.tests/unix/freetype/freetype.pri
index 7ef1cf9..b362fcd 100644
--- a/config.tests/unix/freetype/freetype.pri
+++ b/config.tests/unix/freetype/freetype.pri
@@ -1,5 +1,5 @@
!cross_compile {
- TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
+ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
# LSB doesn't allow using headers from /include or /usr/include
linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
for(p, TRY_INCLUDEPATHS) {
--
1.8.0

View File

@ -1,318 +0,0 @@
From 8744273fc452eb54bbeeb7d15823009ce926c6fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= <jeremy.laine@m4x.org>
Date: Wed, 26 Sep 2012 20:39:21 +0200
Subject: [PATCH 12/21] Add 2bpp support
Submitted upstream but rejected as being "out of scope":
https://bugreports.qt-project.org/browse/QTBUG-3468
Upstream-Status: Denied
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 5 +-
src/gui/embedded/qscreen_qws.cpp | 211 ++++++++++++++++++++++++++++++++
src/gui/embedded/qscreenlinuxfb_qws.cpp | 4 +-
3 files changed, 216 insertions(+), 4 deletions(-)
diff --git a/configure b/configure
index 35a8fe7..79c1c7b 100755
--- a/configure
+++ b/configure
@@ -7063,6 +7063,7 @@ if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PROMPT_FOR_DEPTHS" = "yes" ]; then
echo "Choose pixel-depths to support:"
echo
echo " 1. 1bpp, black/white"
+ echo " 2. 2bpp, grayscale"
echo " 4. 4bpp, grayscale"
echo " 8. 8bpp, paletted"
echo " 12. 12bpp, rgb 4-4-4"
@@ -7081,11 +7082,11 @@ if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PROMPT_FOR_DEPTHS" = "yes" ]; then
fi
if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
if [ "$CFG_QWS_DEPTHS" = "all" ]; then
- CFG_QWS_DEPTHS="1 4 8 12 15 16 18 24 32 generic"
+ CFG_QWS_DEPTHS="1 2 4 8 12 15 16 18 24 32 generic"
fi
for D in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
case $D in
- 1|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
+ 1|2|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
generic) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
esac
done
diff --git a/src/gui/embedded/qscreen_qws.cpp b/src/gui/embedded/qscreen_qws.cpp
index b307bf2..88950b3 100644
--- a/src/gui/embedded/qscreen_qws.cpp
+++ b/src/gui/embedded/qscreen_qws.cpp
@@ -469,6 +469,58 @@ static void solidFill_gray4(QScreen *screen, const QColor &color,
}
#endif // QT_QWS_DEPTH_4
+#ifdef QT_QWS_DEPTH_2
+static inline void qt_rectfill_gray2(quint8 *dest, quint8 value,
+ int x, int y, int width, int height,
+ int stride)
+{
+ const int pixelsPerByte = 4;
+ const int alignWidth = qMin(width, (4 - (x & 3)) & 3);
+ const int doAlign = (alignWidth > 0 ? 1 : 0);
+ const int alignStart = pixelsPerByte - 1 - (x & 3);
+ const int alignStop = alignStart - (alignWidth - 1);
+ const quint8 alignMask = ((1 << (2 * alignWidth)) - 1) << (2 * alignStop);
+ const int tailWidth = (width - alignWidth) & 3;
+ const int doTail = (tailWidth > 0 ? 1 : 0);
+ const quint8 tailMask = (1 << (2 * (pixelsPerByte - tailWidth))) - 1;
+ const int width8 = (width - alignWidth) / pixelsPerByte;
+
+ dest += y * stride + x / pixelsPerByte;
+ stride -= (doAlign + width8);
+
+ for (int j = 0; j < height; ++j) {
+ if (doAlign) {
+ *dest = (*dest & ~alignMask) | (value & alignMask);
+ ++dest;
+ }
+ if (width8) {
+ qt_memfill<quint8>(dest, value, width8);
+ dest += width8;
+ }
+ if (doTail)
+ *dest = (*dest & tailMask) | (value & ~tailMask);
+ dest += stride;
+ }
+}
+
+static void solidFill_gray2(QScreen *screen, const QColor &color,
+ const QRegion &region)
+{
+ quint8 *dest = reinterpret_cast<quint8*>(screen->base());
+ const quint8 c = qGray(color.rgba()) >> 6;
+ const quint8 c8 = (c << 6) | (c << 4) | (c << 2) | c;
+
+ const int stride = screen->linestep();
+ const QVector<QRect> rects = region.rects();
+
+ for (int i = 0; i < rects.size(); ++i) {
+ const QRect r = rects.at(i);
+ qt_rectfill_gray2(dest, c8, r.x(), r.y(), r.width(), r.height(),
+ stride);
+ }
+}
+#endif // QT_QWS_DEPTH_2
+
#ifdef QT_QWS_DEPTH_1
static inline void qt_rectfill_mono(quint8 *dest, quint8 value,
int x, int y, int width, int height,
@@ -576,6 +628,11 @@ void qt_solidFill_setup(QScreen *screen, const QColor &color,
screen->d_ptr->solidFill = solidFill_gray4;
break;
#endif
+#ifdef QT_QWS_DEPTH_2
+ case 2:
+ screen->d_ptr->solidFill = solidFill_gray2;
+ break;
+#endif
#ifdef QT_QWS_DEPTH_1
case 1:
screen->d_ptr->solidFill = solidFill_mono;
@@ -1006,6 +1063,149 @@ static void blit_4(QScreen *screen, const QImage &image,
}
#endif // QT_QWS_DEPTH_4
+#ifdef QT_QWS_DEPTH_2
+
+struct qgray2 { quint8 dummy; } Q_PACKED;
+
+template <typename SRC>
+static inline quint8 qt_convertToGray2(SRC color);
+
+template <>
+inline quint8 qt_convertToGray2(quint32 color)
+{
+ return qGray(color) >> 6;
+}
+
+template <>
+inline quint8 qt_convertToGray2(quint16 color)
+{
+ const int r = (color & 0xf800) >> 11;
+ const int g = (color & 0x07e0) >> 6; // only keep 5 bit
+ const int b = (color & 0x001f);
+ return (r * 11 + g * 16 + b * 5) >> 8;
+}
+
+template <>
+inline quint8 qt_convertToGray2(qrgb444 color)
+{
+ return qt_convertToGray2(quint32(color));
+}
+
+template <>
+inline quint8 qt_convertToGray2(qargb4444 color)
+{
+ return qt_convertToGray2(quint32(color));
+}
+
+template <typename SRC>
+static inline void qt_rectconvert_gray2(qgray2 *dest2, const SRC *src,
+ int x, int y, int width, int height,
+ int dstStride, int srcStride)
+{
+ const int pixelsPerByte = 4;
+ quint8 *dest8 = reinterpret_cast<quint8*>(dest2)
+ + y * dstStride + x / pixelsPerByte;
+ const int alignWidth = qMin(width, (4 - (x & 3)) & 3);
+ const int doAlign = (alignWidth > 0 ? 1 : 0);
+ const int alignStart = pixelsPerByte - 1 - (x & 3);
+ const int alignStop = alignStart - (alignWidth - 1);
+ const quint8 alignMask = ((1 << (2 * alignWidth)) - 1) << (2 * alignStop);
+ const int tailWidth = (width - alignWidth) & 3;
+ const int doTail = (tailWidth > 0 ? 1 : 0);
+ const quint8 tailMask = (1 << (2 * (pixelsPerByte - tailWidth))) - 1;
+ const int width8 = (width - alignWidth) / pixelsPerByte;
+
+ srcStride = srcStride / sizeof(SRC) - (width8 * pixelsPerByte + alignWidth);
+ dstStride -= (width8 + doAlign);
+
+ for (int j = 0; j < height; ++j) {
+ if (doAlign) {
+ quint8 d = *dest8 & ~alignMask;
+ for (int i = alignStart; i >= alignStop; --i)
+ d |= qt_convertToGray2<SRC>(*src++) << (2 * i);
+ *dest8++ = d;
+ }
+ for (int i = 0; i < width8; ++i) {
+ *dest8 = (qt_convertToGray2<SRC>(src[0]) << 6)
+ | (qt_convertToGray2<SRC>(src[1]) << 4)
+ | (qt_convertToGray2<SRC>(src[2]) << 2)
+ | (qt_convertToGray2<SRC>(src[3]));
+ src += 4;
+ ++dest8;
+ }
+ if (doTail) {
+ quint8 d = *dest8 & tailMask;
+ switch (tailWidth) {
+ case 3: d |= qt_convertToGray2<SRC>(src[2]) << 2;
+ case 2: d |= qt_convertToGray2<SRC>(src[1]) << 4;
+ case 1: d |= qt_convertToGray2<SRC>(src[0]) << 6;
+ }
+ *dest8 = d;
+ }
+
+ dest8 += dstStride;
+ src += srcStride;
+ }
+}
+
+template <>
+void qt_rectconvert(qgray2 *dest, const quint32 *src,
+ int x, int y, int width, int height,
+ int dstStride, int srcStride)
+{
+ qt_rectconvert_gray2<quint32>(dest, src, x, y, width, height,
+ dstStride, srcStride);
+}
+
+template <>
+void qt_rectconvert(qgray2 *dest, const quint16 *src,
+ int x, int y, int width, int height,
+ int dstStride, int srcStride)
+{
+ qt_rectconvert_gray2<quint16>(dest, src, x, y, width, height,
+ dstStride, srcStride);
+}
+
+template <>
+void qt_rectconvert(qgray2 *dest, const qrgb444 *src,
+ int x, int y, int width, int height,
+ int dstStride, int srcStride)
+{
+ qt_rectconvert_gray2<qrgb444>(dest, src, x, y, width, height,
+ dstStride, srcStride);
+}
+
+template <>
+void qt_rectconvert(qgray2 *dest, const qargb4444 *src,
+ int x, int y, int width, int height,
+ int dstStride, int srcStride)
+{
+ qt_rectconvert_gray2<qargb4444>(dest, src, x, y, width, height,
+ dstStride, srcStride);
+}
+
+static void blit_2(QScreen *screen, const QImage &image,
+ const QPoint &topLeft, const QRegion &region)
+{
+ switch (image.format()) {
+ case QImage::Format_ARGB32_Premultiplied:
+ blit_template<qgray2, quint32>(screen, image, topLeft, region);
+ return;
+ case QImage::Format_RGB16:
+ blit_template<qgray2, quint16>(screen, image, topLeft, region);
+ return;
+ case QImage::Format_RGB444:
+ blit_template<qgray2, qrgb444>(screen, image, topLeft, region);
+ return;
+ case QImage::Format_ARGB4444_Premultiplied:
+ blit_template<qgray2, qargb4444>(screen, image, topLeft, region);
+ return;
+ default:
+ qCritical("blit_2(): Image format %d not supported!", image.format());
+ }
+}
+#endif // QT_QWS_DEPTH_2
+
#ifdef QT_QWS_DEPTH_1
struct qmono { quint8 dummy; } Q_PACKED;
@@ -1259,6 +1459,11 @@ void qt_blit_setup(QScreen *screen, const QImage &image,
screen->d_ptr->blit = blit_4;
break;
#endif
+#ifdef QT_QWS_DEPTH_2
+ case 2:
+ screen->d_ptr->blit = blit_2;
+ break;
+#endif
#ifdef QT_QWS_DEPTH_1
case 1:
screen->d_ptr->blit = blit_1;
@@ -2146,6 +2351,8 @@ int QScreen::alloc(unsigned int r,unsigned int g,unsigned int b)
}
} else if (d == 4) {
ret = qGray(r, g, b) >> 4;
+ } else if (d == 2) {
+ ret = qGray(r, g, b) >> 6;
} else if (d == 1) {
ret = qGray(r, g, b) >= 128;
} else {
@@ -2216,6 +2423,10 @@ bool QScreen::supportsDepth(int d) const
} else if(d==1) {
return true;
#endif
+#ifdef QT_QWS_DEPTH_2
+ } else if(d==2) {
+ return true;
+#endif
#ifdef QT_QWS_DEPTH_4
} else if(d==4) {
return true;
diff --git a/src/gui/embedded/qscreenlinuxfb_qws.cpp b/src/gui/embedded/qscreenlinuxfb_qws.cpp
index 6f3caad..14159ee 100644
--- a/src/gui/embedded/qscreenlinuxfb_qws.cpp
+++ b/src/gui/embedded/qscreenlinuxfb_qws.cpp
@@ -466,8 +466,8 @@ bool QLinuxFbScreen::connect(const QString &displaySpec)
setupOffScreen();
// Now read in palette
- if((vinfo.bits_per_pixel==8) || (vinfo.bits_per_pixel==4)) {
- screencols= (vinfo.bits_per_pixel==8) ? 256 : 16;
+ if((vinfo.bits_per_pixel==8) || (vinfo.bits_per_pixel==4) || (vinfo.bits_per_pixel==2)) {
+ screencols= 1 << vinfo.bits_per_pixel;
int loopc;
::fb_cmap startcmap;
startcmap.start=0;
--
1.8.0

View File

@ -1,51 +0,0 @@
From 549342fa380ed2a9ad41be3d04ee2f0585f6a465 Mon Sep 17 00:00:00 2001
From: Michael Lauer <mickey@vanille-media.de>
Date: Wed, 26 Sep 2012 20:41:32 +0200
Subject: [PATCH 13/21] configure: add "-crossarch" option
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Update for qt 4.8.7
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
configure | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index 4eb4a3d..a4dacec 100755
--- a/configure
+++ b/configure
@@ -1160,7 +1160,7 @@ while [ "$#" -gt 0 ]; do
shift
VAL=$1
;;
- -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-device-option|-buildkey|-sdk|-arch|-host-arch|-mysql_config|-psql_config|-sysroot)
+ -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-device-option|-buildkey|-sdk|-arch|-host-arch|-mysql_config|-psql_config|-sysroot|-crossarch)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
shift
VAL="$1"
@@ -1719,6 +1719,9 @@ while [ "$#" -gt 0 ]; do
DEV_VAL=`echo $VAL | sed "s,^.*=\(.*\),\1,"`
DeviceVar set $DEV_VAR $DEV_VAL
;;
+ crossarch)
+ CROSSARCH="$VAL"
+ ;;
debug-and-release)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_DEBUG_RELEASE="$VAL"
@@ -3333,6 +3336,8 @@ arm*)
;;
esac
+CFG_ARCH="$CROSSARCH"
+
if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
if [ "$OPT_VERBOSE" = "yes" ]; then
echo " '$CFG_ARCH' is supported"
--
1.8.0

View File

@ -1,41 +0,0 @@
From 21af8f6d21b28a53041affb11b58d6316023fa92 Mon Sep 17 00:00:00 2001
From: Otavio Salvador <otavio@ossystems.com.br>
Date: Wed, 26 Sep 2012 20:45:10 +0200
Subject: [PATCH 14/21] translations: fix phony translation linking error
| .../usr/lib/crt1.o: In function `_start':
| .../../sysdeps/i386/elf/start.S:115: undefined reference to `main'
| collect2: ld returned 1 exit status
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
translations/translations.pro | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/translations/translations.pro b/translations/translations.pro
index dc99beb..0d98829 100644
--- a/translations/translations.pro
+++ b/translations/translations.pro
@@ -101,7 +101,7 @@ updateqm.name = LRELEASE ${QMAKE_FILE_IN}
updateqm.CONFIG += no_link
QMAKE_EXTRA_COMPILERS += updateqm
-isEmpty(vcproj) {
+!isEmpty(vcproj) {
QMAKE_LINK = @: IGNORE THIS LINE
OBJECTS_DIR =
win32:CONFIG -= embed_manifest_exe
@@ -111,7 +111,7 @@ isEmpty(vcproj) {
phony_src.input = PHONY_DEPS
phony_src.output = phony.c
phony_src.variable_out = GENERATED_SOURCES
- phony_src.commands = echo int main() { return 0; } > phony.c
+ phony_src.commands = echo \"int main() { return 0; }\" > phony.c
phony_src.name = CREATE phony.c
phony_src.CONFIG += combine
QMAKE_EXTRA_COMPILERS += phony_src
--
1.8.0

View File

@ -1,32 +0,0 @@
From 9250fed086a4a8a645a972764a9bf34e4566ec2e Mon Sep 17 00:00:00 2001
From: Fathi Boudra <fabo@debian.org>
Date: Wed, 26 Sep 2012 20:46:14 +0200
Subject: [PATCH 15/21] configure: add nostrip for debug packages
Qt is built in release mode and strip files by default.
Set CONFIG+=nostrip to avoid the stripping and
let dh_strip do it to generate debug packages.
Upstream-Status: Inappropriate [Configuration]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configure b/configure
index 7983c3d..d02824b 100755
--- a/configure
+++ b/configure
@@ -710,6 +710,8 @@ mkdir -p "$outpath/config.tests"
rm -f "$outpath/config.tests/.qmake.cache"
cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
+QMakeVar add CONFIG nostrip
+
QMakeVar add styles "cde mac motif plastique cleanlooks windows"
QMakeVar add decorations "default windows styled"
QMakeVar add mouse-drivers "pc"
--
1.8.0

View File

@ -1,37 +0,0 @@
From 8403634a71f067eec514b6d2193cf41e281dff8e Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Wed, 26 Sep 2012 20:47:08 +0200
Subject: [PATCH 16/21] configure: eval QMAKE_CXX
Allow expansion of $(...) references in QMAKE_CXX (currently its value
is $(OE_QMAKE_CXX)) in order to allow compiler version check to succeed
which allows WebKit to be enabled.
Upstream-Status: Pending
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Conflicts:
configure
---
configure | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index d02824b..891d6e7 100755
--- a/configure
+++ b/configure
@@ -3409,7 +3409,8 @@ else
CFG_FRAMEWORK=no
fi
-QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
+QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'`
+QMAKE_CONF_COMPILER=`eval "echo $QMAKE_CONF_COMPILER"`
TEST_COMPILER="$CXX"
[ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER
--
1.8.0

View File

@ -1,46 +0,0 @@
From d2bb701b551402f0befddd0e906423596bdc0df7 Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Wed, 26 Sep 2012 20:48:37 +0200
Subject: [PATCH 17/21] configure: ensure we identify the compiler as g++ in
configure
Our PLATFORM in OE is ${TARGET_OS}-oe-g++, and previously the configure
script was interpreting from this that the compiler was "oe-g++" and
thus
g++ specific checks were not being run since this string did not match;
among other things this resulted in a compiler version check in the
QtWebKit build code not working, and hence the following error at build
time:
./wtf/NullPtr.h:48:1: error: identifier 'nullptr' will become a keyword
in C++0x [-Werror=c++0x-compat]
The easiest thing since our PLATFORM is entirely artificial is to just
force COMPILER to "g++" in the configure script if it is detected as
"oe-g++".
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 3 +++
1 file changed, 3 insertions(+)
diff --git a/configure b/configure
index 891d6e7..7031898 100755
--- a/configure
+++ b/configure
@@ -7592,6 +7592,9 @@ elif [ "$XPLATFORM" != "$PLATFORM" ]; then
else
COMPILER=`echo $PLATFORM | cut -f 2- -d-`
fi
+case $COMPILER in
+ *oe-g++) COMPILER="g++" ;;
+esac
if [ "$CFG_EXCEPTIONS" = "unspecified" -a "$PLATFORM_QWS" = "yes" ]; then
CFG_EXCEPTIONS=no
fi
--
1.8.0

View File

@ -1,46 +0,0 @@
From d6dc1a7d6594d7e395347732a3e553fc82ccab3d Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Tue, 28 Feb 2012 15:10:24 +0000
Subject: [PATCH 18/21] configure: make pulseaudio a configurable option
Allows disabling pulseaudio support within phonon at configure time.
(This is the Qt 4.8.0 version.)
Upstream-Status: Pending
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index 7031898..a4a42f1 100755
--- a/configure
+++ b/configure
@@ -1139,7 +1139,7 @@ while [ "$#" -gt 0 ]; do
VAL=no
;;
#Qt style yes options
- -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-carbon|-universal|-harfbuzz|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-audio-backend|-svg|-declarative|-declarative-debug|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-s60|-usedeffiles|-icu)
+ -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-pulseaudio|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-carbon|-universal|-harfbuzz|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-audio-backend|-svg|-declarative|-declarative-debug|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-s60|-usedeffiles|-icu)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
VAL=yes
;;
@@ -2120,6 +2120,13 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ pulseaudio)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_PULSEAUDIO="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
gtkstyle)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_QGTKSTYLE="$VAL"
--
1.8.0

View File

@ -1,63 +0,0 @@
From 1f1da2f24d3028b250dbc2e98e2b7e37862b3771 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Wed, 26 Sep 2012 20:54:38 +0200
Subject: [PATCH 19/21] Fixes for gcc 4.7.0, particularly on qemux86
Origin: upstream, http://trac.webkit.org/changeset/93631
Origin: upstream, http://trac.webkit.org/changeset/113848
Bug: https://bugs.webkit.org/show_bug.cgi?id=62168
Bug: https://bugs.webkit.org/show_bug.cgi?id=83584
RP 2012/04/30
Upstream-Status: Backport
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/3rdparty/webkit/Source/WebCore/dom/Element.cpp | 2 +-
src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp | 2 +-
.../webkit/Source/WebCore/platform/graphics/TiledBackingStoreClient.h | 1 +
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/3rdparty/webkit/Source/WebCore/dom/Element.cpp b/src/3rdparty/webkit/Source/WebCore/dom/Element.cpp
index 32e47ca..b8e7389 100644
--- a/src/3rdparty/webkit/Source/WebCore/dom/Element.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/dom/Element.cpp
@@ -1080,7 +1080,7 @@ void Element::recalcStyle(StyleChange change)
{
// Ref currentStyle in case it would otherwise be deleted when setRenderStyle() is called.
RefPtr<RenderStyle> currentStyle(renderStyle());
- bool hasParentStyle = parentNodeForRenderingAndStyle() ? parentNodeForRenderingAndStyle()->renderStyle() : false;
+ bool hasParentStyle = parentNodeForRenderingAndStyle() ? static_cast<bool>(parentNodeForRenderingAndStyle()->renderStyle()) : false;
bool hasDirectAdjacentRules = currentStyle && currentStyle->childrenAffectedByDirectAdjacentRules();
bool hasIndirectAdjacentRules = currentStyle && currentStyle->childrenAffectedByForwardPositionalRules();
diff --git a/src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp b/src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp
index d66075e..ab8f111 100644
--- a/src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp
@@ -74,7 +74,7 @@ PassRefPtr<HTMLImageElement> HTMLImageElement::createForJSConstructor(Document*
RefPtr<HTMLImageElement> image = adoptRef(new HTMLImageElement(imgTag, document));
if (optionalWidth)
image->setWidth(*optionalWidth);
- if (optionalHeight > 0)
+ if (optionalHeight)
image->setHeight(*optionalHeight);
return image.release();
}
diff --git a/src/3rdparty/webkit/Source/WebCore/platform/graphics/TiledBackingStoreClient.h b/src/3rdparty/webkit/Source/WebCore/platform/graphics/TiledBackingStoreClient.h
index 6087ec3..6d748f6 100644
--- a/src/3rdparty/webkit/Source/WebCore/platform/graphics/TiledBackingStoreClient.h
+++ b/src/3rdparty/webkit/Source/WebCore/platform/graphics/TiledBackingStoreClient.h
@@ -25,6 +25,7 @@ namespace WebCore {
#if ENABLE(TILED_BACKING_STORE)
class TiledBackingStoreClient {
public:
+ virtual ~TiledBackingStoreClient() { }
virtual void tiledBackingStorePaintBegin() = 0;
virtual void tiledBackingStorePaint(GraphicsContext*, const IntRect&) = 0;
virtual void tiledBackingStorePaintEnd(const Vector<IntRect>& paintedArea) = 0;
--
1.8.0

View File

@ -1,95 +0,0 @@
From 6742ac7ea6fd1e9c82ecb5305f84e721242f857d Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 5 Dec 2012 07:48:15 +0200
Subject: [PATCH 21/21] configure: make qt4-native work with long building
path.
Upstream-Status: Submitted
Reference: https://bugreports.qt-project.org/browse/QTBUG-28292
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 52 ++++++++++++++++++++++++++--------------------------
1 file changed, 26 insertions(+), 26 deletions(-)
diff --git a/configure b/configure
index a4a42f1..2358563 100755
--- a/configure
+++ b/configure
@@ -4779,8 +4779,8 @@ DEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INST
TODAY=`date +%Y-%m-%d`
cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
/* License Info */
-static const char qt_configure_licensee_str [256 + 12] = "$LICENSE_USER_STR";
-static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
+static const char qt_configure_licensee_str [512 + 12] = "$LICENSE_USER_STR";
+static const char qt_configure_licensed_products_str [512 + 12] = "$LICENSE_PRODUCTS_STR";
/* Installation date */
static const char qt_configure_installation [12+11] = "qt_instdate=$TODAY";
@@ -4805,36 +4805,36 @@ if [ ! -z "$QT_HOST_PREFIX" ]; then
#if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
/* Installation Info */
-static const char qt_configure_prefix_path_str [256 + 12] = "$HOSTPREFIX_PATH_STR";
-static const char qt_configure_documentation_path_str[256 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
-static const char qt_configure_headers_path_str [256 + 12] = "$HOSTHEADERS_PATH_STR";
-static const char qt_configure_libraries_path_str [256 + 12] = "$HOSTLIBRARIES_PATH_STR";
-static const char qt_configure_binaries_path_str [256 + 12] = "$HOSTBINARIES_PATH_STR";
-static const char qt_configure_plugins_path_str [256 + 12] = "$HOSTPLUGINS_PATH_STR";
-static const char qt_configure_imports_path_str [256 + 12] = "$HOSTIMPORTS_PATH_STR";
-static const char qt_configure_data_path_str [256 + 12] = "$HOSTDATA_PATH_STR";
-static const char qt_configure_translations_path_str [256 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
-static const char qt_configure_settings_path_str [256 + 12] = "$HOSTSETTINGS_PATH_STR";
-static const char qt_configure_examples_path_str [256 + 12] = "$HOSTEXAMPLES_PATH_STR";
-static const char qt_configure_demos_path_str [256 + 12] = "$HOSTDEMOS_PATH_STR";
+static const char qt_configure_prefix_path_str [512 + 12] = "$HOSTPREFIX_PATH_STR";
+static const char qt_configure_documentation_path_str[512 + 12] = "$HOSTDOCUMENTATION_PATH_STR";
+static const char qt_configure_headers_path_str [512 + 12] = "$HOSTHEADERS_PATH_STR";
+static const char qt_configure_libraries_path_str [512 + 12] = "$HOSTLIBRARIES_PATH_STR";
+static const char qt_configure_binaries_path_str [512 + 12] = "$HOSTBINARIES_PATH_STR";
+static const char qt_configure_plugins_path_str [512 + 12] = "$HOSTPLUGINS_PATH_STR";
+static const char qt_configure_imports_path_str [512 + 12] = "$HOSTIMPORTS_PATH_STR";
+static const char qt_configure_data_path_str [512 + 12] = "$HOSTDATA_PATH_STR";
+static const char qt_configure_translations_path_str [512 + 12] = "$HOSTTRANSLATIONS_PATH_STR";
+static const char qt_configure_settings_path_str [512 + 12] = "$HOSTSETTINGS_PATH_STR";
+static const char qt_configure_examples_path_str [512 + 12] = "$HOSTEXAMPLES_PATH_STR";
+static const char qt_configure_demos_path_str [512 + 12] = "$HOSTDEMOS_PATH_STR";
#else // QT_BOOTSTRAPPED
EOF
fi
cat >> "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
/* Installation Info */
-static const char qt_configure_prefix_path_str [256 + 12] = "$PREFIX_PATH_STR";
-static const char qt_configure_documentation_path_str[256 + 12] = "$DOCUMENTATION_PATH_STR";
-static const char qt_configure_headers_path_str [256 + 12] = "$HEADERS_PATH_STR";
-static const char qt_configure_libraries_path_str [256 + 12] = "$LIBRARIES_PATH_STR";
-static const char qt_configure_binaries_path_str [256 + 12] = "$BINARIES_PATH_STR";
-static const char qt_configure_plugins_path_str [256 + 12] = "$PLUGINS_PATH_STR";
-static const char qt_configure_imports_path_str [256 + 12] = "$IMPORTS_PATH_STR";
-static const char qt_configure_data_path_str [256 + 12] = "$DATA_PATH_STR";
-static const char qt_configure_translations_path_str [256 + 12] = "$TRANSLATIONS_PATH_STR";
-static const char qt_configure_settings_path_str [256 + 12] = "$SETTINGS_PATH_STR";
-static const char qt_configure_examples_path_str [256 + 12] = "$EXAMPLES_PATH_STR";
-static const char qt_configure_demos_path_str [256 + 12] = "$DEMOS_PATH_STR";
+static const char qt_configure_prefix_path_str [512 + 12] = "$PREFIX_PATH_STR";
+static const char qt_configure_documentation_path_str[512 + 12] = "$DOCUMENTATION_PATH_STR";
+static const char qt_configure_headers_path_str [512 + 12] = "$HEADERS_PATH_STR";
+static const char qt_configure_libraries_path_str [512 + 12] = "$LIBRARIES_PATH_STR";
+static const char qt_configure_binaries_path_str [512 + 12] = "$BINARIES_PATH_STR";
+static const char qt_configure_plugins_path_str [512 + 12] = "$PLUGINS_PATH_STR";
+static const char qt_configure_imports_path_str [512 + 12] = "$IMPORTS_PATH_STR";
+static const char qt_configure_data_path_str [512 + 12] = "$DATA_PATH_STR";
+static const char qt_configure_translations_path_str [512 + 12] = "$TRANSLATIONS_PATH_STR";
+static const char qt_configure_settings_path_str [512 + 12] = "$SETTINGS_PATH_STR";
+static const char qt_configure_examples_path_str [512 + 12] = "$EXAMPLES_PATH_STR";
+static const char qt_configure_demos_path_str [512 + 12] = "$DEMOS_PATH_STR";
EOF
if [ ! -z "$QT_HOST_PREFIX" ]; then
--
1.8.0

View File

@ -1,28 +0,0 @@
From 0460e2a5f13aaf0081c3c9fec89280046842ddbb Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Wed, 3 Jul 2013 17:48:30 +0100
Subject: [PATCH] tools.pro: disable qmeegographicssystemhelper
We don't want this enabled just because we have EGL and OpenGL ES 2.0
enabled.
Upstream-Status: Inappropriate [config]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
tools/tools.pro | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/tools.pro b/tools/tools.pro
index 0e27053..2d3f36d 100644
--- a/tools/tools.pro
+++ b/tools/tools.pro
@@ -49,4 +49,4 @@ QTDIR_build:REQUIRES = "contains(QT_CONFIG, full-config)"
!win32:!embedded:!mac:!symbian:CONFIG += x11
-x11:contains(QT_CONFIG, opengles2):contains(QT_CONFIG, egl):SUBDIRS += qmeegographicssystemhelper
+#x11:contains(QT_CONFIG, opengles2):contains(QT_CONFIG, egl):SUBDIRS += qmeegographicssystemhelper
--
1.8.1.2

View File

@ -1,491 +0,0 @@
From 294010b562c9846bb2bc4ee9c63ff78adc7c1f4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lisandro=20Dami=C3=A1n=20Nicanor=20P=C3=A9rez=20Meyer?=
<perezmeyer@gmail.com>
Date: Sat, 15 Mar 2014 15:40:49 -0300
Subject: [PATCH] Add qatomic support for AArch64 (aka arm64).
Patch by Mark Salter <msalter@redhat.com>
licensed under BSD:
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=735488#195>
This patch is known to not be the most correct way
to implement them, as it seems to be possible to do it in a faster way,
but should work non the less until we can provide something better.
Change-Id: Ib392b27dc54691fd4c2ea9896240ad71fb8128cc
Upstream-Status: Pending
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
src/corelib/arch/aarch64/arch.pri | 4 +
src/corelib/arch/aarch64/qatomic_aarch64.cpp | 70 ++++++
src/corelib/arch/arch.pri | 4 +-
src/corelib/arch/qatomic_aarch64.h | 335 +++++++++++++++++++++++++++
src/corelib/arch/qatomic_arch.h | 2 +
5 files changed, 414 insertions(+), 1 deletion(-)
create mode 100644 src/corelib/arch/aarch64/arch.pri
create mode 100644 src/corelib/arch/aarch64/qatomic_aarch64.cpp
create mode 100644 src/corelib/arch/qatomic_aarch64.h
diff --git a/src/corelib/arch/aarch64/arch.pri b/src/corelib/arch/aarch64/arch.pri
new file mode 100644
index 0000000..63523d9
--- /dev/null
+++ b/src/corelib/arch/aarch64/arch.pri
@@ -0,0 +1,4 @@
+#
+# AArch64 architecture
+#
+SOURCES += $$QT_ARCH_CPP/qatomic_aarch64.cpp
diff --git a/src/corelib/arch/aarch64/qatomic_aarch64.cpp b/src/corelib/arch/aarch64/qatomic_aarch64.cpp
new file mode 100644
index 0000000..fc851b9
--- /dev/null
+++ b/src/corelib/arch/aarch64/qatomic_aarch64.cpp
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2012, 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore module 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 Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/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 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt 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 <QtCore/qglobal.h>
+
+#include <unistd.h>
+#ifdef _POSIX_PRIORITY_SCHEDULING
+# include <sched.h>
+#endif
+#include <time.h>
+
+QT_BEGIN_NAMESPACE
+
+QT_USE_NAMESPACE
+
+Q_CORE_EXPORT void qt_atomic_yield(int *count)
+{
+#ifdef _POSIX_PRIORITY_SCHEDULING
+ if ((*count)++ < 50) {
+ sched_yield();
+ } else
+#endif
+ {
+ struct timespec tm;
+ tm.tv_sec = 0;
+ tm.tv_nsec = 2000001;
+ nanosleep(&tm, NULL);
+ *count = 0;
+ }
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/arch/arch.pri b/src/corelib/arch/arch.pri
index cd23e5e..f50fca7 100644
--- a/src/corelib/arch/arch.pri
+++ b/src/corelib/arch/arch.pri
@@ -31,7 +31,9 @@ integrity:HEADERS += arch/qatomic_integrity.h
arch/qatomic_s390.h \
arch/qatomic_x86_64.h \
arch/qatomic_sh.h \
- arch/qatomic_sh4a.h
+ arch/qatomic_sh4a.h \
+ arch/qatomic_aarch64.h \
+
QT_ARCH_CPP = $$QT_SOURCE_TREE/src/corelib/arch/$$QT_ARCH
DEPENDPATH += $$QT_ARCH_CPP
diff --git a/src/corelib/arch/qatomic_aarch64.h b/src/corelib/arch/qatomic_aarch64.h
new file mode 100644
index 0000000..de61ca8
--- /dev/null
+++ b/src/corelib/arch/qatomic_aarch64.h
@@ -0,0 +1,335 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore module 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 Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/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 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt 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$
+**
+****************************************************************************/
+
+#ifndef QATOMIC_AARCH64_H
+#define QATOMIC_AARCH64_H
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+#define Q_ATOMIC_INT_REFERENCE_COUNTING_IS_ALWAYS_NATIVE
+
+inline bool QBasicAtomicInt::isReferenceCountingNative()
+{ return true; }
+inline bool QBasicAtomicInt::isReferenceCountingWaitFree()
+{ return false; }
+
+#define Q_ATOMIC_INT_TEST_AND_SET_IS_ALWAYS_NATIVE
+
+inline bool QBasicAtomicInt::isTestAndSetNative()
+{ return true; }
+inline bool QBasicAtomicInt::isTestAndSetWaitFree()
+{ return false; }
+
+#define Q_ATOMIC_INT_FETCH_AND_STORE_IS_ALWAYS_NATIVE
+
+inline bool QBasicAtomicInt::isFetchAndStoreNative()
+{ return true; }
+inline bool QBasicAtomicInt::isFetchAndStoreWaitFree()
+{ return false; }
+
+#define Q_ATOMIC_INT_FETCH_AND_ADD_IS_ALWAYS_NATIVE
+
+inline bool QBasicAtomicInt::isFetchAndAddNative()
+{ return true; }
+inline bool QBasicAtomicInt::isFetchAndAddWaitFree()
+{ return false; }
+
+#define Q_ATOMIC_POINTER_TEST_AND_SET_IS_ALWAYS_NATIVE
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetNative()
+{ return true; }
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetWaitFree()
+{ return false; }
+
+#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_ALWAYS_NATIVE
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreNative()
+{ return true; }
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreWaitFree()
+{ return false; }
+
+#define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_ALWAYS_NATIVE
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddNative()
+{ return true; }
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddWaitFree()
+{ return false; }
+
+#ifndef Q_DATA_MEMORY_BARRIER
+# define Q_DATA_MEMORY_BARRIER asm volatile("dmb sy\n":::"memory")
+#endif
+#ifndef Q_COMPILER_MEMORY_BARRIER
+# define Q_COMPILER_MEMORY_BARRIER asm volatile("":::"memory")
+#endif
+
+inline bool QBasicAtomicInt::ref()
+{
+ int newValue;
+
+ Q_COMPILER_MEMORY_BARRIER;
+ newValue = __atomic_add_fetch(&_q_value, 1, __ATOMIC_ACQ_REL);
+ Q_COMPILER_MEMORY_BARRIER;
+
+ return newValue != 0;
+}
+
+inline bool QBasicAtomicInt::deref()
+{
+ int newValue;
+
+ Q_COMPILER_MEMORY_BARRIER;
+ newValue = __atomic_sub_fetch(&_q_value, 1, __ATOMIC_ACQ_REL);
+ Q_COMPILER_MEMORY_BARRIER;
+
+ return newValue != 0;
+}
+
+inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue)
+{
+ bool val;
+
+ Q_COMPILER_MEMORY_BARRIER;
+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue,
+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
+ Q_COMPILER_MEMORY_BARRIER;
+ return val;
+}
+
+inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue)
+{
+ int val;
+ Q_COMPILER_MEMORY_BARRIER;
+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED);
+ Q_COMPILER_MEMORY_BARRIER;
+ return val;
+}
+
+inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd)
+{
+ int val;
+ Q_COMPILER_MEMORY_BARRIER;
+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED);
+ Q_COMPILER_MEMORY_BARRIER;
+ return val;
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelaxed(T *expectedValue, T *newValue)
+{
+ bool val;
+ Q_COMPILER_MEMORY_BARRIER;
+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue,
+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
+ Q_COMPILER_MEMORY_BARRIER;
+ return val;
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue)
+{
+ T *val;
+ Q_COMPILER_MEMORY_BARRIER;
+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED);
+ Q_COMPILER_MEMORY_BARRIER;
+ return val;
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
+{
+ T *val;
+ Q_COMPILER_MEMORY_BARRIER;
+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED);
+ Q_COMPILER_MEMORY_BARRIER;
+ return val;
+}
+
+inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue)
+{
+ bool returnValue = testAndSetRelaxed(expectedValue, newValue);
+ Q_DATA_MEMORY_BARRIER;
+ return returnValue;
+}
+
+inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue)
+{
+ Q_DATA_MEMORY_BARRIER;
+ return testAndSetRelaxed(expectedValue, newValue);
+}
+
+inline bool QBasicAtomicInt::testAndSetOrdered(int expectedValue, int newValue)
+{
+ Q_DATA_MEMORY_BARRIER;
+ bool returnValue = testAndSetRelaxed(expectedValue, newValue);
+ Q_COMPILER_MEMORY_BARRIER;
+ return returnValue;
+}
+
+inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue)
+{
+ int returnValue = fetchAndStoreRelaxed(newValue);
+ Q_DATA_MEMORY_BARRIER;
+ return returnValue;
+}
+
+inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue)
+{
+ Q_DATA_MEMORY_BARRIER;
+ return fetchAndStoreRelaxed(newValue);
+}
+
+inline int QBasicAtomicInt::fetchAndStoreOrdered(int newValue)
+{
+ Q_DATA_MEMORY_BARRIER;
+ int returnValue = fetchAndStoreRelaxed(newValue);
+ Q_COMPILER_MEMORY_BARRIER;
+ return returnValue;
+}
+
+inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd)
+{
+ int returnValue = fetchAndAddRelaxed(valueToAdd);
+ Q_DATA_MEMORY_BARRIER;
+ return returnValue;
+}
+
+inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd)
+{
+ Q_DATA_MEMORY_BARRIER;
+ return fetchAndAddRelaxed(valueToAdd);
+}
+
+inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd)
+{
+ Q_DATA_MEMORY_BARRIER;
+ int returnValue = fetchAndAddRelaxed(valueToAdd);
+ Q_COMPILER_MEMORY_BARRIER;
+ return returnValue;
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetAcquire(T *expectedValue, T *newValue)
+{
+ bool returnValue = testAndSetRelaxed(expectedValue, newValue);
+ Q_DATA_MEMORY_BARRIER;
+ return returnValue;
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValue, T *newValue)
+{
+ Q_DATA_MEMORY_BARRIER;
+ return testAndSetRelaxed(expectedValue, newValue);
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetOrdered(T *expectedValue, T *newValue)
+{
+ Q_DATA_MEMORY_BARRIER;
+ bool returnValue = testAndSetAcquire(expectedValue, newValue);
+ Q_COMPILER_MEMORY_BARRIER;
+ return returnValue;
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
+{
+ T *returnValue = fetchAndStoreRelaxed(newValue);
+ Q_DATA_MEMORY_BARRIER;
+ return returnValue;
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue)
+{
+ Q_DATA_MEMORY_BARRIER;
+ return fetchAndStoreRelaxed(newValue);
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreOrdered(T *newValue)
+{
+ Q_DATA_MEMORY_BARRIER;
+ T *returnValue = fetchAndStoreRelaxed(newValue);
+ Q_COMPILER_MEMORY_BARRIER;
+ return returnValue;
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd)
+{
+ T *returnValue = fetchAndAddRelaxed(valueToAdd);
+ Q_DATA_MEMORY_BARRIER;
+ return returnValue;
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueToAdd)
+{
+ Q_DATA_MEMORY_BARRIER;
+ return fetchAndAddRelaxed(valueToAdd);
+}
+
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd)
+{
+ Q_DATA_MEMORY_BARRIER;
+ T *returnValue = fetchAndAddRelaxed(valueToAdd);
+ Q_COMPILER_MEMORY_BARRIER;
+ return returnValue;
+}
+
+#undef Q_DATA_MEMORY_BARRIER
+#undef Q_COMPILER_MEMORY_BARRIER
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QATOMIC_AARCH64_H
diff --git a/src/corelib/arch/qatomic_arch.h b/src/corelib/arch/qatomic_arch.h
index 141726c..3e96926 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_AARCH64)
+# include "QtCore/qatomic_aarch64.h"
#else
# error "Qt has not been ported to this architecture"
#endif
--
2.1.0

View File

@ -1,124 +0,0 @@
From 7090fc80ff630712a90de92403190f647dd38a39 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lisandro=20Dami=C3=A1n=20Nicanor=20P=C3=A9rez=20Meyer?=
<perezmeyer@gmail.com>
Date: Sat, 15 Mar 2014 15:35:00 -0300
Subject: [PATCH] mkspecs for AArch64 (aka arm64).
Patch by Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
licensed under either Public Domain or BSD:
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=735488#179>
Change-Id: I21f17953234cfb176bac023e52ecdc927fc5c1a9
Upstream-Status: Pending
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
configure | 3 +++
mkspecs/linux-g++-aarch64/qmake.conf | 27 ++++++++++++++++++++
mkspecs/linux-g++-aarch64/qplatformdefs.h | 42 +++++++++++++++++++++++++++++++
3 files changed, 72 insertions(+)
create mode 100644 mkspecs/linux-g++-aarch64/qmake.conf
create mode 100644 mkspecs/linux-g++-aarch64/qplatformdefs.h
diff --git a/configure b/configure
index a9ba7c8..e57d053 100755
--- a/configure
+++ b/configure
@@ -2808,6 +2808,9 @@ if [ "$CFG_EMBEDDED" != "no" ]; then
*86_64)
PLATFORM=qws/linux-x86_64-g++
;;
+ aarch64)
+ PLATFORM=linux-aarch64-g++
+ ;;
*)
PLATFORM=qws/linux-generic-g++
;;
diff --git a/mkspecs/linux-g++-aarch64/qmake.conf b/mkspecs/linux-g++-aarch64/qmake.conf
new file mode 100644
index 0000000..ebc0a92
--- /dev/null
+++ b/mkspecs/linux-g++-aarch64/qmake.conf
@@ -0,0 +1,27 @@
+#
+# qmake configuration for linux-g++
+#
+# Written for GNU/Linux platforms that have both lib and lib64 directories,
+# like the AMD Opteron.
+#
+
+MAKEFILE_GENERATOR = UNIX
+TARGET_PLATFORM = unix
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+QMAKE_CFLAGS =
+QMAKE_LFLAGS =
+
+QMAKE_CFLAGS_RELEASE += -O2
+
+include(../common/linux.conf)
+include(../common/gcc-base-unix.conf)
+include(../common/g++-unix.conf)
+
+QMAKE_LIBDIR_X11 = /usr/X11R6/lib64
+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib64
+
+load(qt_config)
diff --git a/mkspecs/linux-g++-aarch64/qplatformdefs.h b/mkspecs/linux-g++-aarch64/qplatformdefs.h
new file mode 100644
index 0000000..562128b
--- /dev/null
+++ b/mkspecs/linux-g++-aarch64/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** 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 Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/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 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt 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.1.0

File diff suppressed because one or more lines are too long

View File

@ -1,40 +0,0 @@
configure: support c++0x standard for directfd
While directfd upgrade to 1.7.6, it always includes directfb++ utils
when C++ is used and set c++0x as c++ standard.
(In git://git.directfb.org/git/directfb/core/DirectFB.git
commit b444bcae3197be9faf883460dcc239ef757d5922, and commit
522beeb76f2a8d2dee30d928d2a5955bd06cf25c)
The directfd in qt4 is c++, and there was a build failure:
...
| qdirectfbwindowsurface.cpp:336:69: error: in C++98 'rect' must be
initialized by constructor, not by '{...}'
| const DFBRectangle rect = { r.x(), r.y(), r.width(), r.height() };
...
The g++ used c++98 as default c++ standard, we should
explicitly set c++0x for directfd in qt4.
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
configure | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure b/configure
index 5724bd6..ecc2f8b 100755
--- a/configure
+++ b/configure
@@ -6656,6 +6656,7 @@ if [ "$PLATFORM_QWS" = "yes" ]; then
if [ "${screen}" = "directfb" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
if test -n "$PKG_CONFIG" && "$PKG_CONFIG" --exists directfb 2>/dev/null; then
QT_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
+ QT_CFLAGS_DIRECTFB="$QT_CFLAGS_DIRECTFB -std=c++0x"
QT_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
elif directfb-config --version >/dev/null 2>&1; then
QT_CFLAGS_DIRECTFB=`directfb-config --cflags 2>/dev/null`
--
1.9.1

View File

@ -1,34 +0,0 @@
From: Samuel Gaist <samuel.gaist@edeltech.ch>
Date: Wed, 4 Mar 2015 20:16:50 +0000 (+0100)
Subject: Fix kmap2qmap build on OS X
X-Git-Tag: v5.4.2~6
X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqttools.git;a=commitdiff_plain;h=cf196a2565235f649b88fac55b53270bea23458d;hp=3070815a24239bd0f469bfeb8d0a1f091974e28e
Fix kmap2qmap build on OS X
Currently kmap2qmap fails to build on OS X (clang) This patch aims to
fix this.
Change-Id: I61c985dc7ad1f2486368c39aa976599d274942ab
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
---
Upstream-Status: Backport
Index: qt-everywhere-opensource-src-4.8.7/tools/kmap2qmap/main.cpp
===================================================================
--- qt-everywhere-opensource-src-4.8.7.orig/tools/kmap2qmap/main.cpp
+++ qt-everywhere-opensource-src-4.8.7/tools/kmap2qmap/main.cpp
@@ -385,9 +385,11 @@ static const int symbol_synonyms_size =
// makes the generated array in --header mode a bit more human readable
QT_BEGIN_NAMESPACE
-static bool operator<(const QWSKeyboard::Mapping &m1, const QWSKeyboard::Mapping &m2)
-{
- return m1.keycode != m2.keycode ? m1.keycode < m2.keycode : m1.modifiers < m2.modifiers;
+namespace QWSKeyboard {
+ static bool operator<(const Mapping &m1, const Mapping &m2)
+ {
+ return m1.keycode != m2.keycode ? m1.keycode < m2.keycode : m1.modifiers < m2.modifiers;
+ }
}
QT_END_NAMESPACE

View File

@ -1,98 +0,0 @@
From 52c34001bad85c3032618070b1d6b2a3c6880715 Mon Sep 17 00:00:00 2001
From: Neil Jerram <n...@ossau.homelinux.net>
Date: Thu, 8 Nov 2012 08:18:32 +0000
Subject: [PATCH] Fix QWSLock "invalid argument" logs
There was no known actual problem associated with these logs, but they
were spamming the log, so I thought it worth trying to understand and
fix them.
The confusion is that there are two different ways of creating QWSLock
objects. "QWSLock()" creates an object that creates a new set of
semaphores, whereas "QWSLock(id)" creates an object that aliases the
existing set of semaphores with ID id. What seems to happen is that
each application creates a semaphore set scoped to that
application (QWSDisplay::Data::clientLock in qapplication_qws.cpp),
then this semaphore set is passed by complex means to
places (QWSClientPrivate and QWSMemorySurface) that use the semaphores
for a short period and then delete their QWSLock objects.
The problem was that the QWSLock destructor always destroyed the
semaphore set, even when that QWSLock hadn't create the semaphores
itself, hence making the semaphores invalid for other QWSLock objects
still referencing the same set.
Clearly a QWSLock object shouldn't destroy the semaphore set if it
didn't create it itself, and that is confirmed by the fact that one of
the implementations inside QWSLock already implements this logic, with
the 'owned' flag. The fix is to implement this for the #ifndef
QT_POSIX_IPC case - which is what is used in QtMoko - just as is
already implemented for the #ifdef QT_POSIX_IPC case.
Original patch can be found here:
http://www.mail-archive.com/community@lists.openmoko.org/msg65512.html
Upstream-Status: Submitted
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
(Removed the commented-out debug statements from the original patch.)
---
diff --git a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp
index 9914a24..1055785 100644
--- a/src/gui/embedded/qwslock.cpp
+++ b/src/gui/embedded/qwslock.cpp
@@ -83,9 +83,12 @@ QWSLock::QWSLock(int id) : semId(id)
QWSSignalHandler::instance()->addWSLock(this);
#endif
+ owned = false;
+
#ifndef QT_POSIX_IPC
if (semId == -1) {
semId = semget(IPC_PRIVATE, 3, IPC_CREAT | 0666);
+ owned = true;
if (semId == -1) {
perror("QWSLock::QWSLock");
qFatal("Unable to create semaphore");
@@ -100,7 +104,6 @@ QWSLock::QWSLock(int id) : semId(id)
}
#else
sems[0] = sems[1] = sems[2] = SEM_FAILED;
- owned = false;
if (semId == -1) {
// ### generate really unique IDs
@@ -134,9 +137,11 @@ QWSLock::~QWSLock()
if (semId != -1) {
#ifndef QT_POSIX_IPC
- qt_semun semval;
- semval.val = 0;
- semctl(semId, 0, IPC_RMID, semval);
+ if (owned) {
+ qt_semun semval;
+ semval.val = 0;
+ semctl(semId, 0, IPC_RMID, semval);
+ }
semId = -1;
#else
// emulate the SEM_UNDO behavior for the BackingStore lock
diff --git a/src/gui/embedded/qwslock_p.h b/src/gui/embedded/qwslock_p.h
index d324e4f..d867d20 100644
--- a/src/gui/embedded/qwslock_p.h
+++ b/src/gui/embedded/qwslock_p.h
@@ -86,8 +86,8 @@ private:
int lockCount[2];
#ifdef QT_POSIX_IPC
sem_t *sems[3];
- bool owned;
#endif
+ bool owned;
};
QT_END_NAMESPACE
--
1.7.10.4

View File

@ -1,55 +0,0 @@
Author: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
Date: Sun Apr 12 19:27:10 2015 +0530
[PATCH] add checking for AArch64 ilp32
Cross-compiling qt4-embedded and qt4-x11-free applications for AArch64 ilp32
(both big and little endian) fails with below error,
(snip)
In file included from ../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.h:31:0,
from ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalData.h:32,
from ../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h:26,
from ../3rdparty/javascriptcore/JavaScriptCore/runtime/ClassInfo.h:26,
from ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.h:27,
from ../3rdparty/javascriptcore/JavaScriptCore/API/JSCallbackConstructor.h:30,
from ../3rdparty/javascriptcore/JavaScriptCore/API/JSCallbackConstructor.cpp:27:
../3rdparty/javascriptcore/JavaScriptCore/wtf/StdLibExtras.h: In instantiation of 'TO QTWTF::bitwise_cast(FROM) [w
../3rdparty/javascriptcore/JavaScriptCore/runtime/JSImmediate.h:52:49: required from here
../3rdparty/javascriptcore/JavaScriptCore/wtf/StdLibExtras.h:63:1: error: size of array is negative
../3rdparty/javascriptcore/JavaScriptCore/wtf/StdLibExtras.h: In instantiation of 'TO QTWTF::bitwise_cast(FROM) [w
../3rdparty/javascriptcore/JavaScriptCore/runtime/JSImmediate.h:57:47: required from here
../3rdparty/javascriptcore/JavaScriptCore/wtf/StdLibExtras.h:63:1: error: size of array is negative
make[1]: *** [obj/release/JSCallbackConstructor.o] Error 1
-- CUT --
the error is because of JSVALUE64 is being defined while compiling programs
for AArch64 ilp32. This makes equal condition checking of intptr_t and double
datatypes as false, and results in -1 (negative) as array size in bitwise_cast
function.
Upstream-Status: Pending
Signed-off-by: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h 2014-04-11 00:07:12.000000000 +0530
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h 2015-04-10 22:19:51.066279426 +0530
@@ -214,6 +214,9 @@
#define WTF_CPU_AARCH64 1
#if defined(__AARCH64EB__)
#define WTF_CPU_BIG_ENDIAN 1
+#if !defined(__LP64__)
+#define WTF_CPU_AARCH64_32 1
+#endif
#endif
#endif
@@ -903,7 +906,7 @@
#endif
#if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64)
-#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64)
+#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || (CPU(AARCH64) && !CPU(AARCH64_32))
#define WTF_USE_JSVALUE64 1
#elif CPU(ARM) || CPU(PPC64)
#define WTF_USE_JSVALUE32 1

View File

@ -1,40 +0,0 @@
#
# qmake configuration for common gcc
#
QMAKE_COMPILER = gcc
QMAKE_CC = $(OE_QMAKE_CC)
QMAKE_CFLAGS += $(OE_QMAKE_CFLAGS)
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS)
QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
QMAKE_CXX = $(OE_QMAKE_CXX)
QMAKE_CXXFLAGS += $(OE_QMAKE_CXXFLAGS)
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
QMAKE_LINK = $(OE_QMAKE_LINK)
QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
QMAKE_LINK_C = $(OE_QMAKE_LINK)
QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK)
QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
QMAKE_LFLAGS_RPATH = -Wl,-rpath-link,
QMAKE_PCH_OUTPUT_EXT = .gch
# -Bsymbolic-functions (ld) support
QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
# do not depend on gdb
CONFIG -= gdb_dwarf_index
# some linking helper...
CONFIG += rpath_libdirs
# for the SDK
isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)

View File

@ -1,66 +0,0 @@
#
# qmake configuration for common linux
#
QMAKE_CFLAGS_THREAD += -D_REENTRANT
QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
QMAKE_INCDIR =
QMAKE_LIBDIR =
QMAKE_INCDIR_X11 =
QMAKE_LIBDIR_X11 =
QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
QMAKE_INCDIR_OPENGL =
QMAKE_LIBDIR_OPENGL =
QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL
QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
QMAKE_INCDIR_EGL =
QMAKE_LIBDIR_EGL =
QMAKE_INCDIR_OPENVG =
QMAKE_LIBDIR_OPENVG =
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
QMAKE_LIBS_NIS = -lnsl
QMAKE_LIBS_EGL = -lEGL
QMAKE_LIBS_OPENGL = -lGL
QMAKE_LIBS_OPENGL_QT = -lGL
QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
QMAKE_LIBS_OPENVG = -lOpenVG
QMAKE_LIBS_THREAD = -lpthread
QMAKE_MOC = $(OE_QMAKE_MOC)
QMAKE_UIC = $(OE_QMAKE_UIC)
QMAKE_UIC3 = $(OE_QMAKE_UIC3)
QMAKE_RCC = $(OE_QMAKE_RCC)
QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
QMAKE_AR = $(OE_QMAKE_AR) cqs
QMAKE_OBJCOPY = objcopy
QMAKE_RANLIB =
QMAKE_TAR = tar -cf
QMAKE_GZIP = gzip -9f
QMAKE_COPY = cp -f
QMAKE_COPY_FILE = $(COPY)
QMAKE_COPY_DIR = $(COPY) -r
QMAKE_MOVE = mv -f
QMAKE_DEL_FILE = rm -f
QMAKE_DEL_DIR = rmdir
QMAKE_STRIP = $(OE_QMAKE_STRIP)
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
QMAKE_CHK_DIR_EXISTS = test -d
QMAKE_MKDIR = mkdir -p
QMAKE_INSTALL_FILE = install -m 644 -p
QMAKE_INSTALL_PROGRAM = install -m 755 -p
include(unix.conf)

View File

@ -1,7 +0,0 @@
#!/bin/sh
if [ -e /dev/input/touchscreen0 ]
then
QWS_MOUSE_PROTO=Tslib:/dev/input/touchscreen0
export QWS_MOUSE_PROTO
fi

View File

@ -1,74 +0,0 @@
SUMMARY = "Cross-platform UI toolkit and application framework (framebuffer version)"
DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the embedded (framebuffer) version."
SECTION = "libs"
HOMEPAGE = "http://qt-project.org/"
DEPENDS += "directfb tslib"
QT4EDEPENDS = ""
QT_BASE_LIB ?= "libqt-embedded"
# Set necessary variables in the profile
SRC_URI += "file://qte.sh \
file://0033-configure-support-c-0x-standard-for-directfd.patch \
"
QT_EMBEDDED_FLAGS ?= " \
-embedded $QT_ARCH \
-qtlibinfix ${QT_LIBINFIX} \
"
QT_EMBEDDED_EXTRA_FLAGS ?= " \
-plugin-gfx-transformed -plugin-gfx-qvfb -plugin-gfx-vnc -plugin-gfx-directfb \
-plugin-mouse-tslib -qt-mouse-pc -qt-mouse-qvfb -qt-mouse-linuxinput \
-qt-kbd-tty -qt-kbd-linuxinput \
"
QT_EMBEDDED_KEYPAD_FLAGS ?= " \
-DQT_KEYPAD_NAVIGATION \
"
QT_CONFIG_FLAGS += "${QT_EMBEDDED_FLAGS} ${QT_EMBEDDED_EXTRA_FLAGS} ${QT_EMBEDDED_KEYPAD_FLAGS}"
require qt4.inc
do_install_append() {
install -d ${D}/${libdir}/fonts
touch ${D}/${libdir}/fonts/fontdir
install -d ${D}${sysconfdir}/profile.d/
install -m 0755 ${WORKDIR}/qte.sh ${D}${sysconfdir}/profile.d/
}
# We put the qte profile into it's own package as we don't want to install all qt stuff
# with depending on the global package qt4-embedded
PACKAGES += " ${PN}-conf"
FILES_${PN}-conf += " ${sysconfdir}/profile.d/qte.sh"
RRECOMMENDS_${PN} += " ${PN}-conf"
OTHER_PACKAGES += "\
${QT_BASE_NAME}-fonts \
${QT_BASE_NAME}-fonts-ttf-vera \
${QT_BASE_NAME}-fonts-ttf-dejavu \
${QT_BASE_NAME}-fonts-pfa \
${QT_BASE_NAME}-fonts-pfb \
${QT_BASE_NAME}-fonts-qpf"
RRECOMMENDS_${QT_BASE_NAME}-fonts = " \
${QT_BASE_NAME}-fonts-ttf-vera \
${QT_BASE_NAME}-fonts-ttf-dejavu \
${QT_BASE_NAME}-fonts-pfa \
${QT_BASE_NAME}-fonts-pfb \
${QT_BASE_NAME}-fonts-qpf"
RRECOMMENDS_${QT_BASE_NAME}-demos += " \
${QT_BASE_NAME}-fonts"
ALLOW_EMPTY_${QT_BASE_NAME}-fonts = "1"
PACKAGES_DYNAMIC += "^${QT_BASE_NAME}-fonts-.*"
FILES_${QT_BASE_NAME}-fonts-ttf-vera = "${libdir}/fonts/Vera*.ttf"
FILES_${QT_BASE_NAME}-fonts-ttf-dejavu = "${libdir}/fonts/DejaVu*.ttf"
FILES_${QT_BASE_NAME}-fonts-pfa = "${libdir}/fonts/*.pfa"
FILES_${QT_BASE_NAME}-fonts-pfb = "${libdir}/fonts/*.pfb"
FILES_${QT_BASE_NAME}-fonts-qpf = "${libdir}/fonts/*.qpf*"
FILES_${QT_BASE_NAME}-fonts = "${libdir}/fonts/README ${libdir}/fonts/fontdir"
inherit qt4e

View File

@ -1,9 +0,0 @@
require qt4-${PV}.inc
require qt4-embedded.inc
QT_CONFIG_FLAGS_append_arm = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " -no-neon" ,d)}"
QT_CONFIG_FLAGS += " \
-exceptions \
"

View File

@ -1,116 +0,0 @@
SUMMARY = "Qt version 4 tools and support files for the build host"
DEPENDS = "zlib-native dbus-native"
SECTION = "libs"
HOMEPAGE = "http://qt-project.org/"
PROVIDES = "qt4-tools-native"
LICENSE = "LGPLv2.1 | GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
file://LICENSE.GPL3;md5=6e1694ee338db410417517884918d4d2 \
file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6"
inherit native
SRC_URI = "http://download.qt-project.org/official_releases/qt/4.8/${PV}/qt-everywhere-opensource-src-${PV}.tar.gz \
file://0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
file://0002-qkbdtty_qws-fix-build-with-old-kernel-headers.patch \
file://0003-webkit2-set-OUTPUT_DIR-value-if-empty.patch \
file://0021-configure-make-qt4-native-work-with-long-building-pa.patch \
file://g++.conf \
file://linux.conf \
"
UPSTREAM_CHECK_URI = "http://download.qt.io/official_releases/qt/4.8/"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
EXTRA_OECONF = "-prefix ${prefix} \
-bindir ${bindir} \
-libdir ${libdir} \
-datadir ${datadir}/qt4 \
-sysconfdir ${sysconfdir}/qt4 \
-docdir ${docdir}/qt4 \
-headerdir ${includedir}/qt4 \
-plugindir ${libdir}/qt4/plugins \
-importdir ${libdir}/qt4/imports \
-translationdir ${datadir}/qt4/translations \
-examplesdir ${bindir}/qt4/examples \
-demosdir ${bindir}/qt4/demos \
-L ${STAGING_LIBDIR_NATIVE} \
-I ${STAGING_INCDIR_NATIVE} \
-qt-libjpeg -system-zlib \
-no-libjpeg -no-libpng -no-libmng -no-libtiff \
-no-accessibility \
-no-cups \
-no-nas-sound \
-no-nis -no-openssl \
-verbose -release \
-embedded -no-freetype -no-glib -no-iconv \
-exceptions -xmlpatterns \
-qt3support \
-no-fast -silent -no-rpath"
# yank default -e, otherwise we get the following error:
# moc_qbuffer.cpp: No such file or directory
EXTRA_OEMAKE = " "
do_configure() {
# Avoid problems with Qt 4.8.0 configure setting QMAKE_LINK from LD (since we want the linker to be g++)
unset LD
(echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
}
TOBUILD = "\
src/tools/moc \
src/corelib \
src/sql \
src/xml \
src/network \
src/tools/uic \
src/tools/rcc \
src/xmlpatterns \
src/dbus \
src/gui \
src/testlib \
src/qt3support \
src/tools/uic3 \
tools/linguist/lconvert \
tools/linguist/lrelease \
tools/linguist/lupdate \
tools/qdbus/qdbuscpp2xml \
tools/qdbus/qdbusxml2cpp \
tools/xmlpatterns \
"
do_compile() {
for i in ${TOBUILD}; do
cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
done
}
do_install() {
install -d ${D}${bindir}/
install -m 0755 bin/qmake ${D}${bindir}/qmake2
for i in moc uic uic3 rcc lconvert lrelease lupdate qdbuscpp2xml qdbusxml2cpp xmlpatterns; do
install -m 0755 bin/${i} ${D}${bindir}/${i}4
done
install -d ${D}${datadir}/qt4/
cp -PfR mkspecs ${D}${datadir}/qt4/
ln -sf linux-g++ ${D}${datadir}/qt4/mkspecs/${BUILD_OS}-oe-g++
if [ -f ${D}${datadir}/qt4/mkspecs/common/g++-unix.conf ] ; then
# mkspecs were refactored for 4.8.0
cp -f ${WORKDIR}/g++.conf ${D}${datadir}/qt4/mkspecs/common/g++-unix.conf
else
cp -f ${WORKDIR}/g++.conf ${D}${datadir}/qt4/mkspecs/common/g++.conf
fi
cp -f ${WORKDIR}/linux.conf ${D}${datadir}/qt4/mkspecs/common/
install -m 0644 tools/porting/src/q3porting.xml ${D}${datadir}/qt4/
for i in ${TOBUILD}; do
cd ${S}/$i && oe_runmake install INSTALL_ROOT=${D}
done
}

View File

@ -1,6 +0,0 @@
require qt4-native.inc
TOBUILD := "src/tools/bootstrap ${TOBUILD}"
SRC_URI[md5sum] = "d990ee66bf7ab0c785589776f35ba6ad"
SRC_URI[sha256sum] = "e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0"

View File

@ -1,38 +0,0 @@
require qt4.inc
SUMMARY = "Cross-platform UI toolkit and application framework (X11 version)"
DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the X11 version."
HOMEPAGE = "http://qt-project.org/"
SECTION = "x11/libs"
DEPENDS += "virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/libgl', '', d)}"
PROVIDES += "qt4-x11"
QT4DEPENDS = ""
QT_GLFLAGS ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '-opengl', '-no-opengl', d)} "
QT_GLFLAGS_qemux86 = "-opengl"
QT_GLFLAGS_qemuppc = "-opengl"
QT_X11_FLAGS ?= "-no-xinerama -no-xkb -no-gtkstyle"
QT_CONFIG_FLAGS += "${QT_X11_FLAGS}"
QT_BASE_LIB ?= "libqt"
# required by kdelibs4
QT_KDE_FLAGS ?= "-accessibility -sm"
QT_DISTRO_FLAGS ?= "${QT_KDE_FLAGS}"
inherit qt4x11
do_install_append() {
# fix pkgconfig, libtool and prl files
sed -i -e 's#I/usr/include#Iincludedir}#g' \
-e 's#Iin#I${in#g' \
${D}${libdir}/*.la ${D}${libdir}/*.prl ${D}${libdir}/pkgconfig/*.pc
# QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so
# manually fix it up here:
for pc in ${D}${libdir}/pkgconfig/*.pc ; do
sed -i -e "s:prefix}include/${QT_BASE_NAME}/$(basename $pc .pc):prefix}/include:" \
-e "s,Cflags: ,Cflags: -IP{includedir}/${QT_BASE_NAME}/$(basename $pc .pc) ," \
-e 's:IP{:I${:g' $pc
done
}

View File

@ -1,9 +0,0 @@
require qt4-x11-free.inc
require qt4-${PV}.inc
QT_CONFIG_FLAGS_append_arm = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " -no-neon" ,d)}"
QT_CONFIG_FLAGS += " \
-no-embedded \
-xrandr \
-x11"

View File

@ -1,392 +0,0 @@
inherit qmake_base
DEPENDS += "qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 sqlite3 tiff icu"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
require qt4_arch.inc
QT_DISTRO_FLAGS ?= "-no-accessibility -no-sm"
QT_DISTRO_FLAGS_linuxstdbase = "-sm"
QT_SQL_DRIVER_FLAGS ?= "-no-sql-ibase -no-sql-mysql -no-sql-psql -no-sql-odbc -no-sql-sqlite2 -plugin-sql-sqlite -system-sqlite"
QT_GLFLAGS ?= ""
QT_QT3SUPPORT ?= "-qt3support"
QT_XML ?= "-xmlpatterns"
QT_WEBKIT ?= "-webkit"
QT_PHONON ?= "-no-phonon"
QT_DBUS ?= "-qdbus"
QT_MULTIMEDIA ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', '-pulseaudio', '-no-pulseaudio', d)}"
QT_CONFIG_FLAGS += "-release -no-cups -reduce-relocations \
-shared -no-nas-sound -no-nis \
-system-libjpeg -system-libpng -system-libtiff -system-zlib \
-no-pch -stl -glib -icu \
-no-rpath -silent \
-D USE_QTMULTIMEDIA=1 \
${QT_DBUS} \
${QT_QT3SUPPORT} \
${QT_WEBKIT} \
${QT_PHONON} \
${QT_XML} \
${QT_MULTIMEDIA} \
${QT_SQL_DRIVER_FLAGS} \
${QT_DISTRO_FLAGS} \
${QT_GLFLAGS}"
EXTRA_OEMAKE = "-e"
EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after \
INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \
QMAKESPEC="${QMAKESPEC}" LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \
AR="${TARGET_PREFIX}ar cqs" \
MOC="${STAGING_BINDIR_NATIVE}/moc4" UIC="${STAGING_BINDIR_NATIVE}/uic4" MAKE="make -e"'
export QT_CONF_PATH="${WORKDIR}/qt.conf"
# Library packages
QT_LIB_NAMES = "Qt3Support QtAssistantClient QtCLucene QtCore QtDBus QtDesigner QtDesignerComponents QtGui QtHelp QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg QtTest QtUiTools QtWebKit QtXml QtXmlPatterns phonon QtMultimedia QtOpenVG QtMediaServices QtDeclarative"
QT_EXTRA_LIBS = "pvrQWSWSEGL"
python __anonymous () {
lib_packages = []
dev_packages = []
dbg_packages = []
staticdev_packages = []
for name in d.getVar("QT_LIB_NAMES", True).split():
pkg = d.getVar("QT_BASE_LIB", True) + name.lower().replace("qt", "").replace("_", "-") + "4"
# NOTE: the headers for QtAssistantClient are different
incname = name.replace("QtAssistantClient", "QtAssistant")
d.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s${QT_LIBINFIX}.so.*" % locals())
d.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s${QT_LIBINFIX}.prl
${libdir}/lib%(name)s${QT_LIBINFIX}.la
${libdir}/lib%(name)s${QT_LIBINFIX}.so
${includedir}/${QT_DIR_NAME}/%(incname)s
${libdir}/pkgconfig/%(name)s${QT_LIBINFIX}.pc""" % locals())
d.setVar("FILES_%s-staticdev" % pkg, "${libdir}/lib%(name)s${QT_LIBINFIX}.a" % locals())
d.setVar("FILES_%s-dbg" % pkg, "${libdir}/.debug/lib%(name)s${QT_LIBINFIX}.so*" % locals())
d.setVar("RRECOMMENDS_%s-dbg" % pkg, "${PN}-dbg")
lib_packages.append(pkg)
dev_packages.append("%s-dev" % pkg)
dbg_packages.append("%s-dbg" % pkg)
staticdev_packages.append("%s-staticdev" % pkg)
for name in d.getVar("OTHER_PACKAGES", True).split():
dbg_packages.append("%s-dbg" % name)
staticdev_packages.append("%s-staticdev" % name)
for name in d.getVar("QT_EXTRA_LIBS", True).split():
pkg = d.getVar("QT_BASE_LIB", True) + name.lower().replace("qt", "").replace("_", "-") + "4"
d.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s.so.*" % locals())
d.setVar("FILES_%s-staticdev" % pkg, "${libdir}/lib%(name)s.a" % locals())
d.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s.prl
${libdir}/lib%(name)s.la
${libdir}/lib%(name)s.so
${includedir}/${QT_DIR_NAME}/%(incname)s
${libdir}/pkgconfig/%(name)s.pc""" % locals())
d.setVar("FILES_%s-dbg" % pkg, "${libdir}/.debug/lib%(name)s.so*" % locals())
d.setVar("RRECOMMENDS_%s-dbg" % pkg, "${PN}-dbg")
lib_packages.append(pkg)
dev_packages.append("%s-dev" % pkg)
dbg_packages.append("%s-dbg" % pkg)
staticdev_packages.append("%s-staticdev" % pkg)
d.setVar("LIB_PACKAGES", " ".join(lib_packages))
d.setVar("DEV_PACKAGES", " ".join(dev_packages))
d.setVar("DBG_PACKAGES", " ".join(dbg_packages))
d.setVar("STATICDEV_PACKAGES", " ".join(staticdev_packages))
}
OTHER_PACKAGES = "\
${QT_BASE_NAME}-tools \
${QT_BASE_NAME}-assistant \
${QT_BASE_NAME}-common \
${QT_BASE_NAME}-dbus \
${QT_BASE_NAME}-demos \
${QT_BASE_NAME}-designer \
${QT_BASE_NAME}-examples \
${QT_BASE_NAME}-linguist \
${QT_BASE_NAME}-makeqpf \
${QT_BASE_NAME}-mkspecs \
${QT_BASE_NAME}-pixeltool \
${QT_BASE_NAME}-qmlviewer \
${QT_BASE_NAME}-xmlpatterns \
${QT_BASE_NAME}-qt3to4 \
${QT_BASE_NAME}-qml-plugins"
#We prepend so ${QT_BASE_NAME}-demos-doc comes before ${PN}-doc,so the packaging of FILES_ get done before.
PACKAGES =+ "${QT_BASE_NAME}-demos-doc"
PACKAGES += " \
${LIB_PACKAGES} \
${DEV_PACKAGES} \
${DBG_PACKAGES} \
${STATICDEV_PACKAGES} \
${OTHER_PACKAGES}"
PACKAGES_DYNAMIC += "^${QT_BASE_NAME}-plugin-.* ^${QT_BASE_NAME}-translation-.* ^${QT_BASE_NAME}-phrasebook-.*"
ALLOW_EMPTY_${PN} = "1"
FILES_${PN} = ""
NOAUTOPACKAGEDEBUG = "1"
FILES_${PN}-dev = "${includedir}/${QT_DIR_NAME}/Qt/*"
FILES_${PN}-dbg = "/usr/src/debug/"
FILES_${QT_BASE_NAME}-demos-doc = "${docdir}/${QT_DIR_NAME}/qch/qt.qch"
RRECOMMENDS_${PN} = "${LIB_PACKAGES} ${OTHER_PACKAGES}"
RRECOMMENDS_${PN}-dev = "${DEV_PACKAGES}"
RRECOMMENDS_${PN}-dbg = "${DBG_PACKAGES}"
RRECOMMENDS_${QT_BASE_LIB}core4_append_libc-glibc = " glibc-gconv-utf-16"
RRECOMMENDS_${QT_BASE_NAME}-demos += " \
${QT_BASE_NAME}-examples \
${QT_BASE_NAME}-plugin-sqldriver-sqlite \
${QT_BASE_NAME}-plugin-imageformat-jpeg \
${QT_BASE_NAME}-qml-plugins \
${QT_BASE_NAME}-assistant \
${QT_BASE_NAME}-demos-doc"
RRECOMMENDS_${QT_BASE_NAME}-examples += " \
${QT_BASE_NAME}-plugin-sqldriver-sqlite \
${QT_BASE_NAME}-plugin-imageformat-jpeg \
${QT_BASE_NAME}-qml-plugins"
RRECOMMENDS_${QT_BASE_NAME}-qmlviewer += " \
${QT_BASE_NAME}-qml-plugins"
RRECOMMENDS_${QT_BASE_NAME}-doc += " \
${QT_BASE_NAME}-demos-doc"
RPROVIDES_${QT_BASE_NAME}-tools += "qmake2"
RREPLACES_${QT_BASE_NAME}-tools += "qmake2"
FILES_${QT_BASE_NAME}-tools = "${bindir}/qttracereplay ${bindir}/qdoc* ${bindir}/qmake ${bindir}/moc ${bindir}/uic* ${bindir}/rcc"
FILES_${QT_BASE_NAME}-tools-dbg = "${bindir}/.debug/qttracereplay ${bindir}/.debug/qdoc* ${bindir}/.debug/qmake ${bindir}/.debug/uic* ${bindir}/.debug/moc ${bindir}/.debug/rcc"
FILES_${QT_BASE_NAME}-assistant = "${bindir}/*assistant* ${bindir}/qcollectiongenerator ${bindir}/qhelpconverter ${bindir}/qhelpgenerator"
FILES_${QT_BASE_NAME}-assistant-dbg = "${bindir}/.debug/*assistant* ${bindir}/.debug/qcollectiongenerator ${bindir}/.debug/qhelpconverter ${bindir}/.debug/qhelpgenerator"
FILES_${QT_BASE_NAME}-common = "${bindir}/qtconfig"
FILES_${QT_BASE_NAME}-common-dbg = "${bindir}/.debug/qtconfig"
FILES_${QT_BASE_NAME}-dbus = "${bindir}/qdbus ${bindir}/qdbusxml2cpp ${bindir}/qdbuscpp2xml ${bindir}/qdbusviewer"
FILES_${QT_BASE_NAME}-dbus-dbg = "${bindir}/.debug/qdbus ${bindir}/.debug/qdbusxml2cpp ${bindir}/.debug/qdbuscpp2xml ${bindir}/.debug/qdbusviewer"
FILES_${QT_BASE_NAME}-demos = "${bindir}/qtdemo* ${bindir}/${QT_DIR_NAME}/demos/*"
FILES_${QT_BASE_NAME}-demos-staticdev = "${bindir}/${QT_DIR_NAME}/demos/shared/libdemo_shared.a"
FILES_${QT_BASE_NAME}-demos-dbg = "${bindir}/.debug/qtdemo* ${bindir}/${QT_DIR_NAME}/demos/.debug/* ${bindir}/${QT_DIR_NAME}/demos/*/.debug ${bindir}/${QT_DIR_NAME}/demos/*/*/.debug ${bindir}/${QT_DIR_NAME}/demos/*/*/*/.debug"
FILES_${QT_BASE_NAME}-designer = "${bindir}/*designer*"
FILES_${QT_BASE_NAME}-designer-dbg = "${bindir}/.debug/*designer*"
FILES_${QT_BASE_NAME}-examples = "${bindir}/${QT_DIR_NAME}/examples/*"
FILES_${QT_BASE_NAME}-examples-staticdev = "${bindir}/${QT_DIR_NAME}/examples/tools/plugandpaint/plugins/libpnp_basictools.a"
FILES_${QT_BASE_NAME}-examples-dbg = "${bindir}/${QT_DIR_NAME}/examples/.debug ${bindir}/${QT_DIR_NAME}/examples/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/declarative/*/*/*/*/*/.debug/* ${bindir}/${QT_DIR_NAME}/examples/declarative/*/*/*/*/.debug/*"
FILES_${QT_BASE_NAME}-linguist = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/lconvert ${bindir}/qm2ts"
FILES_${QT_BASE_NAME}-linguist-dbg = "${bindir}/.debug/*linguist* ${bindir}/.debug/lrelease ${bindir}/.debug/lupdate ${bindir}/.debug/lconvert ${bindir}/.debug/qm2ts"
FILES_${QT_BASE_NAME}-pixeltool = "${bindir}/pixeltool"
FILES_${QT_BASE_NAME}-pixeltool-dbg = "${bindir}/.debug/pixeltool"
FILES_${QT_BASE_NAME}-qt3to4 = "${bindir}/qt3to4 ${datadir}/${QT_DIR_NAME}/q3porting.xml"
FILES_${QT_BASE_NAME}-qt3to4-dbg = "${bindir}/.debug/qt3to4"
FILES_${QT_BASE_NAME}-qmlviewer = "${bindir}/qmlviewer"
FILES_${QT_BASE_NAME}-qmlviewer-dbg = "${bindir}/.debug/qmlviewer"
FILES_${QT_BASE_NAME}-makeqpf = "${bindir}/makeqpf"
FILES_${QT_BASE_NAME}-makeqpf-dbg = "${bindir}/.debug/makeqpf"
FILES_${QT_BASE_NAME}-mkspecs = "${datadir}/${QT_DIR_NAME}/mkspecs/* ${datadir}/${QT_DIR_NAME}/environment-setup"
FILES_${QT_BASE_NAME}-xmlpatterns = "${bindir}/xmlpatterns*"
FILES_${QT_BASE_NAME}-xmlpatterns-dbg = "${bindir}/.debug/xmlpatterns*"
FILES_${QT_BASE_NAME}-qml-plugins = "${libdir}/${QT_DIR_NAME}/imports/* ${libdir}/${QT_DIR_NAME}/plugins/qmltooling/*"
FILES_${QT_BASE_NAME}-qml-plugins-dbg = "${libdir}/${QT_DIR_NAME}/imports/*/*/*/.debug/* ${libdir}/${QT_DIR_NAME}/imports/*/.debug ${libdir}/${QT_DIR_NAME}/plugins/qmltooling/.debug"
INSANE_SKIP_${MLPREFIX}${QT_BASE_NAME}-examples += "libdir"
INSANE_SKIP_${MLPREFIX}${QT_BASE_NAME}-examples-dbg += "libdir"
# License options, to be set by the recipe if different values are needed
QT_LICENSE_FILE ?= ""
QT_LICENSE_FLAGS ?= "-opensource"
do_configure() {
unset QMAKESPEC
unset QTDIR
set_arch
set_endian
if [ ! -e bin/qmake ]; then
ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
fi
if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
fi
if [ -f mkspecs/common/g++-unix.conf ] ; then
# mkspecs were refactored for 4.8.0
cp -f ${WORKDIR}/g++.conf mkspecs/common/g++-unix.conf
else
cp -f ${WORKDIR}/g++.conf mkspecs/common/g++.conf
fi
cp -f ${WORKDIR}/linux.conf mkspecs/common/
echo "[Paths]" > $QT_CONF_PATH
echo "Prefix=${prefix}" >> $QT_CONF_PATH
echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
echo "Headers=${includedir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
echo "Libraries=${libdir}" >> $QT_CONF_PATH
echo "Binaries=${bindir}" >> $QT_CONF_PATH
echo "Plugins=${libdir}/${QT_DIR_NAME}/plugins" >> $QT_CONF_PATH
echo "Imports=${libdir}/${QT_DIR_NAME}/imports" >> $QT_CONF_PATH
echo "Data=${datadir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH
echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH
echo "Demos=${bindir}/${QT_DIR_NAME}/demos" >> $QT_CONF_PATH
${EXTRA_QMAKE_MUNGE}|| true
echo yes | QT_LICENSE_FILE="${QT_LICENSE_FILE}" ./configure -v \
-prefix ${prefix} \
-bindir ${bindir} \
-libdir ${libdir} \
-datadir ${datadir}/${QT_DIR_NAME} \
-sysconfdir ${sysconfdir}/${QT_DIR_NAME} \
-docdir ${docdir}/${QT_DIR_NAME} \
-headerdir ${includedir}/${QT_DIR_NAME} \
-plugindir ${libdir}/${QT_DIR_NAME}/plugins \
-importdir ${libdir}/${QT_DIR_NAME}/imports \
-translationdir ${datadir}/${QT_DIR_NAME}/translations \
-examplesdir ${bindir}/${QT_DIR_NAME}/examples \
-demosdir ${bindir}/${QT_DIR_NAME}/demos \
-platform ${TARGET_OS}-oe-g++ \
-xplatform ${TARGET_OS}-oe-g++ \
${QT_ENDIAN} \
-crossarch ${QT_ARCH} \
${QT_LICENSE_FLAGS} \
${QT_CONFIG_FLAGS} -no-fast \
-L${STAGING_LIBDIR} -I${STAGING_INCDIR} \
-I${STAGING_INCDIR}/freetype2
}
do_compile() {
# Fixup missing wsegl header in some SGX SDKs
if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then
cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/
fi
unset CFLAGS CXXFLAGS
oe_runmake ${EXTRA_ENV}
# Build target qmake
export QMAKESPEC="${S}/mkspecs/${TARGET_OS}-oe-g++"
cd ${S}/qmake
${OE_QMAKE_QMAKE}
oe_runmake CC="${CC}" CXX="${CXX}"
cd ${S}
}
python populate_packages_prepend() {
translation_dir = d.expand('${datadir}/${QT_DIR_NAME}/translations/')
translation_name = d.expand('${QT_BASE_NAME}-translation-%s')
do_split_packages(d, translation_dir, '^(assistant|designer|linguist|qt|qtconfig|qvfb|qtscript)_(.*)\.qm$', translation_name, '${PN} translation for %s', extra_depends='' )
phrasebook_dir = d.expand('${datadir}/${QT_DIR_NAME}/phrasebooks/')
phrasebook_name = d.expand('${QT_BASE_NAME}-phrasebook-%s')
if os.path.exists("%s%s" % (d.expand('${D}'), phrasebook_dir)):
do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' )
else:
bb.note("The path does not exist:", d.expand('${D}'), phrasebook_dir)
# Package all the plugins and their -dbg version and create a meta package
def qtopia_split(path, name, glob):
"""
Split the package into a normal and -dbg package and then add the
new packages to the meta package.
"""
plugin_dir = d.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/' % path)
if not os.path.exists("%s%s" % (d.expand('${D}'), plugin_dir)):
bb.note("The path does not exist:", d.expand('${D}'), plugin_dir)
return
plugin_name = d.expand('${QT_BASE_NAME}-plugin-%s-%%s' % name)
dev_packages = []
dev_hook = lambda file,pkg,b,c,d:dev_packages.append((file,pkg))
do_split_packages(d, plugin_dir, glob, plugin_name, '${PN} %s for %%s' % name, extra_depends='', hook=dev_hook)
# Create a -dbg package as well
plugin_dir_dbg = d.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/.debug' % path)
packages = d.getVar('PACKAGES', False)
for (file,package) in dev_packages:
packages = "%s %s-dbg" % (packages, package)
file_name = os.path.join(plugin_dir_dbg, os.path.basename(file))
d.setVar("FILES_%s-dbg" % package, file_name)
d.setVar("DESCRIPTION_%s-dbg" % package, "${PN} %s for %s" % (name, package))
d.setVar('PACKAGES', packages)
qtopia_split('accessible', 'accessible', '^libq(.*)\.so$')
qtopia_split('codecs', 'codec', '^libq(.*)\.so$')
qtopia_split('decorations', 'decoration', '^libqdecoration(.*)\.so$')
qtopia_split('designer', 'designer', '^lib(.*)\.so$')
qtopia_split('gfxdrivers', 'gfxdriver', '^libq(.*)\.so$')
qtopia_split('graphicssystems','graphicssystems', '^libq(.*)\.so$')
qtopia_split('kbddrivers', 'kbddriver', '^libq(.*)kbddriver\.so$')
qtopia_split('mousedrivers', 'mousedriver', '^libq(.*)mousedriver\.so$')
qtopia_split('iconengines', 'iconengine', '^libq(.*)\.so$')
qtopia_split('imageformats', 'imageformat', '^libq(.*)\.so$')
qtopia_split('inputmethods', 'inputmethod', '^libq(.*)\.so$')
qtopia_split('sqldrivers', 'sqldriver', '^libq(.*)\.so$')
qtopia_split('script', 'script', '^libqtscript(.*)\.so$')
qtopia_split('styles', 'style', '^libq(.*)\.so$')
qtopia_split('phonon_backend','phonon-backend','^libphonon_(.*)\.so$')
qtopia_split('bearer', 'bearer', '^libq(.*)bearer\.so$')
}
do_install() {
oe_runmake install INSTALL_ROOT=${D}
# Install a proper target version of qmake
rm ${D}/${bindir}/qmake
install -m 0755 bin/qmake2 ${D}${bindir}/qmake
# fix pkgconfig, libtool and prl files
sed -i -e 's#-L${S}/lib/\?##g' \
-e 's#-L${STAGING_LIBDIR}/\?##g' \
-e 's#STAGING_LIBDIR}#libdir}'#g \
-e 's#-L${libdir}/\?##g' \
-e s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g \
-e 's#" -Wl,-rpath-link,${S}/lib/\?"##g' \
-e 's#" -Wl,-rpath-link,${libdir}/\?"##g' \
-e 's#Iin#I${in#g' \
-e 's#-L\.\./\.\./WebCore/release\s\+-L\.\./\.\./JavaScriptCore/release\s\+-lwebcore##g' \
-e 's#-ljscore##g' \
${D}${libdir}/*.la ${D}${libdir}/*.prl ${D}${libdir}/pkgconfig/*.pc
# fix pkgconfig files
sed -i -e s#"moc_location=.*$"#"moc_location=${bindir}/moc4"# \
-e s#"uic_location=.*$"#"uic_location=${bindir}/uic4"# \
${D}${libdir}/pkgconfig/*.pc
for name in ${QT_LIB_NAMES}; do
sed -i -e /Requires/s#"${name}"#"${name}${QT_LIBINFIX}"#g ${D}${libdir}/pkgconfig/*.pc
done
# QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so manually fix it up here:
for pc in ${D}${libdir}/pkgconfig/*.pc ; do
sed -i -e "s:prefix}/include/${QT_DIR_NAME}/$(basename $pc .pc):prefix}/include:" \
-e 's:IP{:I${:g' $pc
done
#Append an E to the qtdemo file
if [ -n "${QT_LIBINFIX}" ] ; then
[ -f ${D}${bindir}/qtdemo ] && mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX}
fi
script="${D}/${datadir}/${QT_DIR_NAME}/environment-setup"
touch $script
echo 'export QT_DIR_NAME=${QT_DIR_NAME}' >> $script
echo 'export QT_LIBINFIX=${QT_LIBINFIX}' >> $script
echo 'export OE_QMAKE_AR=ar' >> $script
echo 'export OE_QMAKE_CC=gcc' >> $script
echo 'export OE_QMAKE_CXX=g++' >> $script
echo 'export OE_QMAKE_LINK=g++' >> $script
echo 'export OE_QMAKE_LIBDIR_QT=${libdir}' >> $script
echo 'export OE_QMAKE_INCDIR_QT=${includedir}/${QT_DIR_NAME}' >> $script
echo 'export OE_QMAKE_MOC=${bindir}/moc' >> $script
echo 'export OE_QMAKE_UIC=${bindir}/uic' >> $script
echo 'export OE_QMAKE_UIC3=${bindir}/uic3' >> $script
echo 'export OE_QMAKE_RCC=${bindir}/rcc' >> $script
echo 'export OE_QMAKE_QDBUSCPP2XML=${bindir}/qdbuscpp2xml' >> $script
echo 'export OE_QMAKE_QDBUSXML2CPP=${bindir}/qdbusxml2cpp' >> $script
echo 'export OE_QMAKE_QT_CONFIG=${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script
echo 'export QMAKESPEC=${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script
chmod 0755 $script
}

View File

@ -1,22 +0,0 @@
inherit siteinfo
ARM_INSTRUCTION_SET = "arm"
set_arch() {
case ${TARGET_ARCH} in
aarch64*) QT_ARCH=aarch64 ;;
arm*) QT_ARCH=arm ;;
i*86*) QT_ARCH=i386 ;;
mips*) QT_ARCH=mips ;;
powerpc*) QT_ARCH=powerpc ;;
x86_64*) QT_ARCH=x86_64 ;;
esac
}
set_endian() {
if [ ${SITEINFO_ENDIANNESS} = "le" ] ; then
QT_ENDIAN="-little-endian"
elif [ ${SITEINFO_ENDIANNESS} = "be" ] ; then
QT_ENDIAN="-big-endian"
fi
}

View File

@ -4,11 +4,7 @@ DESCRIPTION = "Image with Sato support that includes everything within \
core-image-sato plus meta-toolchain, development headers and libraries to \
form a standalone SDK."
QT4PKG = "qt4-pkgs"
QT4PKG_mips64 = ""
QT4PKG_mips64n32 = ""
IMAGE_FEATURES += "dev-pkgs tools-sdk ${QT4PKG} \
IMAGE_FEATURES += "dev-pkgs tools-sdk \
tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks ssh-server-openssh"
IMAGE_INSTALL += "kernel-devsrc"

View File

@ -10,6 +10,5 @@ recipes-kernel - The kernel and generic applications/libraries with strong
recipes-lsb4 - Recipes added for the sole purpose of supporting the Linux Standard Base (LSB) 4.x
recipes-multimedia - Codecs and support utilties for audio, images and video
recipes-rt - Provides package and image recipes for using and testing the PREEMPT_RT kernel
recipes-qt - All things related to the Qt application framework
recipes-sato - The Sato demo/reference UI/UX, its associated apps and configuration
recipes-support - Recipes used by other recipes but that are not directly included in images