build - 是否可以将命令行变量传递给 bitbake 构建?

我有一个使用 bitbake 进行构建的 OpenEmbedded 环境。我想在 bitbake 暂停并要求输入然后继续构建的地方进行一些“交互式”,但我发现这是不可能的。

因为我不能这样做,所以我正在寻找某种方法来为构建传递额外的标志。有没有办法将标志传递给类似于 gcc 的 -D 选项的 bitbake 构建?

即:

bitbake -Dfoo=bar oe-myimage

因此在 oe-myimage 的构建过程中,变量 foo 将被设置为 bar

最佳答案

bitbake -Dfoo=bar oe-myimage

-D 标志不被 bitbake 识别。所以,使用上面的方法是行不通的。相反,您可以使用以下步骤从命令行指定标志 -

假设你想导出变量 foo 并期望它被 bitbake 识别。

export foo="foobar"

在获取 oe-init-build-env 之后,您需要导出它并通过 BB_ENV_EXTRAWHITE 变量通知 bitbake。这意味着

. oe-init-build-env
export foo="foobar"
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE foo"      

这会将变量 'foo' 列入 bitbake 的白名单,从而使其在构建期间对任何配方和子进程可见。

之后,您可以通过以下表达式在 bitbake 中使用变量 foo 调用任何 bitbake 操作 -

${foo}

https://stackoverflow.com/questions/17366984/

相关文章:

gradle - 谷歌构建Android的Gradle插件源代码

android - 我可以在不运行 Android Studio 时删除这些构建文件夹吗?

build - Gradle 的术语评估和执行之间的区别

android - 我已将 Android SDK 更新为 rev。昨天 22 日,工具中没有 ap

c++ - 在 Eclipse 中设置构建输出目录 - c++

deployment - 从不同的文件夹运行 ant exec 任务

java - ANT:如何将 "add"路径元素从一条路径转换为第二条路径?

android - Gradle DSL 方法未找到 : "classpath()"

visual-studio-2010 - VS2010 : Exclude a project fr

gradle - 用gradle复制树并改变结构?