Gentoo Archives: gentoo-portage-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-portage-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-portage-dev] [PATCH 2/2] econf: Add EAPI-conditional arguments via array
Date: Sun, 17 Aug 2014 17:59:52
Message-Id: 1408298422-8657-2-git-send-email-mgorny@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH 1/2] econf: Replace unnecessary 'case' statements with 'if's by "Michał Górny"
1 Use a dedicated array variable to add EAPI-conditional arguments to
2 the configure script instead of prepending them to the command
3 parameters.
4 ---
5 bin/phase-helpers.sh | 10 +++++++---
6 1 file changed, 7 insertions(+), 3 deletions(-)
7
8 diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
9 index 6a5ce85..b96c3f5 100644
10 --- a/bin/phase-helpers.sh
11 +++ b/bin/phase-helpers.sh
12 @@ -521,18 +521,19 @@ econf() {
13 done
14 fi
15
16 + local conf_args=()
17 if ___eapi_econf_passes_--disable-dependency-tracking || ___eapi_econf_passes_--disable-silent-rules; then
18 local conf_help=$("${ECONF_SOURCE}/configure" --help 2>/dev/null)
19
20 if ___eapi_econf_passes_--disable-dependency-tracking; then
21 if [[ ${conf_help} == *--disable-dependency-tracking* ]]; then
22 - set -- --disable-dependency-tracking "$@"
23 + conf_args+=( --disable-dependency-tracking )
24 fi
25 fi
26
27 if ___eapi_econf_passes_--disable-silent-rules; then
28 if [[ ${conf_help} == *--disable-silent-rules* ]]; then
29 - set -- --disable-silent-rules "$@"
30 + conf_args+=( --disable-silent-rules )
31 fi
32 fi
33 fi
34 @@ -550,7 +551,9 @@ econf() {
35 CONF_PREFIX=${CONF_PREFIX#*=}
36 [[ ${CONF_PREFIX} != /* ]] && CONF_PREFIX="/${CONF_PREFIX}"
37 [[ ${CONF_LIBDIR} != /* ]] && CONF_LIBDIR="/${CONF_LIBDIR}"
38 - set -- --libdir="$(__strip_duplicate_slashes "${CONF_PREFIX}${CONF_LIBDIR}")" "$@"
39 + conf_args+=(
40 + --libdir="$(__strip_duplicate_slashes "${CONF_PREFIX}${CONF_LIBDIR}")"
41 + )
42 fi
43
44 # Handle arguments containing quoted whitespace (see bug #457136).
45 @@ -566,6 +569,7 @@ econf() {
46 --datadir="${EPREFIX}"/usr/share \
47 --sysconfdir="${EPREFIX}"/etc \
48 --localstatedir="${EPREFIX}"/var/lib \
49 + "${conf_args[@]}" \
50 "$@" \
51 "${EXTRA_ECONF[@]}"
52 __vecho "${ECONF_SOURCE}/configure" "$@"
53 --
54 2.0.4