dockpack.base_boost

GalaxyEstado de construcción

base_boost es un rol de Ansible que instala bibliotecas para herramientas del compilador GNU C++.

Requisitos

Sistema similar a RHEL, o Ubuntu, o Windows.

Variables del rol

  • Característica corporativa: alterna el estado deseado compilers_present: present

  • Las colecciones de software ofrecen las últimas versiones de lenguajes de programación. Establecer en true también para usar el gcc-toolkit en Centos8. collections_enabled: true

  • Liberación aprobada/prueba del devtoolset de colecciones de software cplusplus_devtoolset: devtoolset-7

La mayoría de las bibliotecas de Boost son solo de encabezado: consisten enteramente en archivos de encabezado que contienen plantillas y funciones en línea, y no requieren bibliotecas binarias compiladas por separado o tratamiento especial al enlazar. Sin embargo, este rol sí compila bibliotecas, pero puedes anular ese comportamiento si lo deseas:

compile_boost: true

Las únicas bibliotecas de Boost que deben compilarse por separado y que no tienen documentación extra para compilar se establecen como predeterminadas (puedes anularlas en group_vars o en tu 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

# valores boost_cflags para Windows

/DFOO - define FOO en el preprocesador
/EHsc - captura excepciones de C++, supone que las funciones extern "C" nunca lanzan excepciones de C++
/GR - habilita RTTI
/MD - crea un DLL multihilo
/MDd - crea un DLL multihilo de depuración
/O1 - optimiza para tamaño
/O2 - optimiza para velocidad
/Ob0 - sin auto-inlining
/Ob1 - solo funciones en línea que están marcadas como inline y funciones miembros de C++ definidas en una declaración de clase
/Ob2 - permite al compilador inlining libremente
/Od - sin optimización
/RTC1 - verificación en tiempo de ejecución: informa cuando una variable se usa sin ser inicializada, y verifica errores en el marco de pila en tiempo de ejecución. Consulta su sitio para más detalles.
/W3 - usar nivel de advertencia 3 (de 4), “calidad de producción”
/Zi - genera “información de depuración completa”, como -g para clang/gcc

Dependencias

https://www.softwarecollections.org/en/docs/

Ejemplo de uso

Consulta un servidor de compilación completo https://github.com/bbaassssiiee/buildserver

Licencia

MIT

Información del autor

Bas Meijer @bbaassssiiee

Acerca del proyecto

Boost libraries for C++

Instalar
ansible-galaxy install dockpack.base_boost
Licencia
mit
Descargas
323
Propietario
CI/CD