dockpack.base_boost

银河构建状态

base_boost是一个Ansible角色,用于安装GNU C++编译器工具的库。

要求

需要RHEL类系统、Ubuntu或Windows。

角色变量

  • 企业功能:切换所需状态 compilers_present: present

  • 软件集合提供编程语言的最新版本。若要在CentOS8上使用gcc-toolkit,需设置为true。 collections_enabled: true

  • 软件集合的开发工具集的批准/测试版本。 cplusplus_devtoolset: devtoolset-7

大多数Boost库是仅头文件的:它们完全由包含模板和内联函数的头文件组成,不需要单独编译的库二进制文件或特殊处理来链接。然而,这个角色确实会编译库,但如果你愿意,可以覆盖该行为:

compile_boost: true

唯一必须单独构建的Boost库,并且没有额外文档进行编译的是默认设置(可以在group_vars或你的剧本中覆盖它们):

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 Windows 值

/DFOO - 在预处理器中定义FOO
/EHsc - 捕获C++异常,假设extern "C"函数不会抛出C++异常
/GR - 启用RTTI(运行时类型识别)
/MD - 制作多线程DLL
/MDd - 制作调试多线程DLL
/O1 - 优化为减小体积
/O2 - 优化为提高速度
/Ob0 - 不进行自动内联
/Ob1 - 仅内联标记为内联的函数,以及在类声明中定义的C++成员函数
/Ob2 - 让编译器自由内联
/Od - 不优化
/RTC1 - 运行时检查:报告未初始化的变量使用时的情况,以及栈帧运行时错误检查。详见他们的网站。
/W3 - 使用警告级别3(共4级),"生产质量"
/Zi - 生成“完整调试信息”,类似于clang/gcc中的-g

依赖

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

示例用法

请参考完整的构建服务器 https://github.com/bbaassssiiee/buildserver

许可证

MIT

作者信息

Bas Meijer @bbaassssiiee

安装
ansible-galaxy install dockpack.base_boost
许可证
mit
下载
323
拥有者
CI/CD