autotools相关内容

在Makefile.am中调用SED作为源

我有C ++代码,需要在编译之前对其进行sed处理.如何将其放入Makefile.am? 我尝试了典型的makefile设置,但目标似乎不存在: gentest.cc: $(SED) -i "s|FIND|REPLACE|" gentest.cc 如果您对我为什么要这样做感兴趣,那是因为我用python编写了程序(slider3.py),而我的伴侣也用c ++(gentes ..
发布时间:2020-09-14 20:33:13 其他开发

Automake会忽略缺少的NEWS/AUTHORS/COPYING/etc.标准文件

Automake要求项目的源目录中存在以下“标准"文件: 安装 新闻 自述文件 复制 作者 ChangeLog 显然,构建程序不需要这些文件,但是Automake拒绝在没有它们的情况下运行.我知道--add-missing标志会导致生成样板文件,但我宁愿根本没有这些文件. 是否有一种方法可以强制Automake运行并忽略丢失的文件而不生成它们? 解决方案 使用f ..
发布时间:2020-09-14 20:32:58 其他开发

使用Automake更正GCC命令行顺序

我有一个在Mac上可以正常编译的自动工具项目,但是在Linux(Ubuntu 12.04.1 LTS)下,传递给gcc的命令行使库相对于目标文件而言是乱序的.例如,autotools生成以下命令来编译我的代码,将名为test.c的单个文件转换为名为test的二进制文件: gcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib- ..
发布时间:2020-09-14 20:32:55 服务器开发

使用automake配置脚本在64位Linux上构建32位?

我正在使用64位系统,但需要一组32位二进制文​​件.我必须将哪些选项传递给配置脚本以生成32bit/x86生成文件? 解决方案 通过传递以下参数来配置脚本,使我能够在64位Linux上构建32位库 ./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32" ..
发布时间:2020-09-14 20:28:58 其他开发

您能“不珍贵"吗?一个配置变量(AC_ARG_VAR的倒数)?

某些configure宏将某些变量声明为珍贵的,我想撤消这一点.例如,AC_PROG_CC会将CFLAGS声明为珍贵,而我需要使其不珍贵. 动机 这样做可以让我在顶级配置中修改CFLAGS,并允许子包配置在不与缓存的CFLAGS值冲突的情况下执行.有关更多背景信息,请参见此问题. > 解决方案 AC_DEFUN([AX_UNPRECIOUS], [ m4_define([ ..
发布时间:2020-09-14 05:33:50 其他开发

Autoconf附加到输出变量和程序特定的LIBS

在configure.ac中使用autoconf,我需要附加到输出变量. 具体来说,我想为每个程序(Makefile.am中的myprogram1和myprogram2)以不同的方式附加到LIBS变量.假设myprogram1需要一个-lboost_python,而myprogram2需要-losg. 本质上,某些程序需要某些lib,而其他程序则不需要.这是我正在做的事的一个例子.当然 ..
发布时间:2020-09-14 05:33:36 其他开发

如何访问在Makefile.am文件顶部定义的用户定义变量?

具体来说,我想按照以下几行做一些事情.对于定义了应如何构建库文件的Makefile.am脚本,我希望能够始终访问通用库名称.例如,假设我希望将库的名称命名为"name",则可以从以下变量开始: LIBNAME = name 然后我可能会遇到这样的事情: lib_LTLIBRARIES = lib$(LIBNAME).la 但是,当我想要执行以下操作时,automake就会开始抱 ..
发布时间:2020-09-14 05:33:28 其他开发

如何在制作时将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 其他开发

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

我正在GNU/Linux上的C ++项目上工作,我正在寻找一种方法来使用Autotools测试IBM Informix库的存在和可用性-即编辑configure.in.我没有使用Autotools的经验,因此基本上我是从项目的configure.in 等人脚本中学习的,并复制和更改需要更改的位置. IOW,我一直在适应configure.in中的现有文本. 到目前为止,我已经成功地使用con ..
发布时间:2020-09-14 05:32:08 C/C++开发

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

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

如何安装和使用libtool共享库(.lo文件)?

因此,在我运行libtool并从库源中取出了libfoo.lo和foo.o文件之后,如何将libfoo.lo文件转换为普通的Linux共享库,例如libfoo.so.1.0.0,这样我就可以安装和链接到我的目标系统上? 解决方案 从问题中提到的输出中,您似乎以--mode = compile模式运行了libtool.您将需要使用--mode = link再次运行libtool以生成.a和. ..
发布时间:2020-09-14 05:31:30 C/C++开发