dobake配方中do_compile [noexec]和空函数有什么区别?

ATO*_*TOA 9 bitbake yocto

如果我想禁用特定的构建步骤,我可以使用以下任一方法:

do_configure[noexec] = "1"
Run Code Online (Sandbox Code Playgroud)

要么

do_configure() {
}
Run Code Online (Sandbox Code Playgroud)

这些替代品有什么区别?我听说使用时会有提高的条件noexec.

And*_*ers 16

嗯,通常有3种删除任务的方法:

  1. deltask这完全消除了任务以及它的依赖性.因此,可能依赖于已删除任务的任务将不会自动依赖已删除的任务依赖项.(A-> B-> C,去除B不会产生A-> C).因此,只有在你知道自己在做什么的情况下才能使用它.
  2. 将任务设置为空do_task() { : }.这是禁用任务的旧方法.任务仍将执行,但它没有任何内容.因此,执行开销将保持不变.
  3. do_task[noexec],禁用任务的新方法.非常类似于2.,但不会保留执行开销(因为任务根本不会执行).