Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/5.7' into dev
Browse files Browse the repository at this point in the history
Conflicts:
	src/corelib/global/qglobal.cpp
	src/corelib/global/qsysinfo.h
	src/corelib/kernel/qcoreapplication_win.cpp
	src/gui/text/qdistancefield.cpp
	src/gui/text/qdistancefield_p.h
	src/plugins/platforms/windows/qwindowsglcontext.cpp
	src/plugins/platforms/windows/qwindowsglcontext.h

Change-Id: Ib3500acc2b28553bde06758cd9a2e19eb7fe2978
  • Loading branch information
liangqi committed Jun 21, 2016
2 parents a2f319e + 5f0ec73 commit ea438b2
Show file tree
Hide file tree
Showing 87 changed files with 974 additions and 573 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ wrapper.sh
wrapper.bat
core
.qmake.cache
.qmake.stash
.qmake.vars
.device.vars
*.prl
Expand Down Expand Up @@ -118,6 +119,7 @@ mkspecs/default-host
mkspecs/qconfig.pri
mkspecs/qdevice.pri
mkspecs/qfeatures.pri
mkspecs/qhost.pri
moc_*.cpp
qmake/qmake.exe
qmake/Makefile.bak
Expand Down Expand Up @@ -203,6 +205,7 @@ tools/qvfb/qwssignalhandler_p.h
.rcc
*.app
config.status
config.tests/common/c++default/c++default.ii
config.tests/unix/cups/cups
config.tests/unix/getaddrinfo/getaddrinfo
config.tests/unix/getifaddrs/getifaddrs
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.GPLv3
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/

You may use, distribute and copy the Qt GUI Toolkit under the terms of
You may use, distribute and copy the Qt Toolkit under the terms of
GNU Lesser General Public License version 3. That license references
the General Public License version 3, that is displayed below. Other
portions of the Qt Toolkit may be licensed directly under this license.
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.LGPLv21
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
The Qt Toolkit is Copyright (C) 2016 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/

You may use, distribute and copy the Qt GUI Toolkit under the terms of
You may use, distribute and copy the Qt Toolkit under the terms of
GNU Lesser General Public License version 2.1, which is displayed below.

-------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.LGPLv3
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
The Qt Toolkit is Copyright (C) 2016 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/

You may use, distribute and copy the Qt GUI Toolkit under the terms of
You may use, distribute and copy the Qt Toolkit under the terms of
GNU Lesser General Public License version 3, which is displayed below.
This license makes reference to the version 3 of the GNU General
Public License, which you can find in the LICENSE.GPLv3 file.
Expand Down
6 changes: 6 additions & 0 deletions config.tests/arch/arch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,12 @@ const char msg2[] = "==Qt=magic=Qt== Sub-architecture:"
// -- POWER, PowerPC --
#ifdef __ALTIVEC__
" altivec"
#endif
#ifdef __SPE__
" spe"
#endif
#ifdef __VSX__
" vsx"
#endif
"";

Expand Down
2 changes: 1 addition & 1 deletion configure.bat
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ echo QT_VERSION_MINOR = %QTVERMIN% >> Makefile
echo QT_VERSION_PATCH = %QTVERPAT% >> Makefile
if not "%icl.exe%" == "" (
echo CXX = icl>>Makefile
echo EXTRA_CXXFLAGS = /Zc:forScope>>Makefile
echo EXTRA_CXXFLAGS = /Qstd=c++11 /Zc:forScope>>Makefile
rem This must have a trailing space.
echo QTSRC = %QTSRC% >> Makefile
set tmpl=win32
Expand Down
30 changes: 30 additions & 0 deletions mkspecs/common/bsd/bsd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#
# common qmake configuration for *BSD
#

MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM += bsd

include(../unix.conf)

QMAKE_CFLAGS_THREAD = -pthread

QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD

QMAKE_LFLAGS_THREAD = -pthread
QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections

QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD =
QMAKE_LIBS_EXECINFO = -lexecinfo
QMAKE_LIBS_X11 = -lXext -lX11 -lm
QMAKE_LIBS_OPENGL = -lGL
QMAKE_LIBS_THREAD =

QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB =

QMAKE_STRIP = strip
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
79 changes: 79 additions & 0 deletions mkspecs/common/bsd/qplatformdefs.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the qmake spec of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 or version 3 as published by the Free
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
** following information to ensure the GNU Lesser General Public License
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** As a special exception, The Qt Company gives you certain additional
** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
**
****************************************************************************/

#ifndef Q_BSD_PLATFORMDEFS_H
#define Q_BSD_PLATFORMDEFS_H

// Get Qt defines/settings

#include "qglobal.h"

// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs

#include <unistd.h>


// We are hot - unistd.h should have turned on the specific APIs we requested


#include <pthread.h>
#include <dirent.h>
#include <fcntl.h>
#include <grp.h>
#include <pwd.h>
#include <signal.h>
#include <dlfcn.h>

#include <sys/param.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/ipc.h>
#include <sys/time.h>
#include <sys/shm.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <netinet/in.h>
#ifndef QT_NO_IPV6IFNAME
#include <net/if.h>
#endif

#include "../posix/qplatformdefs.h"

#undef QT_OPEN_LARGEFILE
#define QT_OPEN_LARGEFILE 0

#define QT_SNPRINTF ::snprintf
#define QT_VSNPRINTF ::vsnprintf

#endif // QPLATFORMDEFS_H
2 changes: 1 addition & 1 deletion mkspecs/common/macx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# qmake configuration for common OS X
#

QMAKE_PLATFORM += osx macx
QMAKE_PLATFORM += macos osx macx
QMAKE_MAC_SDK = macosx

include(mac.conf)
2 changes: 1 addition & 1 deletion mkspecs/darwin-g++/qmake.conf
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#

MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = osx macx mac darwin
QMAKE_PLATFORM = macos osx macx mac darwin
CONFIG += native_precompiled_headers
DEFINES += __USE_WS_X11__

Expand Down
7 changes: 3 additions & 4 deletions mkspecs/devices/linux-rpi3-g++/qmake.conf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# qmake configuration for the Raspberry Pi 3
# qmake configuration for the Raspberry Pi 3 (32-bit) using the Broadcom graphics stack

include(../common/linux_device_pre.conf)

Expand Down Expand Up @@ -27,9 +27,8 @@ QMAKE_LIBS_OPENGL_ES2 = $${VC_LINK_LINE} -lGLESv2
# The official opt vc EGL references GLESv2 symbols: need to link it
QMAKE_LIBS_EGL = $${VC_LINK_LINE} -lEGL -lGLESv2

# We deliberately override the existing Qt CFLAGS as they might be problematic
QMAKE_CFLAGS = -march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -pipe -Os -mthumb
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -std=c++1z
QMAKE_CFLAGS = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS

DISTRO_OPTS += hard-float
DISTRO_OPTS += deb-multi-arch
Expand Down
44 changes: 44 additions & 0 deletions mkspecs/devices/linux-rpi3-vc4-g++/qmake.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# qmake configuration for the Raspberry Pi 3 (32-bit) using the
# *experimental* VC4 driver for Mesa and DRM.
#
# This should allow accelerated EGL and OpenGL with eglfs via
# KMS/DRM/GBM (instead of the Broadcom-specific backend), under X11
# with xcb, and also enables (Qt)Wayland via the standard wayland-egl
# path. See https://dri.freedesktop.org/wiki/VC4
#
# Note that this is not the same as the default, Broadcom proprietary
# driver. Some functionality and extensions may therefore be missing,
# in particular when it comes to accelerated multimedia (video,
# camera).
#
# At the time of writing Raspbian has to be switched explicitly to the
# experimental VC4 driver. To do this, run raspi-config and enable it
# in Advanced Options -> GL Driver.
#
# Example configure command below. We disable using the GNU gold
# linker as it apparently has issues with ARMv8. In the configure
# output check that "EGLFS GBM .......... yes" is present, otherwise
# eglfs will not be functional.
#
# ./configure -release -opengl es2 -device linux-rpi3-vc4-g++ \
# -device-option CROSS_COMPILE=~/raspbian/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- \
# -sysroot ~/raspbian/sysroot \
# -prefix /usr/local/qt5pi -extprefix ~/raspbian/qt5pi -hostprefix ~/raspbian/qt5 \
# -v -nomake examples -nomake tests -no-use-gold-linker

include(../common/linux_device_pre.conf)

QMAKE_LIBS_EGL += -lEGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL

QMAKE_CFLAGS = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS

DISTRO_OPTS += hard-float
DISTRO_OPTS += deb-multi-arch

EGLFS_DEVICE_INTEGRATION = eglfs_kms

include(../common/linux_arm_device_post.conf)

load(qt_config)
34 changes: 34 additions & 0 deletions mkspecs/devices/linux-rpi3-vc4-g++/qplatformdefs.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the qmake spec of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 or version 3 as published by the Free
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
** following information to ensure the GNU Lesser General Public License
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** As a special exception, The Qt Company gives you certain additional
** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
**
****************************************************************************/

#include "../../linux-g++/qplatformdefs.h"
7 changes: 4 additions & 3 deletions mkspecs/features/default_pre.prf
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,11 @@ isEmpty(QMAKE_DEFAULT_INCDIRS):!host_build {
QMAKE_DEFAULT_LIBDIRS += $$clean_path($$path)
} else: contains(line, "$${LITERAL_HASH}include <.*") { # #include <...> search starts here:
add_includes = true
} else: contains(line, "End of search list.*") {
} else: contains(line, "End of search.*") {
add_includes = false
} else {
$$add_includes: QMAKE_DEFAULT_INCDIRS += $$clean_path($$line)
} else: $$add_includes {
!contains(line, ".* \\(framework directory\\)"): \
QMAKE_DEFAULT_INCDIRS += $$clean_path($$line)
}
}
QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS)
Expand Down
2 changes: 1 addition & 1 deletion mkspecs/features/qml_plugin.prf
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ TEMPLATE = lib
CONFIG += plugin

if(win32|mac):!macx-xcode {
contains(QT_CONFIG, simulator_and_device): CONFIG += iphonesimulator_and_iphoneos
contains(QT_CONFIG, simulator_and_device): CONFIG += simulator_and_device
contains(QT_CONFIG, debug_and_release): CONFIG += debug_and_release
contains(QT_CONFIG, build_all): CONFIG += build_all
}
Expand Down
2 changes: 1 addition & 1 deletion mkspecs/features/qt_helper_lib.prf
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ QT = # In case qt is re-added.
CONFIG -= warning_clean # Don't presume 3rd party code to be clean
load(qt_common)

contains(QT_CONFIG, simulator_and_device): CONFIG += iphonesimulator_and_iphoneos
contains(QT_CONFIG, simulator_and_device): CONFIG += simulator_and_device
contains(QT_CONFIG, debug_and_release): CONFIG += debug_and_release
contains(QT_CONFIG, build_all): CONFIG += build_all

Expand Down
2 changes: 1 addition & 1 deletion mkspecs/features/qt_module.prf
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ INCLUDEPATH *= $$eval(QT.$${MODULE}.includes) $$eval(QT.$${MODULE}_private.inclu
# If Qt was configured with -debug-and-release then build the module the same way
# - unless this is a host library
!host_build:if(win32|mac):!macx-xcode {
contains(QT_CONFIG, simulator_and_device): CONFIG += iphonesimulator_and_iphoneos
contains(QT_CONFIG, simulator_and_device): CONFIG += simulator_and_device
contains(QT_CONFIG, debug_and_release): CONFIG += debug_and_release
contains(QT_CONFIG, build_all): CONFIG += build_all
}
Expand Down
2 changes: 1 addition & 1 deletion mkspecs/features/qt_plugin.prf
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ win32:CONFIG(shared, static|shared) {
tool_plugin {
!build_pass:contains(QT_CONFIG, debug_and_release): CONFIG += release
} else:if(win32|mac):!macx-xcode {
contains(QT_CONFIG, simulator_and_device): CONFIG += iphonesimulator_and_iphoneos
contains(QT_CONFIG, simulator_and_device): CONFIG += simulator_and_device
contains(QT_CONFIG, debug_and_release): CONFIG += debug_and_release
contains(QT_CONFIG, build_all): CONFIG += build_all
}
Expand Down
15 changes: 11 additions & 4 deletions mkspecs/features/spec_post.prf
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,23 @@ isEmpty(QMAKE_PLATFORM) {
equals(TARGET_PLATFORM, unix): \
QMAKE_PLATFORM = unix
else:equals(TARGET_PLATFORM, macx): \
QMAKE_PLATFORM = osx macx mac darwin unix
QMAKE_PLATFORM = macos osx macx mac darwin unix
else:equals(TARGET_PLATFORM, win32): \
QMAKE_PLATFORM = win32
else: \
error("Qmake spec sets an invalid TARGET_PLATFORM.")
}

contains(QMAKE_PLATFORM, macx):!contains(QMAKE_PLATFORM, osx) {
warning("qmake spec specifies platform macx, but not osx.")
QMAKE_PLATFORM = osx $$QMAKE_PLATFORM
contains(QMAKE_PLATFORM, macx) {
!contains(QMAKE_PLATFORM, osx) {
warning("qmake spec specified platform macx, but not osx.");
QMAKE_PLATFORM = osx $$QMAKE_PLATFORM
}

!contains(QMAKE_PLATFORM, macos) {
warning("qmake spec specifies platform macx, but not macos.")
QMAKE_PLATFORM = macos $$QMAKE_PLATFORM
}
}

CONFIG += $$QMAKE_PLATFORM
Expand Down
Loading

0 comments on commit ea438b2

Please sign in to comment.