Autoconf 子目录与子包相互依赖吗?

2023-12-30

我手上有一个大型项目(master),它被分成几个组件(liba、b、c、d)以方便构建和维护。在构建整个包时,必须按顺序构建所有子组件,并且其中一些包相互依赖。

更明确地说,liba 是 b、c 和 d 的先决条件,并且 liba 的存在由配置脚本检查。在单独构建 b 发行版时,为了提供用户友好的错误消息,此检查绝对是必要的。但是,在构建主包及其所有子包时,liba 被构建为子目标。因此,当configure在master套件上运行时,liba尚未安装,并且检查b中的liba失败。

我可以通过将 --with-liba=internal 或类似标志传递给 b; 的配置脚本来纠正此问题。但是,我还没有找到任何有关 autoconf 的此类标志传递的文档。目前,我在 master 中有一个很长很长的自定义 Makefile,它的作用与带有子目录的 autoconf/automake 相同,但稍微重新排序了依赖项,这样就可以代替 (configure liba) => (configure b) => (build liba) => (build b),顺序为 (configure liba) => (build liba) => (install liba) => (configure b) => (build b)。

知道如何使用标准 autoconf/automake 子目录重构它吗?


这封邮件 http://lists.gnu.org/archive/html/autoconf/2011-04/msg00006.html可能有帮助。

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

Autoconf 子目录与子包相互依赖吗? 的相关文章

  • 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 代码可以以字符串形
  • 尝试为 ARM 构建 GDB 时出错

    我正在尝试为我的 Ubuntu 16 04 机器上的手臂构建 GDB 版本 8 0 我打算直接在arm机器上调试 目前没有服务器 我已经执行了这些指令 正如所解释的那样here https sourceware org gdb wiki B
  • 将 autoconf 配置为具有 --with 选项来自定义构建

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

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

    我正在开发一个项目 该项目需要一个具有自己的 makefile 和 configure ac 的子项目 子项目是用于为主项目生成源文件的程序 有一个选项可以禁用该项目的构建并尝试使用已安装的版本 无论哪种情况 我都会创建一个在 Makefi
  • LDADD 和 LIBADD 有什么区别?

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

    目前我的项目有以下简单的树 Makefile am configure ac README src main cpp src Makefile am bin 我正在尝试遵循以下教程 http www gnu org software aut
  • 如何在 pip 安装期间编译 C++ 依赖项?

    我想让我的 python 代码可以使用 pip 但是 我的代码依赖于另一个不可 pip 的库 所以 当用户调用时我需要以某种方式编译源代码pip install 我怎样才能做到这一点 我无法通过简单的谷歌搜索找到好的参考资料 我建议看看 l
  • 打包应用程序时如何排除不必要的Qt *.so 文件?

    使用 PyInstaller 成功打包 PySide 应用程序后 我在包文件夹中发现了许多不同的 so 文件 我很惊讶地看到我在项目中没有使用的库 例如 libQt53DAnimation so libQt53DCore so libQt5
  • 有关如何部署 C++ 代码以在任何地方工作的提示

    我不是在谈论制作可移植代码 这更多的是一个分配问题 我有一个中型项目 它对常用库有几个依赖项 例如 openssl zlib 等 它在我的机器上编译得很好 现在是时候将它呈现给世界了 本质上是构建最好的工程 我想制作适用于 Windows
  • 诊断 R 包构建错误:pdfLatex 不可用

    我正在尝试构建一个包R 我制作了骨架 并运行了命令R CMD check package1 我收到一个错误描述here https stackoverflow com questions 10819959 diagnosing r pack
  • 如何制作包含DLL文件的JAR文件?

    我购买了一个第三方Java库 其中包括一个JAR文件和两个DLL文件 我编写了自己的 Java 程序来调用第三方 JAR 文件 现在我的问题是如何将我的所有代码打包到一个 JAR 文件中 其中包含我的所有代码以及第三方 JAR 和 DLL
  • 在 Intel 机器上构建 Apple Silicon 二进制文件

    如何在 macOS 11 Intel 上编译 C 项目以在 Silicon 上运行 我当前的构建脚本很简单 configure make sudo make install 我尝试过使用 host and target标志与aarch64
  • 在 C 中使用 GNU automake 中的解析器

    我是 GNU autotools 的新手 在我的项目中使用了 lex 和 yacc 解析器 将它们作为 makefile am 中的源代码会产生以下错误 配置 in AC CHECK PROGS YACC bison yacc none i
  • 当安装的包使用 conda 虚拟环境时,如何使 Python 控制台脚本入口点工作?

    问题 从非虚拟环境转移到 conda 虚拟环境会导致控制台脚本入口点无法识别 背景 我最近尝试在我的 Python 项目中使用虚拟环境 在更新 macOS Catalina 导致我的所有 PyCharm 项目显示无效解释器错误后 我决定执行
  • make:仅针对单个目标禁用子目录中的并行构建

    我有一个相当庞大的由自动工具驱动的项目 它位于一个目录树中 该目录树由许多带有子目录的目录组成 它有一个目标check 在每个子目录以及主目录中 执行大量自动化测试 这check目标是递归构建的 并行构建和测试 通过 j选项 make 适用
  • 如何在configure.in中测试C++库的可用性?

    我正在 GNU Linux 上开发一个 C 项目 并且正在寻找一种方法来使用 Autotools 测试 IBM Informix 库的存在性和可用性 即编辑configure in 我没有使用 Autotools 的经验 所以基本上我是从该
  • 与 glib-2.0 链接时,cygwin gcc 4.3 中的参数顺序很重要

    我正在尝试使用 cygwin 编译适用于 os x 和 linux 的代码 然而 我发现 gcc 的参数顺序给出了意想不到的结果 例如 以下情况会失败 gcc std gnu99 I usr include glib 2 0 I usr l
  • 在何处将 CFLAG(例如 -std=gnu99)添加到 (Eclipse CDT) 自动工具项目中

    我有一个简单的 Autotools C 项目 不是 C 其框架是由 Eclipse CDT Juno 为我创建的 CFLAG 通过检查 似乎是 g O2 我希望所有生成的 make 文件也具有 std gnu99附加到 CFLAG 因为我使

随机推荐

  • 我可以阻止 MATLAB 动态调整预分配数组的大小吗?

    例如 在这个简单 愚蠢的例子中 n 3 x zeros n 1 for ix 1 4 x ix ix end 该数组是预先分配的 但在循环中动态调整大小 MATLAB 中是否有一个设置会在发生此类动态调整大小时引发错误 在这个例子中我可以简
  • 动态添加时无法创建未知类型

    错误 System Windows Markup XamlParseException 无法创建未知类型 schemas xceed com wpf xaml toolkit DoubleUpDown 电话号码 1 行位置 1706 我得到
  • Hibernate:无法将数据库状态与会话同步[重复]

    这个问题在这里已经有答案了 可能的重复 Hibernate 具有相同标识符值的不同对象已与会话关联 https stackoverflow com questions 3553200 hibernate different object w
  • Angular $httpBackend.expectGET - 使用 409 状态和自定义 statusText 进行响应

    尝试在单元测试中创建 httpBackend expectGET 以返回状态 409 和自定义 statusText TestPhrase 查看 Angular 文档 https docs angularjs org api ngMock
  • Nodejs区分http请求;多个设备具有相同的公共IP

    你好 我正在尝试使用 Node js 来表示通过 http 的客户端连接 现在我有类似的东西 let names john margaret thompson tons more let nextNameInd 0 let clientsI
  • BeagleBone Black (v4.14) 上的 PWM 芯片到引脚映射

    关于如何在较新版本的内核上配置 Beaglebone 进行 PWM 的信息非常少 我按照以下指示进行操作BeagleBone Black v4 14 上的 PWM https stackoverflow com questions 5020
  • Twitter 登录停止工作“抱歉,该页面不存在”

    我使用 PFTwitterUtils loginWithBlock 方法通过 Twitter 登录用户 这一直工作得很好 我的应用程序的名称出现在用户名和密码上方 可供用户输入 然而 最近 可能与安装 Fabric io 相对应 也可能不相
  • 从生日计算年龄 - SQL、Oracle 和任何其他

    我经常看到有人认为DATEDIFF YEAR date of birth GETDATE 将产生该人的当前年龄 不幸的是 这是不正确的 这DATEDIFF函数 至少在 SQL Server 中 不会计算两个日期之间的整年数 它会计算跨越的历
  • 无需 tnsnames.ora 即可通过 RODBC 连接到 Oracle

    我正在尝试使用 RODBC 从 R 连接到 Oracle 而不使用 tnsnames ora 我尝试过跟随字符串 但它们都不起作用 gt con text lt paste0 Driver OracleODBC 11g Dbq oracle
  • 捕获空指针异常是一种代码味道吗?

    最近 我的一位同事编写了一些代码来捕获整个方法周围的空指针异常 并返回单个结果 我指出空指针的产生可能有多种原因 因此我们将其更改为针对一个结果的防御性检查 然而 捕获 NullPointerException 对我来说似乎是错误的 在我看
  • 为什么这个片段给我的行号不正确?

    我抛出一个错误 我注意到 Stackoverflow 和 JSFiddle 在堆栈跟踪上给了我不正确的行号 function foo let stackTrace new Error stack console log stackTrace
  • 在此示例中 0xFFFFFFFF 有何用途?

    我知道 arc4random 返回一个最大 2 32 1 的无符号整数 在这种情况下 它总是给出 0 到 1 之间的数字 var x UInt32 arc4random 0xFFFFFFFF 除以 0xFFFFFFFF 如何导致数字在 0
  • 在JMeter性能测试中监控Jboss中的资源使用情况

    我们正在对 JBoss 4 0 5 部署的 Web 应用程序执行一些 JMeter 测试 我们希望将服务器上应用程序的资源使用情况 内存 线程等 与 JMeter 响应时间结果集成起来 我们找到了使用 Tomcat 执行此操作的教程 我们想
  • PyDES 与 Bloomberg 数据

    我正在尝试使用 PyDES 解密 DES 编码的 Bloomberg 财务数据 该文件以 gz enc 结尾 我可以将该文件读取为二进制文件 将二进制文件重新加载回变量 该变量有数据 然后对其使用以下解密 k pyDes des passw
  • 安装OpenCV并使用GCC编译C程序

    作为我正在进行的一个更大项目的一部分 我需要在 C 程序上使用 OpenCV 库 我在 Fedora 17 32 位中使用 yum 安装了 OpenCV 和 opencv devel 我指示预处理器导入 opencv cv h 和 open
  • Jfreechart获取鼠标坐标

    我一直在尝试获取 JfreeChart 中的当前鼠标坐标 并发现以下解决方案部分有效 JFreeChart获取鼠标坐标 https stackoverflow com questions 1512112 jfreechart get mou
  • 如何打印迷宫中从源到目标的 BFS 路径

    我正在尝试实现 BFS 以便找到迷宫中从源到目标的最短路径 我遇到的问题是我无法打印路径 它在迷宫中打印为 但是如何从 BFS 的前辈中提取路径而不打印所有访问过的节点 这是我的代码供您编译 include
  • 如何避免在 PowerShell 脚本中保存用户名和密码

    所以基本上我想编写一个 Powershell 脚本 它将导出 Windows Server 备份的最后 1 天的备份日志 将信息格式化为一个漂亮的小表 然后 SMTP 将其发送到客户本地 Exchange 之外的外部位置 我有一个可以用于此
  • Python 中的协程与 Lua 中的协程相比如何?

    Lua 中对协程的支持由中的函数coroutine table https www lua org manual 5 3 manual html 2 6 主要是create resume and yield 开发人员将这些协程描述为堆栈式
  • Autoconf 子目录与子包相互依赖吗?

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