1 |
Hello, everyone. |
2 |
|
3 |
Here's a bunch of scons-utils.eclass patches for review. This includes |
4 |
EAPI 6 support with some API changes, MAKEOPTS parsing cleanup |
5 |
and improved documentation. |
6 |
|
7 |
Fighting dev-db/mongodb lately, I've decided to explain a few common |
8 |
issues with SCons in the eclass. This will hopefully help developers |
9 |
noticing common QA issues like complete disrespect of CC, CXX or PATH, |
10 |
turning distcc setup into a dumb OOM-killer. |
11 |
|
12 |
EAPI 6 simplifies the eclass API and makes it more explicit. |
13 |
|
14 |
The confusing myesconsargs variable is no longer used in EAPI 6 and all |
15 |
custom arguments need to passed explicitly to each escons call. This |
16 |
makes it more consistent with emake. And like emake, escons starts truly |
17 |
respecting nonfatal in EAPI 6. |
18 |
|
19 |
The use_scons function is completely banned in EAPI 6. Already since |
20 |
EAPI 5, usex was a cleaner alternative. As a result, USE_SCONS_TRUE |
21 |
and USE_SCONS_FALSE variables are no longer used (not that anybody used |
22 |
them anyway). |
23 |
|
24 |
Finally, the MAKEOPTS parsing and transforming has been improved a bit. |
25 |
It has been redesigned so that the caching mechanism could actually |
26 |
work. --jobs lacking argument are now replaced by no-of-cpus+1 |
27 |
(obtained using nproc or python) rather than random, fixed number. |
28 |
|
29 |
Please review. |
30 |
|
31 |
|
32 |
Michał Górny (15): |
33 |
scons-utils.eclass: Modernize the example not to rely on myescons... |
34 |
scons-utils.eclass: Modernize the example to use usex |
35 |
scons-utils.eclass: Describe common issues with scons |
36 |
scons-utils.eclass: escons doc, 'die' does not respect nonfatal |
37 |
scons-utils.eclass: escons, invert EAPI check to cover future EAPIs |
38 |
scons-utils.eclass: escons, respect nonfatal in EAPI 6 |
39 |
scons-utils.eclass: Deprecate myesconsargs, and kill it in EAPI 6 |
40 |
scons-utils.eclass: Deprecate use_scons, ban it in EAPI 6 |
41 |
scons-utils.eclass: tests, be more verbose on tests being performed |
42 |
scons-utils.eclass: scons_clean_makeopts, mark internal |
43 |
scons-utils.eclass: _scons_clean_makeopts, fix result caching |
44 |
scons-utils.eclass: _scons_clean_makeopts, stop exporting cache vars |
45 |
scons-utils.eclass: _scons_clean_makeopts, clean up and simplify |
46 |
scons-utils.eclass: Use nproc when --jobs is used without an argument |
47 |
scons-utils.eclass: Enable EAPI 6 |
48 |
|
49 |
eclass/scons-utils.eclass | 138 +++++++++++++++++++++++++++++++++----------- |
50 |
eclass/tests/scons-utils.sh | 21 ++++--- |
51 |
2 files changed, 114 insertions(+), 45 deletions(-) |
52 |
|
53 |
-- |
54 |
2.6.4 |