automake相关内容

如何在制作时将Shell脚本输出到Makefile.am中?

我正在从事一个自动工具项目,并且是自动工具领域的新手.由于种种原因,为了完整起见,在底部进行了详细说明,我有一个Shell脚本,我希望从中获取输出以供在我的Makefile中使用. 我的情况类似于以下情况. Autoconf通过AC_CONFIG_FILES命令生成脚本.例如 AC_CONFIG_FILES([thescript], [chmod +x thescript]) th ..
发布时间:2020-09-14 05:33:24 其他开发

如何获取autoconf configure.ac中顶级构建目录的绝对路径?

我正在一个项目上,该项目需要一个具有自己的makefile和configure.ac的子项目.子项目是一个程序,用于为主项目生成源文件.有一个选项可以禁用此项目的构建,并尝试使用已安装的版本. 无论哪种情况,我都会在Makefile.am中使用一个包含程序路径的变量. 我的问题是,当使用项目的本地版本时,如何获取其在Makefile.am中使用的位置? 我尝试过 FOOPL ..
发布时间:2020-09-14 05:32:13 其他开发

autoconf和automake流程图中的哪些过程由谁和何时执行?

在来自 https://en.wikipedia.org/wiki/Automake的autoconf和automake流程图中,有几个过程 自动扫描 本地 自动标题 autoconf 自动制作 配置 制作 执行了哪些过程 软件程序的用户在下载了软件程序的发行版本后 由从其源代码创建软件程序发行版的一方(谁可能是软件程序的作者)? 之所以问这个问题,是因为我记 ..
发布时间:2020-09-14 05:31:57 其他开发

什么是ltmain.sh,为什么automake会说它丢失了?什么是好的自动(make/conf/etc)生成器?

我只想用自动生成的auto(make/conf/...)东西在Linux中开发一个C应用程序.我尝试用ede和anjuta生成它,但似乎没有生成Makefile.am.因此,我尝试运行automake,并说未找到"ltmain.sh".是否有一些易于生成的Linux C/C ++应用程序基本构建文件.什么是标准做法?大多数人都自己写这些文件吗? 解决方案 生成一组非常简单的自动工具文件非常 ..
发布时间:2020-09-14 05:31:28 其他开发

可移植地在autoconf/automake中包含GLib头文件

对于使用autoconf-构建的项目,我需要包含 GLib 标头.基于便携式的系统. 如何安全地以可移植方式导入GLib标头?我知道 pkg-config ,但这并不是完全可移植的(因为某些系统没有没有,我宁愿仅依靠autoconf进行配置. 解决方案 GLib 2.22 INSTALL文件指出,pkg-config是安装此库的必要条件.我不是GLib(双关语!);该要求的声明是IN ..
发布时间:2020-09-14 05:30:26 其他开发

使用automake安装具有大量文件的数据目录树

我有一个数据目录,我希望automake为其生成安装和卸载目标.本质上,我只想将此目录原样复制到DATA目录,通常,我可能会单独列出所有文件,例如 dist_whatever_DATA=dir/subdir/filea ... 但是当我的目录结构看起来像这样 时,就会出现问题 *root *subdir *~10 files *subdir *~10 files *su ..
发布时间:2020-09-14 05:29:22 其他开发

如何使用自动工具设置包含路径

我正在使用autoconf& automake,而我正在努力正确设置*CPPFLAGS中的包含路径.我已经阅读了大约3个小时的文档,但还无法弄清楚.我不是在寻找hack,而是在寻找正确的方法.这是我的难题. 如我所见,包含路径有3种完全不同的来源: 必须与我的软件包一起安装的外部库,这些库由configure --with-XXX=配置. 在我的程序包中,即使file.h ..
发布时间:2020-09-14 05:28:11 其他开发

Autotools交叉编译和生成的源

我正在尝试使用自动工具(autoconf,automake,libtool)作为构建系统来创建一个库.该库必须是可交叉编译的,但是构建它的步骤之一是在整个过程中通过从源代码构建的可执行文件生成源代码. 问题是我不能使用automake的系统来构建中间二进制文件,因为当它被交叉编译时,它不会在'--build'上运行以生成源代码. 解决此问题的一种方法是创建单独的autools项目以构建 ..
发布时间:2020-09-14 05:27:00 其他开发

使用makemake/autoconf有条件的makefile

有人可以告诉我是否可以在Makefile.am中插入条件块,以便将其进一步传递给由自动工具创建的Makfile吗? 这里是一个例子: ifeq "$(SOMEVAR)" "" SOMEVAR="default_value" endif 这似乎是执行条件操作的常用Makefile方法. Automake切断了endif行,并且make最终失败,并显示以下消息: Makefile ..
发布时间:2020-09-14 05:26:56 Python

在哪里使用GNU autoconf/automake放置辅助脚本?

我正在开发一个将与GNU autoconf/automake一起分发的项目,并且我有一组bash脚本,它们称为awk脚本.我希望bash脚本以$ PATH结尾,而不是awk脚本.我应该如何将它们插入项目中?是否应该将它们与其他二进制文件一起放入? 此外,有没有一种方法可以在安装后确定文件的最终位置?我猜想/usr/local/bin并不是总是可执行文件最终会出现的地方... 解决方案 ..
发布时间:2020-09-14 05:26:46 其他开发

自动工具:强制不重建configure/Makefile

我有一个带有自动工具的项目:automake,autoconf. 我想禁止make重建文件configure,Makefile.in等;只是为了做编译工作. 有些文件是手工编辑的,我知道我不应该这样做. (或者从CVS更新项目,并将所有生成的文件存储在CVS中). 但是目前我没有安装正确版本的自动工具. 此文件的修改时间必须是什么(必须是新的/旧的): aclocal.m4 ..
发布时间:2020-09-14 05:26:42 其他开发

GNU Autotools:无需版本信息即可重建

我需要构建一个配置有自动工具的库.通常的configure && make && make install步骤生成版本化的共享库,例如libfoo.so.x.x是否可以修改configure.ac或Makefile.am(当然还要跟上autoreconf),以便构建未版本化的lib. 谢谢! 解决方案 是的,假设该库是使用libtool构建的,则可以通过在库的LDFLAGS中添加-a ..
发布时间:2020-09-14 05:26:39 其他开发

autoconf/automake:基于库存在的条件编译?

我需要根据库的存在条件有条件地编译一些代码.使用autoconf/automake看起来像这样应该很容易,但是我无法弄清楚. 例如,如果存在一个PNG库,我想包括使用它的代码.我的configure.ac具有: AC_CHECK_LIB([png], [png_create_write_struct_2]) 和我的Makefile.am有: if USE_LIBPNG lib ..
发布时间:2020-09-14 05:26:32 其他开发

在C/C ++项目中自动检测库依赖关系的最佳方法是什么?

在C/C ++项目中自动检测库依赖关系的最佳方法是什么? 我有一个项目,其中有对计算机的所有依赖项.它生成并运行.现在,我想组装一个自动工具构建系统.我正在寻找一种自动检测所需的所有依赖项(例如,使用的头文件和链接所需的库)的好方法. 对于我而言,似乎最难识别库位.我想说的是,为列表或其他内容中的每个函数生成AC_CHECK_LIB命令.我可能可以在Perl中做到这一点,但我必须想象它 ..
发布时间:2020-09-14 05:26:24 其他开发

自动生成生成二进制文件到bin/而不是src/

我搜索了此问题的答案,但找不到任何好处.也许它们很旧,并且有些变化,所以我再问一遍. 我的目录结构为: my_project src bin 我想要的是,当我在根目录中创建时,二进制文件放在./bin中,而不是混乱的./src.但是如何? 编辑:我正在使用C ++.我的Makefile.am没有什么特别的.只是bin_PROGRAM和_SOURCES变量. ..
发布时间:2020-09-14 05:26:11 其他开发