summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-qt/qt5/nativesdk-qt5.inc12
-rw-r--r--recipes-qt/qt5/nativesdk-qtbase.inc193
-rw-r--r--recipes-qt/qt5/nativesdk-qtbase_5.1.1.bb5
-rw-r--r--recipes-qt/qt5/qtbase-5.1.1/0001-configure-bump-path-length-from-256-to-512-character.patch29
-rw-r--r--recipes-qt/qt5/qtbase-5.1.1/0001-configure-preserve-built-qmake-and-swap-with-native-.patch29
5 files changed, 268 insertions, 0 deletions
diff --git a/recipes-qt/qt5/nativesdk-qt5.inc b/recipes-qt/qt5/nativesdk-qt5.inc
new file mode 100644
index 00000000..2eb8c142
--- /dev/null
+++ b/recipes-qt/qt5/nativesdk-qt5.inc
@@ -0,0 +1,12 @@
1inherit nativesdk qmake5_base
2
3# we don't want conflicts with qt4
4OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
5OE_QMAKE_PATH_ARCHDATA = "${OE_QMAKE_PATH_QT_ARCHDATA}"
6OE_QMAKE_PATH_DATA = "${OE_QMAKE_PATH_QT_DATA}"
7OE_QMAKE_PATH_BINS = "${OE_QMAKE_PATH_QT_BINS}"
8OE_QMAKE_PATH_TRANSLATIONS = "${OE_QMAKE_PATH_QT_TRANSLATIONS}"
9OE_QMAKE_PATH_DOCS = "${OE_QMAKE_PATH_QT_DOCS}"
10OE_QMAKE_PATH_SETTINGS = "${OE_QMAKE_PATH_QT_SETTINGS}"
11OE_QMAKE_PATH_EXAMPLES = "${OE_QMAKE_PATH_QT_EXAMPLES}"
12OE_QMAKE_PATH_TESTS = "${OE_QMAKE_PATH_QT_TESTS}"
diff --git a/recipes-qt/qt5/nativesdk-qtbase.inc b/recipes-qt/qt5/nativesdk-qtbase.inc
new file mode 100644
index 00000000..8e9a8097
--- /dev/null
+++ b/recipes-qt/qt5/nativesdk-qtbase.inc
@@ -0,0 +1,193 @@
1DESCRIPTION = "SDK version of Qt/[X11|Mac|Embedded]"
2DEPENDS = "nativesdk-zlib nativesdk-dbus qtbase-native"
3SECTION = "libs"
4HOMEPAGE = "http://qt-project.org"
5
6QT_MODULE = "qtbase"
7
8require nativesdk-qt5.inc
9
10# shared with target version
11SRC_URI += " \
12 file://0001-Add-linux-oe-g-platform.patch \
13 file://0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
14 file://0003-Add-external-hostbindir-option.patch \
15 file://0004-qt_functions-temporary-remove-isEmpty-check.patch \
16 file://0006-Allow-building-a-separate-qmake-for-the-target.patch \
17 file://0007-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch \
18 file://0008-qt_module-Fix-pkgconfig-replacement.patch \
19 file://0009-qt_module-Fix-paths-in-.prl-files.patch \
20 file://0011-configure-don-t-export-SYSTEM_VARIABLES-to-.qmake.va.patch \
21 file://0012-configure.prf-Allow-to-add-extra-arguments-to-make.patch \
22 file://0013-Disable-mkv8snapshot.patch \
23 file://0014-enables-tslib-device-to-be-read-from-env-variable.patch \
24 file://0015-qtbase-allow-build-of-examples.patch \
25 file://0021-configure-make-pulseaudio-a-configurable-option.patch \
26 file://0022-configure-make-alsa-a-configurable-option.patch \
27 file://0023-configure-make-freetype-a-configurable-option.patch \
28 file://0024-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-determine-pa.patch \
29"
30
31# specific for nativesdk version
32SRC_URI += " \
33 file://0001-Always-build-uic.patch \
34 file://0001-configure-preserve-built-qmake-and-swap-with-native-.patch \
35 file://0001-configure-bump-path-length-from-256-to-512-character.patch \
36"
37
38PACKAGES = "${PN}-tools-dbg ${PN}-tools"
39
40PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
41
42FILES_${PN}-tools-dbg = " \
43 ${OE_QMAKE_PATH_BINS}/.debug \
44"
45
46FILES_${PN}-tools = " \
47 ${OE_QMAKE_PATH_BINS}/* \
48"
49
50QT_CONFIG_FLAGS += " \
51 -reduce-relocations \
52 -shared \
53 -silent \
54 -no-pch \
55 -no-rpath \
56 -pkg-config \
57 ${EXTRA_OECONF} \
58"
59
60# qtbase is exception, as these are used as install path for sysroots
61OE_QMAKE_PATH_HOST_DATA = "${libdir}/${QT_DIR_NAME}"
62OE_QMAKE_PATH_HOST_LIBS = "${libdir}"
63
64do_generate_qt_config_file() {
65 cat > ${QT_CONF_PATH} <<EOF
66[Paths]
67Prefix = ${OE_QMAKE_PATH_PREFIX}
68Headers = ${OE_QMAKE_PATH_HEADERS}
69Libraries = ${OE_QMAKE_PATH_LIBS}
70ArchData = ${OE_QMAKE_PATH_ARCHDATA}
71Data = ${OE_QMAKE_PATH_DATA}
72Binaries = ${OE_QMAKE_PATH_BINS}
73LibraryExecutables = ${OE_QMAKE_PATH_LIBEXECS}
74Plugins = ${OE_QMAKE_PATH_PLUGINS}
75Imports = ${OE_QMAKE_PATH_IMPORTS}
76Qml2Imports = ${OE_QMAKE_PATH_QML}
77Translations = ${OE_QMAKE_PATH_TRANSLATIONS}
78Documentation = ${OE_QMAKE_PATH_DOCS}
79Settings = ${OE_QMAKE_PATH_SETTINGS}
80Examples = ${OE_QMAKE_PATH_EXAMPLES}
81Tests = ${OE_QMAKE_PATH_TESTS}
82HostBinaries = ${OE_QMAKE_PATH_HOST_BINS}
83HostData = ${OE_QMAKE_PATH_HOST_DATA}
84HostLibraries = ${OE_QMAKE_PATH_HOST_LIBS}
85HostSpec = ${OE_QMAKESPEC}
86TartgetSpec = ${OE_XQMAKESPEC}
87ExternalHostBinaries = ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}
88Sysroot =
89EOF
90}
91
92do_generate_qt_config_file_append() {
93 cat >> ${QT_CONF_PATH} <<EOF
94
95[EffectivePaths]
96Prefix=..
97EOF
98}
99
100# qtbase is exception, we need to use mkspecs from ${S}
101QMAKE_MKSPEC_PATH = "${B}"
102
103# qtbase is exception, configure script is using our get(X)QEvalMakeConf and setBootstrapEvalVariable functions to read it from shell
104export OE_QMAKE_COMPILER
105export OE_QMAKE_CC
106export OE_QMAKE_CFLAGS
107export OE_QMAKE_CXX
108export OE_QMAKE_CXXFLAGS
109export OE_QMAKE_LINK
110export OE_QMAKE_LDFLAGS
111export OE_QMAKE_AR
112export OE_QMAKE_STRIP
113
114# another exception is that we need to run bin/qmake, because EffectivePaths are relative to qmake location
115OE_QMAKE_QMAKE_ORIG = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/qmake"
116OE_QMAKE_QMAKE = "bin/qmake"
117
118do_configure() {
119 # we need symlink in path relative to source, because
120 # EffectivePaths:Prefix is relative to qmake location
121 # Also, configure expects qmake-native to swap with real one
122 if [ ! -e ${B}/bin/qmake-native ]; then
123 mkdir ${B}/bin
124 ln -sf ${OE_QMAKE_QMAKE_ORIG} ${B}/bin/qmake-native
125 fi
126
127 ${S}/configure -v \
128 -dont-process \
129 -opensource -confirm-license \
130 -sysroot ${STAGING_DIR_NATIVE} \
131 -no-gcc-sysroot \
132 -system-zlib \
133 -no-libjpeg \
134 -no-libpng \
135 -no-gif \
136 -no-accessibility \
137 -no-cups \
138 -no-nis \
139 -no-gui \
140 -no-qml-debug \
141 -no-sql-mysql \
142 -no-sql-sqlite \
143 -no-opengl \
144 -no-openssl \
145 -no-xcb \
146 -verbose \
147 -release \
148 -prefix ${OE_QMAKE_PATH_PREFIX} \
149 -bindir ${OE_QMAKE_PATH_BINS} \
150 -libdir ${OE_QMAKE_PATH_LIBS} \
151 -datadir ${OE_QMAKE_PATH_DATA} \
152 -sysconfdir ${OE_QMAKE_PATH_SETTINGS} \
153 -docdir ${OE_QMAKE_PATH_DOCS} \
154 -headerdir ${OE_QMAKE_PATH_HEADERS} \
155 -archdatadir ${OE_QMAKE_PATH_ARCHDATA} \
156 -libexecdir ${OE_QMAKE_PATH_LIBEXECS} \
157 -plugindir ${OE_QMAKE_PATH_PLUGINS} \
158 -importdir ${OE_QMAKE_PATH_IMPORTS} \
159 -qmldir ${OE_QMAKE_PATH_QML} \
160 -translationdir ${OE_QMAKE_PATH_TRANSLATIONS} \
161 -testsdir ${OE_QMAKE_PATH_TESTS} \
162 -hostbindir ${OE_QMAKE_PATH_HOST_BINS} \
163 -hostdatadir ${OE_QMAKE_PATH_HOST_DATA} \
164 -external-hostbindir ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS} \
165 -no-glib \
166 -no-iconv \
167 -silent \
168 -nomake examples \
169 -nomake tests \
170 -nomake libs \
171 -no-compile-examples \
172 -no-rpath \
173 -platform ${OE_QMAKESPEC} \
174 -xplatform linux-oe-g++ \
175 ${QT_CONFIG_FLAGS}
176
177 bin/qmake ${OE_QMAKE_DEBUG_OUTPUT} ${S} -o Makefile || die "Configuring qt with qmake failed. EXTRA_OECONF was ${EXTRA_OECONF}"
178}
179
180do_install() {
181 # Fix install paths for all
182 find -name "Makefile*" | xargs sed -i "s,(INSTALL_ROOT)${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE},(INSTALL_ROOT)${STAGING_DIR_NATIVE},g"
183
184 # switch back the proper qmake
185 rm ${B}/bin/qmake
186 mv ${B}/bin/qmake-real ${B}/bin/qmake
187
188 oe_runmake install INSTALL_ROOT=${D}
189
190 # for modules which are still using syncqt and call qtPrepareTool(QMAKE_SYNCQT, syncqt)
191 # e.g. qt3d, qtwayland
192 ln -sf syncqt.pl ${D}${OE_QMAKE_PATH_QT_BINS}/syncqt
193}
diff --git a/recipes-qt/qt5/nativesdk-qtbase_5.1.1.bb b/recipes-qt/qt5/nativesdk-qtbase_5.1.1.bb
new file mode 100644
index 00000000..8fd161a8
--- /dev/null
+++ b/recipes-qt/qt5/nativesdk-qtbase_5.1.1.bb
@@ -0,0 +1,5 @@
1require qt5-${PV}.inc
2require ${PN}.inc
3
4SRC_URI[md5sum] = "955d1e4da875f3872ef3208f21a757dd"
5SRC_URI[sha256sum] = "d4620e0b1aff6d2b6f4d8066e6f8258e012a8b5507af7c03b661029a1ffa75c9"
diff --git a/recipes-qt/qt5/qtbase-5.1.1/0001-configure-bump-path-length-from-256-to-512-character.patch b/recipes-qt/qt5/qtbase-5.1.1/0001-configure-bump-path-length-from-256-to-512-character.patch
new file mode 100644
index 00000000..3b312b67
--- /dev/null
+++ b/recipes-qt/qt5/qtbase-5.1.1/0001-configure-bump-path-length-from-256-to-512-character.patch
@@ -0,0 +1,29 @@
1From 9500744fee36c908d0cb7e034f8c8dd3dd1c4fa4 Mon Sep 17 00:00:00 2001
2From: Denys Dmytriyenko <denys@ti.com>
3Date: Mon, 11 Nov 2013 20:27:30 -0500
4Subject: [PATCH] configure: bump path length from 256 to 512 characters
5
6Increase the path length that gets hardcoded into generated config.cpp file
7from 256 to 512 characters, as nativesdk path can be quite long.
8
9Signed-off-by: Denys Dmytriyenko <denys@ti.com>
10---
11 configure | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/configure b/configure
15index 304d30f..a37a587 100755
16--- a/configure
17+++ b/configure
18@@ -3870,7 +3870,7 @@ static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$
19 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
20
21 /* Installation Info */
22-static const char qt_configure_prefix_path_strs[][256 + 12] = {
23+static const char qt_configure_prefix_path_strs[][512 + 12] = {
24 "qt_prfxpath=$QT_INSTALL_PREFIX",
25 "qt_docspath=$QT_INSTALL_DOCS",
26 "qt_hdrspath=$QT_INSTALL_HEADERS",
27--
281.8.3.2
29
diff --git a/recipes-qt/qt5/qtbase-5.1.1/0001-configure-preserve-built-qmake-and-swap-with-native-.patch b/recipes-qt/qt5/qtbase-5.1.1/0001-configure-preserve-built-qmake-and-swap-with-native-.patch
new file mode 100644
index 00000000..048eab76
--- /dev/null
+++ b/recipes-qt/qt5/qtbase-5.1.1/0001-configure-preserve-built-qmake-and-swap-with-native-.patch
@@ -0,0 +1,29 @@
1From 6cd7ade28662730e5de89a171501e3902b321ffc Mon Sep 17 00:00:00 2001
2From: Denys Dmytriyenko <denys@ti.com>
3Date: Mon, 11 Nov 2013 20:22:34 -0500
4Subject: [PATCH] configure: preserve built qmake and swap with native one
5
6Let configure script build the real qmake, but right after it's built, swap
7it with a native qmake for further internal use, preserving the real one.
8
9Signed-off-by: Denys Dmytriyenko <denys@ti.com>
10---
11 configure | 2 ++
12 1 file changed, 2 insertions(+)
13
14diff --git a/configure b/configure
15index 140c7b4..304d30f 100755
16--- a/configure
17+++ b/configure
18@@ -4104,6 +4104,8 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
19
20 (cd "$outpath/qmake"; "$MAKE") || exit 2
21 fi # Build qmake
22+mv "$outpath/bin/qmake" "$outpath/bin/qmake-real"
23+mv "$outpath/bin/qmake-native" "$outpath/bin/qmake"
24
25 echo "Running configuration tests..."
26
27--
281.8.3.2
29