【问题标题】:Is there a typical way to disable manpages generation using autotools?是否有使用自动工具禁用联机帮助页生成的典型方法?
【发布时间】:2013-11-16 07:06:14
【问题描述】:

我正在使用自动工具编译旧版本的 GNU coreutils(版本 6.10/6.11)。但是,当我在源代码目录中进行一些修改时,生成手册页时会出现一些错误。

由于我根本不关心手册页,我希望默认目标不包括手册页的生成。

对于由 autotools 管理的所有类型的源代码,可能没有通用的解决方案,但是我相信必须有一个典型的方法,尤其是对于 GNU coreutils

任何建议将不胜感激:-)

【问题讨论】:

  • 为什么更改某些代码会导致联机帮助页生成失败?
  • @EtanReisner 我猜我改了目标程序名的名字,在Makefile.am中重命名了对应的名字;但是错误消息与我所做的更改无关。 (我在make的时候看到了很多sed/perl的操作,这可能是根本原因)

标签: makefile gnu-make autotools gnu-coreutils


【解决方案1】:

我不认为构建联机帮助页是任何类型的内置任务。我相信它通常只是一个正在运行的子目录或特定目标。您可能只需要找到 Makefile.am 中负责构建手册页的部分并禁用它。通过删除目录的 SUBDIR 条目或删除任何引用手册页目标的目标。

【讨论】:

  • 谢谢,然后我注释了 Makefile.am 中的 man 子目录条目(和其他一些条目),以及 configure.ac 中的一些配置;之后,我使用“autoreconf -fiv”重新配置;终于没有 manpage 生成的目标了。
  • 这是错误的,autotools 包含用于处理手册页任务的内置规则,并在识别任何相关来源时自动包含它们。
【解决方案2】:

该错误是由于未找到手册页的正确路径,主要是 docbooks.xsl(对我而言)。所以找到文档路径

找到 /usr -name docbooks.xsl

这将列出与 docbooks.xsl 相关的所有可用路径。

找到make所需的正确文档并将其粘贴到文件中

【讨论】:

    【解决方案3】:

    关于安装

    至少对于像Libssh2LibCurl 这样的项目,您可以只使用make install-exec 而不是make install

    相反,如果您只想要手册页,您应该使用make install-data

    我不确定这些目标是否存在于每个 autotools 项目中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-23
      • 1970-01-01
      • 2011-04-08
      相关资源
      最近更新 更多