Re: [OE-core] BUG: intltool depends on libxml-parser-perl to be installed on host

2011-06-18 Thread Otavio Salvador
On Sat, Jun 18, 2011 at 23:41, Tom Rini  wrote:
> On 06/18/2011 01:18 PM, Otavio Salvador wrote:
>> Hello,
>>
>> It seems that intltool depends on libxml-parser-perl being installed
>> into host system to it to build.
>
> Do the DEPENDS look right?  Maybe this needs the class for bringing in
> perl-native...

It seems to do so.

Are you able to reproduce it?

It would be a matter of uninstall the libxml-parser-perl from your
host, use cleansstate in intltool and try

-- 
Otavio Salvador                             O.S. Systems
E-mail: ota...@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] BUG: intltool depends on libxml-parser-perl to be installed on host

2011-06-18 Thread Tom Rini
On 06/18/2011 01:18 PM, Otavio Salvador wrote:
> Hello,
> 
> It seems that intltool depends on libxml-parser-perl being installed
> into host system to it to build.

Do the DEPENDS look right?  Maybe this needs the class for bringing in
perl-native...

-- 
Tom Rini
Mentor Graphics Corporation

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] RFC - combo layer repo tool

2011-06-18 Thread Chris Larson
On Fri, Jun 17, 2011 at 10:42 AM, Paul Eggleton  wrote:
> Hi Ke,
>
> Great work. Here's my review so far:
>
> On Monday 13 June 2011 14:15:04 Yu, Ke wrote:
>> --- /dev/null
>> +++ b/scripts/combo-layer-hook-default.sh
>> @@ -0,0 +1,14 @@
>> +#!/bin/sh

First thought on starting to read the patch: why are we home rolling a
parser when the format is clearly ini style, which the ConfigParser
module parses just fine?
-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] BUG: intltool depends on libxml-parser-perl to be installed on host

2011-06-18 Thread Otavio Salvador
Hello,

It seems that intltool depends on libxml-parser-perl being installed
into host system to it to build.

Cheers,

-- 
Otavio Salvador                             O.S. Systems
E-mail: ota...@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] OE Changelog for 2011-06-6 to 2011-06-13

2011-06-18 Thread Chris Larson
On Sat, Jun 18, 2011 at 10:40 AM, Paul Eggleton
 wrote:
> Hi Cliff,
>
> On Saturday 18 June 2011 18:29:48 cliff.br...@gmail.com wrote:
>> meta-yocto: git://git.yoctoproject.org/poky
>>...
>> 
>> Changelog for meta-yocto:
>>
>
> This clearly contains more than just changes to the meta-yocto subdirectory of
> the poky repo. Can you please set this up to be filtered? Otherwise we're just
> effectively getting dupes of commits to bitbake and oe-core.

Speaking of which, if we do that, might be a good idea to add bitbake
itself specifically, in case any of the changes to master will impact
the userbase.
-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/3] qt4-tools-nativesdk: fix unpack failure due to missing g++.conf

2011-06-18 Thread Paul Eggleton
FILESPATHPKG was being used to in order to bring in linux.conf and
g++.conf in this recipe, however this probably never worked since
FILESPATHPKG always has the MACHINE appended to it and these are not
machine-specific files. The only reason it built was that these two files
could be found within the "files" subdir until we removed Qt 4.6.3.
Using FILESEXTRAPATHS (as qt4-tools-native does) solves this.

Signed-off-by: Paul Eggleton 
---
 meta/recipes-qt/qt4/qt4-tools-nativesdk.inc |5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc 
b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
index 5faf40c..d1f4b47 100644
--- a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
+++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
@@ -5,9 +5,10 @@ HOMEPAGE = "http://qt.nokia.com";
 PRIORITY = "optional"
 LICENSE = "LGPLv2.1 | GPLv3"
 
-INC_PR = "r3"
+INC_PR = "r4"
+
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt-${PV}:"
 
-FILESPATHPKG =. "qt-${PV}:"
 inherit nativesdk qmake2
 
 SRC_URI = 
"http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
-- 
1.7.4.1


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] [PATCH 3/3] qt4-tools-nativesdk: fix compile failure in src/dbus

2011-06-18 Thread Paul Eggleton
[Qt #17962]   -- http://bugreports.qt.nokia.com/browse/QTBUG-17962
[YOCTO #1168] -- http://bugzilla.pokylinux.org/show_bug.cgi?id=1168

Fix "invalid conversion from 'const void*' to 'void*'" error compiling
src/dbus/qdbusintegrator.cpp. It is assumed that the use of "const" here
is incorrect as no other usage of Q_GLOBAL_STATIC_WITH_ARGS uses const
prefix on the first (TYPE) argument.

Patch was imported from the Qt bug tracker (see above reference); the
patch was rejected but for procedural rather than validity reasons.

Fixes [YOCTO #1168]

Signed-off-by: Paul Eggleton 
---
 meta/recipes-qt/qt4/files/qt-dbus-const.patch |   21 +
 meta/recipes-qt/qt4/qt4-tools-nativesdk.inc   |1 +
 2 files changed, 22 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-qt/qt4/files/qt-dbus-const.patch

diff --git a/meta/recipes-qt/qt4/files/qt-dbus-const.patch 
b/meta/recipes-qt/qt4/files/qt-dbus-const.patch
new file mode 100644
index 000..a856912
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/qt-dbus-const.patch
@@ -0,0 +1,21 @@
+Remove "const" usage that causes compile failure building qt4-tools-nativesdk
+
+Patch has apparently been rejected upstream, not because it is invalid
+but because the submitter did not submit a merge request for it, so the
+validity of the patch upstream is uncertain. For further details see:
+http://bugreports.qt.nokia.com/browse/QTBUG-17962
+
+Original Author: Pavel Heimlich 
+Upstream-Status: Rejected
+
+--- qt-everywhere-opensource-src-4.7.3/src/dbus/qdbusintegrator.cpp.orig   
2011-03-12 02:11:32.313467991 +0100
 qt-everywhere-opensource-src-4.7.3/src/dbus/qdbusintegrator.cpp
2011-03-12 02:11:03.795809176 +0100
+@@ -71,7 +71,7 @@
+ static bool isDebugging;
+ #define qDBusDebug  if (!::isDebugging); else qDebug
+ 
+-Q_GLOBAL_STATIC_WITH_ARGS(const QString, orgFreedesktopDBusString, 
(QLatin1String(DBUS_SERVICE_DBUS)))
++Q_GLOBAL_STATIC_WITH_ARGS(QString, orgFreedesktopDBusString, 
(QLatin1String(DBUS_SERVICE_DBUS)))
+ 
+ static inline QString dbusServiceString()
+ { return *orgFreedesktopDBusString(); }
diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc 
b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
index 114f998..19da0ce 100644
--- a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
+++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
@@ -17,6 +17,7 @@ SRC_URI = 
"http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.
file://qt-config.patch \
file://qmake-exists-check.patch \
file://configure-paths.patch \
+   file://qt-dbus-const.patch \
file://g++.conf \
file://linux.conf"
 
-- 
1.7.4.1


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] [PATCH 0/3] qt4-tools-nativesdk fixes

2011-06-18 Thread Paul Eggleton
Several fixes for qt4-tools-nativesdk.

The following changes since commit 835d817f1ba7b99167743fdb86ba80f3a07bd82d:

  systemtap: remove non-core COMPATIBLE_MACHINES (2011-06-16 22:12:40 +0100)

are available in the git repository at:
  git://git.openembedded.org/openembedded-core-contrib paule/qt4-nativesdk-fix
  
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/qt4-nativesdk-fix

Paul Eggleton (3):
  qt4-tools-nativesdk: fix unpack failure due to missing g++.conf
  qt4-tools-nativesdk: drop freetype include as we build with
-no-freetype
  qt4-tools-nativesdk: fix compile failure in src/dbus

 meta/recipes-qt/qt4/files/qt-dbus-const.patch |   21 +
 meta/recipes-qt/qt4/qt4-tools-nativesdk.inc   |7 ---
 2 files changed, 25 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-qt/qt4/files/qt-dbus-const.patch

-- 
1.7.4.1


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/3] qt4-tools-nativesdk: drop freetype include as we build with -no-freetype

2011-06-18 Thread Paul Eggleton
Freetype support is disabled so there's no need to point to the freetype
headers.

Prompted by OE commit 4931b37c8faf1eef7322cc82bf979885c770f4e0 from
Dmitry Eremin-Solenikov 

Signed-off-by: Paul Eggleton 
---
 meta/recipes-qt/qt4/qt4-tools-nativesdk.inc |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc 
b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
index d1f4b47..114f998 100644
--- a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
+++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
@@ -44,7 +44,6 @@ EXTRA_OECONF = "-prefix ${prefix} \
 -embedded -no-freetype -no-glib -no-iconv \
 -qt3support \
 -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include \
--I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/freetype2 \
 -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/dbus-1.0 \
 -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib/dbus-1.0/include 
\
 -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/c++ \
-- 
1.7.4.1


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] [PATCH] glib-2.0 2.28.x: update to 2.28.8

2011-06-18 Thread Koen Kooi
Signed-off-by: Koen Kooi 
---
 meta/recipes-core/glib-2.0/glib-2.0_2.28.6.bb |   18 --
 meta/recipes-core/glib-2.0/glib-2.0_2.28.8.bb |   19 +++
 meta/recipes-core/glib-2.0/glib.inc   |3 ++-
 3 files changed, 21 insertions(+), 19 deletions(-)
 delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0_2.28.6.bb
 create mode 100644 meta/recipes-core/glib-2.0/glib-2.0_2.28.8.bb

diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.28.6.bb 
b/meta/recipes-core/glib-2.0/glib-2.0_2.28.6.bb
deleted file mode 100644
index ca5f4c8..000
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.28.6.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require glib.inc
-
-PE = "1"
-PR = "r1"
-
-SRC_URI = "${GNOME_MIRROR}/glib/2.28/glib-${PV}.tar.bz2 \
-   file://configure-libtool.patch \
-   file://60_wait-longer-for-threads-to-die.patch \
-   file://g_once_init_enter.patch \
-  "
-# Only apply this patch for target recipe on uclibc
-SRC_URI_append_libc-uclibc = " ${@['', 'file://no-iconv.patch']['${PN}' == 
'${BPN}']}"
-
-SRC_URI[md5sum] = "7d8fc15ae70d5111c0cf2a79d50ef717"
-SRC_URI[sha256sum] = 
"557fb7c39d21b9359fbac51fd6b0b883bc97a2561c0166eef993a4078312f578"
-
-SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch"
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.28.8.bb 
b/meta/recipes-core/glib-2.0/glib-2.0_2.28.8.bb
new file mode 100644
index 000..dd34c78
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.28.8.bb
@@ -0,0 +1,19 @@
+require glib.inc
+
+PE = "1"
+
+SRC_URI = "${GNOME_MIRROR}/glib/2.28/glib-${PV}.tar.bz2 \
+   file://configure-libtool.patch \
+   file://60_wait-longer-for-threads-to-die.patch \
+   file://g_once_init_enter.patch \
+  "
+# Only apply this patch for target recipe on uclibc
+SRC_URI_append_libc-uclibc = " ${@['', 'file://no-iconv.patch']['${PN}' == 
'${BPN}']}"
+
+SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch"
+
+SRC_URI[md5sum] = "789e7520f71c6a4bf08bc683ec764d24"
+SRC_URI[sha256sum] = 
"222f3055d6c413417b50901008c654865e5a311c73f0ae918b0a9978d1f9466f"
+
+BBCLASSEXTEND = "native"
+
diff --git a/meta/recipes-core/glib-2.0/glib.inc 
b/meta/recipes-core/glib-2.0/glib.inc
index 0488490..0800c85 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -31,7 +31,8 @@ EXTRA_OECONF = "--disable-debug --enable-included-printf=no"
 EXTRA_OECONF_virtclass-native = ""
 EXTRA_OECONF_linuxstdbase = "--enable-included-printf=no"
 
-FILES_${PN} = "${libdir}/lib*${SOLIBS}"
+FILES_${PN} = "${libdir}/lib*${SOLIBS} ${sysconfdir}/bash_completion.d 
${datadir}/glib-2.0/schemas"
 FILES_${PN}-dev += "${libdir}/glib-2.0/include"
+FILES_${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb"
 
 ARM_INSTRUCTION_SET = "arm"
-- 
1.6.6.1


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] OE Changelog for 2011-06-6 to 2011-06-13

2011-06-18 Thread Paul Eggleton
Hi Cliff,

On Saturday 18 June 2011 18:29:48 cliff.br...@gmail.com wrote:
> meta-yocto: git://git.yoctoproject.org/poky
>...
> 
> Changelog for meta-yocto:
>

This clearly contains more than just changes to the meta-yocto subdirectory of 
the poky repo. Can you please set this up to be filtered? Otherwise we're just 
effectively getting dupes of commits to bitbake and oe-core.

Thanks,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] OE Changelog for 2011-06-6 to 2011-06-13

2011-06-18 Thread cliff . brake
Changelog for 2011-06-6 to 2011-06-13.  Projects included in this report:

openembedded-core: git://git.openembedded.org/openembedded-core
meta-openembedded: git://git.openembedded.org/meta-openembedded
meta-angstrom: git://git.angstrom-distribution.org/meta-angstrom
meta-yocto: git://git.yoctoproject.org/poky
meta-texasinstruments: git://git.angstrom-distribution.org/meta-texasinstruments
meta-smartphone: http://git.shr-project.org/repo/meta-smartphone.git
meta-micro: git://git.openembedded.org/meta-micro
meta-slugos: git://github.com/kraj/meta-slugos
meta-nslu2: git://github.com/kraj/meta-nslu2
meta-intel: git://git.yoctoproject.org/meta-intel
openembedded: git://git.openembedded.org/openembedded


Changelog for openembedded-core:

Bruce Ashfield (2):
  linux-yocto: update target/meta SRCREVs
  linux-yocto: make e1000e structure common [commit: bec3f1e8c]

Dongxiao Xu (1):
  udev: Fix udevd launch issue after system second boot

Koen Kooi (6):
  util-linux: package agetty seperately
  avahi: fix dbus system-service packaging and move more things to .inc
  librsvg 2.32.1: fix loader packaging when using gtk >2.20
  consolekit: update to 0.4.5
  sysvinit: split inittab into it's own recipe
  metacity 2.30.3: fix build on GNOME-less hosts and fix packaging

Mark Hatle (4):
  create-pull-request: Add URL documentation
  distro_tracking_fields.inc: add pseudo
  pseudo: Update pseudo to 1.1.1 version
  pseudo: Fix problem related to realpath

Mei Lei (1):
  distro_tracking_fields.inc: Fix a incorrect date format

Nitin A Kamble (1):
  gcc: rebase the patch to avoid patch rejection

Paul Eggleton (1):
  iproute2: update to 2.6.38

Phil Blundell (2):
  sqlite: remove dependency on tcl-native
  kexec-tools: don't depend on virtual/kernel

Richard  Purdie (1):
  image_types.bbclass: Since we apply the override, look for the standard name

Richard Purdie (17):
  sstate.bbclass: When removing files, take an exclusive lock, even for shared
  package.bbclass: PACKAGELOCK is a shared lock file so inform sstate as such
  scripts/bitbake: Only build tar-replacement-native when the build system tar
  conf/sanity.conf: Set the minimum bitbake version correctly, we've needed re
  native/nativesdk: Clean up the depends ordering after bitbake override handl
  Revert "gcc: rebase the patch to avoid patch rejection"
  pointercal: Inhibit toolchain dependencies as its just config files
  formfactor: Inhibit toolchain dependencies as its just config files
  keymaps: Inhibit toolchain dependencies as its just configuration files
  usbinit: Inherit allarch as its a generic script
  base-files: Inherit toolchain dependencies as a compiler isn't used
  poky-feed-opkg: Disable default toolchain dependencies as these are just con
  initscripts: makedevs is no longer used anywhere so drop dependency. Also in
  sysvinit-inittab: Inhibit compiler/libc dependencies as this is just a confi
  initrdscripts: Inhibit compiler/libc dependencies as this is just a configur
  task-sdk-host: Add nativesdk to the task name so its clearer what the conten
  nativesdk.bbclass: Correct ordering of manipulations

Saul Wold (8):
  json-glib: Update to 0.12.4
  distro tracking: update Qing -> Saul
  distro tracking: fixup some bad entries
  distro tracking: Manual Updates
  bitbake.conf: Create staticdev pacakge for static libraries
  task-core-tools: add mesa-demos to testapps list
  core-image-sato-sdk: ensure testapps is part of sdk image
  core-image-lsb-sdk: ensure testapps is part of sdk image

Scott Garman (5):
  distro-tracking: updates
  openssh: upgrade to v5.8p2
  grep: upgrade to v2.8
  tar: upgrade to v1.26
  distro-tracking: update openssh, tar, and grep

Tom Zanussi (1):
  initramfs-live-install: comment out allarch inherit to resolve no provider


Changelog for meta-openembedded:

Khem Raj (2):
  Add bbappend files for gcc 4.6.0 from oe-core
  gcc-4.6: Remove recipes

Koen Kooi (47):
  gtk+ 2.20.x: drop from layer to align with oe-core
  connman 0.74: enable ntp plugin
  libgweather 2.28.0: import from OE rev 4c32184588b40ed094959cbe506f564b8a007
  libwnck 2.30.5: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
  gnome-menus 2.30.5: import from OE rev d4f0211e2078d5033ae0dee74664de5520d83
  xrdb 1.0.9: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
  gnome-panel 2.30.0: import from OE rev d4f0211e2078d5033ae0dee74664de5520d83
  bonobo: add gtk-doc files
  iso-codes 1.4: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
  libxklavier 5.0: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
  gdm 2.30.0: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
  libgomeui: fix license URI
  devicekit-power 014: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8
  gnome-session 2.30.2: import from OE rev d4f0211e2078d5033ae0dee74664de5520d
  systemd: update runtime dependencies for agetty
  

Re: [OE-core] [PATCH 0/6 V3] Share gcc work directories

2011-06-18 Thread Koen Kooi

Op 18 jun 2011, om 14:41 heeft Robert Yang het volgende geschreven:

> Changes of V3:
> 
> 1) Use --with-headers to replace the:
> 
>   sed -i 's:^\([ ]*\)glibc_header_dir=\"${with_build_sysroot}/usr/include\": 
> ...
> 
> 2) Fix the build of gcc-cross-canadian
> 
> 3) Fix gcc-crosssdk which make the source incompatible during its
>   building.
> 
> 4) Test "bitbake meta-toolchain", and also do run test for the
>   pokysdk(unpack the toolchain to /opt, setup the env by sourcing
>   environment-setup-armv5te-poky-linux-gnueabi, and build some pkgs
>   out of poky, then use command file to check the binary file type.
> 
> 5) Make sure that no gcc build would make the source incompatible,
>   except gcc-cross_csl-arm-2008q1.bb, but I think this is fine, its
>   BINV = "4.2.3", not 4.5.1 or 4.6.0.


How does this interact with rm_work?

regards,

Koen
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] [PATCH 6/6 V3] gcc-cross-canadian: share work directories

2011-06-18 Thread Robert Yang
We had made gcc' configure to use the hacked defaults.h and t-oe in
${B}/gcc for gcc-cross, gcc-cross-canadian doesn't need the hacked
defatuls.h or t-oe, but we need make their source compatible, so:

1) copy ${S}/gcc/deafults.h(which is the original one with no change) to
   ${B}/gcc, it is the same as use the one in ${S}/gcc.

2) gcc-cross-canadian doesn't need the t-oe, so touch a empty t-oe for
   it, this doesn't change any behaviour of gcc-cross-canadian.

Signed-off-by: Robert Yang 
---
 meta/recipes-devtools/gcc/gcc-configure-sdk.inc |8 
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/meta/recipes-devtools/gcc/gcc-configure-sdk.inc 
b/meta/recipes-devtools/gcc/gcc-configure-sdk.inc
index de80870..bf6fd8f 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-sdk.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-sdk.inc
@@ -40,6 +40,14 @@ do_configure () {
export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
(cd ${S} && gnu-configize) || die "failure running gnu-configize"
+
+   # This is to make the source of gcc and gcc-sdk compatible,
+   # the Makefile and configure of gcc need t-oe and defaults.h
+   # in ${B}, so fake two for gcc-sdk in ${B}
+   mkdir -p ${B}/gcc
+   touch ${B}/gcc/t-oe
+   cp ${S}/gcc/defaults.h ${B}/gcc/defaults.h
+
oe_runconf
 }
 
-- 
1.7.1


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] [PATCH 3/6 V3] gcc-4.5.1: share work directories

2011-06-18 Thread Robert Yang
Fix configure and Makefile to read the defaults.h and t-oe from ${B},
so that the ${S} can be shared.

Signed-off-by: Robert Yang 
---
 meta/recipes-devtools/gcc/gcc-4.5.1.inc|1 +
 .../gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch   |   57 
 2 files changed, 58 insertions(+), 0 deletions(-)
 create mode 100644 
meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch

diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1.inc 
b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
index 3c4902e..2569e2e 100644
--- a/meta/recipes-devtools/gcc/gcc-4.5.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
@@ -57,6 +57,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
   file://gcc-poison-parameters.patch \
   file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \
   file://COLLECT_GCC_OPTIONS.patch \
+  file://use-defaults.h-and-t-oe-in-B.patch \
  "

 SRC_URI_append_sh3  = " file://sh3-installfix-fixheaders.patch;patch=1 "
diff --git 
a/meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch 
b/meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch
new file mode 100644
index 000..c93e6ca
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch
@@ -0,0 +1,57 @@
+Upstream-Status: Pending
+
+Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
+the source can be shared between gcc-cross-initial,
+gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
+---
+ gcc/Makefile.in  |2 +-
+ gcc/configure|4 ++--
+ gcc/configure.ac |4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index d91f93a..03ee2bd 100644
+--- a/gcc/Makefile.in
 b/gcc/Makefile.in
+@@ -461,7 +461,7 @@ LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ]
+ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
+ 
+ xmake_file=@xmake_file@
+-tmake_file=@tmake_file@
++tmake_file=@tmake_file@ ./t-oe
+ TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@
+ TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
+ TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
+diff --git a/gcc/configure b/gcc/configure
+index f440fa2..dafb0c1 100755
+--- a/gcc/configure
 b/gcc/configure
+@@ -10838,8 +10838,8 @@ for f in $tm_file; do
+tm_include_list="${tm_include_list} $f"
+;;
+ defaults.h )
+-   tm_file_list="${tm_file_list} \$(srcdir)/$f"
+-   tm_include_list="${tm_include_list} $f"
++   tm_file_list="${tm_file_list} ./$f"
++   tm_include_list="${tm_include_list} ./$f"
+;;
+ * )
+tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index d003091..ba422e6 100644
+--- a/gcc/configure.ac
 b/gcc/configure.ac
+@@ -1652,8 +1652,8 @@ for f in $tm_file; do
+tm_include_list="${tm_include_list} $f"
+;;
+ defaults.h )
+-   tm_file_list="${tm_file_list} \$(srcdir)/$f"
+-   tm_include_list="${tm_include_list} $f"
++   tm_file_list="${tm_file_list} ./$f"
++   tm_include_list="${tm_include_list} ./$f"
+;;
+ * )
+tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+-- 
+1.7.1
+
-- 
1.7.1


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/6 V3] bitbake: share source directory

2011-06-18 Thread Robert Yang
This patch is derived from Richard, it is a quick proof of concept to
show how source code could be shared between recipes which use ${B} to
have a separate build directory compared to source directory ${S}.

Signed-off-by: Robert Yang 
---
 bitbake/lib/bb/build.py|4 ++--
 bitbake/lib/bb/cache.py|3 +++
 bitbake/lib/bb/runqueue.py |   10 ++
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index 7947906..052a3bf 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -383,10 +383,10 @@ def stamp_internal(taskname, d, file_name):
 taskflagname = taskname.replace("_setscene", "")
 
 if file_name:
-stamp = d.stamp[file_name]
+stamp = d.stamp_base[file_name].get(taskflagname) or d.stamp[file_name]
 extrainfo = d.stamp_extrainfo[file_name].get(taskflagname) or ""
 else:
-stamp = d.getVar('STAMP', True)
+stamp = d.getVarFlag(taskflagname, 'stamp-base', True) or 
d.getVar('STAMP', True)
 file_name = d.getVar('BB_FILENAME', True)
 extrainfo = d.getVarFlag(taskflagname, 'stamp-extra-info', True) or ""
 
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index 6c92a93..99d7395 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -124,6 +124,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
 self.broken = self.getvar('BROKEN', metadata)
 self.not_world = self.getvar('EXCLUDE_FROM_WORLD', metadata)
 self.stamp = self.getvar('STAMP', metadata)
+self.stamp_base = self.flaglist('stamp-base', self.tasks, metadata)
 self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, 
metadata)
 self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
 self.depends  = self.depvar('DEPENDS', metadata)
@@ -151,6 +152,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
 cachedata.pkg_dp = {}
 
 cachedata.stamp = {}
+cachedata.stamp_base = {}
 cachedata.stamp_extrainfo = {}
 cachedata.fn_provides = {}
 cachedata.pn_provides = defaultdict(list)
@@ -183,6 +185,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
 cachedata.pkg_pepvpr[fn] = (self.pe, self.pv, self.pr)
 cachedata.pkg_dp[fn] = self.defaultpref
 cachedata.stamp[fn] = self.stamp
+cachedata.stamp_base[fn] = self.stamp_base
 cachedata.stamp_extrainfo[fn] = self.stamp_extrainfo
 
 provides = [self.pn]
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 7a17fce..a4be099 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -105,6 +105,11 @@ class RunQueueScheduler(object):
 if self.rq.runq_running[taskid] == 1:
 continue
 if self.rq.runq_buildable[taskid] == 1:
+fn = 
self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[taskid]]
+taskname = self.rqdata.runq_task[taskid]
+stamp = bb.build.stampfile(taskname, self.rqdata.dataCache, fn)
+if stamp in self.rq.build_stamps.values():
+continue
 return taskid
 
 def next(self):
@@ -1009,6 +1014,7 @@ class RunQueueExecute:
 self.runq_complete = []
 self.build_pids = {}
 self.build_pipes = {}
+self.build_stamps = {}
 self.failed_fnids = []
 
 def runqueue_process_waitpid(self):
@@ -1023,6 +1029,9 @@ class RunQueueExecute:
 del self.build_pids[result[0]]
 self.build_pipes[result[0]].close()
 del self.build_pipes[result[0]]
+# self.build_stamps[result[0]] may not exist when use shared work 
directory.
+if result[0] in self.build_stamps.keys():
+del self.build_stamps[result[0]]
 if result[1] != 0:
 self.task_fail(task, result[1]>>8)
 else:
@@ -1319,6 +1328,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
 
 self.build_pids[pid] = task
 self.build_pipes[pid] = runQueuePipe(pipein, pipeout, self.cfgData)
+self.build_stamps[pid] = bb.build.stampfile(taskname, 
self.rqdata.dataCache, fn)
 self.runq_running[task] = 1
 self.stats.taskActive()
 if self.stats.active < self.number_tasks:
-- 
1.7.1


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/6 V3] Share gcc work directories

2011-06-18 Thread Robert Yang
This patched is derived from Richard, make gcc use the shared source
directory during the different building:

1) Make gcc-cross, gcc-cross-initial, gcc-cross-intermediate and
   gcc-runtime share the same source directory.

2) The source directory is ${TMPDIR}/work-shared/gcc-${PV}, for example:
   tmp/work-shared/gcc-4.6.0

3) Fix do_clean to clean the shared source directory and stamps

4) gcc uses sed and creates config files against ${S} which means the
   directory should not be shared. Change the way to make it work:

   * The configure option --with-headers=${STAGING_DIR_TARGET}${SYSTEMHEADERS}
 can replace the sed command, see the code in configure:

if test "x$with_headers" != x; then
  glibc_header_dir=$with_headers

This has the same effect as the sed command:

sed -i 's:^\([  ]*\)glibc_header_dir=\"${with_build_sysroot}/usr/include\": 
...

so add the --with-headers=${STAGING_DIR_TARGET}${SYSTEMHEADERS} to
gcc-configure-cross.inc( not add to gcc-configure-common.inc, since
not all the gcc building need this, the one which has its own do_configure
doesn't need it).

   * Move t-oe from ${T} to ${B}/gcc, so that the patched Makefile.in
 can read it easily, please see the commit for gcc-4.5.1 and
 gcc-4.6.0.

   * Use the defaults.h in ${B}/gcc instead of ${S}/gcc, and the patched
 configure.ac(configure) can read it correctly, please see the
 commit for gcc-4.5.1 and gcc-4.6.0.

Signed-off-by: Robert Yang 
---
 meta/recipes-devtools/gcc/gcc-common.inc   |   32 ++-
 meta/recipes-devtools/gcc/gcc-configure-common.inc |   33 ---
 meta/recipes-devtools/gcc/gcc-configure-cross.inc  |4 ++-
 3 files changed, 47 insertions(+), 22 deletions(-)

diff --git a/meta/recipes-devtools/gcc/gcc-common.inc 
b/meta/recipes-devtools/gcc/gcc-common.inc
index a3fa234..7bf036c 100644
--- a/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-common.inc
@@ -37,10 +37,38 @@ ${GNU_MIRROR}/gcc/  http://gcc.get-software.com/releases/ 
\n \
 #
 gcclibdir = "${libdir}/gcc"
 BINV = "${PV}"
-S = "${WORKDIR}/gcc-${PV}"
-B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+#S = "${WORKDIR}/gcc-${PV}"
+S = "${TMPDIR}/work-shared/gcc-${PV}/gcc-${PV}"
+B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
+
+# SS means Shared Stamps directory
+SS = "${TMPDIR}/stamps/work-shared/gcc-${PV}"
+do_fetch[stamp-base] = "${SS}"
+do_unpack[stamp-base] = "${SS}"
+do_patch[stamp-base] = "${SS}"
+
+# SW means Shared Work directory
+SW = "${TMPDIR}/work-shared/gcc-${PV}"
+WORKDIR_task-unpack = "${SW}"
+WORKDIR_task-patch = "${SW}"
 
 target_includedir ?= "${includedir}"
 target_libdir ?= "${libdir}"
 target_base_libdir ?= "${base_libdir}"
 target_prefix ?= "${prefix}"
+
+CLEANFUNCS += "workshared_clean"
+# The do_clean should be exclusive since share ${S}
+do_clean[lockfiles] = "${TMPDIR}/stamps/work-shared/gcc-${PV}.clean.lock"
+
+python workshared_clean () {
+   """clear the source directory"""
+   dir = bb.data.expand("${SW}", d)
+   bb.note("Removing " + dir)
+   oe.path.remove(dir)
+
+   """clear the the stamps in work-shared"""
+   dir = "%s.*" % bb.data.expand(d.getVarFlag('do_fetch', 'stamp-base', 
True), d)
+   bb.note("Removing " + dir)
+   oe.path.remove(dir)
+}
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc 
b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index f7b5836..c543aae 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -88,25 +88,20 @@ do_configure () {
(cd ${S} && gnu-configize) || die "failure running gnu-configize"

# teach gcc to find correct target includedir when checking libc ssp 
support
-   sed -i 's:^\([  
]*\)glibc_header_dir=\"${with_build_sysroot}/usr/include\":\1glibc_header_dir=\"${with_build_sysroot}${SYSTEMHEADERS}\":g'
 ${S}/gcc/configure.ac
-   sed -i 's:^\([  
]*\)glibc_header_dir=\"${with_build_sysroot}/usr/include\":\1glibc_header_dir=\"${with_build_sysroot}${SYSTEMHEADERS}\":g'
 ${S}/gcc/configure
-
-   # splice our idea of where the headers live into gcc's world
-   echo "NATIVE_SYSTEM_HEADER_DIR = ${SYSTEMHEADERS}" > ${T}/t-oe
-   sed 's%^tmake_file=.*$%& ${T}/t-oe%' < ${S}/gcc/Makefile.in 
>${S}/gcc/Makefile.in.new
-   mv ${S}/gcc/Makefile.in.new ${S}/gcc/Makefile.in
-   cat ${S}/gcc/defaults.h | grep -v "\#endif.*GCC_DEFAULTS_H" > 
${S}/gcc/defaults.h.new
-   echo "#ifndef STANDARD_INCLUDE_DIR" >> ${S}/gcc/defaults.h.new
-   echo "#define STANDARD_INCLUDE_DIR \"${SYSTEMHEADERS}\"" >> 
${S}/gcc/defaults.h.new
-   echo "#endif" >> ${S}/gcc/defaults.h.new
-   echo "#ifndef STANDARD_STARTFILE_PREFIX_1" >> ${S}/gcc/defaults.h.new
-   echo "#define STANDARD_STARTFILE_PREFIX_1 \"${SYSTEMLIBS}\"" >> 
${S}/gcc/defaults.h.new
-   echo "#endif" >> ${S}/gcc/defaults.h.new
-   echo "#i

[OE-core] [PATCH 4/6 V3] gcc-4.6.0: share work directories

2011-06-18 Thread Robert Yang
Fix configure and Makefile to read the defaults.h and t-oe from ${B},
so that the ${S} can be shared.

Signed-off-by: Robert Yang 
---
 meta/recipes-devtools/gcc/gcc-4.6.0.inc|1 +
 .../gcc-4.6.0/use-defaults.h-and-t-oe-in-B.patch   |   80 
 2 files changed, 81 insertions(+), 0 deletions(-)
 create mode 100644 
meta/recipes-devtools/gcc/gcc-4.6.0/use-defaults.h-and-t-oe-in-B.patch

diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0.inc 
b/meta/recipes-devtools/gcc/gcc-4.6.0.inc
index cb9eb8e..ebfedd7 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0.inc
@@ -54,6 +54,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
   file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \
   file://COLLECT_GCC_OPTIONS.patch \
file://volatile_access_backport.patch \
+   file://use-defaults.h-and-t-oe-in-B.patch \
  "
 
 SRC_URI_append_sh3  = " file://sh3-installfix-fixheaders.patch;patch=1 "
diff --git 
a/meta/recipes-devtools/gcc/gcc-4.6.0/use-defaults.h-and-t-oe-in-B.patch 
b/meta/recipes-devtools/gcc/gcc-4.6.0/use-defaults.h-and-t-oe-in-B.patch
new file mode 100644
index 000..b4351ee
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/use-defaults.h-and-t-oe-in-B.patch
@@ -0,0 +1,80 @@
+Upstream-Status: Pending
+
+Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
+the source can be shared between gcc-cross-initial,
+gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
+---
+ gcc/Makefile.in  |2 +-
+ gcc/configure|4 ++--
+ gcc/configure.ac |4 ++--
+ gcc/mkconfig.sh  |4 ++--
+ 4 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 7790915..3a0c34a 100644
+--- a/gcc/Makefile.in
 b/gcc/Makefile.in
+@@ -463,7 +463,7 @@ LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ]
+ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
+ 
+ xmake_file=@xmake_file@
+-tmake_file=@tmake_file@
++tmake_file=@tmake_file@ ./t-oe
+ TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@
+ TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
+ TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
+diff --git a/gcc/configure b/gcc/configure
+index 82fa3e4..d4711b5 100755
+--- a/gcc/configure
 b/gcc/configure
+@@ -11227,8 +11227,8 @@ for f in $tm_file; do
+tm_include_list="${tm_include_list} $f"
+;;
+ defaults.h )
+-   tm_file_list="${tm_file_list} \$(srcdir)/$f"
+-   tm_include_list="${tm_include_list} $f"
++   tm_file_list="${tm_file_list} ./$f"
++   tm_include_list="${tm_include_list} ./$f"
+;;
+ * )
+tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 844d8da..a960343 100644
+--- a/gcc/configure.ac
 b/gcc/configure.ac
+@@ -1628,8 +1628,8 @@ for f in $tm_file; do
+tm_include_list="${tm_include_list} $f"
+;;
+ defaults.h )
+-   tm_file_list="${tm_file_list} \$(srcdir)/$f"
+-   tm_include_list="${tm_include_list} $f"
++   tm_file_list="${tm_file_list} ./$f"
++   tm_include_list="${tm_include_list} ./$f"
+;;
+ * )
+tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
+index d56df8c..875d0f1 100644
+--- a/gcc/mkconfig.sh
 b/gcc/mkconfig.sh
+@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
+ if [ $# -ge 1 ]; then
+   echo '#ifdef IN_GCC' >> ${output}T
+   for file in "$@"; do
+-  if test x"$file" = x"defaults.h"; then
++  if test x"$file" = x"./defaults.h"; then
+   postpone_defaults_h="yes"
+   else
+   echo "# include \"$file\"" >> ${output}T
+@@ -103,7 +103,7 @@ esac
+ 
+ # If we postponed including defaults.h, add the #include now.
+ if test x"$postpone_defaults_h" = x"yes"; then
+-echo "# include \"defaults.h\"" >> ${output}T
++echo "# include \"./defaults.h\"" >> ${output}T
+ fi
+ 
+ # Add multiple inclusion protection guard, part two.
+-- 
+1.7.1
+
-- 
1.7.1


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] [PATCH 5/6 V3] gcc-crosssdk: share work directories

2011-06-18 Thread Robert Yang
The gcc-crosssdk.inc edited the files of config/*/linux*.h in ${S},
which made the source incompatible. Copy config to config-sdk, and edit
the files in config-sdk, configure will read the files in it when build
gcc-crosssdk.

The sed command for configure is more complicated than for configure.ac,
this is because there is such a line /boot/home/config/ in it, we should
not substitute it.

Signed-off-by: Robert Yang 
---
 meta/recipes-devtools/gcc/gcc-crosssdk.inc |   13 +++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk.inc 
b/meta/recipes-devtools/gcc/gcc-crosssdk.inc
index 6e7d5a7..fdba6df 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk.inc
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk.inc
@@ -9,8 +9,17 @@ GCCMULTILIB = "--disable-multilib"
 DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk 
virtual/${TARGET_PREFIX}libc-for-gcc-nativesdk gettext-native"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc-crosssdk 
virtual/${TARGET_PREFIX}g++-crosssdk"
 
+export BUILD_GCC_SDK = "-sdk"
 do_configure_prepend () {
# Change the default dynamic linker path to the one in the SDK
-   sed -i ${S}/gcc/config/*/linux*.h -e 
's#\(GLIBC_DYNAMIC_LINKER.*\)/lib/#\1${SYSTEMLIBS}#'
-   sed -i ${S}/gcc/config/*/linux*.h -e 
's#\(GLIBC_DYNAMIC_LINKER.*\)/lib64/#\1${SYSTEMLIBS}#'
+   [ ! -d ${S}/gcc/config-sdk ] && cp -r ${S}/gcc/config 
${S}/gcc/config-sdk/
+   sed -i ${S}/gcc/configure.ac -e 's#config/#config\$BUILD_GCC_SDK/#'
+   sed -i ${S}/gcc/configure -e 's# config/# config\$BUILD_GCC_SDK/#' \
+   -e 's#\${srcdir}/config/#\${srcdir}/config\$BUILD_GCC_SDK/#' \
+   -e 's#\$srcdir/config/#\$srcdir/config\$BUILD_GCC_SDK/#' \
+   -e 's#\$(srcdir)/config/#\$(srcdir)/config\$BUILD_GCC_SDK/#' \
+   -e "s#\$(srcdir)'/config/#\$(srcdir)'/config\$BUILD_GCC_SDK/#"
+
+   sed -i ${S}/gcc/config-sdk/*/linux*.h -e 
's#\(GLIBC_DYNAMIC_LINKER.*\)/lib/#\1${SYSTEMLIBS}#'
+   sed -i ${S}/gcc/config-sdk/*/linux*.h -e 
's#\(GLIBC_DYNAMIC_LINKER.*\)/lib64/#\1${SYSTEMLIBS}#'
 }
-- 
1.7.1


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] [PATCH 0/6 V3] Share gcc work directories

2011-06-18 Thread Robert Yang
Changes of V3:

1) Use --with-headers to replace the:

   sed -i 's:^\([ ]*\)glibc_header_dir=\"${with_build_sysroot}/usr/include\": 
...

2) Fix the build of gcc-cross-canadian

3) Fix gcc-crosssdk which make the source incompatible during its
   building.

4) Test "bitbake meta-toolchain", and also do run test for the
   pokysdk(unpack the toolchain to /opt, setup the env by sourcing
   environment-setup-armv5te-poky-linux-gnueabi, and build some pkgs
   out of poky, then use command file to check the binary file type.

5) Make sure that no gcc build would make the source incompatible,
   except gcc-cross_csl-arm-2008q1.bb, but I think this is fine, its
   BINV = "4.2.3", not 4.5.1 or 4.6.0.

Thanks for Richard's great help.

// Robert


The following changes since commit 2163461ec94528ecf046a04edc5db3d2dd3a6b8b:

  systemtap: remove non-core COMPATIBLE_MACHINES (2011-06-16 22:14:06 +0100)

are available in the git repository at:
  git://git.pokylinux.org/poky-contrib robert/share_gcc
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/share_gcc

Robert Yang (6):
  bitbake: share source directory
  Share gcc work directories
  gcc-4.5.1: share work directories
  gcc-4.6.0: share work directories
  gcc-crosssdk: share work directories
  gcc-cross-canadian: share work directories

 bitbake/lib/bb/build.py|4 +-
 bitbake/lib/bb/cache.py|3 +
 bitbake/lib/bb/runqueue.py |   10 +++
 meta/recipes-devtools/gcc/gcc-4.5.1.inc|1 +
 .../gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch   |   57 ++
 meta/recipes-devtools/gcc/gcc-4.6.0.inc|1 +
 .../gcc-4.6.0/use-defaults.h-and-t-oe-in-B.patch   |   80 
 meta/recipes-devtools/gcc/gcc-common.inc   |   32 +++-
 meta/recipes-devtools/gcc/gcc-configure-common.inc |   33 -
 meta/recipes-devtools/gcc/gcc-configure-cross.inc  |4 +-
 meta/recipes-devtools/gcc/gcc-configure-sdk.inc|8 ++
 meta/recipes-devtools/gcc/gcc-crosssdk.inc |   13 +++-
 12 files changed, 220 insertions(+), 26 deletions(-)
 create mode 100644 
meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch
 create mode 100644 
meta/recipes-devtools/gcc/gcc-4.6.0/use-defaults.h-and-t-oe-in-B.patch


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core