23 按需使用外部工具链
开发时可能希望使用外部工具链。在这种情况下,需要完成以下基本步骤:
明确已安装工具链的位置。如果需要自行构建外部工具链,应另行完成工具链的 构建和安装。
确保通过 BBLAYERS 变量,将包含工具链的层添加到 build/conf/bblayers.conf 文件。
在 build/conf/local.conf 文件或发行版的 configuration file 中,将 EXTERNAL_TOOLCHAIN 变量设为 工具链的安装位置。
工具链配置十分灵活,可以定制,主要由 TCMODE 变量控制。此变量指定
从 OpenEmbedded-Core (OE-Core) 的 meta/conf/distro/include
目录中包含哪个 tcmode-*.inc 文件。
TCMODE 的默认值为 "default",表示 OpenEmbedded 构建系统使用内部
构建的工具链,即 tcmode-default.inc。也可以使用其他模式,其中
"external-*" 表示外部工具链。Mentor Graphics Sourcery G++ Toolchain
就是一个例子,其支持代码位于独立的 meta-sourcery 层:
https://github.com/MentorEmbedded/meta-sourcery/。
该层的用法详见其 README 文件。
另一个外部工具链层是 meta-arm-toolchain, 它支持 ARM 发布的 GNU 工具链。
更多信息见 Yocto Project 参考手册变量词汇表中的 TCMODE 条目。