当前位置:  开发笔记 > 运维 > 正文

我多久运行一次autoconf?

如何解决《我多久运行一次autoconf?》经验,为你挑选了1个好方法。

在我的公司,我正在努力deb从第三方库创建Debian 软件包.该库是使用Autotools构建的.我之前从未使用过Autotools,而且我遇到了一些困难.库源包含configure.inMakefile.am文件和m4/目录.我能够使用以下序列构建库:

aclocal -I m4 -I /usr/share/aclocal
autoheader
libtoolize --automake
automake -a
autoconf
./configure
make

debian/rules文件中我想使用CDBS.我写了这个:

#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk

但它不起作用.它抱怨该configure文件丢失.这是对的,因为Autotools类希望这个文件存在.但它不存在,有人必须先autoconf和朋友打电话!

为什么Autotools CDBS课程不让我autoconf和朋友打电话?我该如何规避呢?

题外话:

当我使用程序时,我不会每次都编译它,我编译一次并重用二进制文件.

当人们安装软件时,他们不会自己编译,维护者编译一次,人们重用二进制包.

当维护者编译包时,他/她configure每次编译时都不创建脚本,上游作者创建它一次,维护者可以重用它.

这最后一句是真的吗?因为对我而言,似乎Autotools CDBS类的作者假设了这样的东西 - 他们假设configure存在,并在为不同的架构编译包时重用它.我对吗?

一方面,如果configure可以生成,它不应该出现在任何地方 - 如果你需要它,你从其他文件生成.另一方面,Autotools CDBS类的作者必须有一些理由以这种方式实现它而不是另一种.

摘要:

如何处理上述Autotools CDBS类问题?

我多久重生一次configure?(一般情况下和构建Debian软件包时.)

William Purs.. 6

首先,你工作太辛苦了.而不是运行aclocal && autoheader && etc ...,你可以运行autoreconf.这将确保以正确的顺序调用所有自动工具(并且在手指和大脑上更容易).其次,一旦你生成了配置脚本,你应该创建一个构建目录并运行'make dist'来获得将用于生成deb的tarball.tarball将包含configure脚本.(更好的是,只使用上游生成的tarball,不要担心运行autotools.)



1> William Purs..:

首先,你工作太辛苦了.而不是运行aclocal && autoheader && etc ...,你可以运行autoreconf.这将确保以正确的顺序调用所有自动工具(并且在手指和大脑上更容易).其次,一旦你生成了配置脚本,你应该创建一个构建目录并运行'make dist'来获得将用于生成deb的tarball.tarball将包含configure脚本.(更好的是,只使用上游生成的tarball,不要担心运行autotools.)

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