installation - 向 Autoconf 生成的配置脚本添加自定义安装目录选项

标签 installation autoconf configure automake make-install

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=DIR 非 gcc 的 C 头文件 [/usr/include]
--datarootdir=DIR 只读 arch.-independent data root [PREFIX/share]
--datadir=DIR 只读架构无关数据 [DATAROOTDIR]
--infodir=DIR 信息文档 [DATAROOTDIR/info]
--localedir=DIR 语言环境相关数据 [DATAROOTDIR/locale]
--mandir=DIR man 文档 [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=...到配置脚本。

我怎样才能做到这一点?

最佳答案

将以下行放入 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

关于installation - 向 Autoconf 生成的配置脚本添加自定义安装目录选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3538705/

相关文章:

python - Scapy 安装在 osx 上失败,并出现 dnet 导入错误

installation - Inno Setup 如何在安装过程中编辑 ini 文件

header - autoconf 的 AC_CHECK_HEADERS 在哪里验证头文件?

c++ - 在 netbeans 7.1.1 中 boost 库

OpenCV Ubuntu 安装问题

visual-studio - 在 Visual Studio 中设置京都内阁

autotools - autoconf和autoreconf之间的区别

autotools - 如何更改默认的 autoconf configure --help 输出

编译器看不到的常量

c++ - 仅从 Qt 编译特定库