Commit Graph

74 Commits

Author SHA1 Message Date
Tobias Henkel
d283bfd960 icecc: Enable icecc also for install step
Some packages are calling the compiler in the install step. In this
case either the build breaks or icecc is not used for building. The
proper environment has to be set to enable icecc based building.

(From OE-Core rev: bb1366cebb60593fc21fd7a9a678a159da8ec81c)

Signed-off-by: Tobias Henkel <tobias.henkel@bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-12 16:00:29 +00:00
Tobias Henkel
be181972e4 icecc: Add dummy python version of set_icecc_env
Bitbakes prepend mechanism for the tasks disregards the type of the
function. Thus bitbaking recipes using python functions for configure,
compile or install steps fail due to the missing python version of
set_icecc_env.

Assuming that icecc doesn't need to be used in such situations adding
a dummy python version of set_icecc_env fixes this.

(From OE-Core rev: 365dec500166b8eb9d64c573dd7139d3a26ae445)

Signed-off-by: Tobias Henkel <tobias.henkel@bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-12 16:00:29 +00:00
Tobias Henkel
54f52bcd33 icecc: Add blacklist vars to BB_HASHBASE_WHITELIST
Changing any of the ICECC blacklist variables should not change the
sstate checksum as this doesn't influence the build result.

(From OE-Core rev: 0f7dc969e64bc7563e208a4fb7d3ebe7c4e69e79)

Signed-off-by: Tobias Henkel <tobias.henkel@bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-12 16:00:29 +00:00
Tobias Henkel
280a4922e7 icecc: Reduce verbosity with empty PARALLEL_MAKE
Currently the icecc class prints a note for every package which
disables parallel make at parse time. This is unneccessary as many
packages don't support parallel building. Changing the log level from
info to debug hides these messages in normal builds without removing
the information when needed.

(From OE-Core rev: 6d2735629c20560a9406964195726b1a6e2d7d99)

Signed-off-by: Tobias Henkel <tobias.henkel@bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-12 16:00:29 +00:00
Tobias Henkel
79272eb058 icecc: Log reason in error cases
The current implementation doesn't give a hint about the cause in case
something went wrong in set_icecc_env. This makes it harder to find
out why a package is not being built using icecc. Therefore warnings
are inserted in the various error cases.

(From OE-Core rev: 0adea170c7019304471d442784fa0eb9bfcdf94b)

Signed-off-by: Tobias Henkel <tobias.henkel@bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-12 16:00:28 +00:00
Martin Jansa
230441f0c8 icecc: Allow to use this bbclass together with external toolchains
* original implementation by Antti Harju

(From OE-Core rev: abb5bd9f2d3583808b61a0832378e4db45022be6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-11 15:44:23 +01:00
Martin Jansa
1ceb13dda1 icecc: improve interaction with sstate
* exclude ICECC_PARALLEL_MAKE (like PARALLEL_MAKE is)
* add ICECC_DISBLED to be able to disable whole icecc functionality
  while keeping icecc enabled. This is useful when you want multiple
  builders sharing same sstate-cache, but only some of them using icecc.

* inheriting icecc changes all checksums because of do_*_prepends calls,
  but because icecc should not influence binary output of task we should
  get same checksums for tasks build with and without icecc

* ICECC_DISABLED when set (to any non-empty value will disable icecc env
  modifications but while keeping same sstate checksum

(From OE-Core rev: f46cf86d0ec3b80ce526b4dad1b1eac5995969ec)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-15 01:53:05 +00:00
Richard Purdie
0d9e893711 Revert "meta: replace os.popen with subprocess.Popen"
This reverts commit e83d8e58a6b107eea87df0ec233a1bc932b2c6e as the conversion
is not correct. Its replacing readlines() calls which generate an array with
what are effectively strings. There are split("\n") calls missing in many
cases so this needs to be reverted until it gets fixed.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 14:21:29 +01:00
Robert Yang
5996b2b58e meta: replace os.popen with subprocess.Popen
Replace os.popen with subprocess.Popen since the older function would
fail (more or less) silently if the executed program cannot be found

There are both bb.process.run() and bb.process.Popen() which wraps the
subprocess module, use it for simplifying the code.

Note: We don't need the "2>/dev/null" or "2>&1" since bb.process.run()
can handle it, it will raise exception when error occurs, we should
handle the exception ourselves if we want to ignore the error.

More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements

[YOCTO #2454]

(From OE-Core rev: e83d8e58a6b107eea87df0ec233a1bc932b2c6ea)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:45 +01:00
Robert P. J. Day
951aa5ea1f Various typoes fixed, all comments or output strings.
Typoes fixed: "enviroment", "editted", "spliting", "scheulder".

(From OE-Core rev: 17e981a857a51b0bec08c929e8539d36d83874b6)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 12:13:05 +01:00
Richard Purdie
b1aeaa8b0d meta: Replace bb.data.expand(xxx, d) -> d.expand(xxx)
sed \
 -e 's:bb.data.\(expand([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
 -i `grep -ril bb.data.expand *`

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:23:53 -08:00
Dmitry Eremin-Solenikov
ba8f367610 icecc.bbclass: also use icecc for kernel modules compilation
(From OE-Core rev: 7da58c6fdaa8feef5ee5637dfb74912e7e4f5394)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:17 +00:00
Richard Purdie
c8dee9b92d Convert to use direct access to the data store (instead of bb.data.*Var*())
This is the result of running the following over the metadata:

sed \
-e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \
-e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-i `grep -ril bb.data *`

(From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:19 +00:00
Dmitry Eremin-Solenikov
72ff0c54b9 icecc.bbclass: fix handling of nativesdk and cross-canadian packages
icecc.bbclass assumed that nativesdk and cross-canadian packages should
use local icecc version. Instead those packages should use target-like
scheme for toolchain tarball generation.

(From OE-Core rev: 394c7c8cf262efeaafce40dc5eb480a1e041ac50)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:12:29 +01:00
Dmitry Eremin-Solenikov
3d69181692 icecc-create-env: rename to -native
icecc-create-env(-native) is a native package. But if it doesn't have
the -native suffix, some dependency tracking stuff in oe-core (in
nativesdk.bbclass) get's crazy about it, trying to generate dependencies
to icecc-create-env-native packages. To fix that simply add -native
suffix to this package.

(From OE-Core rev: 83f9ebe9afb8bec4531899f8001a585c974e1db4)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:12:28 +01:00
Dmitry Eremin-Solenikov
849bf66e28 icecc.bbclass: replace with updated version
Replace a non-working icecc class with a rewritten one. It's cleaned up,
most things are handled now in shell scripts, as it's possible that
toolchains won't exist at the time of parsing/python substitution.
Packages which empty PARALLEL_MAKE are ignored now, as not to break
them.

(From OE-Core rev: 3a842ec52e7d010767b13bdcb5629ac07b3ee9e7)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 18:07:26 +01:00
Joshua Lock
c22ab5fc9f Install cross-packages into the native sysroot
Cross is no longer required so can go away, we now install cross packages into
the native sysroot and use them from there.

This patch includes updates to classes and some recipes which reference
CROSS_DIR. Others still need fixing an image can be built and run with this
patch applied.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-04-27 18:29:57 +01:00
Richard Purdie
01f75c1b48 rootfs_rpm/icecc: Sync whitespace with OE.dev
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-16 10:51:24 +00:00
Richard Purdie
c54117458a classes: Remove and sanitise import statements
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-13 12:15:28 +00:00
Richard Purdie
25110f59cc icecc.bbclass: Sync from OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3292 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-12-01 18:36:52 +00:00
Richard Purdie
720e0b144c classes: Sync various classes with OE for various bugfixes
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2407 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-08-08 20:41:55 +00:00
Richard Purdie
e09dab0614 classes: Sync with OE - mainly quoting fixes or other minor updates
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@885 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-11-20 15:19:39 +00:00
Richard Purdie
93a8d0662e classes: Sync with OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@651 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-08-27 16:01:33 +00:00
Richard Purdie
b2f192faab Rename /openembedded/ -> /meta/
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@530 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-07-21 10:10:31 +00:00