pkg.sopackage field notes

brew / 排名 63

使用 Homebrew 安装 m4

查看 m4 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

安装

其他安装命令

macOS

Homebrew已验证 · 100%
brew install m4

provider-native install command

概览

软件包摘要

Macro processing language

命令和别名

  • m4

历史

项目历史与用法

GNU M4 is the GNU implementation of the traditional Unix `m4` macro processor. It expands built-in and user-defined macros while copying input to output and is used both directly and as infrastructure for other build tools.

项目历史

The m4 lineage is older than GNU: the GNU manual traces macro-language ideas to 1950s and 1960s work by Alan Perlis, Doug McIlroy, Christopher Strachey, and Bell Labs macro processors such as GPM and M6.

Kernighan and Ritchie developed the original `m4` at Bell Labs in 1977. GNU M4 was released by Rene Seindal in 1990 to remove artificial limits in many traditional implementations, including line length, macro size, and macro-count limits.

Francois Pinard maintained GNU M4 in the early 1990s and released version 1.4 in 1994. After a long stable period, maintenance resumed with Paul Eggert, Gary V. Vaughan, Eric Blake, and later releases in the 1.4 series through 1.4.20.

采用历史

The GNU manual notes that `m4` is widely available on Unix systems and standardized by POSIX. Many users install GNU M4 indirectly because GNU Autoconf requires it to generate configure scripts.

The supplied package-manager facts show the package across Homebrew, Debian, Ubuntu, Fedora, Arch, Alpine, Nix, MacPorts, Scoop, and openSUSE, which matches its role as a baseline development dependency.

使用方式

GNU M4 can be invoked as `m4 [option...] [file...]`. It supports macro expansion, file inclusion, shell-command execution, arithmetic, text manipulation, and recursion.

In package builds, direct human-written M4 macros are less common than Autoconf usage, but maintainers still care about GNU M4 compatibility because configure-generation failures often trace back to macro behavior.

为什么软件包爱好者会关心

GNU M4 is one of the quiet pieces of the Autotools stack: many source packages do not need it at runtime, but build-from-VCS workflows and autoreconf pipelines often need the GNU implementation.

It matters to package maintainers because POSIX `m4`, vendor `m4`, and GNU M4 have historically differed in limits and extensions, and Autoconf intentionally standardized on GNU M4 to avoid those limitations.

时间线

  • 1977: Original Bell Labs m4 described by Kernighan and Ritchie
  • 1990: Rene Seindal released GNU M4
  • 1994: GNU M4 1.4 released as a long-lived stable version
  • 2004: 1.4.1 and 1.4.2 addressed long-standing bugs
  • 2025: GNU M4 1.4.20 released

Related projects

  • GNU Autoconf is one of GNU M4's biggest users and requires GNU M4 as its macro engine.
  • Traditional Unix m4 implementations, GPM, M6, M5, and Ratfor-related preprocessors are part of the historical macro-processor lineage.

安全态势

风险级别:绿色

narrow executable package without higher-risk signals.

风险分类器

绿色 风险 · 低 置信度 · appliance

原因

  • narrow executable package without higher-risk signals

信号

  • metadata:no-higher-risk-signals

安装行为

  • 未记录 Homebrew bottle 元数据。

建议审查

在无人值守的代理使用前,请检查该工具是否读取明文凭据、写入远程状态、发布制品或调用插件。

可执行文件

已安装的可执行文件

命令类型暴露范围备注
m4可执行文件已索引可执行文件从本地可执行文件索引发现。

新鲜度

版本和新鲜度

这些信号区分页生成时间、软件包管理器活动和上游发布比较。只有存在证据 URL 和可比较版本时,才会提示版本落后。

页面生成时间2026-08-03
管理器版本1.4.21
管理器更新时间2026-07-17
本地数据未知
上游不可用
检测到的最新版本未检测到
  • OK没有生成新鲜度警告。

安装元数据

软件包元数据

软件包键brew:m4
版本1.4.21
软件包管理器Homebrew
主页https://www.gnu.org/software/m4/
最后更新2026-07-17T16:54:41-04:00
Pulseupdated
Bottle未记录
服务未声明

来源线索

由仓库数据生成

此页面由 av-webscripts/generate-pkg-sqlite.py 生成的私有软件包 SQLite 工件提供。

Combined YAML source

View the package source record on GitHub.

combined/m4.yml

使用的来源

  • Geiger risk classifier
  • Nucleus package database
  • curated package history
  • pkgdb category and tag curation