Autotools 不喜欢我项目目录中的 install.sh 脚本

Autotools doesn't like the install.sh script in my project directory

我有一个具有以下项目结构的 autotools 项目:

|-- Makefile.am
|-- configure.ac
|-- config.guess
|-- build
|-- include
|   `-- code
|       |-- File.h
|-- libCode
|   |-- File.cpp
|   |-- Makefile.am
`-- install.sh

当我构建项目时,我 运行 进入这个错误:

BUG.am: `install.sh' is an anachronism; use `install-sh' instead

我试图通过将以下内容添加到 configure.ac 来解决该问题:

AC_CONFIG_AUX_DIR([build])

这又给我这个错误:

configure: error: cannot run /bin/sh ../../config.sub

注意:由于一些依赖项更改,我无法重命名 install.sh。有办法解决这个问题吗?

简答,不。

您的 install.sh 脚本与 autotools-provider 脚本的名称相匹配,无论您将其用于什么用途。由于大多数这些脚本都是通过名称而不是内容来识别的,如果这是它触发的唯一错误,我会感到惊讶。

至于提供AC_CONFIG_AUX_DIR的时候失败,你改了之后有没有执行autoreconf -fis?您要构建到哪个目录?如果你在build到运行../configure中使用,那是行不通的。