macOS
brew install mcpplocal Homebrew formula metadata
sudo port install mcppMacPorts ports tree · devel/mcpp/Portfile · source: api.github.com
brew
Alternative C/C++ preprocessor. Version 2.7.2 via Homebrew; verified 2026-06-19.
install
brew install mcpplocal Homebrew formula metadata
sudo port install mcppMacPorts ports tree · devel/mcpp/Portfile · source: api.github.com
sudo apt install libmcpp-devDebian stable package indexes · libmcpp-dev · source: deb.debian.org
nix profile install nixpkgs#mcppnixpkgs package indexes · pkgs/by-name/mc/mcpp/package.nix · source: api.github.com
sudo pacman -S mcppArch Linux sync databases · mcpp · source: geo.mirror.pkgbuild.com
sudo zypper install libmcpp0openSUSE Tumbleweed package metadata · libmcpp0 · source: download.opensuse.org
overview
Alternative C/C++ preprocessor
history
mcpp is a portable C/C++ preprocessor and validation suite by Kiyoshi Matsui. The official site describes it as an independent preprocessor that implements C90, C99, and C++98 preprocessing behavior, provides diagnostics, and can be built as a compiler-specific preprocessor, a compiler-independent command, or a subroutine library.
The project was created to address portability and conformance problems in traditional compiler-bundled preprocessors. Its official homepage says mcpp was selected for Japan IPA's Exploratory Software Projects in both 2002 and 2003.
The public SourceForge-hosted project surface dates from April 2006, and the official homepage lists V.2.7.2 from November 2008 as the latest release.
mcpp was packaged both as upstream binary archives and by operating-system distributions. The official download page documents FreeBSD, Linux RPM and deb, Mac OS X, and Windows packages, and separately notes distribution packages for Fedora, Debian, Ubuntu, OpenSUSE, Gentoo, Slackware, and MacPorts.
Distribution packaging split the executable, shared library, development files, and documentation on Fedora and Debian-family systems, which made mcpp useful as a reusable compiler-toolchain component rather than only as a standalone command.
The command-line program is installed as `mcpp`. The official download page points users to the bundled manual and explains that source archives include source code, a validation suite, and English and Japanese documentation.
Typical package-manager usage is installing a small preprocessor tool or library for C/C++ toolchains, conformance testing, macro debugging, or historical build compatibility.
mcpp matters to package nerds because it is a small compiler component that was packaged independently of a full compiler. Its history includes classic Unix packaging patterns: source tarballs, RPMs, debs, ports, a shared library package, development headers, and documentation packages.
It is also a useful example of an important package whose official presence is an old project homepage and release archive rather than a modern canonical Git repository.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
mcpp | cli | global executable |
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.
install metadata
| Package key | brew:mcpp |
|---|---|
| Version | 2.7.2 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/mcpp |
| Homepage | https://mcpp.sourceforge.net/ |
| Upstream docs | https://mcpp.sourceforge.net/ |
| License | BSD-2-Clause |
| Source archive | https://downloads.sourceforge.net/project/mcpp/mcpp/V.2.7.2/mcpp-2.7.2.tar.gz |
| Last updated | 2026-06-19T12:32:39-07:00 |
| Pulse | updated |
| Bottle | available (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | mcpp |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
libmcpp-dev 2.7.2-5.2
Alternative C/C++ preprocessor (development files)
sudo apt install libmcpp-devlibmcpp0 2.7.2-5.2
Alternative C/C++ preprocessor (shared library)
sudo apt install libmcpp0mcpp 2.7.2-5.2
Alternative C/C++ preprocessor
sudo apt install mcppmcpp-doc 2.7.2-5.2
Alternative C/C++ preprocessor (manual)
sudo apt install mcpp-docmcpp
nix profile install nixpkgs#mcpplibmcpp-dev 2.7.2-5.1
Alternative C/C++ preprocessor (development files)
sudo apt install libmcpp-devlibmcpp0 2.7.2-5.1
Alternative C/C++ preprocessor (shared library)
sudo apt install libmcpp0mcpp 2.7.2-5.1
Alternative C/C++ preprocessor
sudo apt install mcppmcpp-doc 2.7.2-5.1
Alternative C/C++ preprocessor (manual)
sudo apt install mcpp-docmcpp 2.7.2.3-1
Matsui's CPP implementation precisely conformed to standards
sudo pacman -S mcpplibmcpp0 2.7.2.2-1.3
The shared library of Matsui's C Preprocessor
sudo zypper install libmcpp0mcpp 2.7.2.2-1.3
Matsui's C Preprocessor
sudo zypper install mcppmcpp-devel 2.7.2.2-1.3
Development files for mcpp
sudo zypper install mcpp-develmcpp
sudo port install mcppsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.