macOS
brew install tradcpplocal Homebrew formula metadata
sudo port install tradcppMacPorts ports tree · devel/tradcpp/Portfile · source: api.github.com
brew
K&R-style C preprocessor. Version 0.5.3 via Homebrew; verified from local package data.
install
brew install tradcpplocal Homebrew formula metadata
sudo port install tradcppMacPorts ports tree · devel/tradcpp/Portfile · source: api.github.com
nix profile install nixpkgs#tradcppnixpkgs package indexes · pkgs/by-name/tr/tradcpp/package.nix · source: api.github.com
overview
K&R-style C preprocessor
history
tradcpp is a small traditional, K&R-style C preprocessor maintained from David Holland's NetBSD pages. Its history is tied less to compiling C and more to preserving old build techniques that used cpp as a general text preprocessor.
The official tradcpp page says the tool was written for historical uses of the C preprocessor on non-C input, because modern compiler-bundled preprocessors increasingly do not provide a traditional mode or preserve the behavior old build systems expect. The project deliberately keeps a narrow scope and does not try to become a full modern C89/C99/C11 preprocessor.
A distinctive implementation goal is whitespace preservation. The author calls out makefiles, old Emacs build logic, and imake as examples where rearranging whitespace can break legacy systems. tradcpp also includes a trace mode for diagnosing complex preprocessor use; the page says it was written to investigate an imake problem on Solaris.
The most explicit adoption history is in pkgsrc: the official page says pkgsrc, the NetBSD package system, has used tradcpp for these purposes since 2013. That makes tradcpp a package-system support tool rather than a broad end-user application.
In package-manager culture, tradcpp is used when a build recipe needs a traditional cpp that preserves old preprocessing behavior for files such as makefiles. Users are explicitly steered away from using it for normal modern C code.
tradcpp matters to package nerds because it is infrastructure for keeping old source packages buildable. It represents the unglamorous compatibility layer a portability framework like pkgsrc sometimes needs when upstream build systems rely on historical Unix behavior.
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 |
|---|---|---|---|
tradcpp | 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.
https://www.netbsd.org/~dholland/tradcpp/
install metadata
| Package key | brew:tradcpp |
|---|---|
| Version | 0.5.3 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/tradcpp |
| Homepage | https://www.netbsd.org/~dholland/tradcpp/ |
| Repository | https://www.netbsd.org/~dholland/hg/tradcpp |
| Upstream docs | https://www.netbsd.org/~dholland/tradcpp |
| License | BSD-2-Clause |
| Source archive | https://cdn.netbsd.org/pub/NetBSD/misc/dholland/tradcpp-0.5.3.tar.gz |
| Build dependencies | bmake |
| Bottle | available (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, 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 | tradcpp |
| 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.
tradcpp
nix profile install nixpkgs#tradcpptradcpp
sudo port install tradcppsource 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.