From a8f98959ef6881d571fa35201cd6721067a3204b Mon Sep 17 00:00:00 2001 From: Donald Carr Date: Thu, 24 Mar 2016 18:37:57 -0700 Subject: Make CFLAGS/CXXFLAGS behave consistently in config.tests The journald test was failing as sysroot was not being passed to the compiler in the compile test. This is due to the fact we were explicitly defining sysroot in the CXXFLAGS and not in CFLAGS. Change-Id: I4b4bda71f9aabc8e420e0e89ff3cc8fa3bbca201 Reviewed-by: Oswald Buddenhagen --- config.tests/unix/compile.test | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'config.tests') diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test index 65bc874617..b94e3d7ab0 100755 --- a/config.tests/unix/compile.test +++ b/config.tests/unix/compile.test @@ -13,6 +13,7 @@ DESCRIPTION=$7 shift 7 LFLAGS="$SYSROOT_FLAG" INCLUDEPATH="" +CFLAGS="$SYSROOT_FLAG" CXXFLAGS="$SYSROOT_FLAG" MAC_ARCH_CXXFLAGS="" MAC_ARCH_LFLAGS="" @@ -28,12 +29,14 @@ while [ "$#" -gt 0 ]; do shift ;; -arch) + MAC_ARCH_CFLAGS="$MAC_ARCH_CFLAGS -arch $2" MAC_ARCH_CXXFLAGS="$MAC_ARCH_CXXFLAGS -arch $2" MAC_ARCH_LFLAGS="$MAC_ARCH_LFLAGS -arch $2" shift ;; -F*|-m*|-x*) LFLAGS="$LFLAGS \"$PARAM\"" + CFLAGS="$CFLAGS \"$PARAM\"" CXXFLAGS="$CXXFLAGS \"$PARAM\"" ;; -L*|-l*|-pthread) @@ -44,10 +47,12 @@ while [ "$#" -gt 0 ]; do INCLUDEPATH="$INCLUDEPATH \"$INC\"" ;; -f*|-D*) + CFLAGS="$CFLAGS \"$PARAM\"" CXXFLAGS="$CXXFLAGS \"$PARAM\"" ;; -Qoption) # Two-argument form for the Sun Compiler + CFLAGS="$CFLAGS $PARAM \"$2\"" CXXFLAGS="$CXXFLAGS $PARAM \"$2\"" shift ;; @@ -67,7 +72,7 @@ test -r Makefile && $MAKE distclean >/dev/null 2>&1 # Make sure output from possible previous tests is gone rm -f "$EXE" "${EXE}.exe" -set -- "$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG+=android_app" "CONFIG-=debug_and_release app_bundle lib_bundle" "LIBS+=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" +set -- "$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG+=android_app" "CONFIG-=debug_and_release app_bundle lib_bundle" "LIBS+=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CFLAGS*=$CFLAGS" "QMAKE_CFLAGS+=$MAC_ARCH_CFLAGS" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" if [ "$VERBOSE" = "yes" ]; then OUTDIR=$OUTDIR "$@" && $MAKE && SUCCESS=yes else -- cgit v1.2.3 From 2693ca59e197651c05934daaf2b29e7386746140 Mon Sep 17 00:00:00 2001 From: Donald Carr Date: Wed, 30 Mar 2016 10:35:51 -0700 Subject: Adjust egl config.test to pass sysrooted libs We should really start using -L=/foo and -I=/foo inside of sysroots, this test was preventing us from doing so (while arguably buying us nothing). Change-Id: If6e67631c585493871231e5d8a9354fa72e07343 Reviewed-by: Laszlo Agocs Reviewed-by: Oswald Buddenhagen --- config.tests/qpa/egl-x11/egl-x11.pro | 2 +- config.tests/qpa/egl/egl.pro | 2 +- config.tests/qpa/eglfs-brcm/eglfs-brcm.pro | 2 +- config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro | 2 +- config.tests/unix/opengles2/opengles2.pro | 2 +- config.tests/unix/opengles3/opengles3.pro | 2 +- config.tests/unix/opengles31/opengles31.pro | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) (limited to 'config.tests') diff --git a/config.tests/qpa/egl-x11/egl-x11.pro b/config.tests/qpa/egl-x11/egl-x11.pro index c4e94ca40c..aceb03dd78 100644 --- a/config.tests/qpa/egl-x11/egl-x11.pro +++ b/config.tests/qpa/egl-x11/egl-x11.pro @@ -1,7 +1,7 @@ SOURCES = egl-x11.cpp for(p, QMAKE_LIBDIR_EGL) { - exists($$p):LIBS += -L$$p + LIBS += -L$$p } !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL diff --git a/config.tests/qpa/egl/egl.pro b/config.tests/qpa/egl/egl.pro index f04d053543..b5396dab15 100644 --- a/config.tests/qpa/egl/egl.pro +++ b/config.tests/qpa/egl/egl.pro @@ -1,7 +1,7 @@ SOURCES = egl.cpp for(p, QMAKE_LIBDIR_EGL) { - exists($$p):LIBS += -L$$p + LIBS += -L$$p } !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL diff --git a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro index ce16a3a391..d8b1c3ec7e 100644 --- a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro +++ b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro @@ -5,7 +5,7 @@ CONFIG -= qt INCLUDEPATH += $$QMAKE_INCDIR_EGL for(p, QMAKE_LIBDIR_EGL) { - exists($$p):LIBS += -L$$p + LIBS += -L$$p } LIBS += -lEGL -lGLESv2 -lbcm_host diff --git a/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro b/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro index 87214abc7a..521a911219 100644 --- a/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro +++ b/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro @@ -1,7 +1,7 @@ SOURCES = eglfs-egldevice.cpp for(p, QMAKE_LIBDIR_EGL) { - exists($$p):LIBS += -L$$p + LIBS += -L$$p } INCLUDEPATH += $$QMAKE_INCDIR_EGL diff --git a/config.tests/unix/opengles2/opengles2.pro b/config.tests/unix/opengles2/opengles2.pro index c4d76895a8..da30b453c6 100644 --- a/config.tests/unix/opengles2/opengles2.pro +++ b/config.tests/unix/opengles2/opengles2.pro @@ -2,7 +2,7 @@ SOURCES = opengles2.cpp INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES2 for(p, QMAKE_LIBDIR_OPENGL_ES2) { - exists($$p):LIBS += -L$$p + LIBS += -L$$p } CONFIG -= qt diff --git a/config.tests/unix/opengles3/opengles3.pro b/config.tests/unix/opengles3/opengles3.pro index 6942b57327..720985f14d 100644 --- a/config.tests/unix/opengles3/opengles3.pro +++ b/config.tests/unix/opengles3/opengles3.pro @@ -6,7 +6,7 @@ SOURCES = opengles3.cpp INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES2 for(p, QMAKE_LIBDIR_OPENGL_ES2) { - exists($$p):LIBS += -L$$p + LIBS += -L$$p } CONFIG -= qt diff --git a/config.tests/unix/opengles31/opengles31.pro b/config.tests/unix/opengles31/opengles31.pro index 1df9cedfcd..225180e1c6 100644 --- a/config.tests/unix/opengles31/opengles31.pro +++ b/config.tests/unix/opengles31/opengles31.pro @@ -6,7 +6,7 @@ SOURCES = opengles31.cpp INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES2 for(p, QMAKE_LIBDIR_OPENGL_ES2) { - exists($$p):LIBS += -L$$p + LIBS += -L$$p } CONFIG -= qt -- cgit v1.2.3 From 33044b83c261c485faa0a6f367773138f9892f76 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Wed, 16 Dec 2015 15:52:28 +0100 Subject: Add color font support on Windows Detect if DirectWrite 2 is available, and support color fonts if possible. One limitation worth mentioning is that if the color font contains regular, monochrome glyphs as well, then these will be drawn in black, and not in the pen color. Fixing this would require some elaborate rewrites in the font rendering system, since we would have to have two font caches per color font (one for mono and one for colors), or do some sort of trick where we make argb(r, g, b, 0) mean subpixel alpha instead, and detect glyphs that are not correctly premultiplied when blitting to the screen. Another limitation is that the approach does not work with distance field rendering. In principle we could support this on Windows, since the format is vector based, but it would also require substantial work and it is not possible to support for Apple/Google fonts anyway, so it would just lead to code which is not cross-platform. [ChangeLog][Windows] Added support for color fonts (color emojis) when DirectWrite 2 is available. Change-Id: I6a608dd5d2aa3a7e762a06830902bddac7c550a5 Reviewed-by: Simon Hausmann --- config.tests/win/directwrite2/directwrite2.cpp | 50 ++++++++++++++++++++++++++ config.tests/win/directwrite2/directwrite2.pro | 4 +++ 2 files changed, 54 insertions(+) create mode 100644 config.tests/win/directwrite2/directwrite2.cpp create mode 100644 config.tests/win/directwrite2/directwrite2.pro (limited to 'config.tests') diff --git a/config.tests/win/directwrite2/directwrite2.cpp b/config.tests/win/directwrite2/directwrite2.cpp new file mode 100644 index 0000000000..06becaff70 --- /dev/null +++ b/config.tests/win/directwrite2/directwrite2.cpp @@ -0,0 +1,50 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the config.tests of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include + +int main(int, char**) +{ + IUnknown *factory = 0; + DWriteCreateFactory(DWRITE_FACTORY_TYPE_SHARED, + __uuidof(IDWriteFactory2), + &factory); + return 0; +} diff --git a/config.tests/win/directwrite2/directwrite2.pro b/config.tests/win/directwrite2/directwrite2.pro new file mode 100644 index 0000000000..ec37247017 --- /dev/null +++ b/config.tests/win/directwrite2/directwrite2.pro @@ -0,0 +1,4 @@ +SOURCES = directwrite2.cpp +LIBS += -ldwrite +CONFIG -= qt +CONFIG += console -- cgit v1.2.3 From 9b35b0e8dc6069aed563d0aca61c973eb307d772 Mon Sep 17 00:00:00 2001 From: Rolland Dudemaine Date: Fri, 11 Mar 2016 15:05:56 +0100 Subject: Make the eglfs and eglfs-viv detection and build work for INTEGRITY. The majority of these changes is about #ifdef-ing the Linux-specific use of /dev/fb0. The display handle is also acquired using fbGetDisplay(), which is equivalent to fbGetDisplayByIndex(0) but is also portable. Change-Id: I6f460edc9c06ae7461a6aab2a816ac6f645208c4 Reviewed-by: Andy Nichols --- config.tests/qpa/eglfs-viv/eglfs-viv.cpp | 2 +- config.tests/qpa/eglfs-viv/eglfs-viv.pro | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'config.tests') diff --git a/config.tests/qpa/eglfs-viv/eglfs-viv.cpp b/config.tests/qpa/eglfs-viv/eglfs-viv.cpp index 4b08322d66..a41c482b67 100644 --- a/config.tests/qpa/eglfs-viv/eglfs-viv.cpp +++ b/config.tests/qpa/eglfs-viv/eglfs-viv.cpp @@ -43,6 +43,6 @@ int main(int, char **) { - fbGetDisplayByIndex(0); + fbGetDisplay(); return 0; } diff --git a/config.tests/qpa/eglfs-viv/eglfs-viv.pro b/config.tests/qpa/eglfs-viv/eglfs-viv.pro index 99776940ec..3b36dc533f 100644 --- a/config.tests/qpa/eglfs-viv/eglfs-viv.pro +++ b/config.tests/qpa/eglfs-viv/eglfs-viv.pro @@ -1,6 +1,16 @@ SOURCES = eglfs-viv.cpp -DEFINES += LINUX=1 EGL_API_FB=1 - +integrity { + DEFINES += EGL_API_FB=1 +} else { + DEFINES += LINUX=1 EGL_API_FB=1 +} CONFIG -= qt LIBS += -lEGL -lGLESv2 -lGAL + +for(p, QMAKE_LIBDIR_OPENGL_ES2) { + exists($$p):LIBS += -L$$p +} + +!isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL +!isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL -- cgit v1.2.3