【发布时间】:2010-10-04 18:32:11
【问题描述】:
我有一个用 C 语言编写的相当大的程序。它跨越多个文件,并进行了一些重组以尝试弥补平台问题。具体来说,我有不同操作系统、体系结构和编译器的头文件,这些文件定义了它用来处理事情的宏。例如,-v 标志打印版本信息,包括构建它的编译器的名称,以及构建它的操作系统和架构。举个例子来说明它的重要性,程序可以创建一个 C 代码文件,如果你愿意,可以编译它 - 一个任务,它只需对构建 it 的任何编译器进行系统调用。
如果在您的系统上找到它,它还支持 GNU Readline 库(或 BSD Editline 库 - 相同),如果您不支持它,它还支持没有所有漂亮的 Readline 功能(纯 ANSI)的等价物拥有它。
底线是,我不能去掉任何与平台相关的部分,因为有几个函数在很大程度上取决于你所拥有的操作系统/架构/编译器。我还想为拥有它的人提供良好的功能。我希望人们使用标准的./configure、make 和make install 界面下载和安装它。
目前我正在为configure 使用一个抱歉的手工 shell 脚本,它从头开始创建 Makefile,并根据您的操作系统/架构/编译器确定要包含哪些头文件。我想要一个更有效的方法,并且我想使用一个使用 GNU Autotools 的更标准的构建系统。这样我就知道我所做的工作可以在其他人的计算机上运行,而无需在他们的计算机上进行测试。
我的问题是: 1) 如何从自制构建系统切换到 GNU Autotools? 2) GNU Autotools 入门有哪些好的教程? 3) 我怎样才能使这个过程相对轻松?
【问题讨论】:
标签: autotools autoconf automake