CommunityBildgithub.com

build2-community/build2

Verwenden beim Bauen, Testen, Paketieren oder Verwalten von Abhängigkeiten für C/C++-Projekte mit der build2-Toolchain. Deckt den Build-System-Treiber (b), den Paketmanager (bpkg), den Projektabhängigkeitsmanager (bdep), den Aufgaben-Ausführer (bx) und die Repository-Weboberfläche (brep) ab. Aktivieren Sie für: Schreiben oder Lesen von Buildfiles, Diagnose von Build-Fehlern, Auflösen von Paketabhängigkeitskonflikten, Paketieren einer Bibliothek für cppget.org, Einrichten von Build-Konfigurationen, Konfigurieren von Installationen, Erstellen von Testskripten, Hosten von Paket-Repositories oder Ausführen von b/bpkg/bdep/bx/brep-*-Befehlen.

Was ist build2?

Diese Skill-Datei bietet eine umfassende, strukturierte Referenz für die build2-Toolchain, eine integrierte Build-Toolchain für C/C++. Sie deckt alle fünf Hauptwerkzeuge ab: das Build-System (`b`), den Paketmanager (`bpkg`), den Projektabhängigkeitsmanager (`bdep`), den Aufgaben-Ausführer (`bx`) und die Repository-Weboberfläche (`brep`). Der Skill organisiert Hunderte von Aufgaben und Anleitungen in einer durchsuchbaren Tabelle, sodass Entwickler schnell die richtige Ressource für jede Aufgabe finden, vom Schreiben von Buildfiles und der Fehlerbehebung über die Paketierung von Bibliotheken für cppget.org bis hin zur Einrichtung von CI/CD-Pipelines. Er enthält detaillierte Anleitungen für den Umgang mit Build-Konfigurationen, Abhängigkeiten, Testskripten und der Erstellung eigener build2-Module. Für jeden Eintrag – sei es eine allgemeine Frage zur Buildfile-Syntax, eine spezielle Anleitung zur DLL-Export-Konfiguration oder ein Befehl zur Paketveröffentlichung – gibt es einen direkten Link zur entsprechenden Markdown-Datei. Die Skill-Datei ist ideal für Entwickler, die die build2-Toolchain in ihren C/C++-Projekten effektiv nutzen oder neu erlernen möchten.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/build2-community/build2-agent-skills/tree/HEAD

Installed? Explore more Bild skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

build2 Skill

build2 ist eine integrierte C/C++-Build-Toolchain, die ein Build-System (b), einen Paketmanager (bpkg), einen Projektabhängigkeitsmanager (bdep), einen Aufgaben-Ausführer (bx) und eine Repository-Weboberfläche (brep) kombiniert. Diese Skill-Datei bietet eine strukturierte Referenz für alle fünf Werkzeuge.

Beginnen Sie mit INDEX.md für den vollständigen Befehlsindex und die Navigation, oder verwenden Sie die folgende Tabelle, um direkt zur relevanten Datei zu springen.

Wann verwenden

AufgabeHier starten
Schreiben oder lesen Sie ein Buildfileguides/build2-intro-concepts.md
Buildfile-Sprachsyntax (if/loop/switch/patterns)guides/build2-buildfile-language.md
Buildfile Direktiven, Namensmuster und Attributeguides/build2-directives-patterns.md
Ein Ziel an src statt out binden (@./-Qualifikation)guides/build2-targets-variables.md
Verschachtelte Verzeichnisse mit fsdir{} erstellenHOWTO/fsdir-parent-chain.md
Signatur, Flags oder Reinheit einer Buildfile-Funktion nachschlagenguides/build2-functions.md
Bibliotheksprojekte, Ziel-Import, Unterprojekteguides/build2-projects-advanced.md
Eine Bibliothek für Metadaten importieren und trotzdem linken (einschließlich installierter)HOWTO/import-immediate-vs-ordinary.md
rpath für eine nur per dlopen genutzte (nie gelinkte) Abhängigkeit hinzufügenHOWTO/rpath-unlinked-dependency.md
Ein Ad-hoc-Rezept schreiben ({{ }})HOWTO/ad-hoc-recipe.md
Einen Rezeptkörper über mehrere Ziele mit ~/^ Namensmustern teilenHOWTO/ad-hoc-pattern-rule.md
Ein PHONY-Äquivalent (alias{}) Ziel erstellenHOWTO/alias-targets.md
Welche Compile/Link-Optionen in ein Buildfile gehörenHOWTO/buildfile-compile-options.md
Ein Compile-Flag nach dem Compiler-Modus oder -std platzierenHOWTO/buildfile-compile-options.md
+= vs = für eine zielspezifische Liste wählenHOWTO/buildfile-compile-options.md
Ein CMake-Projekt in build2-Buildfiles portierenHOWTO/migrate-from-cmake.md
Den Build-Graphen konfigurationsunabhängig haltenHOWTO/config-independent-build-graph.md
C/C++ Compile- und Link-Optionen, Modulunterstützungguides/build2-modules-cxx.md
C-common Variablen, DLL-Export, Compilationsdatenbank, Compiler-Klasse vs. IDguides/build2-modules-cc.md
bin/liba/libs/exe Zieltypenguides/build2-modules-bin.md
Einen Upstream Shared Library Name oder SONAME abgleichenHOWTO/match-upstream-library-name.md
Eine Header-Only (binlose) Bibliothek erstellenHOWTO/header-only-library.md
pthread linkenHOWTO/link-pthread.md
Eine Systembibliothek linken (-lm, -ldl, advapi32.lib)HOWTO/link-system-library.md
Eine Windows-.rc-Ressource (VERSIONINFO) in eine DLL einbettenHOWTO/windows-resource-file.md
Quellen vor Bibliotheken in einem Linkziel anordnenHOWTO/link-prerequisite-order.md
Bibliothekskomponenten optional machenHOWTO/optional-library-components.md
Automatisch generierte C/C++-Header verwendenHOWTO/generated-headers.md
Eine Bibliothek erstellen, die main() bereitstelltHOWTO/library-provides-main.md
Die Shared-Library-Variante pro Plattform deaktivierenHOWTO/disable-shared-lib-per-platform.md
Metadaten aus ausführbaren Dateien oder Bibliotheken exportierenHOWTO/target-metadata.md
Ein installiertes import! lokal gegen ein echtes Prefix testenHOWTO/local-installed-import.md
Pakete hinzufügen/entfernen, Versionkonflikte auflösenbpkg/README.md
Ein Paket bauen, aktualisieren oder patchenbpkg/bpkg-pkg-build.md
Eine bpkg-Konfiguration erstellen (Standalone, kein bdep-Projekt)bpkg/bpkg-cfg-create.md
Eine Konfiguration erstellen und ein bdep-Projekt darin initialisierenbdep/bdep-init.md
Ein Projekt in einer bestehenden Konfiguration initialisierenbdep/bdep-init.md
Manifest/Lockfile mit der Konfiguration synchronisierenbdep/bdep-sync.md
Ein neues Projekt erstellenbdep/bdep-new.md
Sehen, was eine bdep new-Optionskombination erzeugtbdep/bdep-new-layouts.md
Ein Paket veröffentlichenbdep/bdep-publish.md
Eine neue Version veröffentlichenbdep/bdep-release.md
Testskripte schreibenguides/testscript-summary.md
Testscript-Befehle, Umleitungen, Regex, Bereinigung, Builtinsguides/testscript-commands.md
Fehlverhaltende Tests mit Testscript bereinigenHOWTO/sanitize-tests.md
assert() korrekt in Tests verwendenHOWTO/assert-in-tests.md
Tests mit zusätzlichen Abhängigkeiten (separates Testpaket)HOWTO/tests-extra-dependencies.md
Eine lib-tests/examples/benchmarks-Zusammenfassung oder PACKAGE-README schreibenHOWTO/tests-extra-dependencies.md
Nur das bauen, was für Test oder Installation benötigt wirdHOWTO/update-for-test-install.md
Laufzeit-Test-Fixtures einrichten (Child-Helfer, Source-Tree-Daten)HOWTO/test-runtime-fixtures.md
Tests Zugriff auf Source-Tree-Datenverzeichnisse gebenHOWTO/test-runtime-fixtures.md
Test-Fixtures/Ressourcen aus einem b dist-Archiv ausschließenHOWTO/exclude-test-data-from-dist.md
Einen importierten Executable mit Testscript testen (z. B. ein eigenes exe{} des Pakets aus tests/)HOWTO/test-imported-executable.md
„bereits aktualisiert, aber [nicht] für Installation“-Konflikte auflösenHOWTO/for-install-conflicts.md
Eine Drittanbieter-Bibliothek paketierenguides/packaging-guide-summary.md
Den End-to-End-cppget.org-Paketierungs-Workflow ausführenskills/build2-package/SKILL.md
Den lokalen Pre-Publish-Paketierungs-Sanity-Check ausführenskills/build2-review/SKILL.md
Ein Drittanbieter-Paket, Projekt und Repository benennenHOWTO/package-naming.md
Ein Drittanbieter-Paket auf dem Review-Branch startenguides/packaging-guide-summary.md
Ein Abhängigkeitsmerkmal aus einer depends-Klausel anfordernHOWTO/require-dependency-feature.md
Wie ein pkg- vs. git-Repository Abhängigkeiten findetguides/packaging-guide-summary.md
Ein Drittanbieter-Paket testen und veröffentlichenguides/packaging-guide-testing.md
Eine Drittanbieter-Paketeinreichung überprüfenguides/packaging-guide-review.md
Paketierungs-Versionsverwaltung (neue Revision, neue Version)guides/packaging-guide-version-management.md
Paketierungs-Antipatterns, was vermieden werden sollteguides/packaging-guide-antipatterns.md
Private Header beim Paketieren eines Drittanbieter-Projekts behandelnHOWTO/third-party-private-headers.md
Man-Seiten (alle Abschnitte außer 1) installierenHOWTO/man-pages-install.md
Ein Upstream-Changelog mit einem nicht-kanonischen Namen paketierenHOWTO/package-changes-file.md
bpkg-Paketnamenregeln, Versionsformat, Einschränkungssyntaxguides/bpkg-package-name-version.md
Eine Paketlizenz im Manifest ausdrücken (SPDX, other:, mehrere Lizenzen)guides/packaging-license.md
Die Toolchain installieren oder bootstrappenguides/install-bootstrap.md
Toolchain aus einem Repository installieren (Schritt 3)guides/install-toolchain.md
Eine installierte Toolchain aktualisieren (dirty oder staged)guides/install-upgrade.md
.in-Template-Vorverarbeitung oder bash-Modul verwendenguides/build2-modules-misc.md
version-Modul: Variablen, Snapshot-Versionen, Version-Headerguides/build2-module-version.md
config.h.in / config.h.cmake / config.h.meson verarbeitenguides/build2-modules-autoconf.md
Projektspezifische Autoconf-Prüfungen hinzufügenguides/build2-autoconf-project-checks.md
Eine Prüfung zum integrierten Autoconf-Katalog beitragenguides/build2-autoconf-contributing-checks.md
Autoconf-Prüfergebnisse in Buildfiles verwendenguides/build2-autoconf-buildfile.md
kconfig: Kconfig-Sprachreferenz (Konfigurationseinträge, Abhängigkeiten, Menüs, Auswahlen)guides/kconfig-summary.md
kconfig: Buildsystem-Integration und Beispieleguides/kconfig-integration.md
kconfig: Hilfsoptionen, nicht-interaktive/zufällige Konfigurationsrezepteguides/kconfig-patterns.md
Ein benutzerdefiniertes build2-Modul erstellen (Regeln, init, boot)guides/build2-module-hello.md
Die build2-Modul-API verstehen (Einstiegspunkte, module_functions)guides/build2-module-hello.md
Ein build2-Modul in der Bootstrap-Phase entwickelnguides/build2-module-hello.md
Eine benutzerdefinierte build2-Regel schreiben (match, apply, recipe, register)HOWTO/write-build2-rule.md
Eine build2-Modul-Entwicklungsumgebung einrichtenguides/build2-module-dev-setup.md
Host-/Target-Build-Konfigurationen für die Modulentwicklung aufteilenguides/build2-module-dev-setup.md
Ein Dev-Version-Modul in anderen Projekten verwendenguides/build2-module-dev-setup.md
Cross-Kompilierung mit Target-Tripletts einrichtenHOWTO/cross-compilation.md
Debug/Release/Sanitize-Konfigurationen verwaltenHOWTO/multiple-configurations.md
Eine CI/CD-Pipeline für ein build2-Projekt einrichtenHOWTO/ci-cd-setup.md
Automatisierte CI-Builds für bestimmte Plattformen filternHOWTO/builds-ci-filtering.md
Verfolgen, ob ein build-include/build-exclude-Muster auf einen Bot-Namen passtHOWTO/builds-ci-filtering.md
cppget.org CI-Ergebnisse lesen (Test-Installed-Badges)HOWTO/ci-results.md
Eine systembereitgestellte Bibliothek auf einem bestimmten CI-Bot anfordernHOWTO/sys-build-config.md
build2 für die Toolchain-Entwicklung einrichtenHOWTO/toolchain-dev-setup.md
Ein neues bpkg-Paketverzeichnis gerüstenscripts/new-package.sh
.bx-Skripte oder benannte Aufgaben ausführenbx/bx.md
Mit .bx-Skripten beginnen (praktischer Walkthrough)HOWTO/bx-script.md
Überprüfen, ob die Toolchain installiert istscripts/verify-install.sh
Einen C++-Compiler für config.cxx= findenscripts/probe-compiler.sh
Eine Paket-Manifest-Datei validierenscripts/check-manifest.sh
Tests in einer bpkg-Konfiguration ausführenscripts/run-tests.sh
Projektname/Version/Roots inspizierenscripts/show-project-info.sh
Auf defekte Links in der Dokumentation prüfenscripts/check-links.sh
Eine brep-Paket-Repository-Weboberfläche bereitstellenbrep/README.md
Repository-Daten in brep ladenbrep/brep-load.md
Alte Builds ablaufen lassen oder Mieter in brep archivierenbrep/brep-clean.md
brep-Datenbanken einrichten oder migrierenbrep/brep-migrate.md
Die brep-Build-Infrastruktur auf Verzögerungen überwachenbrep/brep-monitor.md
Binärverteilungs-Upload-Verzeichnisse bereinigenbrep/brep-upload-bindist-clean.md
Einen Paketeinreichungs- oder CI-Handler implementierenbrep/brep-request-handling.md
Das brep-Paketeinreichungsprotokoll verstehenbrep/brep-request-handling.md
Das brep-CI-Anforderungsprotokoll verstehenbrep/brep-request-handling.md
Fehler behebenHOWTO/troubleshooting.md
Praktische Rezepte nach ThemaHOWTO/README.md
TerminologiereferenzGLOSSARY.md

Schnelle Tool-Orientierung

BinärRolleLaden, wenn
bBuild-System-TreiberBuildfiles schreiben oder lesen, Build-Fehler diagnostizieren, Build-Konfigurationen verwalten
bpkgPaketmanagerPakete hinzufügen/entfernen, Abhängigkeitskonflikte auflösen, Paketabhängigkeiten bauen/aktualisieren/patchen
bdepProjektabhängigkeitsmanagerProjekt initialisieren, Abhängigkeiten synchronisieren, Pakete veröffentlichen, neue Versionen veröffentlichen, neue Projekte erstellen
bxAufgaben-Ausführer.bx-Skripte oder benannte Aufgaben ausführen
brepRepository-WeboberflächeEine Repository-Weboberfläche bereitstellen, Repository-Daten laden, CI-Ergebnisse überwachen

Weiterführende Skills

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Verwandte Skills