blob: 0dab3641e81f4cb516b70046c562df9fe16eb80a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
DESCRIPTION = "Native version of Qt/[X11|Mac|Embedded]"
DEPENDS = "zlib-native dbus-native"
SECTION = "libs"
HOMEPAGE = "http://qt.nokia.com"
PROVIDES = "qt4-tools-native"
LICENSE = "LGPLv2.1 | GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
INC_PR = "r19"
inherit native
SRC_URI = "http://releases.qt-project.org/qt4/source/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://0001-make-qt4-native-work-with-long-building-path.patch \
file://g++.conf \
file://linux.conf \
"
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
EXTRA_OECONF = "-prefix ${prefix} \
-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 \
-headerdir ${includedir}/qt4 \
-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/lrelease \
tools/linguist/lupdate \
tools/qdbus/qdbuscpp2xml \
tools/qdbus/qdbusxml2cpp \
"
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 lrelease lupdate qdbuscpp2xml qdbusxml2cpp; 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
}
|