summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@theqtcompany.com>2016-03-08 13:03:08 +0200
committerSamuli Piippo <samuli.piippo@theqtcompany.com>2016-03-09 14:00:08 +0000
commit905342ac836c726511d7575a40b70db2505ef7a6 (patch)
treece6145d32727d097fd62e8b42b902d34006dd57f
parent4c560971fe8caa7c015a1b6ba33aa1dd5f3e8140 (diff)
downloadmeta-boot2qt-905342ac836c726511d7575a40b70db2505ef7a6.tar.gz
qt5: move mingw32 specific parts from meta-qt5
Change-Id: Id380844d530ef599f78591a282474aa66d3dec69 Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
-rw-r--r--conf/distro/b2qt.conf4
-rw-r--r--recipes-qt/qt5/nativesdk-qtbase_git.bbappend9
-rw-r--r--recipes-qt/qt5/qtbase-native_git.bbappend6
-rw-r--r--recipes-qt/qt5/qtbase/0001-Add-win32-g-oe-mkspec-that-uses-the-OE_-environment.patch180
-rw-r--r--recipes-qt/qt5/qtbase_git.bbappend1
-rw-r--r--scripts/manifest.xml2
6 files changed, 201 insertions, 1 deletions
diff --git a/conf/distro/b2qt.conf b/conf/distro/b2qt.conf
index af7fcb3..7b56113 100644
--- a/conf/distro/b2qt.conf
+++ b/conf/distro/b2qt.conf
@@ -61,6 +61,10 @@ MACHINE_EXTRA_INSTALL ?= ""
61MACHINE_EXTRA_INSTALL_SDK ?= "" 61MACHINE_EXTRA_INSTALL_SDK ?= ""
62MACHINE_EXTRA_INSTALL_SDK_HOST ?= "" 62MACHINE_EXTRA_INSTALL_SDK_HOST ?= ""
63 63
64# Override mkspec for mingw build
65OE_QMAKE_PLATFORM_NATIVE_mingw32 = "win32-g++-oe"
66OE_QMAKE_PLATFORM_mingw32 = "win32-g++-oe"
67
64PACKAGE_EXCLUDE_COMPLEMENTARY ?= "qtquickcompiler" 68PACKAGE_EXCLUDE_COMPLEMENTARY ?= "qtquickcompiler"
65 69
66IMAGE_FSTYPES = "tar.gz conf" 70IMAGE_FSTYPES = "tar.gz conf"
diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bbappend b/recipes-qt/qt5/nativesdk-qtbase_git.bbappend
index 29adb9b..4b62241 100644
--- a/recipes-qt/qt5/nativesdk-qtbase_git.bbappend
+++ b/recipes-qt/qt5/nativesdk-qtbase_git.bbappend
@@ -21,3 +21,12 @@
21 21
22QT_MODULE_BRANCH = "5.6.0" 22QT_MODULE_BRANCH = "5.6.0"
23SRCREV = "38944d662eda76ecc57cb1fd61da42775fa52f6f" 23SRCREV = "38944d662eda76ecc57cb1fd61da42775fa52f6f"
24
25FILESEXTRAPATHS_prepend := "${THISDIR}/qtbase:"
26
27SRC_URI += "\
28 file://0001-Add-win32-g-oe-mkspec-that-uses-the-OE_-environment.patch \
29 "
30
31fakeroot do_generate_qt_environment_file_mingw32() {
32}
diff --git a/recipes-qt/qt5/qtbase-native_git.bbappend b/recipes-qt/qt5/qtbase-native_git.bbappend
index 29adb9b..e87a190 100644
--- a/recipes-qt/qt5/qtbase-native_git.bbappend
+++ b/recipes-qt/qt5/qtbase-native_git.bbappend
@@ -21,3 +21,9 @@
21 21
22QT_MODULE_BRANCH = "5.6.0" 22QT_MODULE_BRANCH = "5.6.0"
23SRCREV = "38944d662eda76ecc57cb1fd61da42775fa52f6f" 23SRCREV = "38944d662eda76ecc57cb1fd61da42775fa52f6f"
24
25FILESEXTRAPATHS_prepend := "${THISDIR}/qtbase:"
26
27SRC_URI += "\
28 file://0001-Add-win32-g-oe-mkspec-that-uses-the-OE_-environment.patch \
29 "
diff --git a/recipes-qt/qt5/qtbase/0001-Add-win32-g-oe-mkspec-that-uses-the-OE_-environment.patch b/recipes-qt/qt5/qtbase/0001-Add-win32-g-oe-mkspec-that-uses-the-OE_-environment.patch
new file mode 100644
index 0000000..7ce3a9e
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0001-Add-win32-g-oe-mkspec-that-uses-the-OE_-environment.patch
@@ -0,0 +1,180 @@
1From 5363b4d6d1f3c5683267ec3e190b85eca964eef8 Mon Sep 17 00:00:00 2001
2From: David Schulz <david.schulz@theqtcompany.com>
3Date: Fri, 3 Jul 2015 16:06:59 +0200
4Subject: [PATCH] Add win32-g++-oe mkspec that uses the OE_ environment.
5
6Upstream-Status: Inappropriate [embedded specific]
7 too OE specific, probably cannot be upstreamed
8---
9 mkspecs/win32-g++-oe/qmake.conf | 109 +++++++++++++++++++++++++++++++++++
10 mkspecs/win32-g++-oe/qplatformdefs.h | 42 ++++++++++++++
11 2 files changed, 151 insertions(+)
12 create mode 100644 mkspecs/win32-g++-oe/qmake.conf
13 create mode 100644 mkspecs/win32-g++-oe/qplatformdefs.h
14
15diff --git a/mkspecs/win32-g++-oe/qmake.conf b/mkspecs/win32-g++-oe/qmake.conf
16new file mode 100644
17index 0000000..1c8879a
18--- /dev/null
19+++ b/mkspecs/win32-g++-oe/qmake.conf
20@@ -0,0 +1,109 @@
21+#
22+# qmake configuration for win32-g++
23+#
24+# Written for MinGW / gcc 4.6 or higher
25+#
26+# Cross compile example for i686-w64-mingw32-g++:
27+# configure -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32-
28+#
29+
30+load(device_config)
31+
32+MAKEFILE_GENERATOR = MINGW
33+QMAKE_PLATFORM = win32 mingw
34+CONFIG += debug_and_release debug_and_release_target precompile_header
35+DEFINES += UNICODE
36+QMAKE_COMPILER_DEFINES += __GNUC__ WIN32
37+
38+QMAKE_EXT_OBJ = .o
39+QMAKE_EXT_RES = _res.o
40+
41+QMAKE_COMPILER = $(OE_QMAKE_COMPILER) gcc
42+
43+QMAKE_CC = $(OE_QMAKE_CC)
44+QMAKE_LEX = flex
45+QMAKE_LEXFLAGS =
46+QMAKE_YACC = byacc
47+QMAKE_YACCFLAGS = -d
48+QMAKE_CFLAGS = -pipe $(OE_QMAKE_CFLAGS)
49+QMAKE_CFLAGS_DEPS = -M
50+QMAKE_CFLAGS_WARN_ON = -Wall -Wextra
51+QMAKE_CFLAGS_WARN_OFF = -w
52+QMAKE_CFLAGS_RELEASE = -O2
53+QMAKE_CFLAGS_DEBUG = -g
54+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
55+QMAKE_CFLAGS_SPLIT_SECTIONS = -ffunction-sections
56+QMAKE_CFLAGS_SSE2 = -msse2 -mstackrealign
57+QMAKE_CFLAGS_SSE3 = -msse3
58+QMAKE_CFLAGS_SSSE3 = -mssse3
59+QMAKE_CFLAGS_SSE4_1 = -msse4.1
60+QMAKE_CFLAGS_SSE4_2 = -msse4.2
61+QMAKE_CFLAGS_AVX = -mavx
62+QMAKE_CFLAGS_AVX2 = -mavx2
63+QMAKE_CFLAGS_NEON = -mfpu=neon
64+
65+QMAKE_CXX = $(OE_QMAKE_CXX)
66+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
67+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
68+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
69+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
70+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
71+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
72+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
73+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
74+QMAKE_CXXFLAGS_RTTI_ON = -frtti
75+QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
76+QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
77+QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
78+QMAKE_CXXFLAGS_CXX11 = -std=c++0x
79+QMAKE_CXXFLAGS_SPLIT_SECTIONS = $$QMAKE_CFLAGS_SPLIT_SECTIONS
80+
81+QMAKE_INCDIR =
82+
83+QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
84+QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
85+QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
86+QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
87+
88+QMAKE_LINK = $(OE_QMAKE_LINK)
89+QMAKE_LINK_C = $(OE_QMAKE_LINK)
90+QMAKE_LFLAGS = $(OE_QMAKE_LDFLAGS)
91+QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
92+QMAKE_LFLAGS_EXCEPTIONS_OFF =
93+QMAKE_LFLAGS_RELEASE = -Wl,-s
94+QMAKE_LFLAGS_DEBUG =
95+QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
96+QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
97+QMAKE_LFLAGS_DLL = -shared
98+QMAKE_LFLAGS_CXX11 =
99+QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections
100+QMAKE_LFLAGS_USE_GOLD = -fuse-ld=gold
101+QMAKE_LINK_OBJECT_MAX = 10
102+QMAKE_LINK_OBJECT_SCRIPT = object_script
103+QMAKE_PREFIX_SHLIB =
104+QMAKE_EXTENSION_SHLIB = dll
105+QMAKE_PREFIX_STATICLIB = lib
106+QMAKE_EXTENSION_STATICLIB = a
107+QMAKE_LIB_EXTENSIONS = a dll.a
108+
109+QMAKE_LIBS =
110+QMAKE_LIBS_CORE = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
111+QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32
112+QMAKE_LIBS_NETWORK = -lws2_32
113+QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
114+QMAKE_LIBS_OPENGL_ES2 = -llibEGL -llibGLESv2 -lgdi32 -luser32
115+QMAKE_LIBS_OPENGL_ES2_DEBUG = -llibEGLd -llibGLESv2d -lgdi32 -luser32
116+QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
117+QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
118+
119+QMAKE_IDL = midl
120+QMAKE_LIB = $(OE_QMAKE_AR) -ru
121+QMAKE_RC = $(RC)
122+
123+QMAKE_STRIP = $${OE_QMAKE_STRIP}
124+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
125+QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
126+QMAKE_NM = $${CROSS_COMPILE}nm -P
127+
128+isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)
129+load(qt_config)
130diff --git a/mkspecs/win32-g++-oe/qplatformdefs.h b/mkspecs/win32-g++-oe/qplatformdefs.h
131new file mode 100644
132index 0000000..9d63527
133--- /dev/null
134+++ b/mkspecs/win32-g++-oe/qplatformdefs.h
135@@ -0,0 +1,42 @@
136+/****************************************************************************
137+**
138+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
139+** Contact: http://www.qt-project.org/legal
140+**
141+** This file is part of the qmake spec of the Qt Toolkit.
142+**
143+** $QT_BEGIN_LICENSE:LGPL$
144+** Commercial License Usage
145+** Licensees holding valid commercial Qt licenses may use this file in
146+** accordance with the commercial license agreement provided with the
147+** Software or, alternatively, in accordance with the terms contained in
148+** a written agreement between you and Digia. For licensing terms and
149+** conditions see http://qt.digia.com/licensing. For further information
150+** use the contact form at http://qt.digia.com/contact-us.
151+**
152+** GNU Lesser General Public License Usage
153+** Alternatively, this file may be used under the terms of the GNU Lesser
154+** General Public License version 2.1 as published by the Free Software
155+** Foundation and appearing in the file LICENSE.LGPL included in the
156+** packaging of this file. Please review the following information to
157+** ensure the GNU Lesser General Public License version 2.1 requirements
158+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
159+**
160+** In addition, as a special exception, Digia gives you certain additional
161+** rights. These rights are described in the Digia Qt LGPL Exception
162+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
163+**
164+** GNU General Public License Usage
165+** Alternatively, this file may be used under the terms of the GNU
166+** General Public License version 3.0 as published by the Free Software
167+** Foundation and appearing in the file LICENSE.GPL included in the
168+** packaging of this file. Please review the following information to
169+** ensure the GNU General Public License version 3.0 requirements will be
170+** met: http://www.gnu.org/copyleft/gpl.html.
171+**
172+**
173+** $QT_END_LICENSE$
174+**
175+****************************************************************************/
176+
177+#include "../win32-g++/qplatformdefs.h"
178--
1791.9.1
180
diff --git a/recipes-qt/qt5/qtbase_git.bbappend b/recipes-qt/qt5/qtbase_git.bbappend
index b8053a8..a3f3fa6 100644
--- a/recipes-qt/qt5/qtbase_git.bbappend
+++ b/recipes-qt/qt5/qtbase_git.bbappend
@@ -39,6 +39,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
39 39
40SRC_URI += " \ 40SRC_URI += " \
41 file://oe-device-extra.pri \ 41 file://oe-device-extra.pri \
42 file://0001-Add-win32-g-oe-mkspec-that-uses-the-OE_-environment.patch \
42 " 43 "
43do_configure_prepend() { 44do_configure_prepend() {
44 install -m 0644 ${WORKDIR}/oe-device-extra.pri ${S}/mkspecs 45 install -m 0644 ${WORKDIR}/oe-device-extra.pri ${S}/mkspecs
diff --git a/scripts/manifest.xml b/scripts/manifest.xml
index bb9d27b..5ba0e81 100644
--- a/scripts/manifest.xml
+++ b/scripts/manifest.xml
@@ -25,7 +25,7 @@
25 path="sources/meta-openembedded"/> 25 path="sources/meta-openembedded"/>
26 <project name="meta-qt5" 26 <project name="meta-qt5"
27 remote="qtyocto" 27 remote="qtyocto"
28 revision="60c8b35f13f0969a2244e5ab06333fc3994ed221" 28 revision="e29477ac42b47f4fedd2cb4be27ec2e4aa70540c"
29 path="sources/meta-qt5"/> 29 path="sources/meta-qt5"/>
30 30
31 <project name="meta-mingw" 31 <project name="meta-mingw"