Yocto,从(userspace)包构建过程中删除autotools

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yocto,从(userspace)包构建过程中删除autotools相关的知识,希望对你有一定的参考价值。

在这里(使用Yocto项目)为一些嵌入式Linux系统的根文件系统映像构建的用户空间包显然使用了autotools - 可以在包的源代码中看到Makefile.am和configure.ac。 pkg-config或其后继者似乎也被使用(.pc.in存在),但是这里的范围超出范围。这里的重点包是这样做的(通过涉及autotools),因为在开发开始时,它显然是最低阻力的行,从类似但已经存在的包中复制和采用构建脚本。实际上,在使用Yocto构建时,autotools似乎是可有可无的,因为Yocto构建系统元数据确实为每个目标精确指定了目标。有充分理由Yocto中的标准构建流程是下载,解包,修补,配置,构建......,扫描和检测目标环境不包含在此链中。

现在我想知道通过删除autotools阶段来简化包的构建过程是否合适。我将按照几个步骤的顺序进行操作,从使用真实的makefile替换.am文件开始。问题是它是否足以找到环境。在.am和.ac中定义和使用的变量然后将它们传输到makefile?剩余的目标设备规范实际上应来自Yocto构建系统元数据。如果在根文件系统映像构建范围内构建包,它可能会直截了当。但是,如何只构建这个包bitbake package-name时,如何确保构建环境提供完整的目标设备规范?

答案

用裸的makefile替换autotools并不是一件容易的事,因为https://nibblestew.blogspot.co.uk/2017/12/a-simple-makefile-is-unicorn.html很好地展示了。

如果您不想在包中使用自动工具,那么Meson等替代品通常会更快。

以上是关于Yocto,从(userspace)包构建过程中删除autotools的主要内容,如果未能解决你的问题,请参考以下文章

Yocto1构建嵌入式Linux系统

[Yocto]快速开始

Yocto tips (20): Yocto中qemu模拟器的使用,以zynq Cortex-A9为例

Yocto

yocto 离线编译

Yocto学习笔记