[meta-freescale] Native package building

Alberto Liberal de los Rios aliberal at arroweurope.com
Tue Nov 12 08:19:58 PST 2013


Thanks Octavio,

I checked removing BBCLASSEXTEND = "native nativesdk" and adding "inherit autotools" but I got an error, the reason can be the next


"About ZLIB, by looking at the configure script, we see that this configure script has not been generated
by autoconf (otherwise it would contain a sentence like Generated by GNU Autoconf 2.62).
Moreover, the project doesn't use automake since there are no Makefile.am files. So zlib uses a
custom build system, not a build system based on the classical autotools"


Anyway I don´t understand yet why it is needed to add BBCLASSEXTEND = "native nativesdk" in ZLIB and why it is not working removing it from the recipe. Could you give more details about the meaning of "when no class-<virtual> variant is provided, the defaults are used"

Thanks a lot for your help

Alberto

-----Mensaje original-----
De: otavio.salvador at gmail.com [mailto:otavio.salvador at gmail.com] En nombre de Otavio Salvador
Enviado el: martes, 12 de noviembre de 2013 16:57
Para: Alberto Liberal de los Rios
CC: meta-freescale at yoctoproject.org
Asunto: Re: [meta-freescale] Native package building

On Tue, Nov 12, 2013 at 12:38 PM, Alberto Liberal de los Rios <aliberal at arroweurope.com> wrote:
> Maybe someone of you can help me with one question (I have searched a 
> lot of info, but nothing that clarifies it to me). I am compiling zlib 
> 1.2.7 with the next recipe:
>
>
>
> SUMMARY = "Zlib Compression Library"
>
> DESCRIPTION = "Zlib is a general-purpose, patent-free, lossless data 
> compression \ library which is used by many different programs."
>
> HOMEPAGE = "http://zlib.net/"
>
> SECTION = "libs"
>
> LICENSE = "Zlib"
>
> LIC_FILES_CHKSUM =
> "file://zlib.h;beginline=4;endline=23;md5=94d1b5a40dadd127f3351471727e66a9"
>
>
>
> SRC_URI = "http://www.zlib.net/${BPN}-${PV}.tar.bz2 \
>
>            file://remove.ldconfig.call.patch \
>
>            "
>
> SRC_URI[md5sum] = "2ab442d169156f34c379c968f3f482dd"
>
> SRC_URI[sha256sum] =
> "49e2e9658dfb036900da6ea0267a737fa3c4eee6666776d378c79d52e9334934"
>
>
>
> do_configure (){
>
>                 ./configure --prefix=${prefix} --shared 
> --libdir=${libdir} }
>
>
>
> do_compile (){
>
>                 oe_runmake
>
> }
>
>
>
> do_install() {
>
>                 oe_runmake DESTDIR=${D} install
>
> }

This should work with the defaults provided by 'autotools' class.

> BBCLASSEXTEND = "native nativesdk"

Read below...

> I have a doubt about the need of "native nativesdk" If I understand 
> well the building of this package depends of a zlib native building on 
> the host, therefore the "native".  Is it needed to build the package 
> on the host? If I build zlib using the meta-toolchain outside of yocto 
> is not needed any host building of the library. If I remove 
> BBCLASSEXTEND of the recipe, I have errors during Yocto building 
> What´s the difference between native & nativesdk?

External toolchain uses the nativesdk variant.

The BBCLASSEXTEND is equivalent of providing a zlib-native and zlib-nativesdk recipes; when no class-<virtual> variant is provided, the defaults are used. This allow for easy maintenance and avoid useless code duplication.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750





More information about the meta-freescale mailing list