Use a dedicated array variable to add EAPI-conditional arguments to the configure script instead of prepending them to the command parameters. --- bin/phase-helpers.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh index 6a5ce85..b96c3f5 100644 --- a/bin/phase-helpers.sh +++ b/bin/phase-helpers.sh @@ -521,18 +521,19 @@ econf() { done fi + local conf_args=() if ___eapi_econf_passes_--disable-dependency-tracking || ___eapi_econf_passes_--disable-silent-rules; then local conf_help=$("${ECONF_SOURCE}/configure" --help 2>/dev/null) if ___eapi_econf_passes_--disable-dependency-tracking; then if [[ ${conf_help} == *--disable-dependency-tracking* ]]; then - set -- --disable-dependency-tracking "$@" + conf_args+=( --disable-dependency-tracking ) fi fi if ___eapi_econf_passes_--disable-silent-rules; then if [[ ${conf_help} == *--disable-silent-rules* ]]; then - set -- --disable-silent-rules "$@" + conf_args+=( --disable-silent-rules ) fi fi fi @@ -550,7 +551,9 @@ econf() { CONF_PREFIX=${CONF_PREFIX#*=} [[ ${CONF_PREFIX} != /* ]] && CONF_PREFIX="/${CONF_PREFIX}" [[ ${CONF_LIBDIR} != /* ]] && CONF_LIBDIR="/${CONF_LIBDIR}" - set -- --libdir="$(__strip_duplicate_slashes "${CONF_PREFIX}${CONF_LIBDIR}")" "$@" + conf_args+=( + --libdir="$(__strip_duplicate_slashes "${CONF_PREFIX}${CONF_LIBDIR}")" + ) fi # Handle arguments containing quoted whitespace (see bug #457136). @@ -566,6 +569,7 @@ econf() { --datadir="${EPREFIX}"/usr/share \ --sysconfdir="${EPREFIX}"/etc \ --localstatedir="${EPREFIX}"/var/lib \ + "${conf_args[@]}" \ "$@" \ "${EXTRA_ECONF[@]}" __vecho "${ECONF_SOURCE}/configure" "$@" -- 2.0.4