1 |
--- |
2 |
eclass/scons-utils.eclass | 14 ++++++++++++-- |
3 |
1 file changed, 12 insertions(+), 2 deletions(-) |
4 |
|
5 |
diff --git a/eclass/scons-utils.eclass b/eclass/scons-utils.eclass |
6 |
index 4defbac..fe9160a0 100644 |
7 |
--- a/eclass/scons-utils.eclass |
8 |
+++ b/eclass/scons-utils.eclass |
9 |
@@ -107,7 +107,8 @@ fi |
10 |
# @DESCRIPTION: |
11 |
# Call scons, passing the supplied arguments, ${myesconsargs[@]}, |
12 |
# filtered ${MAKEOPTS}, ${EXTRA_ESCONS}. Similar to emake. Like emake, |
13 |
-# this function does die on failure in EAPI 4. |
14 |
+# this function does die on failure in EAPI 4. Respects nonfatal |
15 |
+# in EAPI 6 and newer. |
16 |
escons() { |
17 |
local ret |
18 |
|
19 |
@@ -121,7 +122,16 @@ escons() { |
20 |
ret=${?} |
21 |
|
22 |
if [[ ${ret} -ne 0 ]]; then |
23 |
- [[ ${EAPI:-0} != [0123] ]] && die "escons failed." |
24 |
+ case "${EAPI:-0}" in |
25 |
+ 0|1|2|3) # nonfatal in EAPIs 0 through 3 |
26 |
+ ;; |
27 |
+ 4|5) # 100% fatal in 4 & 5 |
28 |
+ die "escons failed." |
29 |
+ ;; |
30 |
+ *) # respect nonfatal in 6 onwards |
31 |
+ die -n "escons failed." |
32 |
+ ;; |
33 |
+ esac |
34 |
fi |
35 |
return ${ret} |
36 |
} |
37 |
-- |
38 |
2.6.4 |