On Wed, 2016-10-12 at 12:58 +0300, Mircea Gliga wrote:
> According to the docs here 
> http://www.yoctoproject.org/docs/2.1.1/mega-manual/mega-manual.html#structure-your-layers
> one can specify variables that are machine specific, eg 
> KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb". I can't find a reference 
> on how to create a task specific only for a certain machine.
> Is there some mechanism to add and execute a custom task just for a 
> specific machine, using *addtask* ?
> As an alternative, I could check the machine name right in the beginning 
> of the do_mycustomtask function, and execute code accordingly, something 
> like (pseudo-code):
> do_mycustomtask {
>      if {MACHINE} != 'myMachineName'
>          return;
>      # code executing for all other machines
>      [...]
> }
> addtask mycustomtask after do_configure before do_compile

It is possible to add the task conditionally in an anonymous Python

python () {
    if '${MACHINE}' == 'myMachineName':
        bb.build.addtask('do_mycustomtask', 'do_compile', 'do_configure', d)

I personally find that nicer than the if check in the function itself,
because the tasks will only show up in build logs when it actually does

Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.

yocto mailing list

Reply via email to