标签: automake

configure.ac:不使用 gettext

我正在尝试编译一个 gnome 应用程序,我很好奇运行autogen.sh脚本时输出的含义:

~/Documents/Code/window-picker-applet $./autogen.sh
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal 
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --install --copy
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
autoreconf: running: /usr/bin/autoconf
autoreconf: running: /usr/bin/autoheader
autoreconf: running: automake --add-missing --copy --no-force
data/Makefile.am:11: `%'-style pattern rules are a GNU make extension
data/Makefile.am:11: wildcard $(top_srcdir: non-POSIX variable name
data/Makefile.am:11: (probably a GNU make extension)
autoreconf: Leaving directory `.'
[Output trunkated...]
Run Code Online (Sandbox Code Playgroud)

为什么我会得到信息configure.ac: not using Gettext …

automake autoreconf

14
推荐指数
2
解决办法
2万
查看次数

在 BSD 中构建软件的首选方法是什么?

我想知道在 BSD 中构建软件的首选方式是什么,以及他们是否积极使用和鼓励使用 GNU 自动工具。

我在OpenBSD 手册中找到了有关 GNU autoconf 的以下部分:

autoconf 是一个 gnu 工具,旨在帮助编写可移植程序。它通常与 automake(便携式 makefile)和 libtool(便携式共享库)一起使用。

这些工具不能很好地工作,并且在将软件移植到 OpenBSD 时经常会产生特定的挑战。

这似乎不是很令人鼓舞。OpenBSD 有自己的类似自动工具的程序吗?你应该自己编写配置脚本吗?我看到例如 OpenSSH正在使用 autoconf。

FreeBSD 在它的手册中有一个中性部分,但它仍然在“特殊注意事项”部分:

各种 GNU 自动工具提供了一种抽象机制,用于在各种操作系统和机器架构上构建软件。[...]

bsd automake autoconf

6
推荐指数
1
解决办法
944
查看次数

如何防止automake覆盖INSTALL?

我正在处理一个具有自定义INSTALL文件的项目。运行automake --add-missing(或更准确地说,autoreconf -i)将生成 GNU 默认INSTALL文件,并用它覆盖我们的文件。

我怎样才能防止这种行为?我希望它要么根本不生成 GNUINSTALL文件,要么用不同的名称创建它。

另外,我不想禁用automake可能生成的任何其他文件。


编辑1:automake手册

如果--add-missing给出该选项,automake将添加INSTALL文件的通用版本以及COPYING包含当前版本的 GNU 通用公共许可证 [...] 文本的文件。但是,现有COPYING 文件永远不会被automake.

它说现有COPYING文件不会被覆盖,但没有说明该INSTALL文件的任何内容,因此它似乎会被无条件覆盖。

编辑 2:根据要求,这是我的configure.acMakefile.am,以及autogen.sh我们运行到autoreconf项目的内容:

configure.ac

AC_INIT([program name], [version number], [bug report], [short name], [url])
AC_CONFIG_SRCDIR([Main/Source/main.cpp])

AM_PROG_AS 
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
AC_PROG_CC
AC_PROG_CXX

CFLAGS="$CFLAGS $SDL_CFLAGS "
LIBS="$LIBS $SDL_LIBS" …
Run Code Online (Sandbox Code Playgroud)

gnu automake autoreconf autotools

6
推荐指数
2
解决办法
1435
查看次数

automake 错误:不推荐使用正则表达式中未转义的左大括号

编译并安装 GNU automake 1.15 后,每当我运行 automake 时都会出现此错误:

Unescaped left brace in regex is deprecated, passed through in regex;
marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/
at /usr/local/bin/automake line 3936
Run Code Online (Sandbox Code Playgroud)

我正在运行 perl v5.22.0。

perl automake autotools

5
推荐指数
1
解决办法
2万
查看次数

GNUmakefile、GNUmakefile.am 和 GNUmakefile.in 是否表明使用了 Automake?

rtnet 的源文件夹仅包含上述用于编译目的的文件。其余文件是示例的源代码。

问题是这些文件是否表明它们是通过 automake 生成的?

如果是,那么我应该在哪里查找配置 automake 以生成这些文件的设置?

linux make automake xenomai

4
推荐指数
1
解决办法
1565
查看次数

如何在 ./configure 中放置多个 -I、-L 和 -l 标志?

我正在尝试使用./configure.

我有

  1. 三个包含目录

    -I/path1/include
    -I/path2/include
    -I/path3/include
    
    Run Code Online (Sandbox Code Playgroud)
  2. 两个链接目录

    -L/path1/lib
    -L/path2/lib
    
    Run Code Online (Sandbox Code Playgroud)
  3. 两个-l标志选项

    -ltensorflow
    -lasan
    
    Run Code Online (Sandbox Code Playgroud)
  4. 两个编译标志

    -O3
    -g
    
    Run Code Online (Sandbox Code Playgroud)

我怎样才能有效地将所有这些标志作为选项放入./configure

compiling make automake configure autoconf

4
推荐指数
1
解决办法
1139
查看次数

Automake 什么时候改用 Perl

我试图从我的 Ubuntu 机器中删除 Perl,但发现它automake不仅依赖于 Perl,而且它本身就是一个 Perl 程序。我在某处读到过,情况并非总是如此。

今天我查看了档案,但即使是 1.0 版也已经在 Perl 中了。我是误读了,还是automake一直在使用 Perl?

是否有任何不依赖于 Perl 的替代品?

perl history automake

3
推荐指数
1
解决办法
233
查看次数

如何让 autoconf 使用“install”而不是“mkdir -p”?

当我运行sudo make install来自 GNU 存档的编译包时,它用于mkdir -p创建目标目录。

我更喜欢使用它mkdir -p -m 0755install -d -m 0755以确保目标目录在所有情况下对每个人都具有适当的权限,而不仅仅是当 root 的 umask 是 0022 时(这对我来说不是这样)。

该软件包正在使用 autoconf/automake,它的行为似乎是由名为AC_PROG_MKDIR_P.

目前我可以sudo chmod 0755在我知道权限错误的目录上运行。但这显然不是正确的选择。

我会避免研究整个文档以实现“仅此而已”。

任何提示?

umask chmod automake autoconf mkdir

3
推荐指数
1
解决办法
503
查看次数

标签 统计

automake ×8

autoconf ×3

autoreconf ×2

autotools ×2

make ×2

perl ×2

bsd ×1

chmod ×1

compiling ×1

configure ×1

gnu ×1

history ×1

linux ×1

mkdir ×1

umask ×1

xenomai ×1