GNU autoconf/automake 的帮助脚本应该放在哪里?

2023-11-30

我正在开发一个将与 GNU autoconf/automake 一起分发的项目,并且我有一组调用 awk 脚本的 bash 脚本。我希望 bash 脚本最终出现在 $PATH 中,而不是 awk 脚本中。我应该如何将它们插入到项目中?它们应该与其他二进制文件放在一起吗?

另外,有没有办法确定安装后文件的最终位置?我认为 /usr/local/bin 不是always可执行文件最终在哪里...


您可以只在 Makefile.am 中列出要安装的脚本:



bin_SCRIPTS = foo bar
  

这将导致 foo 和 bar 在 make install 期间被安装。要获取最终位置的路径,您可以在 foo.in 中使用 @bindir@ 并让 configure build foo 为您服务。例如,在configure.ac中:



AC_CONFIG_FILES([foo bar])
  

然后在 foo.in 中:



#!/bin/sh

prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
echo bindir = $bindir
  

请记住,运行配置的人可以指定 --prefix、--exec_prefix 或 --bindir,并且可以使用 DESTDIR 重定向安装。使用此处描述的技术,将不考虑 DESTDIR,并且脚本将安装在它将回显的路径之外的位置。这是设计使然,并且是正确的行为,因为通常使用 DESTDIR 安装来创建 tarball,该 tarball 最终将解压到文件系统中,以使脚本中的 bindir 变得有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GNU autoconf/automake 的帮助脚本应该放在哪里? 的相关文章

  • 将 Mercurial 变更集作为版本信息注入 C 可执行文件中

    我希望我正在开发的项目的可执行文件能够记录最新的 Mercurial 变更集 以便当用户抱怨错误行为时 我可以跟踪他们正在使用的版本 我的一些可执行文件是 Python 的 其他是 C 编译的 有没有办法自动执行此操作 或者您能给我指出一些
  • GNU autoconf/automake 的帮助脚本应该放在哪里?

    我正在开发一个将与 GNU autoconf automake 一起分发的项目 并且我有一组调用 awk 脚本的 bash 脚本 我希望 bash 脚本最终出现在 PATH 中 而不是 awk 脚本中 我应该如何将它们插入到项目中 它们应该
  • 如何在 Apache 2.2.9 中使用 mod_ssl 将 openssl 0.9.8 升级到 1.0.2

    我被要求重新编译mo sslSuseSE11SP3 中使用 openssl 1 0 2 不过 我是 Suse 的新手 但对 linux 有一点了解 操作系统 苏塞SE11SP3 Openssl 0 9 8j 网络服务器 Apache htt
  • Autoconf 路径中存在空格

    我刚刚将一个 C 项目转换为一个 autotools 项目 并在 configure ac 中编写了几行here 当我的路径应该是 bla bla 时 构建失败并显示 sh home me bla 没有这样的文件或目录 问题是我没有在任何地
  • 为什么即使使用正确的 autoconf,autogen.sh 也会失败?

    autogen sh 失败 输出显示我需要更高版本的 autoconf 但事实上我有一个 2 6x autoconf 为什么仍然失败 mirror home 4 autogen sh autoreconf i f v autoreconf
  • Automake 将两个静态库合并为一个

    我正在尝试将预构建静态库中的符号包含到我正在构建的静态库中 然后 我正在构建的静态库将在可执行文件内部使用 我遇到的问题是我的静态库中从其他静态库获取了未定义的符号 这意味着我从预构建的静态库中需要的符号没有包含在我的静态库中 使用自动工具
  • Autoconf 子目录与子包相互依赖吗?

    我手上有一个大型项目 master 它被分成几个组件 liba b c d 以方便构建和维护 在构建整个包时 必须按顺序构建所有子组件 并且其中一些包相互依赖 更明确地说 liba 是 b c 和 d 的先决条件 并且 liba 的存在由配
  • 如何使用自动工具设置包含路径

    我正在开发一个 C 项目 该项目使用autoconf automake 我正在努力正确设置包含路径 CPPFLAGS 我读了大约3个小时的文档 但我还没有弄清楚 我不是在寻找黑客 而是在寻找正确的方法来做到这一点 这是我的难题 据我所知 包
  • 使用 PKG_CHECK_MODULES 时,autoconf 生成的 Makefile 不会传递库头的标志

    我的项目依赖于一个库 更准确地说 GTK 所以我在我的项目中添加了以下配置configure ac PKG CHECK MODULES GTK gtk 2 0 AC SUBST GTK CFLAGS AC SUBST GTK LIBS My
  • AM_LDFLAGS 和 LDFLAGS 有什么区别

    我想知道 AM LDFLAGS 和 LDFLAGS 之间有什么区别 因为我遇到了错误 error AM LDFLAGS must be set with before using 当我在 foreach 循环中使用 AM LDFLAGS 时
  • Autoconf 在 OS X 上使用错误的 AR

    我正在 OS X 上测试 我们有一个configure ac and Makefile am Autotools 选择错误AR and ARFLAGS对于平台 它发生在 和没有 AM PROG AR in Makefile am egrep
  • Autoconf:如何将安装路径获取到config.h中

    我的程序需要在运行时加载一些文件 这些文件将安装到指定的任何文件夹中 configure datadir somewhere 由于我的程序需要在运行时知道该文件夹的位置 因此我需要在某处 define 一个符号 以便 C 代码可以以字符串形
  • 当 .h 文件明显可用时,为什么 autoconf 没有通过 AC_CHECK_HEADER 测试?

    我花了很长时间让 autoconf 检查特定头文件是否存在 我们将标头依赖项称为 inky h 并假设 inky 是一个 单独 安装的库 前缀设置为 usr local 这会将 inky h 放入 usr local inky inky h
  • Automake 变量来整理 Makefile.am

    我有一个目录 src 包含所有源文件 bin 用来在运行 make 命令后存储所有二进制文件 该目录如下所示 BuildDirectory src bin configure Makefile am configure ac 现在在 Mak
  • Autoconf 和 A​​utotools 的替代品? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 我可以在 distcheck 期间使用 $dc_install_base 安装 systemd 文件吗?

    我有以下用于安装 systemd 服务文件的 Autotools 代码 该文件必须安装在外部 prefix到 pkg config 变量指定的目录 我知道这是不正确的 但我无法改变 systemd 的工作方式 配置文件 AC ARG WIT
  • 将 autoconf 配置为具有 --with 选项来自定义构建

    我对 autoconf 和 automake 的工作原理有一个非常基本的了解 这是从各种教程中收集的 但是 由于我希望我的库在构建过程中保持灵活性 因此他们需要 with FEATURE and without FEATURE其他程序中常见
  • LDADD 和 LIBADD 有什么区别?

    我正在尝试设置一个混合使用 libtool 库和可执行文件的 automake 项目 并且我很难理解 automake 文档 尤其是 as 涉及告诉编译器进行链接 那么有人可以解释一下之间的区别吗LDADD and LIBADD 像 什么时
  • 在 C 中使用 GNU automake 中的解析器

    我是 GNU autotools 的新手 在我的项目中使用了 lex 和 yacc 解析器 将它们作为 makefile am 中的源代码会产生以下错误 配置 in AC CHECK PROGS YACC bison yacc none i
  • Autoconf 问题:“错误:C 编译器无法创建可执行文件”

    我正在尝试使用 GNU 自动工具构建一个用 C 编写的程序 但显然我设置错误 因为当configure运行 它吐出 configure error C compiler cannot create executables 如果我看进去con

随机推荐