如果我是正确的,autotools
并且cmake
是从源代码自动生成配置文件和生成文件的不同工具。
在安装过程中,我经常以用户身份下载configure和Makefiles,但我听说有些用户(如VTK、ITK等用户)必须使用cmake
或autoconfig
和automake
。
开发人员是否应该提供可供用户使用的配置和 Makefile?如果是:开发人员在软件分发过程中是否cmake
并且autoconfig
应该使用?
答案1
短语“应该”意味着存在某种关于开发人员或用户的行为方式的规则。这实在不太合理。 :-)
分发软件的人可以随心所欲地打包——毕竟,他们的时间就是他们的时间。 “用户”有各种类型——可以是任何人,从完全的新手到经验丰富的管理员。
作为一名经验丰富的管理员,我想说我非常感谢打包者花时间将他们的软件纳入流行的发行版或构建良好的跨平台安装。通常,跨平台安装会以使用 Gnu 工具链的 tarball 的形式出现,因此为了安装,我所要做的就是“1.configure;2.make;3.make install”。
在我看来,为了获得最佳体验,开发人员应该把他们的目标放在这里——制作一个使用跨平台 Gnu 工具链来启用 configure/make/make-install 序列的 tarball。如果开发人员做到了这一点,那么制作发行版的人就有一种非常容易的方法,既可以为他们的发行版构建软件包,也可以(重要的是)将修复程序反馈给开发人员,以改进开发人员维护的从 tarball 安装的打包方式。
作为管理员,我总是默认使用我的发行版中包含的软件包。这样我就可以从发行版供应商稍后提供的错误修复和安全更新中受益。我只将源代码 tarball 作为最后的手段。