[oe] [PATCH 2/2] kernel.bbclass: pass AR, NM and OBJCOPY to make
Phil Blundell
philb at gnu.org
Mon May 16 11:44:03 UTC 2011
I'm mildly curious as to what Montavista can have done that requires a
custom version of ar. But the patch looks fine to me anyway.
Acked-by: Phil Blundell <philb at gnu.org>
p.
On Mon, 2011-05-16 at 13:40 +0200, Andreas Oberritter wrote:
> Ping
>
> On 04/15/2011 02:03 AM, Andreas Oberritter wrote:
> > - Fixes build with certain vendor-supplied Montavista kernels.
> > - Pass the same set of variables to every invocation of make.
> > - Create KERNEL_*SUFFIX, TARGET_*_KERNEL_ARCH and HOST_*_KERNEL_ARCH
> > for the three variables, analogue to LD.
> >
> > Signed-off-by: Andreas Oberritter <obi at opendreambox.org>
> > ---
> > classes/kernel.bbclass | 28 ++++++++++++++++++++++++----
> > 1 files changed, 24 insertions(+), 4 deletions(-)
> >
> > diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass
> > index bded15d..b97b725 100644
> > --- a/classes/kernel.bbclass
> > +++ b/classes/kernel.bbclass
> > @@ -41,19 +41,39 @@ KERNEL_PRIORITY = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[-1]}"
> >
> > KERNEL_RELEASE ?= "${KERNEL_VERSION}"
> >
> > +KERNEL_ARSUFFIX ?= ""
> > KERNEL_CCSUFFIX ?= ""
> > KERNEL_LDSUFFIX ?= ""
> > +KERNEL_NMSUFFIX ?= ""
> > +KERNEL_OBJCOPYSUFFIX ?= ""
> >
> > # Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture
> > # specific options necessary for building the kernel and modules.
> > #FIXME: should be this: TARGET_CC_KERNEL_ARCH ?= "${TARGET_CC_ARCH}"
> > +TARGET_AR_KERNEL_ARCH ?= ""
> > +HOST_AR_KERNEL_ARCH ?= "${TARGET_AR_KERNEL_ARCH}"
> > TARGET_CC_KERNEL_ARCH ?= ""
> > HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}"
> > TARGET_LD_KERNEL_ARCH ?= ""
> > HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}"
> > +TARGET_NM_KERNEL_ARCH ?= ""
> > +HOST_NM_KERNEL_ARCH ?= "${TARGET_NM_KERNEL_ARCH}"
> > +TARGET_OBJCOPY_KERNEL_ARCH ?= ""
> > +HOST_OBJCOPY_KERNEL_ARCH ?= "${TARGET_OBJCOPY_KERNEL_ARCH}"
> >
> > +KERNEL_AR = "${AR}${KERNEL_ARSUFFIX} ${HOST_AR_KERNEL_ARCH}"
> > KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}"
> > KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}"
> > +KERNEL_NM = "${NM}${KERNEL_NMSUFFIX} ${HOST_NM_KERNEL_ARCH}"
> > +KERNEL_OBJCOPY = "${OBJCOPY}${KERNEL_OBJCOPYSUFFIX} ${HOST_OBJCOPY_KERNEL_ARCH}"
> > +
> > +KERNEL_EXTRA_OEMAKE = " \
> > + AR='${KERNEL_AR}' \
> > + CC='${KERNEL_CC}' \
> > + LD='${KERNEL_LD}' \
> > + NM='${KERNEL_NM}' \
> > + OBJCOPY='${KERNEL_OBJCOPY}' \
> > +"
> >
> > # Where built kernel lies in the kernel tree
> > KERNEL_OUTPUT ?= "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}"
> > @@ -82,17 +102,17 @@ EXTRA_OEMAKE = ""
> >
> > kernel_do_compile() {
> > unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
> > - oe_runmake include/linux/version.h CC="${KERNEL_CC}" LD="${KERNEL_LD}"
> > + oe_runmake include/linux/version.h ${KERNEL_EXTRA_OEMAKE}
> > if [ "${KERNEL_MAJOR_VERSION}" != "2.6" ]; then
> > - oe_runmake dep CC="${KERNEL_CC}" LD="${KERNEL_LD}"
> > + oe_runmake dep ${KERNEL_EXTRA_OEMAKE}
> > fi
> > - oe_runmake ${KERNEL_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}"
> > + oe_runmake ${KERNEL_IMAGETYPE} ${KERNEL_EXTRA_OEMAKE}
> > }
> >
> > do_compile_kernelmodules() {
> > unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
> > if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
> > - oe_runmake modules CC="${KERNEL_CC}" LD="${KERNEL_LD}"
> > + oe_runmake modules ${KERNEL_EXTRA_OEMAKE}
> > else
> > oenote "no modules to compile"
> > fi
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
More information about the Openembedded-devel
mailing list