问题标签 [autotools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2233 浏览

include - autoconf,如何从 AC_CONFIG_SRCDIR 文件中包含文件

我希望能够在配置运行期间将两个文件合并为一个。我已经AC_CONFIG_SRCDIR[file.hpp]在某些文件上使用宏进行了纹理替换。是否有一些指令可以包含来自file.hpp.in、某种@include (another.hpp) @或类似的文件?

谢谢

0 投票
3 回答
242 浏览

php - 为 LAMP 应用程序使用自动工具

我有一个应该很快发布的 LAMP (Linux/Apache/MySQL/Php) 应用程序。

即使我从未使用过它,我也在考虑使用自动工具,以使配置和安装过程更容易(对客户和我来说,在未来)。

你有没有做过(或想过)这样的事情?有什么缺点吗?是不是有点意思?

0 投票
1 回答
588 浏览

python - 在 configure.ac 中检查 AX_PYTHON_MODULE 的结果

在 configure.ac (AX_PYTHON_MODULE) 中使用 m4_ax_python_module.m4 宏时,可以在配置时知道是否安装了给定模块。它有两个参数,模块名称和第二个参数,如果不为空,将导致退出,当模块是必备时很有用。

在您不想要致命退出的情况下,如何在 configure.ac 中测试找到了哪些模块?运行配置时它们会输出“是”或“否”,但这就是我目前所发现的。基本上如果我在configure.ac中有这些行:

编辑:在模块名称周围添加方括号

如何测试找到了两个模块中的哪一个?

有关此宏的文档,请参见http://www.gnu.org/software/autoconf-archive/ax_python_module.html#ax_python_module

0 投票
7 回答
10067 浏览

c++ - 如何在运行时摆脱 LD_LIBRARY_PATH?

我正在构建一个使用英特尔IPP库的 C++ 应用程序。该库默认安装在 /opt 中,需要您设置LD_LIBRARY_PATH编译和运行软件(如果您选择共享库链接,我这样做了)。我已经修改了我的configure.ac/Makefile.am以便在编译时不需要设置该变量,但是在运行时我仍然找不到共享库;我怎么做?

我正在使用-Wl, -R/path/to/libdir标志编译g++

更新 1:实际上我的二进制程序有一些正确链接的 IPP 库,但只有一个不是:

当然图书馆在那里:

0 投票
4 回答
221049 浏览

makefile - Makefile.am 和 Makefile.in 是什么?

这两个文件大多出现在开源项目中。

它们的用途是什么,它们是如何工作的?

0 投票
2 回答
2477 浏览

gcc - 使用自动工具时 PACKAGE_NAME 和其他宏冲突

当对库和基于该库构建的软件使用自动工具(带有config.h文件)时,编译器会抱怨重新定义了某些宏(PACKAGE_NAME、PACKAGE_TARNAME 等)。

我怎样才能防止这种情况?

库中需要该config.h文件以将其设置传播到使用它的软件。

现在我有一个library_config.h包含原始文件的包装脚本,config.h并在用户不使用自动工具时提供默认值,但即使取消定义该包中的宏,我也会收到来自 gcc 的重新定义警告。

我相信最好的选择是拥有一个没有该宏的库:使用自动工具时,如何避免在库中定义 PACKAGE、PACKAGE_NAME 等?

编辑:尝试更好地解释。

在库中使用AC_CONFIG_HEADER宏时,configure.ac我会生成一个config.h包含许多有用定义的文件。这个定义对于库本身(对于它的编译部分和它的头文件)和客户端软件都很有用。然而遗憾的是,AC_CONFIG_HEADER将我需要的有用宏与其他具有固定名称(PACKAGE、PACKAGE_NAME)的通用定义混合在一起,当自动工具也用于客户端软件配置时会发生冲突。

0 投票
1 回答
183 浏览

makefile - autotools 中有关 EXTRA_SCRIPTS 变量的文档在哪里?

Makefile.am 中的 EXTRA_SCRIPTS 变量是什么?它记录在哪里?

0 投票
1 回答
294 浏览

gnu - 您如何定义在 ./configure --help 中看到的选项?

我目前正在尝试设置一个要使用 autotools 安装的软件包。

在大多数(如果不是全部)主要软件包中,configure --help 列出了大量选项,例如 ./configure --ENABLE-FLOAT 等。我想知道在哪里可以定义这些选项。

谢谢,

山姆

0 投票
2 回答
1752 浏览

linux - 在不安装包的情况下预览手册页

我检查了一些使用自动工具的典型开源项目。我想对这个包进行一些修改,但我也想在包的手册页中进行一些更改。

手册页源代码位于 project-name/doc/project-name.1。我只是做了一个小改动,现在我想预览这个改动,而不必实际对项目进行 make install。我怎么做?

我尝试过类似的东西:

但它不起作用,我尝试过的各种变体也不起作用。这听起来像一个简单的问题,但我似乎无法通过谷歌搜索找到任何问题,所以我希望这里有人可以帮助我。谢谢。

0 投票
1 回答
949 浏览

autotools - Automake:如何添加构建步骤?

目前,我有一个构建链,完全由 automake 管理,例如:

我想添加一个新步骤,将 XML 文件 .ui 预处理为 vala 源:

我这样做了,在 makefile.am

和:

但是make不明白:

这似乎是make的限制:

http://www.ensta.fr/~diam/dev/online/autoconf/autobook/autobook_180.html

如果翻译需要三个步骤——从.m' to.x',然后从.x' to.c',最后到 `.o'——那么 Automake 的简单化方法将被打破。

你有别的想法吗?