Skip to contentSkip to conversation

qt4: add support for lconvert and xmlpatterns tools

PATCH New Jonathan Liu 1 participant 4 messages Jun 7, 2013

lore
Share & tools
lore
#0 lore raw

cover qt4: add support for lconvert and xmlpatterns tools

This patchset adds support for lconvert and xmlpatterns tools for Qt projects that require them (e.g. Qt Creator).

Jonathan Liu (3):
qt4-native: build lconvert and xmlpatterns classes/qmake2: export OE_QMAKE_LCONVERT and OE_QMAKE_XMLPATTERNS classes/qmake_base: update .pro hack

 meta/classes/qmake2.bbclass        |  2 ++
 meta/classes/qmake_base.bbclass    | 15 +++++++++++++--
 meta/recipes-qt/qt4/qt4-native.inc |  4 +++-
 3 files changed, 18 insertions(+), 3 deletions(-)
Signature · 1 line
1.8.2.3
#1 lore raw

PATCH 1/3 qt4-native: build lconvert and xmlpatterns

These tools are needed by some Qt projects (e.g. Qt Creator).

---
 meta/recipes-qt/qt4/qt4-native.inc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
meta/recipes-qt/qt4/qt4-native.inc +3 -1
index cd6092a..895d690 100644
@@ -75,10 +75,12 @@ TOBUILD = "\
   src/testlib \
   src/qt3support \
   src/tools/uic3 \
+  tools/linguist/lconvert \
   tools/linguist/lrelease \
   tools/linguist/lupdate \
   tools/qdbus/qdbuscpp2xml \
   tools/qdbus/qdbusxml2cpp \
+  tools/xmlpatterns \
 "
 
 do_compile() {
@@ -90,7 +92,7 @@ do_compile() {
 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
+	for i in moc uic uic3 rcc lconvert lrelease lupdate qdbuscpp2xml qdbusxml2cpp xmlpatterns; do
 		install -m 0755 bin/${i} ${D}${bindir}/${i}4
 	done
     
Signature · 1 line
1.8.2.3
#2 lore raw

PATCH 2/3 classes/qmake2: export OE_QMAKE_LCONVERT and OE_QMAKE_XMLPATTERNS

In reply to Jonathan Liu

These will be used by qmake_base.bbclass.

---
 meta/classes/qmake2.bbclass | 2 ++
 1 file changed, 2 insertions(+)
meta/classes/qmake2.bbclass +2 -0
index 8b9861c..6e73ad2 100644
@@ -21,5 +21,7 @@ export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}"
 export OE_QMAKE_LIBS_QT = "qt"
 export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm"
 export OE_QMAKE_LIBS_X11SM = "-lSM -lICE"
+export OE_QMAKE_LCONVERT = "${STAGING_BINDIR_NATIVE}/lconvert4"
 export OE_QMAKE_LRELEASE = "${STAGING_BINDIR_NATIVE}/lrelease4"
 export OE_QMAKE_LUPDATE = "${STAGING_BINDIR_NATIVE}/lupdate4"
+export OE_QMAKE_XMLPATTERNS = "${STAGING_BINDIR_NATIVE}/xmlpatterns4"
Signature · 1 line
1.8.2.3
#3 lore raw

PATCH 3/3 classes/qmake_base: update .pro hack

In reply to Jonathan Liu

This adds support for lconvert and xmlpatterns tools and tweaks the sed expressions to handle more complex assignments in .pro files like:
LRELEASE = $$targetPath($$[QT_INSTALL_BINS]/lrelease)

---
 meta/classes/qmake_base.bbclass | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)
meta/classes/qmake_base.bbclass +13 -2
index 3762887..86bbede 100644
@@ -94,9 +94,20 @@ qmake_base_do_configure() {
 	fi
 
 	# Hack .pro files to use OE utilities
+	LCONVERT_NAME=$(basename ${OE_QMAKE_LCONVERT})
+	LRELEASE_NAME=$(basename ${OE_QMAKE_LRELEASE})
+	LUPDATE_NAME=$(basename ${OE_QMAKE_LUPDATE})
+	XMLPATTERNS_NAME=$(basename ${OE_QMAKE_XMLPATTERNS})
 	find -name '*.pro' \
-	     -exec sed -i -e 's,=\s*.*/lrelease,= ${OE_QMAKE_LRELEASE},g' \
-	                  -e 's,=\s*.*/lupdate,= ${OE_QMAKE_LUPDATE},g' '{}' ';'
+	     -exec sed -i -e "s|\(=\s*.*\)/$LCONVERT_NAME|\1/lconvert|g" \
+	                  -e "s|\(=\s*.*\)/$LRELEASE_NAME|\1/lrelease|g" \
+	                  -e "s|\(=\s*.*\)/$LUPDATE_NAME|\1/lupdate|g" \
+	                  -e "s|\(=\s*.*\)/$XMLPATTERNS_NAME|\1/xmlpatterns|g" \
+	                  -e "s|\(=\s*.*\)/lconvert|\1/$LCONVERT_NAME|g" \
+	                  -e "s|\(=\s*.*\)/lrelease|\1/$LRELEASE_NAME|g" \
+	                  -e "s|\(=\s*.*\)/lupdate|\1/$LUPDATE_NAME|g" \
+	                  -e "s|\(=\s*.*\)/xmlpatterns|\1/$XMLPATTERNS_NAME|g" \
+	                  '{}' ';'
 
 #bbnote "Calling '${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST'"
 	unset QMAKESPEC || true
Signature · 1 line
1.8.2.3