6

configure脚本总是在帮助消息中包含如下内容:

...
默认情况下,`make install' 将安装所有文件
`/usr/local/bin', `/usr/local/lib' 等你可以指定
使用 `--prefix' 的安装前缀,而不是 `/usr/local',
例如`--prefix=$HOME'。

为了更好地控制,请使用以下选项。

微调安装目录:
  --bindir=DIR 用户可执行文件 [EPREFIX/bin]
  --sbindir=DIR 系统管理员可执行文件 [EPREFIX/sbin]
  --libexecdir=DIR 程序可执行文件 [EPREFIX/libexec]
  --sysconfdir=DIR 只读单机数据[PREFIX/etc]
  --sharedstatedir=DIR 可修改架构独立数据 [PREFIX/com]
  --localstatedir=DIR 可修改单机数据[PREFIX/var]
  --libdir=DIR 目标代码库 [EPREFIX/lib]
  --includedir=DIR C 头文件 [PREFIX/include]
  --oldincludedir=非 gcc 的 DIR C 头文件 [/usr/include]
  --datarootdir=DIR 只读arch.-独立数据根[PREFIX/share]
  --datadir=DIR 只读架构独立数据 [DATAROOTDIR]
  --infodir=DIR 信息文档 [DATAROOTDIR/info]
  --localedir=DIR 区域设置相关数据 [DATAROOTDIR/locale]
  --mandir=DIR 手册文档 [DATAROOTDIR/man]
  --docdir=DIR 文档根目录
                          [DATAROOTDIR/doc/gedit-line-ending-style-plugin]
  --htmldir=DIR html 文档 [DOCDIR]
  --dvidir=DIR dvi 文档 [DOCDIR]
  --pdfdir=DIR pdf 文档 [DOCDIR]
  --psdir=DIR ps 文档 [DOCDIR]

节目名称:
  --program-prefix=PREFIX 在已安装程序名称前添加 PREFIX
...

我想做的是在本节中添加“plugindir”,如下所示:

...
  --dvidir=DIR dvi 文档 [DOCDIR]
  --pdfdir=DIR pdf 文档 [DOCDIR]
  --psdir=DIR ps 文档 [DOCDIR]
  --plugindir=DIR Gedit 插件文件 [LIBDIR/gedit-2/plugins]
...

以便用户能够传入--plugindir=...配置脚本。

我怎样才能做到这一点?

4

3 回答 3

4

将以下几行放在configure.ac开头附近:

AC_ARG_WITH([pkgconfigdir],
  [AS_HELP_STRING([--with-pkgconfigdir=DIR], [pkgconfig files])],
  [pkgconfigdir=$withval],
  [pkgconfigdir="\${libdir}/pkgconfig"])
AC_SUBST([pkgconfigdir], [$pkgconfigdir])

然后,在 中Makefile.am,您可以像这样引用目录:

pkgconfigdir = @pkgconfigdir@
pkgconfig_DATA = mylibrary.pc
于 2015-02-07T23:23:27.760 回答
0

如果我是正确的,这些路径是在 share/autoconf/autoconf/general.m4 文件中设置的。该列表是硬编码的,因此很难在列表中插入内容。您可以使用宏添加额外的帮助信息AS_HELP_STRING。有一些添加插件目录的示例,例如在gstreamergimp中,但这些示例没有可配置的插件目录。

于 2010-08-21T20:35:29.943 回答
0

我认为你在 AC_SUBST 的正确轨道上。

此外,我认为您可以使用 AS_HELP_STRING 修改或扩展 configure 的 --help 输出。

见:http ://www.gnu.org/s/hello/manual/autoconf/Pretty-Help-Strings.html

于 2011-09-28T12:06:24.947 回答