[yocto] Building clang with Yocto

Liviu Gheorghisan liviu.gheorghisan at enea.com
Tue Dec 9 08:54:50 PST 2014


Hello Jim,

You must add your override of do_install_class-nativesdk() in the recipe 
that builds clang/llvm that will not affect how gcc gets installed in 
the SDK.
You can have as many do_install_class-nativesdk() overrides across 
various recipes as you like, without them conflicting. Basically this is 
how every tool from the SDK gets installed there.

- Liviu

On 12/09/2014 06:47 PM, Jim Rafert wrote:
> Hi Liviu,
>
> Thanks for the tip.  I had everything but the override for 
> do_install_class-nativesdk().
>
> One question please.
>
> Will that override prevent the gcc compilers from being installed in 
> nativesdk?  Or should I duplicate the existing 
> do_install_class-nativesdk(), and add the clang stuff?
>
> -Jim-
>
>
> ------------------------------------------------------------------------
> *From:* Liviu Gheorghisan [liviu.gheorghisan at enea.com]
> *Sent:* Tuesday, December 09, 2014 9:27 AM
> *To:* Yu, Chan KitX; Jim Rafert; yocto at yoctoproject.org
> *Subject:* Re: [yocto] Building clang with Yocto
>
> Hello Yu, Jim
>
> I think you can get the clang executable into the SDK installer script 
> with something like this:
>
> 1. Add this dependency in nativesdk-packagegroup-sdk-host.bb:
> *RDEPENDS_${PN} += "nativesdk-<name-of-clang-recipe>"*
>
> 2. In the clang recipe add this install() overwrite for the nativesdk 
> class - this will install it into the SDK sysroot:
> *do_install_class-nativesdk() {
>     install -d ${D}${bindir}
>     install -m 0755 clang ${D}${bindir}
> }*
>
> 3. The clang recipe (I don't know if it has a recipe of its own, or 
> it's part of the LLVM recipe) should also inherit from nativesdk:
> *BBCLASSEXTEND = "nativesdk"*
>
> Basically this should get your clang executable inside the SDK 
> installer. Sure you can add more executables related to clang (like 
> the llvm-related ones) in the install_class-nativesdk() function.
>
> - Liviu Gheorghisan
>
> On 12/09/2014 04:36 AM, Yu, Chan KitX wrote:
>> I **think** I'm just inches away from success. I think I just need to invoke a correct install command somewhere in the do_install function but so far I have not managed to do so. But right now the alternative way of jamming the compiler into the SDK sounds tempting to me.
>>
>> -----Original Message-----
>> From: Yu, Chan KitX
>> Sent: Tuesday, December 09, 2014 9:19 AM
>> To: 'Jim Rafert';yocto at yoctoproject.org
>> Subject: RE: Building clang with Yocto
>>
>> Hi Jim,
>>
>> How did you jam the clang compiler into the SDK tarball?
>>
>> Chan Kit
>>
>> -----Original Message-----
>> From: Jim Rafert [mailto:jimr at spectralogic.com]
>> Sent: Tuesday, December 09, 2014 1:48 AM
>> To:yocto at yoctoproject.org; Yu, Chan KitX
>> Subject: Building clang with Yocto
>>
>> Hello Chan,
>>
>> I have been working to a similar goal, to include clang in the toolchain to be used for compiling applications to run on the target.  Using clang to compile the OS and kernel are not required or  desired by me.
>>
>> You may get some insight from the thread I started in November on the subject.  I'm not sure that this contains all of the posts on the subject. You may want to search the archive for November.
>>
>> I have not been successful yet in getting clang actually packaged in the toolchain, in the Yocto build,  but at least it builds.  I have a postbuild script that takes the built clang compiler from the work directory and jams it into the SDK tarball that is embedded in the sdk install script.
>>
>> -Jim-
>>
>>
>> ________________________________________
>> From:yocto-bounces at yoctoproject.org  [yocto-bounces at yoctoproject.org] on behalf ofyocto-request at yoctoproject.org  [yocto-request at yoctoproject.org]
>> Sent: Monday, December 08, 2014 2:56 AM
>> To:yocto at yoctoproject.org
>> Subject: yocto Digest, Vol 51, Issue 26
>>
>> Send yocto mailing list submissions to
>>          yocto at yoctoproject.org
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>>          https://lists.yoctoproject.org/listinfo/yocto
>> or, via email, send a message with subject or body 'help' to
>>          yocto-request at yoctoproject.org
>>
>> You can reach the person managing the list at
>>          yocto-owner at yoctoproject.org
>>
>> When replying, please edit your Subject line so it is more specific than "Re: Contents of yocto digest..."
>

-- 
Liviu Gheorghisan
Software Engineer

Enea Romania
Splaiul Independentei 319, OB403A,
District 6, Bucharest,
Romania, 060044

http://www.enea.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20141209/cc5003b9/attachment.html>


More information about the yocto mailing list