diff options
-rw-r--r-- | meta/recipes-qt/qt4/files/target_qmake.patch | 27 | ||||
-rw-r--r-- | meta/recipes-qt/qt4/qt-4.7.4.inc | 11 | ||||
-rw-r--r-- | meta/recipes-qt/qt4/qt-4.8.0.inc | 12 | ||||
-rw-r--r-- | meta/recipes-qt/qt4/qt-4.8.0/qmake_pri_fixes.patch | 51 | ||||
-rw-r--r-- | meta/recipes-qt/qt4/qt4-embedded_4.7.4.bb | 2 | ||||
-rw-r--r-- | meta/recipes-qt/qt4/qt4-x11-free_4.7.4.bb | 2 | ||||
-rw-r--r-- | meta/recipes-qt/qt4/qt4.inc | 47 |
7 files changed, 126 insertions, 26 deletions
diff --git a/meta/recipes-qt/qt4/files/target_qmake.patch b/meta/recipes-qt/qt4/files/target_qmake.patch new file mode 100644 index 000000000..9b53aff17 --- /dev/null +++ b/meta/recipes-qt/qt4/files/target_qmake.patch @@ -0,0 +1,27 @@ +From e4b27237386b3dd864dd603de2ae54a707f5419f Mon Sep 17 00:00:00 2001 +From: Paul Eggleton <paul.eggleton@linux.intel.com> +Date: Mon, 27 Feb 2012 00:13:05 +0000 +Subject: [PATCH] Allow building a separate qmake for the target + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +Upstream-Status: Inappropriate [config] +--- + qmake/qmake.pro | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/qmake/qmake.pro b/qmake/qmake.pro +index b602afa..b59f7fb 100644 +--- a/qmake/qmake.pro ++++ b/qmake/qmake.pro +@@ -7,6 +7,7 @@ CONFIG += console bootstrap + CONFIG -= qt shared app_bundle uic + DEFINES += QT_BUILD_QMAKE QT_BOOTSTRAPPED + DESTDIR = ../bin/ ++TARGET = qmake2 + + OBJECTS_DIR = . + MOC_DIR = . +-- +1.7.5.4 + diff --git a/meta/recipes-qt/qt4/qt-4.7.4.inc b/meta/recipes-qt/qt4/qt-4.7.4.inc index 9ddb05577..216472c3c 100644 --- a/meta/recipes-qt/qt4/qt-4.7.4.inc +++ b/meta/recipes-qt/qt4/qt-4.7.4.inc @@ -15,6 +15,7 @@ SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}. file://blacklist-diginotar-certs.diff \ file://fix-translations.patch \ file://add_nostrip_for_debug_packages.diff \ + file://target_qmake.patch \ file://g++.conf \ file://linux.conf \ file://fix-qtbug-20925.patch \ @@ -43,13 +44,3 @@ do_configure_prepend() { ${S}/configure } -do_compile() { - # Fixup missing wsegl header in some SGX SDKs - if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then - cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/ - fi - - unset CFLAGS CXXFLAGS - - oe_runmake ${EXTRA_ENV} -} diff --git a/meta/recipes-qt/qt4/qt-4.8.0.inc b/meta/recipes-qt/qt4/qt-4.8.0.inc index 532f1ff40..28586be66 100644 --- a/meta/recipes-qt/qt4/qt-4.8.0.inc +++ b/meta/recipes-qt/qt4/qt-4.8.0.inc @@ -15,6 +15,8 @@ SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}. file://add_nostrip_for_debug_packages.diff \ file://qmake_cxx_eval.patch \ file://configure_oe_compiler.patch \ + file://target_qmake.patch \ + file://qmake_pri_fixes.patch \ file://g++.conf \ file://linux.conf \ " @@ -50,13 +52,3 @@ do_configure_prepend() { unset LD } -do_compile() { - # Fixup missing wsegl header in some SGX SDKs - if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then - cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/ - fi - - unset CFLAGS CXXFLAGS - - oe_runmake ${EXTRA_ENV} -} diff --git a/meta/recipes-qt/qt4/qt-4.8.0/qmake_pri_fixes.patch b/meta/recipes-qt/qt4/qt-4.8.0/qmake_pri_fixes.patch new file mode 100644 index 000000000..82bff0497 --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.8.0/qmake_pri_fixes.patch @@ -0,0 +1,51 @@ +From c56ed5f64a5f47cf8d539aa4ca9bedbe1fea2264 Mon Sep 17 00:00:00 2001 +From: Paul Eggleton <paul.eggleton@linux.intel.com> +Date: Fri, 10 Feb 2012 15:32:12 +0000 +Subject: [PATCH] qmake: fix source file references in qmake.pri + +Fix duplicate entries in SOURCES and HEADERS, and fix the source file +list for the split of qlocale.cpp. + +Upstream-Status: Pending + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> +--- + qmake/qmake.pri | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/qmake/qmake.pri b/qmake/qmake.pri +index f2a3705..2d4e94c 100644 +--- a/qmake/qmake.pri ++++ b/qmake/qmake.pri +@@ -22,8 +22,7 @@ SOURCES += project.cpp property.cpp main.cpp generators/makefile.cpp \ + generators/symbian/initprojectdeploy_symbian.cpp \ + generators/integrity/gbuild.cpp \ + windows/registry.cpp \ +- symbian/epocroot.cpp \ +- generators/integrity/gbuild.cpp ++ symbian/epocroot.cpp + + HEADERS += project.h property.h generators/makefile.h \ + generators/unix/unixmake.h meta.h option.h cachekeys.h \ +@@ -40,8 +39,7 @@ HEADERS += project.h property.h generators/makefile.h \ + generators/symbian/initprojectdeploy_symbian.h \ + generators/integrity/gbuild.h \ + windows/registry_p.h \ +- symbian/epocroot_p.h \ +- generators/integrity/gbuild.h ++ symbian/epocroot_p.h + + contains(QT_EDITION, OpenSource) { + DEFINES += QMAKE_OPENSOURCE_EDITION +@@ -72,6 +70,8 @@ bootstrap { #Qt code + qlist.cpp \ + qlinkedlist.cpp \ + qlocale.cpp \ ++ qlocale_tools.cpp \ ++ qlocale_unix.cpp \ + qmalloc.cpp \ + qmap.cpp \ + qmetatype.cpp \ +-- +1.7.5.4 + diff --git a/meta/recipes-qt/qt4/qt4-embedded_4.7.4.bb b/meta/recipes-qt/qt4/qt4-embedded_4.7.4.bb index 9b66d0327..a1fcafb0a 100644 --- a/meta/recipes-qt/qt4/qt4-embedded_4.7.4.bb +++ b/meta/recipes-qt/qt4/qt4-embedded_4.7.4.bb @@ -1,7 +1,7 @@ require qt-${PV}.inc require qt4-embedded.inc -PR = "${INC_PR}.6" +PR = "${INC_PR}.7" QT_CONFIG_FLAGS_append_armv6 = " -no-neon " diff --git a/meta/recipes-qt/qt4/qt4-x11-free_4.7.4.bb b/meta/recipes-qt/qt4/qt4-x11-free_4.7.4.bb index 6dedf0048..e7f848e88 100644 --- a/meta/recipes-qt/qt4/qt4-x11-free_4.7.4.bb +++ b/meta/recipes-qt/qt4/qt4-x11-free_4.7.4.bb @@ -1,7 +1,7 @@ require qt4-x11-free.inc require qt-${PV}.inc -PR = "${INC_PR}.6" +PR = "${INC_PR}.7" QT_CONFIG_FLAGS_append_armv6 = " -no-neon " diff --git a/meta/recipes-qt/qt4/qt4.inc b/meta/recipes-qt/qt4/qt4.inc index ea868ff23..1e76decff 100644 --- a/meta/recipes-qt/qt4/qt4.inc +++ b/meta/recipes-qt/qt4/qt4.inc @@ -142,8 +142,8 @@ RRECOMMENDS_${QT_BASE_NAME}-qmlviewer += " \ RRECOMMENDS_${QT_BASE_NAME}-doc += " \ ${QT_BASE_NAME}-demos-doc" -FILES_${QT_BASE_NAME}-tools = "${bindir}/qttracereplay ${bindir}/qdoc* ${bindir}/moc ${bindir}/uic* ${bindir}/rcc" -FILES_${QT_BASE_NAME}-tools-dbg = "${bindir}/.debug/qttracereplay ${bindir}/.debug/qdoc* ${bindir}/.debug/uic* ${bindir}/.debug/moc ${bindir}/.debug/rcc" +FILES_${QT_BASE_NAME}-tools = "${bindir}/qttracereplay ${bindir}/qdoc* ${bindir}/qmake ${bindir}/moc ${bindir}/uic* ${bindir}/rcc" +FILES_${QT_BASE_NAME}-tools-dbg = "${bindir}/.debug/qttracereplay ${bindir}/.debug/qdoc* ${bindir}/.debug/qmake ${bindir}/.debug/uic* ${bindir}/.debug/moc ${bindir}/.debug/rcc" FILES_${QT_BASE_NAME}-assistant = "${bindir}/*assistant* ${bindir}/qcollectiongenerator ${bindir}/qhelpconverter ${bindir}/qhelpgenerator" FILES_${QT_BASE_NAME}-assistant-dbg = "${bindir}/.debug/*assistant* ${bindir}/.debug/qcollectiongenerator ${bindir}/.debug/qhelpconverter ${bindir}/.debug/qhelpgenerator" FILES_${QT_BASE_NAME}-common = "${bindir}/qtconfig" @@ -172,7 +172,7 @@ FILES_${QT_BASE_NAME}-qmlviewer = "${bindir}/qmlviewer" FILES_${QT_BASE_NAME}-qmlviewer-dbg = "${bindir}/.debug/qmlviewer" FILES_${QT_BASE_NAME}-makeqpf = "${bindir}/makeqpf" FILES_${QT_BASE_NAME}-makeqpf-dbg = "${bindir}/.debug/makeqpf" -FILES_${QT_BASE_NAME}-mkspecs = "${datadir}/${QT_DIR_NAME}/mkspecs/*" +FILES_${QT_BASE_NAME}-mkspecs = "${datadir}/${QT_DIR_NAME}/mkspecs/* ${datadir}/${QT_DIR_NAME}/environment-setup" FILES_${QT_BASE_NAME}-xmlpatterns = "${bindir}/xmlpatterns*" FILES_${QT_BASE_NAME}-xmlpatterns-dbg = "${bindir}/.debug/xmlpatterns*" FILES_${QT_BASE_NAME}-qml-plugins = "${libdir}/${QT_DIR_NAME}/imports/* ${libdir}/${QT_DIR_NAME}/plugins/qmltooling/*" @@ -236,6 +236,24 @@ do_configure() { -I${STAGING_INCDIR}/freetype2 } +do_compile() { + # Fixup missing wsegl header in some SGX SDKs + if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then + cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/ + fi + + unset CFLAGS CXXFLAGS + + oe_runmake ${EXTRA_ENV} + + # Build target qmake + export QMAKESPEC="${S}/mkspecs/${TARGET_OS}-oe-g++" + cd ${S}/qmake + ${OE_QMAKE_QMAKE} + oe_runmake CC="${CC}" CXX="${CXX}" + cd ${S} +} + python populate_packages_prepend() { translation_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/translations/', d) translation_name = bb.data.expand('${QT_BASE_NAME}-translation-%s', d) @@ -295,8 +313,9 @@ python populate_packages_prepend() { do_install() { oe_runmake install INSTALL_ROOT=${D} - # These are host binaries, we should only use them in staging + # Install a proper target version of qmake rm ${D}/${bindir}/qmake + install -m 0755 bin/qmake2 ${D}${bindir}/qmake # fix pkgconfig, libtool and prl files sed -i -e 's#-L${S}/lib/\?##g' \ @@ -333,4 +352,24 @@ do_install() { if [ -n "${QT_LIBINFIX}" ] ; then [ -f ${D}${bindir}/qtdemo ] && mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX} fi + + script="${D}/${datadir}/${QT_DIR_NAME}/environment-setup" + touch $script + echo 'export QT_DIR_NAME=${QT_DIR_NAME}' >> $script + echo 'export QT_LIBINFIX=${QT_LIBINFIX}' >> $script + echo 'export OE_QMAKE_AR=ar' >> $script + echo 'export OE_QMAKE_CC=gcc' >> $script + echo 'export OE_QMAKE_CXX=g++' >> $script + echo 'export OE_QMAKE_LINK=g++' >> $script + echo 'export OE_QMAKE_LIBDIR_QT=${libdir}' >> $script + echo 'export OE_QMAKE_INCDIR_QT=${includedir}/${QT_DIR_NAME}' >> $script + echo 'export OE_QMAKE_MOC=${bindir}/moc' >> $script + echo 'export OE_QMAKE_UIC=${bindir}/uic' >> $script + echo 'export OE_QMAKE_UIC3=${bindir}/uic3' >> $script + echo 'export OE_QMAKE_RCC=${bindir}/rcc' >> $script + echo 'export OE_QMAKE_QDBUSCPP2XML=${bindir}/qdbuscpp2xml' >> $script + echo 'export OE_QMAKE_QDBUSXML2CPP=${bindir}/qdbusxml2cpp' >> $script + echo 'export OE_QMAKE_QT_CONFIG=${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script + echo 'export QMAKESPEC=${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script + chmod 0755 $script } |