commit: dbeb507f468dcc75095d54b59c165dcc70ef558d
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Wed Apr 3 04:24:23 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Apr 4 01:06:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbeb507f
meson.eclass: set working directory to BUILD_DIR
In phases where the build directory has been configured and we are
operating on it, it is better to change directories instead of passing
-C options. This allows portage to know where we are, and in the case of
errors it will then print:
* Working directory:
'/var/tmp/portage/www-client/elinks-0.16.1.1-r2/work/elinks-0.16.1.1-build'
* S: '/var/tmp/portage/www-client/elinks-0.16.1.1-r2/work/elinks-0.16.1.1'
instead of simply listing both as the same directory. This is much more
convenient to copy/paste for the sake of entering the failed build and
examining it.
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/meson.eclass | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index 3074fcb09fb0..9d7f830e58b0 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -435,8 +435,9 @@ meson_src_configure() {
meson_src_compile() {
debug-print-function ${FUNCNAME} "$@"
+ pushd "${BUILD_DIR}" > /dev/null || die
+
local mesoncompileargs=(
- -C "${BUILD_DIR}"
--jobs "$(get_makeopts_jobs 0)"
--load-average "$(get_makeopts_loadavg 0)"
)
@@ -451,6 +452,8 @@ meson_src_compile() {
set -- meson compile "${mesoncompileargs[@]}"
echo "$@" >&2
"$@" || die -n "compile failed"
+
+ popd > /dev/null || die
}
# @FUNCTION: meson_src_test
@@ -460,9 +463,10 @@ meson_src_compile() {
meson_src_test() {
debug-print-function ${FUNCNAME} "$@"
+ pushd "${BUILD_DIR}" > /dev/null || die
+
local mesontestargs=(
--print-errorlogs
- -C "${BUILD_DIR}"
--num-processes "$(makeopts_jobs "${MAKEOPTS}")"
"$@"
)
@@ -470,6 +474,8 @@ meson_src_test() {
set -- meson test "${mesontestargs[@]}"
echo "$@" >&2
"$@" || die -n "tests failed"
+
+ popd > /dev/null || die
}
# @FUNCTION: meson_install
@@ -479,8 +485,9 @@ meson_src_test() {
meson_install() {
debug-print-function ${FUNCNAME} "$@"
+ pushd "${BUILD_DIR}" > /dev/null || die
+
local mesoninstallargs=(
- -C "${BUILD_DIR}"
--destdir "${D}"
--no-rebuild
"$@"
@@ -489,6 +496,8 @@ meson_install() {
set -- meson install "${mesoninstallargs[@]}"
echo "$@" >&2
"$@" || die -n "install failed"
+
+ popd > /dev/null || die
}
# @FUNCTION: meson_src_install