当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何为GNUAutotools重新配置大型程序》经验,为你挑选了1个好方法。

我有一个用C编写的相当大的程序.它跨越了几个文件,并进行了一些重组以尝试补偿平台问题.具体来说,我有不同的操作系统,体系结构和编译器的头文件,它们定义了用于处理事物的宏.例如,该-v标志打印版本信息,包括构建它的编译器的名称,以及它构建的操作系统和体系结构.作为一个重要原因的例子,该程序可以创建一个C代码文件,如果你愿意,可以编译它 - 一个任务,它只是简单地对它构建的任何编译器进行系统调用.

它还支持GNU Readline库(或BSD Editline库 - 同样的东西),如果它在您的系统上找到,以及没有所有良好的Readline功能,如果您没有它的纯ANSI.

最重要的是,我无法取出任何与平台相关的位,因为有些功能在很大程度上取决于您拥有的OS /架构/编译器.我也希望为拥有它的人提供良好的功能.我希望人们能下载和使用标准安装./configure,makemake install接口.

目前我正在使用一个令人遗憾的手工shell脚本,configure从头开始创建Makefile,并根据您的OS /架构/编译器确定要包含哪些头文件.我想要一个更有效的方法,我想使用GNU Autotools的更标准的构建系统.这样我知道我所做的将在其他人的计算机上工作,而无需在他们的计算机上进行测试.

我的问题是,对于那些已经搞砸了所有这些(谢谢!)的人,是:1)我如何从自制的构建系统转换到GNU Autotools?2)有哪些好的教程可以开始使用GNU Autotools?3)我怎样才能使这个过程相对无痛?



1> Eduard - Gab..:

首先,您可以在项目的根目录中运行autoscan.它将扫描项目树并生成configure.scan,同时尝试检测非便携式功能.然后将其重命名为configure.ac,相应地编辑它并编写Makefile.am文件.

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

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有