Automic VaultAutomic Vault

brew

include-what-you-use mit Homebrew, apk, MacPorts, Nix, zypper, dnf installieren

Prüfe Installationswege, Executables, Metadaten und Sicherheitshinweise für include-what-you-use in AI-Agent-Workflows.

Installation

Weitere Installationsbefehle

macOS

Homebrewverifiziert · 100%
brew install include-what-you-use

local Homebrew formula metadata

MacPortsverifiziert · 94%
sudo port install include-what-you-use

MacPorts ports tree · devel/include-what-you-use/Portfile · Quelle: api.github.com

Linux

Alpine Linux apkverifiziert · 92%
sudo apk add include-what-you-use

Alpine Linux edge package indexes · include-what-you-use · Quelle: dl-cdn.alpinelinux.org

Nixverifiziert · 92%
nix profile install nixpkgs#include-what-you-use

nixpkgs package indexes · include-what-you-use · Quelle: raw.githubusercontent.com

openSUSE zypperverifiziert · 92%
sudo zypper install include-what-you-use

openSUSE Tumbleweed package metadata · include-what-you-use · Quelle: download.opensuse.org

Fedora dnfverifiziert · 92%
sudo dnf install iwyu

Fedora Rawhide package metadata · iwyu · Quelle: dl.fedoraproject.org

Überblick

Paketzusammenfassung

Tool to analyze #includes in C and C++ source files

Befehle und Aliase

  • fix_includes.py
  • include-what-you-use
  • iwyu_tool.py

Verlauf

Projektgeschichte und Nutzung

Include What You Use, often abbreviated IWYU, is a Clang-based C and C++ include analyzer. It tells developers which headers a source file should include directly and which includes can be removed or replaced with forward declarations.

Projektgeschichte

The project site announced a very-alpha 0.1 release in February 2011 and described an open-source release-early approach after Google-internal origins. Early releases tracked specific LLVM and Clang versions because IWYU depends heavily on Clang internals.

The release notes show a steady pattern: each IWYU release follows an LLVM/Clang line, updates mappings, and improves analysis of C, C++, templates, standard-library headers, and platform-specific headers. Version 0.5 in December 2015 marked migration to GitHub, updated documentation, improved testing infrastructure, and added Boost and Qt mappings.

Adoptionsgeschichte

IWYU spread through C++ build culture because include hygiene directly affects compile time, rebuild fan-out, and refactoring safety. The official documentation explicitly frames the tool around large codebases, where transitive includes make it hard to remove dependencies safely.

Package-manager metadata in this batch lists Homebrew, Alpine, Fedora, MacPorts, Nix, and openSUSE packaging. That is a good fit for a compiler-adjacent developer tool: users install a binary matching their Clang generation and wire it into compilation databases, CMake workflows, CI, or local cleanup scripts.

Wie es verwendet wird

IWYU is usually run against source files with the same compilation information used by Clang. The companion iwyu_tool.py works with compilation databases, and fix_includes.py can apply suggested include edits.

Its output is used during dependency cleanup, code-review preparation, CI checks, and large refactors where accidental reliance on another file's transitive include would otherwise hide missing direct dependencies.

Warum Paket-Nerds sich dafür interessieren

For package nerds, IWYU is significant because it turns a style rule into a compiler-backed CLI. It also illustrates a packaging challenge common to LLVM ecosystem tools: the useful binary has to stay aligned with Clang internals and therefore tends to move in lockstep with compiler releases.

It matters beyond neatness. Header dependency cleanup can shorten builds, reduce needless rebuilds, and make C++ packages less fragile when upstream headers change.

Zeitleiste

  • 2011: IWYU 0.1 announced as a very-alpha open-source release.
  • 2011: Clang 2.9 and 3.0 compatible tarballs published.
  • 2014: Clang 3.4 and 3.5 compatible releases published; rudimentary C support added in the 3.5-era release.
  • 2015: IWYU 0.5 migrated to GitHub and added Boost and Qt mappings.
  • 2019: Release notes stated that binary releases would no longer be produced and pointed users to maintained packages.
  • 2026: IWYU 0.26 released for LLVM and Clang 22.

Related projects

  • LLVM and Clang are the compiler infrastructure IWYU builds on.
  • fix_includes.py and iwyu_tool.py are companion tools shipped by the project.
  • CMake compilation databases, clang-tidy, and C++ include-order or dependency-cleanup workflows are adjacent developer-tooling surfaces.

Sicherheitslage

Risikostufe: grün

narrow executable package without higher-risk signals.

Risikoklassifikator

grün Risiko · niedrig Konfidenz · appliance

Warum

  • narrow executable package without higher-risk signals

Signale

  • metadata:no-higher-risk-signals

Installationsverhalten

  • In den Formelmetadaten ist kein Homebrew-Post-install-Hook erfasst.
  • Homebrew-Bottle-Metadaten sind für 6 Plattformziele verfügbar.
  • Installiert mit 1 Laufzeitabhängigkeiten.
  • Build-Metadaten listen 1 Build-Abhängigkeiten.

Empfohlene Prüfung

Prüfe vor unbeaufsichtigter Agent-Nutzung, ob das Tool Klartext-Credentials liest, Remote-Zustand schreibt, Artefakte veröffentlicht oder Plugins ausführt.

Executables

Installierte Executables

BefehlArtSichtbarkeitHinweis
fix_includes.pycliglobales Executable
include-what-you-usecliglobales Executable
iwyu_tool.pycliglobales Executable

Aktualität

Version und Aktualität

Diese Signale trennen das Alter der Seitengenerierung, Aktivität des Paketmanagers und Upstream-Release-Vergleich. Versionsrückstand wird nur gemeldet, wenn eine Evidenz-URL und vergleichbare Versionen vorhanden sind.

Seite generiert2026-07-25
Manager-Version0.26
Manager aktualisiert
lokale DatenOK
Upstreamnot checked
neueste erkannte Versionnicht erkannt

https://include-what-you-use.org/

  • InfoNo package-manager update timestamp was available.niedrig Konfidenz
  • InfoRelease/tag comparison is only available for GitHub repositories.https://include-what-you-use.org/none Konfidenz

Installationsmetadaten

Paketmetadaten

Paketschlüsselbrew:include-what-you-use
Version0.26
PaketmanagerHomebrew
Paketmanager-Seitehttps://formulae.brew.sh/formula/include-what-you-use
Homepagehttps://include-what-you-use.org/
Repositoryhttps://github.com/include-what-you-use/include-what-you-use
Upstream-Dokumentationhttps://github.com/include-what-you-use/include-what-you-use#readme
LizenzNCSA
Quellarchivhttps://include-what-you-use.org/downloads/include-what-you-use-0.26.src.tar.gz
Abhängigkeitenllvm
Build-Abhängigkeitencmake
Von macOS bereitgestellte Bibliothekenncurses
Bottleverfügbar (auf arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnicht definiert
Dienstkeiner deklariert

Registry-Fakten

Details aus der Quelldatenbank

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameinclude-what-you-use
Aliases
  • iwyu
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

Source-Datenbank-Treffer

Andere Paketmanager-Einträge

Treffer stammen aus externen Paketmanager-Indizes und bleiben von lokalen Automic-Vault-Paketlinks getrennt.

Nix95%

include-what-you-use

nix profile install nixpkgs#include-what-you-use
  • normalized package name match
  • Abgeglichen nach: Include What You Use
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: include-what-you-use from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
apk95%

include-what-you-use 0.26-r0

A tool for use with clang to analyze #includes in C and C++ source files

https://include-what-you-use.org

sudo apk add include-what-you-use
  • License: NCSA
  • Architecture: x86_64
  • Source Package: include-what-you-use
  • 1 Abhängigkeiten
  • 1 stellt bereit
  • normalized package name match
  • Abgeglichen nach: Include What You Use
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: include-what-you-use from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

include-what-you-use-dbg 0.26-r0

A tool for use with clang to analyze #includes in C and C++ source files (debug symbols)

https://include-what-you-use.org

sudo apk add include-what-you-use-dbg
  • License: NCSA
  • Architecture: x86_64
  • Source Package: include-what-you-use
  • 1 Abhängigkeiten
  • normalized package name match
  • Abgeglichen nach: Include What You Use
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: include-what-you-use-dbg from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

include-what-you-use-doc 0.26-r0

A tool for use with clang to analyze #includes in C and C++ source files (documentation)

https://include-what-you-use.org

sudo apk add include-what-you-use-doc
  • License: NCSA
  • Architecture: x86_64
  • Source Package: include-what-you-use
  • normalized package name match
  • Abgeglichen nach: Include What You Use
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: include-what-you-use-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
dnf95%

iwyu 0.26-3.fc45

C/C++ source files #include analyzer based on clang

https://github.com/include-what-you-use/include-what-you-use

sudo dnf install iwyu
  • License: NCSA
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: iwyu
  • 6 Abhängigkeiten
  • 2 stellt bereit
  • normalized package name match
  • Abgeglichen nach: Include What You Use
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: iwyu from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
zypper95%

include-what-you-use 0.26-1.2

A tool to analyze #includes in C and C++ source files

https://include-what-you-use.org/

sudo zypper install include-what-you-use
  • License: NCSA
  • Category: Development/Languages/C and C++
  • Architecture: x86_64
  • Source Package: include-what-you-use
  • 4 Abhängigkeiten
  • 1 stellt bereit
  • normalized package name match
  • Abgeglichen nach: Include What You Use
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: include-what-you-use from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

include-what-you-use-tools 0.26-1.2

Additional tools to use include-what-you-use effectively

https://include-what-you-use.org/

sudo zypper install include-what-you-use-tools
  • License: NCSA
  • Category: Development/Languages/C and C++
  • Architecture: noarch
  • Source Package: include-what-you-use
  • 2 Abhängigkeiten
  • 1 stellt bereit
  • normalized package name match
  • Abgeglichen nach: Include What You Use
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: include-what-you-use-tools from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

include-what-you-use

sudo port install include-what-you-use
  • normalized package name match
  • Abgeglichen nach: Include What You Use
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/include-what-you-use/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

Quellspur

Aus Repository-Daten generiert

Diese Seite wird von av-web aus dem privaten Paket-SQLite-Artefakt bereitgestellt, das scripts/generate-pkg-sqlite.py erstellt.

Verwendete Quellen

  • 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