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

时间:2018-01-04 16:24:27

标签: makefile package autotools yocto building

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

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

1 个答案:

答案 0 :(得分:1)

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

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