草庐IT

autotools

全部标签

linux - 在关联文件中增加新版本的版本号(文档)

我很想知道你们如何处理增加版本号的新版本问题。如何处理相关文件(如手册页等)中的版本号该软件是使用gnu工具链构建的,因此autoconf、automake等可用并用于应用程序的版本号。这样信息就可以重复使用。git作为vcs使用。一种可能性是在Makefile.am中引入一个额外的、新的目标,它执行sed/awk以替换所有相关文件中的版本号和日期。该目标可以在新版本开发的开始(分支之后)调用一次。然后当人们对项目进行git克隆或发布tarball完成时,项目可以使用正确的信息构建。当然,在开始开发新版本时,必须记住运行这个make目标。另一种选择是用dist目标的钩子(Hook)替换

linux - 在关联文件中增加新版本的版本号(文档)

我很想知道你们如何处理增加版本号的新版本问题。如何处理相关文件(如手册页等)中的版本号该软件是使用gnu工具链构建的,因此autoconf、automake等可用并用于应用程序的版本号。这样信息就可以重复使用。git作为vcs使用。一种可能性是在Makefile.am中引入一个额外的、新的目标,它执行sed/awk以替换所有相关文件中的版本号和日期。该目标可以在新版本开发的开始(分支之后)调用一次。然后当人们对项目进行git克隆或发布tarball完成时,项目可以使用正确的信息构建。当然,在开始开发新版本时,必须记住运行这个make目标。另一种选择是用dist目标的钩子(Hook)替换

c - Autoconf 检查 struct flock

fcntl()使用structflock结构来定义和检查文件锁。不幸的是,在不同的Unix系统上,此结构中的字段顺序不同。有谁知道如何使用autoconf检查它或至少检查结构是否采用特定格式(例如,问题是-结构格式是否与Linux格式匹配)? 最佳答案 您可以使用这个autoconf宏来查找structflock的某个成员是否存在:AC_CHECK_MEMBERS([structflock.l_type],[],[],[[#include]])Github有各种autoconf文件,您可以通过searchingfor"structf

c - Autoconf 检查 struct flock

fcntl()使用structflock结构来定义和检查文件锁。不幸的是,在不同的Unix系统上,此结构中的字段顺序不同。有谁知道如何使用autoconf检查它或至少检查结构是否采用特定格式(例如,问题是-结构格式是否与Linux格式匹配)? 最佳答案 您可以使用这个autoconf宏来查找structflock的某个成员是否存在:AC_CHECK_MEMBERS([structflock.l_type],[],[],[[#include]])Github有各种autoconf文件,您可以通过searchingfor"structf

linux - 为什么 "autoreconf"不经常使用?

我是Autotools的新手|.根据我的理解,人们会使用以下基本步骤来使用Autotools构建软件:autoreconf--install./configure制作但是,我注意到大多数开源软件包(在Linux上)不需要第一步。大多数时候,他们只需要第2步和第3步即可构建。似乎它们已经与Makefile.in打包在一起。我想知道为什么?他们是手动编写Makefile.in,还是软件开发人员在创建软件包之前使用autoreconf生成Makefile.in? 最佳答案 创建tarball(或从版本控制系统检查源代码)的软件开发人员通常

linux - 为什么 "autoreconf"不经常使用?

我是Autotools的新手|.根据我的理解,人们会使用以下基本步骤来使用Autotools构建软件:autoreconf--install./configure制作但是,我注意到大多数开源软件包(在Linux上)不需要第一步。大多数时候,他们只需要第2步和第3步即可构建。似乎它们已经与Makefile.in打包在一起。我想知道为什么?他们是手动编写Makefile.in,还是软件开发人员在创建软件包之前使用autoreconf生成Makefile.in? 最佳答案 创建tarball(或从版本控制系统检查源代码)的软件开发人员通常

c++ - 如何在 configure.in 中测试 C++ 库的可用性?

我正在GNU/Linux上开发一个C++项目,我正在寻找一种方法来使用Autotools测试IBMInformix库的存在性和可用性-即编辑configure.in。我没有使用Autotools的经验,所以基本上我是从项目的configure.inetal.脚本中学习并复制和更改我认为需要更改的地方。IOW,我一直在改编configure.in中的现有文本。到目前为止,我一直在成功使用configure.in中的AC_CHECK_LIB来测试某个库是否既存在又可用。但这似乎只适用于具有functions的库,而不是例如类。即,在测试Informix的libifc++.so库时失败:AC

c++ - 如何在 configure.in 中测试 C++ 库的可用性?

我正在GNU/Linux上开发一个C++项目,我正在寻找一种方法来使用Autotools测试IBMInformix库的存在性和可用性-即编辑configure.in。我没有使用Autotools的经验,所以基本上我是从项目的configure.inetal.脚本中学习并复制和更改我认为需要更改的地方。IOW,我一直在改编configure.in中的现有文本。到目前为止,我一直在成功使用configure.in中的AC_CHECK_LIB来测试某个库是否既存在又可用。但这似乎只适用于具有functions的库,而不是例如类。即,在测试Informix的libifc++.so库时失败:AC

c++ - 如何使用自动工具处理子项目?

我有一些由autotools构建的C++项目。该项目使用了一些库,也是我编写的。库的源代码作为git的子模块导入到项目中。每个库都有自己的autotools文件。说,我有:src/modules/libfoo/libbar/Makefile.amConfigure.in我想要以某种方式将库包含到主项目编译链中。我想只在Makefile.am中包含subdir是不够的,因为可以在configure.am中重新进行一些检查。 最佳答案 您可以通过将AC_CONFIG_SUBDIRS命令添加到顶级配置脚本中来运行子模块中的配置脚本。它告诉

c++ - 如何使用自动工具处理子项目?

我有一些由autotools构建的C++项目。该项目使用了一些库,也是我编写的。库的源代码作为git的子模块导入到项目中。每个库都有自己的autotools文件。说,我有:src/modules/libfoo/libbar/Makefile.amConfigure.in我想要以某种方式将库包含到主项目编译链中。我想只在Makefile.am中包含subdir是不够的,因为可以在configure.am中重新进行一些检查。 最佳答案 您可以通过将AC_CONFIG_SUBDIRS命令添加到顶级配置脚本中来运行子模块中的配置脚本。它告诉