dockpack.base_boost
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
ansible-galaxy install dockpack.base_boost