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 的帮助脚本应该放在哪里? 的相关文章

  • automake自动编译工具

    automake自动编译生成makefile文件 xff0c 使用automake xff0c 程序开发人员只需要写简单的宏文件 xff0c 生成configure xff0c 再生成Makefile in xff0c 最终生成一个惯例的m
  • autoscan、aclocal、automake和autoconf区别【转】

    转自 https blog csdn net renhui1112 article details 96480535 autoscan 扫描源代码以搜寻普通的可移植性问题 比如检查编译器 库 头文件等 生成文件configure scan
  • Makefile.am 创建空目录

    使用自动工具 我需要在键入 make install 时创建一个空目录树 例如 etc myprg foo 现在 我通过指定空目标来做到这一点 如下所示 myprgdir sysconfdir myprg myprgfoodir sysco
  • 使用 pkg-config 宏 PKG_CHECK_MODULES 失败

    我确信这是一个相当简单的问题 我有一个非常简单的configure ac 文件 我用它来学习autoconf 和pkg config 如何协同工作 这confgure ac文件看起来像 AC PREREQ 2 61 AC INIT auto
  • 如何在 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
  • 如何在 C++ Autotools 项目中禁用 C 编译器

    我正处于向 C 库添加 Autotools 支持的早期阶段 此时我正在跑步autoreconf具有以下配置 cat Makefile am AUTOMAKE OPTIONS foreign bin PROGRAMS cryptest cat
  • 为什么 autoconf 会错误地找到一个以后不可用的函数?

    在 Linux 系统上 我配置了一个软件包 llvm autoconf 找到了arc4random功能 这里是配置期间输出的提取 checking for strerror yes checking for strerror r yes c
  • 为什么即使使用正确的 autoconf,autogen.sh 也会失败?

    autogen sh 失败 输出显示我需要更高版本的 autoconf 但事实上我有一个 2 6x autoconf 为什么仍然失败 mirror home 4 autogen sh autoreconf i f v autoreconf
  • 更强大的 AC_COMPILE_IFELSE 功能测试?

    自动会议的AC COMPILE IFELSE在不同的编译器下 例如 Sun 的 C 编译器和 IBM 的 xlC 编译器 会错误地检测我们的功能 AC COMPILE IFELSE似乎会检查返回值 但有些编译器不会费心去设置它或将其设置为意
  • 如何使用自动工具设置包含路径

    我正在开发一个 C 项目 该项目使用autoconf automake 我正在努力正确设置包含路径 CPPFLAGS 我读了大约3个小时的文档 但我还没有弄清楚 我不是在寻找黑客 而是在寻找正确的方法来做到这一点 这是我的难题 据我所知 包
  • Autoconf——包括静态库(新手)

    我正在尝试将我的应用程序从手动构建迁移到 autoconf 到目前为止 它运行得很好 但我有一个静态库 我不知道如何集成 该库不会位于通常的库位置 二进制文件 a 文件 和头文件 h 文件 的位置将作为配置参数给出 值得注意的是 即使我将
  • 我可以在 distcheck 期间使用 $dc_install_base 安装 systemd 文件吗?

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

    我对 autoconf 和 automake 的工作原理有一个非常基本的了解 这是从各种教程中收集的 但是 由于我希望我的库在构建过程中保持灵活性 因此他们需要 with FEATURE and without FEATURE其他程序中常见
  • Autotools 库和目标文件输出控制

    我的目标是将所有目标文件构建在 objs 目录中而不是 Makefile 的根目录中 并将二进制文件 和库 复制到项目的bin 目录 但我一直无法找到任何资源来解释如何做到这一点 我该怎么做呢 这是我的configure ac和src Ma
  • 在 Makefile.am 中调用 SED 获取源

    我有 C 代码 需要在编译之前对其进行 sed 处理 我如何将其放入Makefile am 我尝试了典型的 makefile 设置 目标似乎不存在 gentest cc SED i s FIND REPLACE gentest cc 如果您
  • 如何使用autoconf重新生成配置文件?

    我使用 autoconf 重新生成配置文件 它有效 但是当我执行生成的配置文件时 configure 有一些错误消息 例如 configure line 3713 syntax error near unexpected token bla
  • 在 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
  • 用于交叉编译的`./configure`选项?

    据我所知 configure脚本是用 GNU 生成的Autoconf 我不知道Autoconf根本不 这些工具如何工作以及如何使用它 configure制作源代码以进行交叉编译的脚本 这是一篇关于如何交叉编译的非常好的小文章 http li
  • 与 glib-2.0 链接时,cygwin gcc 4.3 中的参数顺序很重要

    我正在尝试使用 cygwin 编译适用于 os x 和 linux 的代码 然而 我发现 gcc 的参数顺序给出了意想不到的结果 例如 以下情况会失败 gcc std gnu99 I usr include glib 2 0 I usr l

随机推荐