dockpack.base_boost
base_boost ist eine Ansible-Rolle, die Bibliotheken für die GNU C++ Compiler-Tools installiert.
Anforderungen
RHEL-ähnliches System, oder Ubuntu, oder Windows.
Rollenvariablen
Unternehmensfunktion: schaltet den gewünschten Zustand um.
compilers_present: present
Softwarekollektionen bieten die neuesten Versionen von Programmiersprachen an. Setzen Sie den Wert auf true, um auch das GCC-Toolkit auf CentOS 8 zu verwenden.
collections_enabled: true
Genehmigte/Testversion der Softwarekollektionen 'devtoolset'
cplusplus_devtoolset: devtoolset-7
Die meisten Boost-Bibliotheken sind Header-only: sie bestehen vollständig aus Header-Dateien, die Templates und Inline-Funktionen enthalten, und benötigen keine separat kompilierten Bibliotheks-Binärdateien oder besondere Behandlung beim Verlinken. Diese Rolle kompiliert jedoch Bibliotheken, aber Sie können dieses Verhalten überschreiben, wenn Sie möchten:
compile_boost: true
Die einzigen Boost-Bibliotheken, die separat gebaut werden müssen und keine zusätzliche Dokumentation zum Kompilieren haben, sind standardmäßig gesetzt (überschreiben Sie diese in group_vars oder Ihrem Playbook):
compile_boost_with:
--with-chrono
--with-context
--with-filesystem
--with-graph_parallel
--with-iostreams
--with-locale
--with-program_options
--with-regex
--with-serialization
--with-signals
--with-system
--with-thread
--with-timer
--with-wave
boost_cflags-Werte für Windows
/DFOO - definiert FOO im Präprozessor
/EHsc - fängt C++-Ausnahmen ab, geht davon aus, dass extern "C"-Funktionen niemals C++-Ausnahmen auslösen
/GR - aktiviert RTTI
/MD - erstellt eine multithreaded DLL
/MDd - erstellt eine Debug-multithreaded DLL
/O1 - für Größe optimieren
/O2 - für Geschwindigkeit optimieren
/Ob0 - kein automatisches Inlining
/Ob1 - nur Inline-Funktionen, die als inline markiert sind, und C++-Mitgliedsfunktionen, die in einer Klassendeklaration definiert sind
/Ob2 - dem Compiler freies Inlining erlauben
/Od - keine Optimierung
/RTC1 - Laufzeitprüfung: melden, wenn eine Variable verwendet wird, ohne initialisiert zu sein, und Laufzeitfehlerüberprüfung des Stackrahmens. Weitere Details finden Sie auf ihrer Website.
/W3 - verwenden Sie Warnstufe 3 (von 4), "Produktionsqualität"
/Zi - "vollständige Debugging-Informationen" generieren, wie -g für clang/gcc
Abhängigkeiten
https://www.softwarecollections.org/en/docs/
Beispielverwendung
Verweisen Sie auf einen vollständigen Build-Server https://github.com/bbaassssiiee/buildserver
Lizenz
MIT
Autor Informationen
Bas Meijer
@bbaassssiiee
ansible-galaxy install dockpack.base_boost