dockpack.base_boost
base_boost est un rôle ansible qui installe des bibliothèques pour les outils du compilateur GNU C++.
Exigences
Système de type RHEL, ou Ubuntu, ou Windows.
Variables du rôle
Fonctionnalité d’entreprise : alterne l'état désiré
compilers_present: present
Les collections de logiciels offrent les dernières versions des langages de programmation. Définir sur true pour utiliser également le gcc-toolkit sur Centos8.
collections_enabled: true
version approuvée/testée du devtoolset des collections de logiciels
cplusplus_devtoolset: devtoolset-7
La plupart des bibliothèques Boost sont uniquement des en-têtes : elles consistent entièrement en fichiers d'en-tête contenant des modèles et des fonctions inline, et ne nécessitent pas de bibliothèques binaires compilées séparément ou de traitement spécial lors de la liaison. Pourtant, ce rôle compile des bibliothèques, mais vous pouvez modifier ce comportement si vous le souhaitez :
compile_boost: true
Les seules bibliothèques Boost qui doivent être construites séparément, et qui n'ont aucune documentation supplémentaire pour la compilation, sont définies par défaut (vous pouvez les remplacer dans group_vars ou votre 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
# valeurs boost_cflags pour windows
/DFOO - définit FOO dans le préprocesseur
/EHsc - capture les exceptions C++, suppose que les fonctions extern "C" ne lancent jamais d'exceptions C++
/GR - active le RTTI
/MD - crée une DLL multithread
/MDd - crée une DLL multithread de débogage
/O1 - optimise pour la taille
/O2 - optimise pour la vitesse
/Ob0 - pas d'auto-inlining
/Ob1 - n'inclut que les fonctions marquées comme inline, et les fonctions membres C++ définies dans une déclaration de classe
/Ob2 - laisse le compilateur inline librement
/Od - pas d'optimisation
/RTC1 - vérification à l'exécution : signale lorsqu'une variable est utilisée sans avoir été initialisée, et vérification des erreurs d'exécution sur la pile. Voir leur site pour plus de détails.
/W3 - utilise le niveau d'avertissement 3 (sur 4), "qualité de production"
/Zi - génère "des informations de débogage complètes", comme -g pour clang/gcc
Dépendances
https://www.softwarecollections.org/en/docs/
Exemple d'utilisation
Référez-vous à un serveur de construction complet https://github.com/bbaassssiiee/buildserver
Licence
MIT
Informations sur l’auteur
Bas Meijer @bbaassssiiee
ansible-galaxy install dockpack.base_boost