Automic VaultAutomic Vault

brew

Install m4 with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, scoop, zypper

Macro processing language. Version 1.4.21 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install m4

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install m4

MacPorts ports tree · devel/m4/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add m4

Alpine Linux edge package indexes · m4 · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install m4

Debian stable package indexes · m4 · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install m4

Fedora Rawhide package metadata · m4 · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#m4

nixpkgs package indexes · m4 · source: raw.githubusercontent.com

Arch Linux pacmanverified · 92%
sudo pacman -S m4

Arch Linux sync databases · m4 · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install m4

openSUSE Tumbleweed package metadata · m4 · source: download.opensuse.org

Windows

Scoopverified · 92%
scoop install main/m4

Scoop official bucket manifest trees · bucket/m4.json · source: api.github.com

overview

Package summary

Macro processing language

Commands and aliases

  • m4

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 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.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 8 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
m4cliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version1.4.21
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://www.gnu.org/software/m4/

  • infoNo package-manager update timestamp was available.low confidence
  • infoRelease/tag comparison is only available for GitHub repositories.https://www.gnu.org/software/m4/none confidence

install metadata

Package metadata

Package keybrew:m4
Version1.4.21
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/m4
Homepagehttps://www.gnu.org/software/m4/
Repositoryhttps://git.savannah.gnu.org/r/m4.git
Upstream docshttps://www.gnu.org/software/m4/manual
LicenseGPL-3.0-or-later
Source archivehttps://ftpmirror.gnu.org/gnu/m4/m4-1.4.21.tar.xz
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sequoia, sonoma, tahoe, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namem4
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyyes
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

m4 1.4.19-8

macro processing language

https://www.gnu.org/software/m4/

sudo apt install m4
  • Section: interpreters
  • Architecture: amd64
  • 1 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: M4
Debian stable package indexes · deb.debian.org · Debian stable package indexes: m4 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

m4-doc 1.4.19-8

Documentation for GNU m4

https://www.gnu.org/software/m4/

sudo apt install m4-doc
  • Section: doc
  • Architecture: all
  • Source Package: m4
  • normalized package name match
  • Matched by: M4
Debian stable package indexes · deb.debian.org · Debian stable package indexes: m4-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

m4

nix profile install nixpkgs#m4
  • normalized package name match
  • Matched by: M4
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: m4 from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
Ubuntu apt95%

m4 1.4.19-4build1

macro processing language

https://www.gnu.org/software/m4/

sudo apt install m4
  • Section: interpreters
  • Architecture: amd64
  • 1 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: M4
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: m4 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz
Ubuntu apt95%

m4-doc 1.4.19-4build1

Documentation for GNU m4

https://www.gnu.org/software/m4/

sudo apt install m4-doc
  • Section: doc
  • Architecture: all
  • Source Package: m4
  • normalized package name match
  • Matched by: M4
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: m4-doc from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz
apk95%

m4 1.4.20-r1

GNU macro processor

https://www.gnu.org/software/m4

sudo apk add m4
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: m4
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: M4
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: m4 from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
apk95%

m4-doc 1.4.20-r1

GNU macro processor (documentation)

https://www.gnu.org/software/m4

sudo apk add m4-doc
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: m4
  • normalized package name match
  • Matched by: M4
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: m4-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
dnf95%

m4 1.4.21-1.fc45

GNU macro processor

https://www.gnu.org/software/m4/

sudo dnf install m4
  • License: GPL-3.0-or-later AND GFDL-1.3-or-later AND FSFULLR AND GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 AND GPL-3.0-or-later WITH Texinfo-exception AND
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: m4
  • 2 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: M4
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: m4 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

m4 1.4.21-2

The GNU macro processor

https://www.gnu.org/software/m4

sudo pacman -S m4
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • 1 dependencies
  • normalized package name match
  • Matched by: M4
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: m4 from https://geo.mirror.pkgbuild.com/core/os/x86_64/core.db.tar.gz
zypper95%

m4 1.4.21-1.2

GNU m4

https://www.gnu.org/software/m4/

sudo zypper install m4
  • License: GPL-3.0-or-later
  • Category: Development/Languages/Other
  • Architecture: x86_64
  • Source Package: m4
  • 1 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: M4
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: m4 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

m4

sudo port install m4
  • normalized package name match
  • Matched by: M4
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/m4/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Scoop95%

main/m4

scoop install main/m4
  • normalized package name match
  • Matched by: M4
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/m4.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Combined YAML source

View the package source record on GitHub.

combined/m4.yml

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment