Patchwork [v2] qt4: fix incorrect pkg-config files

login
register
mail settings
Submitter Andreas Oberritter
Date Jan. 5, 2011, 4:17 p.m.
Message ID <1294244266-18700-1-git-send-email-obi@opendreambox.org>
Download mbox | patch
Permalink /patch/179/
State Accepted
Commit 7d83a24f8fdb62e1a034d3592b94db4bc810b9ac
Headers show

Comments

Andreas Oberritter - Jan. 5, 2011, 4:17 p.m.
* 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>
---
* v2: bumped INC_PR

 recipes/qt4/qt4-embedded.inc |    2 +-
 recipes/qt4/qt4-x11-free.inc |    2 +-
 recipes/qt4/qt4.inc          |   12 +++++-------
 3 files changed, 7 insertions(+), 9 deletions(-)
Koen Kooi - Jan. 5, 2011, 4:26 p.m.
Op 5 jan 2011, om 17:17 heeft Andreas Oberritter het volgende geschreven:

> * 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>

> ---
> * v2: bumped INC_PR
> 
> recipes/qt4/qt4-embedded.inc |    2 +-
> recipes/qt4/qt4-x11-free.inc |    2 +-
> recipes/qt4/qt4.inc          |   12 +++++-------
> 3 files changed, 7 insertions(+), 9 deletions(-)
> 
> diff --git a/recipes/qt4/qt4-embedded.inc b/recipes/qt4/qt4-embedded.inc
> index 87b19d4..223c4f3 100644
> --- a/recipes/qt4/qt4-embedded.inc
> +++ b/recipes/qt4/qt4-embedded.inc
> @@ -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"
> diff --git a/recipes/qt4/qt4-x11-free.inc b/recipes/qt4/qt4-x11-free.inc
> index ae79d58..a98e268 100644
> --- a/recipes/qt4/qt4-x11-free.inc
> +++ b/recipes/qt4/qt4-x11-free.inc
> @@ -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 \
> diff --git a/recipes/qt4/qt4.inc b/recipes/qt4/qt4.inc
> index ac1fc83..52fa146 100644
> --- a/recipes/qt4/qt4.inc
> +++ b/recipes/qt4/qt4.inc
> @@ -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
> }
> -- 
> 1.7.2.3
> 
>

Patch

diff --git a/recipes/qt4/qt4-embedded.inc b/recipes/qt4/qt4-embedded.inc
index 87b19d4..223c4f3 100644
--- a/recipes/qt4/qt4-embedded.inc
+++ b/recipes/qt4/qt4-embedded.inc
@@ -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"
diff --git a/recipes/qt4/qt4-x11-free.inc b/recipes/qt4/qt4-x11-free.inc
index ae79d58..a98e268 100644
--- a/recipes/qt4/qt4-x11-free.inc
+++ b/recipes/qt4/qt4-x11-free.inc
@@ -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 \
diff --git a/recipes/qt4/qt4.inc b/recipes/qt4/qt4.inc
index ac1fc83..52fa146 100644
--- a/recipes/qt4/qt4.inc
+++ b/recipes/qt4/qt4.inc
@@ -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
 }