dockpack.base_boost

GalaxyStatut de construction

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

À propos du projet

Boost libraries for C++

Installer
ansible-galaxy install dockpack.base_boost
Licence
mit
Téléchargements
323
Propriétaire
CI/CD