blob: 1d365c3b016bfdd0f00d5f5a53be27e81065cb55 (
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
DESCRIPTION = "Qt/X11 Version ${PV}"
SECTION = "x11/libs"
PRIORITY = "optional"
HOMEPAGE = "http://www.trolltech.com"
LICENSE = "GPL QPL"
MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
DEPENDS = "uicmoc4-native qmake2-native freetype jpeg libx11 xft libxext libxrender libxrandr libxcursor"
PROVIDES = "qt4x11"
PR = "r4"
SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-${PV}.tar.gz \
file://cross-compile.patch;patch=1 \
file://fix-resinit-declaration.patch;patch=1 \
file://no-tools.patch;patch=1 \
file://no-qmake.patch;patch=1 \
file://gcc4_1.patch;patch=1 \
file://configurable-cpu-extensions.patch;patch=1 \
file://fix-mkspecs.patch;patch=1"
S = "${WORKDIR}/qt-x11-opensource-src-${PV}"
PARALLEL_MAKE = ""
inherit qmake-base qt4x11 pkgconfig
export QTDIR = "${S}"
STAGING_QT_DIR = "${STAGING_DIR}/${TARGET_SYS}/qt4"
export ARCH = "${TARGET_ARCH}"
export ARCH_i686 = "x86"
EXTRA_OEMAKE = "-e"
# FIXME:
# * add missing options
# * auto stl detection is broken, so we disable it
QT_CONFIG_FLAGS = "-release -shared -qt-zlib -system-libjpeg -no-nas-sound -no-sm -no-libmng -qt-libpng -no-gif -no-xinerama \
-no-tablet -no-xkb -no-nis -no-cups -no-opengl \
-nosse \
-no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \
-verbose -stl -no-accessibility"
EXTRA_ENV = 'QMAKE="${STAGING_BINDIR}/qmake2 -after DEFINES+=QT_NO_XIM INCPATH+=${STAGING_INCDIR} \
INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \
QMAKESPEC="${QMAKESPEC}" LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \
AR="${TARGET_PREFIX}ar cqs" \
MOC="${STAGING_BINDIR}/moc4" UIC="${STAGING_BINDIR}/uic4" MAKE="make -e"'
do_configure() {
echo "DEFINES -= QT_NO_CAST_TO_ASCII" >>src/qbase.pri
echo "DEFINES += QT_NO_XIM" >>src/qbase.pri
unset QMAKESPEC
#export QMAKESPEC="linux-oe-g++"
ln -sf ${STAGING_BINDIR}/qmake2 bin/qmake
#rm -rf ./mkspecs
#ln -sf ${QMAKE_MKSPEC_PATH} ./mkspecs
echo yes | ./configure -prefix / -platform ${TARGET_OS}-g++ -crossarch ${ARCH} ${QT_CONFIG_FLAGS} -fast \
-L${STAGING_LIBDIR} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/freetype2 -I${STAGING_INCDIR}/mysql
}
# FIXME: Might want to compile the cross tools for the -dev packages as well...
do_compile() {
unset CFLAGS CXXFLAGS
install -m 0755 ${STAGING_BINDIR}/rcc4 ${S}/bin/rcc
install -m 0755 ${STAGING_BINDIR}/moc4 ${S}/bin/moc
install -m 0755 ${STAGING_BINDIR}/uic4 ${S}/bin/uic
oe_runmake ${EXTRA_ENV}
}
PARTS = "3Support Core Designer DesignerComponents Gui Network Sql Svg Test Xml"
do_stage() {
oe_runmake install INSTALL_ROOT=/
install -m 0755 ${STAGING_BINDIR}/rcc4 ${STAGING_QT_DIR}/bin/rcc
install -m 0755 ${STAGING_BINDIR}/moc4 ${STAGING_QT_DIR}/bin/moc
install -m 0755 ${STAGING_BINDIR}/uic4 ${STAGING_QT_DIR}/bin/uic
}
# FIXME: Might want to call oe_runmake install INSTALL_ROOT=${D}/${prefix} as well...
do_install() {
install -d ${D}${libdir}
install -d ${D}${bindir}
for part in ${PARTS}
do
oe_libinstall -so -C lib libQt$part ${D}${libdir}
done
oe_libinstall -a -C lib libQtAssistantClient ${STAGING_QT_DIR}
cp -pPR include/* ${D}${incdir}
cp -pPR plugins ${D}${libdir}
cp -pPR bin/* ${D}${bindir}
install -d ${D}${bindir}/qt4-examples
for binary in `find examples -perm 0755 -type f`
do
install -m 0755 $binary ${D}${bindir}/qt4-examples/
done
install -d ${D}${bindir}/qt4-demos
for binary in `find demos -perm 0755 -type f`
do
install -m 0755 $binary ${D}${bindir}/qt4-demos/
done
}
PACKAGES =+ "libqtcore4 libqtgui4 libqtnetwork4 libqtsql4 libqtsvg4 libqttest4 libqtxml4 \
libqtdesigner4 libqtdesignercomponents4 \
qt4-assistant qt4-common qt4-designer qt4-demos qt4-examples qt4-linguist \
qt4-plugins-accessible qt4-plugins-codecs qt4-plugins-designer qt4-plugins-imageformats qt4-plugins-sqldrivers"
FILES_libqtcore4 = "${libdir}/libQtCore.so*"
FILES_libqtgui4 = "${libdir}/libQtGui.so*"
FILES_libqtnetwork4 = "${libdir}/libQtNetwork.so*"
FILES_libqtsql4 = "${libdir}/libQtSql.so*"
FILES_libqtsvg4 = "${libdir}/libQtSvg.so*"
FILES_libqttest4 = "${libdir}/libQtTest.so*"
FILES_libqtxml4 = "${libdir}/libQtXml.so*"
FILES_libqtdesigner4 = "${libdir}/libQtDesigner.so*"
FILES_libqtdesignercomponents4 = "${libdir}/libQtDesignerComponents.so*"
FILES_qt4-plugins-accessible = "${libdir}/plugins/accessible/*.so"
FILES_qt4-plugins-codecs = "${libdir}/plugins/codecs/*.so"
FILES_qt4-plugins-designer = "${libdir}/plugins/designer/*.so"
FILES_qt4-plugins-imageformats = "${libdir}/plugins/imageformats/*.so"
FILES_qt4-plugins-sqldrivers = "${libdir}/plugins/sqldrivers/*.so"
FILES_qt4-assistant = "${bindir}/*assistant*"
FILES_qt4-designer = "${bindir}/*designer*"
FILES_qt4-linguist = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/qm2ts"
FILES_qt4-common = "${bindir}/qtconfig"
FILES_qt4-examples = "${bindir}/qt4-examples/*"
FILES_qt4-demos = "${bindir}/qtdemo ${bindir}/qt4-demos/*"
|