gpt4 book ai didi

autotools - 如何为 GNU Autotools 重新配置大型程序

转载 作者:行者123 更新时间:2023-12-04 17:42:29 25 4
gpt4 key购买 nike

我有一个用 C 编写的相当大的程序。它跨越多个文件,并进行了一些重组以试图弥补平台问题。具体来说,我有不同操作系统、体系结构和编译器的头文件,这些头文件定义了用于处理事物的宏。例如,-v flag 打印版本信息,包括构建它的编译器的名称,以及构建它的操作系统和架构。作为为什么它很重要的一个例子,程序可以创建一个 C 代码文件,如果你愿意,可以编译它 - 一个任务,它只是对它构建的任何编译器进行系统调用。

如果在您的系统上找到它,它还支持 GNU Readline 库(或 BSD Editline 库 - 相同的东西),如果没有它,它也支持纯 ANSI 的没有所有好的 Readline 功能的等价物。

最重要的是,我不能去掉任何与平台相关的部分,因为有几个功能在很大程度上取决于您拥有的操作系​​统/体系结构/编译器。我也想为那些拥有它的人提供良好的功能。我希望人们使用标准 ./configure 下载并安装它, makemake install界面。

目前我正在为 configure 使用一个抱歉的手工 shell 脚本从头开始创建 Makefile,并根据您的操作系统/体系结构/编译器确定要包含哪些头文件。我想要一种更有效的方法,并且我想要使用更标准的使用 GNU Autotools 的构建系统。这样我就知道我所做的可以在其他人的计算机上运行,​​而无需在他们的计算机上进行测试。

我的问题,对于那些经历了所有这些(谢谢!)的人来说,是:
1) 我如何从自制构建系统切换到 GNU Autotools?
2) 有哪些好的 GNU Autotools 入门教程?
3)我怎样才能使这个过程相对无痛?

最佳答案

首先,您可以在项目的根目录中运行自动扫描。它将扫描项目树并生成 configure.scan,同时尝试检测不可移植的功能。然后将其重命名为 configure.ac,进行相应的编辑并编写 Makefile.am 文件。

我建议您在 GNU autotools 手册中查找此过程(尤其是自动扫描)以了解详细信息。它会减少您的工作量,但至少您不会从头开始创建这些文件。

关于autotools - 如何为 GNU Autotools 重新配置大型程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/500534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com