[oe] [meta-oe][PATCH 1/7] wafsamba: add class

Bian, Naimeng biannm at cn.fujitsu.com
Tue Jun 16 02:12:42 UTC 2015


Hi Paul

Thanks for your comments.

> -----Original Message-----
> From: Paul Eggleton [mailto:paul.eggleton at linux.intel.com]
> Sent: Monday, June 15, 2015 8:53 PM
> To: Bian, Naimeng/卞 乃猛
> Cc: openembedded-devel at lists.openembedded.org
> Subject: Re: [oe] [meta-oe][PATCH 1/7] wafsamba: add class
> 
> Hi Bian,
> 
> On Monday 15 June 2015 16:52:10 Bian Naimeng wrote:
> > wafsamba is a build system used by samba related software
> >
> > Signed-off-by: Bian Naimeng <biannm at cn.fujitsu.com>
> > ---
> >  meta-oe/classes/wafsamba.bbclass | 55
> > ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55
> > ++++++++++++++++++++++++++++++++++++++++ insertions(+)
> >  create mode 100644 meta-oe/classes/wafsamba.bbclass
> >
> > diff --git a/meta-oe/classes/wafsamba.bbclass
> > b/meta-oe/classes/wafsamba.bbclass new file mode 100644 index
> > 0000000..764b530
> > --- /dev/null
> > +++ b/meta-oe/classes/wafsamba.bbclass
> 
> This should really be named waf-samba.bbclass. I'm also wondering how this
> relates to waf.bbclass that we have in OE-Core - they do look quite different
> though.
> 

I will rename it to waf-samba.bbclass.

I don't know what's the relationship between waf.bbclass and waf-samba.bbclass clearly,
waf.bbclass is a basic class for waf build system, but it does not work for samba4 directly.

I just create waf-samba.bbclass according to https://wiki.samba.org/index.php/Waf,
especially the section 'cross-compiling'.

> > @@ -0,0 +1,55 @@
> > +# waf is a build system which is used by samba related project.
> > +# Obtain details from https://wiki.samba.org/index.php/Waf
> > +#
> > +inherit qemu pythonnative
> > +
> > +DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native
> > python"
> > +
> > +CONFIGUREOPTS = " --prefix=${prefix} \
> > +                  --bindir=${bindir} \
> > +                  --sbindir=${sbindir} \
> > +                  --libexecdir=${libexecdir} \
> > +                  --datadir=${datadir} \
> > +                  --sysconfdir=${sysconfdir} \
> > +                  --sharedstatedir=${sharedstatedir} \
> > +                  --localstatedir=${localstatedir} \
> > +                  --libdir=${libdir} \
> > +                  --includedir=${includedir} \
> > +                  --oldincludedir=${oldincludedir} \
> > +                  --infodir=${infodir} \
> > +                  --mandir=${mandir} \
> > +                "
> > +
> > +do_configure() {
> > +    qemu_binary="${@qemu_target_binary(d)}"
> > +    if [ ${qemu_binary} == "qemu-allarch" ]; then
> > +        qemu_binary="qemuwrapper"
> > +    fi
> > +
> > +    libdir_qemu="${STAGING_DIR_HOST}/${libdir}"
> > +    base_libdir_qemu="${STAGING_DIR_HOST}/${base_libdir}"
> > +    oldest_kernel_qemu=${OLDEST_KERNEL}
> > +
> > +    CROSS_EXEC="${qemu_binary} \
> > +                -r ${oldest_kernel_qemu} \
> > +                -L ${STAGING_DIR_HOST} \
> > +                -E LD_LIBRARY_PATH=${libdir_qemu}:${base_libdir_qemu}"
> > +
> > +    export BUILD_SYS=${BUILD_SYS}
> > +    export HOST_SYS=${HOST_SYS}
> > +    export BUILD_ARCH=${BUILD_ARCH}
> > +    export HOST_ARCH=${HOST_ARCH}
> > +    export STAGING_LIBDIR=${STAGING_LIBDIR}
> > +    export STAGING_INCDIR=${STAGING_INCDIR}
> > +    export PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
> > +
> > +    ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF} --cross-compile
> > --cross-execute="${CROSS_EXEC}" +}
> > +
> > +do_compile () {
> > +    base_do_compile
> > +}
> 
> Is this do_compile really needed? AFAICT this isn't doing anything because
> base_do_compile will already be being run by way of EXPORT_FUNCTIONS.
> 

Yes, it's right, I will remove it in the V2 patch.

Thanks
 Bian

> Cheers,
> Paul
> 
> --
> 
> Paul Eggleton
> Intel Open Source Technology Centre


More information about the Openembedded-devel mailing list