diff options
author | Eric Bénard <eric@eukrea.com> | 2011-09-10 11:17:57 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-01-30 16:37:55 +0000 |
commit | f1369ae9fed169963f81fd7fbef8e95730d67e9b (patch) | |
tree | 0eb190e811745a505a8b5e0126be21344a777ac4 | |
parent | 8620d997d41e54b5bbc586a3d073b383c177a65f (diff) | |
download | poky-f1369ae9fed169963f81fd7fbef8e95730d67e9b.tar.gz |
qt4: fix generated sdk
- qt4-tools-nativesdk : actually the qmake binary which gets installed
comes from the native recipe. This patch fix this problem by launching
configure twice : once to compile qmake using the right toolchain for
nativesdk, and a second time using the native qmake to compile all the
other tools for the nativesdk. Then we install the right qmake.
- mkspec : the link actually created in qt4-tools-nativesdk's
do_install point to nowhere so remove it and generate the link in
meta-toolchain-qte as it's the only place where we have all the variable
to create it.
- toolchain_create_sdk_env_script_append : we need to add OE_QMAKE_CFLAGS,
OE_QMAKE_CXXFLAGS and OE_QMAKE_LDFLAGS else the sdk won't find these
variables that are inserted by qmake in the Makefiles.
- with this patch, oe-core generates a working meta-toolchain-qte which
can compile a small example and is properly recognized by qtcreator (this
brings oe-core's meta-toolchain-qte to oe-dev's functional state).
(From OE-Core rev: 5f6fb92b939147d2d6aa7790a378d4b7cce3ada5)
(From OE-Core rev: d86d55aea57966e1aaffe913c745a648c21f6c24)
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-qt/meta/meta-toolchain-qte.bb | 7 | ||||
-rw-r--r-- | meta/recipes-qt/qt4/qt4-tools-nativesdk.inc | 22 |
2 files changed, 18 insertions, 11 deletions
diff --git a/meta/recipes-qt/meta/meta-toolchain-qte.bb b/meta/recipes-qt/meta/meta-toolchain-qte.bb index 72d58db5e6..735ccd10ab 100644 --- a/meta/recipes-qt/meta/meta-toolchain-qte.bb +++ b/meta/recipes-qt/meta/meta-toolchain-qte.bb | |||
@@ -10,6 +10,9 @@ QT_DIR_NAME = "qtopia" | |||
10 | QT_TOOLS_PREFIX = "${SDKPATHNATIVE}${bindir_nativesdk}" | 10 | QT_TOOLS_PREFIX = "${SDKPATHNATIVE}${bindir_nativesdk}" |
11 | 11 | ||
12 | toolchain_create_sdk_env_script_append() { | 12 | toolchain_create_sdk_env_script_append() { |
13 | echo 'export OE_QMAKE_CFLAGS="$CFLAGS"' >> $script | ||
14 | echo 'export OE_QMAKE_CXXFLAGS="$CXXFLAGS"' >> $script | ||
15 | echo 'export OE_QMAKE_LDFLAGS="$LDFLAGS"' >> $script | ||
13 | echo 'export OE_QMAKE_CC=${TARGET_PREFIX}gcc' >> $script | 16 | echo 'export OE_QMAKE_CC=${TARGET_PREFIX}gcc' >> $script |
14 | echo 'export OE_QMAKE_CXX=${TARGET_PREFIX}g++' >> $script | 17 | echo 'export OE_QMAKE_CXX=${TARGET_PREFIX}g++' >> $script |
15 | echo 'export OE_QMAKE_LINK=${TARGET_PREFIX}g++' >> $script | 18 | echo 'export OE_QMAKE_LINK=${TARGET_PREFIX}g++' >> $script |
@@ -24,4 +27,8 @@ toolchain_create_sdk_env_script_append() { | |||
24 | echo 'export OE_QMAKE_QDBUSXML2CPP=${QT_TOOLS_PREFIX}/qdbusxml2cpp4' >> $script | 27 | echo 'export OE_QMAKE_QDBUSXML2CPP=${QT_TOOLS_PREFIX}/qdbusxml2cpp4' >> $script |
25 | echo 'export OE_QMAKE_QT_CONFIG=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script | 28 | echo 'export OE_QMAKE_QT_CONFIG=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script |
26 | echo 'export QMAKESPEC=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script | 29 | echo 'export QMAKESPEC=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script |
30 | |||
31 | # make a symbolic link to mkspecs for compatibility with Nokia's SDK | ||
32 | # and QTCreator | ||
33 | (cd ${SDK_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s ${SDKTARGETSYSROOT}/usr/share/qtopia/mkspecs mkspecs;) | ||
27 | } | 34 | } |
diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc index 6c396a5ae4..097fadc980 100644 --- a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc +++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc | |||
@@ -51,10 +51,6 @@ EXTRA_OECONF = "-prefix ${prefix} \ | |||
51 | EXTRA_OEMAKE = " " | 51 | EXTRA_OEMAKE = " " |
52 | 52 | ||
53 | do_configure() { | 53 | do_configure() { |
54 | if [ ! -e bin/qmake ]; then | ||
55 | ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake | ||
56 | fi | ||
57 | |||
58 | if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then | 54 | if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then |
59 | ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++ | 55 | ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++ |
60 | fi | 56 | fi |
@@ -62,7 +58,16 @@ do_configure() { | |||
62 | cp ../g++.conf mkspecs/common | 58 | cp ../g++.conf mkspecs/common |
63 | cp ../linux.conf mkspecs/common | 59 | cp ../linux.conf mkspecs/common |
64 | 60 | ||
65 | (echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}" | 61 | # first launch configure to get qmake compiled for the nativesdk |
62 | (echo o; echo yes) | CC="${CC}" CXX="${CXX}" ./configure ${EXTRA_OECONF} || true | ||
63 | |||
64 | # then backup the binary and start again with a qmake which can run on the build host | ||
65 | mv bin/qmake bin/qmake_nativesdk | ||
66 | if [ ! -e bin/qmake ]; then | ||
67 | ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake | ||
68 | fi | ||
69 | |||
70 | (echo o; echo yes) | CC="${CC}" CXX="${CXX}" ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}" | ||
66 | } | 71 | } |
67 | 72 | ||
68 | TOBUILD = "\ | 73 | TOBUILD = "\ |
@@ -91,7 +96,7 @@ do_compile() { | |||
91 | 96 | ||
92 | do_install() { | 97 | do_install() { |
93 | install -d ${D}${bindir} | 98 | install -d ${D}${bindir} |
94 | install -m 0755 bin/qmake ${D}${bindir}/qmake2 | 99 | install -m 0755 bin/qmake_nativesdk ${D}${bindir}/qmake2 |
95 | for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do | 100 | for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do |
96 | install -m 0755 bin/${i} ${D}${bindir}/${i}4 | 101 | install -m 0755 bin/${i} ${D}${bindir}/${i}4 |
97 | done | 102 | done |
@@ -101,9 +106,4 @@ do_install() { | |||
101 | for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do \ | 106 | for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do \ |
102 | ln -s ${i}4 ${i}; \ | 107 | ln -s ${i}4 ${i}; \ |
103 | done) | 108 | done) |
104 | |||
105 | # make a symbolic link to mkspecs for compatibility with Nokia's SDK | ||
106 | # and QTCreator | ||
107 | (cd ${D}${bindir}/..; ln -s ${TARGET_SYS}/usr/share/qtopia/mkspecs mkspecs;) | ||
108 | } | 109 | } |
109 | |||