是否可以通过 Automake 在单独的目录中创建配置脚本,就像可以从配置脚本创建 Makefile 一样?
例如,automake文件configure.ac和Makefile.in位于目录/path/to/my/src中,我想做类似的事情
mkdir -p /path/to/my/buildconf
cd /path/to/my/buildconf
autoreconf -vfi /path/to/my/src
不,这是不可能的。
configure
脚本被视为源代码的一部分。
这在技术上可能是正确的(毕竟它是一个 bash 脚本),但在哲学上则不然(因为它是由
configure.ac
生成的工件;如果你曾经看过 configure
脚本,很明显没有人会编写像这样)。
无论如何,
configure
背后的想法是由上游作者生成并与源一起一起(在源tarball中)。
因此,永远不需要在树外运行 autoreconf
(与运行实际的构建过程不同)。
这种设计早于版本控制系统的普遍使用(通常不赞成提交生成的工件)。
我还猜想,在过去,很多软件都是独立的(即:只需要标准系统头文件/库),因此提供一个独立的
configure
脚本更有意义(人们不会需要安装autotools链),而现在我发现大多数软件都需要很多依赖项,所以是否需要安装一两个以上的软件包并不重要。