summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2008-03-22 01:10:19 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2008-03-22 01:10:19 +0000
commite9d06c0fd98cf559c8067cecb40ccaaa05c6f7b4 (patch)
treedc8fb1bee3ebd33a9383839bb7bf27c637cca609 /eclass/linux-mod.eclass
parentNew version for GNOME 2.22. Uses GtkNotebook provided reordable tabs for bett... (diff)
downloadgentoo-2-e9d06c0fd98cf559c8067cecb40ccaaa05c6f7b4.tar.gz
gentoo-2-e9d06c0fd98cf559c8067cecb40ccaaa05c6f7b4.tar.bz2
gentoo-2-e9d06c0fd98cf559c8067cecb40ccaaa05c6f7b4.zip
Correctly handle variables with spaces being over and under interpreted when the emake is called. Symptoms of this are weird targets being used for make.
Diffstat (limited to 'eclass/linux-mod.eclass')
-rw-r--r--eclass/linux-mod.eclass19
1 files changed, 14 insertions, 5 deletions
diff --git a/eclass/linux-mod.eclass b/eclass/linux-mod.eclass
index 7a94bff9040c..4a7128e9b991 100644
--- a/eclass/linux-mod.eclass
+++ b/eclass/linux-mod.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/linux-mod.eclass,v 1.78 2008/01/22 21:05:32 dsd Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/linux-mod.eclass,v 1.79 2008/03/22 01:10:19 robbat2 Exp $
# Description: This eclass is used to interface with linux-info in such a way
# to provide the functionality required and initial functions
@@ -513,10 +513,19 @@ linux-mod_src_compile() {
econf ${ECONF_PARAMS} || \
die "Unable to run econf ${ECONF_PARAMS}"
fi
-
- emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" \
- ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} \
- || die "Unable to make ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}."
+
+ # This looks messy, but it is needed to handle multiple variables
+ # being passed in the BUILD_* stuff where the variables also have
+ # spaces that must be preserved. If don't do this, then the stuff
+ # inside the variables gets used as targets for Make, which then
+ # fails.
+ eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" \
+ CC=\"$(get-KERNEL_CC)\" \
+ LDFLAGS=\"$(get_abi_LDFLAGS)\" \
+ ${BUILD_FIXES} \
+ ${BUILD_PARAMS} \
+ ${BUILD_TARGETS} " \
+ || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}"
touch ${srcdir}/.built
cd ${OLDPWD}
fi