---
scons-utils.eclass | 33 +++++++++++++++++++++++++--------
1 files changed, 25 insertions(+), 8 deletions(-)
diff --git a/scons-utils.eclass b/scons-utils.eclass
index a87b6e6..16fda7a 100644
--- a/scons-utils.eclass
+++ b/scons-utils.eclass
@@ -14,11 +14,21 @@
# @CODE
# inherit scons-utils toolchain-funcs
#
+# EAPI=4
+#
+# src_configure() {
+# myesconsargs=(
+# CC="$(tc-getCC)"
+# $(use_scons nls ENABLE_NLS)
+# )
+# }
+#
# src_compile() {
-# tc-export CC CXX
-# escons \
-# $(use_scons nls ENABLE_NLS) \
-# || die
+# escons
+# }
+#
+# src_install() {
+# escons install
# }
# @CODE
@@ -29,6 +39,12 @@
# @DESCRIPTION:
# The minimal version of SCons required for the build to work.
+# @ECLASS-VARIABLE: myesconsargs
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# List of package-specific options to pass to all SCons calls. Supposed to be
+# set in src_configure().
+
# @ECLASS-VARIABLE: SCONSOPTS
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -73,16 +89,17 @@ fi
# @FUNCTION: escons
# @USAGE: [scons-arg] ...
# @DESCRIPTION:
-# Call scons, passing the supplied arguments, ${MAKEOPTS} and
-# ${EXTRA_ESCONS}. Similar to emake. Like emake, this function does die
-# on failure in EAPI 4 (unless called nonfatal).
+# Call scons, passing the supplied arguments, ${myesconsargs[@]},
+# filtered ${MAKEOPTS}, ${EXTRA_ESCONS}. Similar to emake. Like emake,
+# this function does die on failure in EAPI 4 (unless called nonfatal).
escons() {
local ret
debug-print-function ${FUNCNAME} "${@}"
# if SCONSOPTS are _unset_, use cleaned MAKEOPTS
- set -- scons ${SCONSOPTS-$(scons_clean_makeopts)} ${EXTRA_ESCONS} "${@}"
+ set -- scons ${SCONSOPTS-$(scons_clean_makeopts)} ${EXTRA_ESCONS} \
+ "${myesconsargs[@]}" "${@}"
echo "${@}" >&2
"${@}"
ret=${?}
--
1.7.7.325.g05f6ed.dirty