aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-05-04 14:47:08 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-05-04 14:47:08 +0000
commit53c55202dbdf0df958ef96eece075062691c87d9 (patch)
tree48dd215aafa051ac9c3dc1c34ad284685a54e255
parent7063c438ef4dea785f558d31bc1c2152859f9727 (diff)
downloadpaludis-53c55202dbdf0df958ef96eece075062691c87d9.tar.gz
paludis-53c55202dbdf0df958ef96eece075062691c87d9.tar.xz
Pass along quotes properly when calling econf. Fixes Berlios#7358.
-rw-r--r--ebuild/build_functions.bash32
1 files changed, 20 insertions, 12 deletions
diff --git a/ebuild/build_functions.bash b/ebuild/build_functions.bash
index 377555f..10fda6c 100644
--- a/ebuild/build_functions.bash
+++ b/ebuild/build_functions.bash
@@ -40,26 +40,34 @@ econf()
[[ -z "${CBUILD}" ]] || LOCAL_EXTRA_ECONF="--build=${CBUILD} ${LOCAL_EXTRA_ECONF}"
[[ -z "${CTARGET}" ]] || LOCAL_EXTRA_ECONF="--target=${CTARGET} ${LOCAL_EXTRA_ECONF}"
- local cmd="${ECONF_SOURCE}/configure"
- cmd="${cmd} --prefix=/usr"
- cmd="${cmd} --host=${CHOST}"
- cmd="${cmd} --mandir=/usr/share/man"
- cmd="${cmd} --infodir=/usr/share/info"
- cmd="${cmd} --datadir=/usr/share"
- cmd="${cmd} --sysconfdir=/etc"
- cmd="${cmd} --localstatedir=/var/lib"
# Check that this is actually what's wanted for multilib etc.
+ local libcmd=
if [[ -n "${ABI}" ]] ; then
local v="LIBDIR_${ABI}"
if [[ -n "${!v}" ]] ; then
- cmd="${cmd} --libdir=/usr/$(ebuild_get_libdir)"
+ libcmd="--libdir=/usr/$(ebuild_get_libdir)"
fi
fi
- cmd="${LOCAL_ECONF_WRAPPER} ${cmd} $@ ${LOCAL_EXTRA_ECONF}"
+ echo ${LOCAL_ECONF_WRAPPER} ${ECONF_SOURCE}/configure \
+ --prefix=/usr \
+ --host=${CHOST} \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --datadir=/usr/share \
+ --sysconfdir=/etc \
+ --localstatedir=/var/lib \
+ ${libcmd} "$@" ${LOCAL_EXTRA_ECONF} 1>&2
- echo "${cmd}" 1>&2
- ${cmd} || die "econf failed"
+ ${LOCAL_ECONF_WRAPPER} ${ECONF_SOURCE}/configure \
+ --prefix=/usr \
+ --host=${CHOST} \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --datadir=/usr/share \
+ --sysconfdir=/etc \
+ --localstatedir=/var/lib \
+ ${libcmd} "$@" ${LOCAL_EXTRA_ECONF} || die "econf failed"
else
die "No configure script for econf"