qt4: fix incorrect pkg-config files
authorAndreas Oberritter <obi@opendreambox.org>
Thu, 6 Jan 2011 00:17:46 +0000 (00:17 +0000)
committerAndreas Oberritter <obi@opendreambox.org>
Thu, 6 Jan 2011 12:44:24 +0000 (13:44 +0100)
* Previously, include statements were generated like this:
  -I.../mipsel-oe-linux/usr/include/qtopia/QtCore
  -I.../mipsel-oe-linux/usr/include/qtopia/QtCore/qt4-embedded/QtCoreE
  -I.../mipsel-oe-linux/usr/include/qtopia/QtCore/qtopia

* The sed rules ignored QT_LIBINFIX.
* The sed rules incorrectly used QT_BASE_NAME instead of QT_DIR_NAME.

* Now, they look like this, which is what an application expects:
  -I.../mipsel-oe-linux/usr/include/qtopia/QtCore
  -I.../mipsel-oe-linux/usr/include/qtopia

* Tested with qt4-embedded on mipsel

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
CC: Koen Kooi <k.kooi@student.utwente.nl>
Acked-by: Koen Kooi <koen@openembedded.org>
recipes/qt4/qt4-embedded.inc
recipes/qt4/qt4-x11-free.inc
recipes/qt4/qt4.inc

index 87b19d4..223c4f3 100644 (file)
@@ -4,7 +4,7 @@ LICENSE = "GPL QPL"
 PRIORITY = "optional"
 HOMEPAGE = "http://www.trolltech.com"
 DEPENDS += "directfb tslib"
-INC_PR = "r26"
+INC_PR = "r27"
 
 QT_BASE_NAME ?= "qt4-embedded"
 QT_BASE_LIB  ?= "libqt-embedded"
index ae79d58..a98e268 100644 (file)
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.trolltech.com"
 LICENSE = "GPL QPL"
 DEPENDS += "virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor"
 
-INC_PR = "r22"
+INC_PR = "r23"
 
 SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-${PV}.tar.gz \
            file://0001-cross-compile.patch \
index ac1fc83..52fa146 100644 (file)
@@ -285,15 +285,13 @@ do_install() {
            ${D}${libdir}/pkgconfig/*.pc
     for name in ${QT_LIB_NAMES}; do
            sed -i -e /Requires/s#"${name}"#"${name}${QT_LIBINFIX}"#g ${D}${libdir}/pkgconfig/*.pc
+           if [ -f ${D}${libdir}/pkgconfig/${name}${QT_LIBINFIX}.pc ]; then
+               sed -i -e /^includedir=/s#"/${name}"## \
+                      -e /^Cflags:/s#"${QT_DIR_NAME}"#"${name}"# \
+                         ${D}${libdir}/pkgconfig/${name}${QT_LIBINFIX}.pc
+           fi
     done
 
-       # QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so manually fix it up here:
-       for pc in ${D}${libdir}/pkgconfig/*.pc ; do
-               sed -i -e "s:prefix}include/${QT_BASE_NAME}/$(basename $pc .pc):prefix}/include:" \
-                      -e "s,Cflags: ,Cflags: -IP{includedir}/${QT_BASE_NAME}/$(basename $pc .pc) ," \
-                      -e 's:IP{:I${:g' $pc
-       done
-
     install -d ${D}/${libdir}/fonts
     touch ${D}/${libdir}/fonts/fontdir
 }