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

问题描述 投票:0回答:1

在这里(使用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 package autotools yocto building
1个回答
1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.