dockpack.base_boost

GalaxyBuild Status

base_boost is an Ansible role that installs libraries for the GNU C++ compiler tools.

Requirements

  • You need a RHEL-like system, Ubuntu, or Windows.

Role Variables

  • Corporate feature: controls the desired state

    compilers_present: present
    
  • Software collections provide the latest versions of programming languages. Set this to true to use the gcc-toolkit on CentOS 8.

    collections_enabled: true
    
  • Approved/test release of software collections' devtoolset

    cplusplus_devtoolset: devtoolset-7
    

Most Boost libraries only require header files, meaning they don’t need separate compiled library files. However, this role does compile some libraries. You can change this if you want:

compile_boost: true

The only Boost libraries that need separate building have no extra documentation to compile and are set as defaults (you can change them in group_vars or your 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

Boost Compiler Flags for Windows

  • /DFOO - defines FOO in the preprocessor.
  • /EHsc - catches C++ exceptions; assumes extern "C" functions do not throw exceptions.
  • /GR - enables RTTI (Run-Time Type Information).
  • /MD - creates a multithreaded DLL.
  • /MDd - creates a debug multithreaded DLL.
  • /O1 - optimizes for size.
  • /O2 - optimizes for speed.
  • /Ob0 - does not use auto-inlining.
  • /Ob1 - only inlines functions marked inline and class member functions defined in a class.
  • /Ob2 - allows the compiler to inline freely.
  • /Od - no optimization.
  • /RTC1 - runs checks at runtime for uninitialized variables and frame errors. More details are on their site.
  • /W3 - sets warning level 3 (out of 4), for production quality.
  • /Zi - generates complete debugging information, similar to -g for clang/gcc.

Dependencies

Visit Software Collections for more information.

Example Usage

Check out a complete build server at GitHub.

License

MIT License

Author Information

Bas Meijer
@bbaassssiiee

Informazioni sul progetto

Boost libraries for C++

Installa
ansible-galaxy install dockpack.base_boost
Licenza
mit
Download
323
Proprietario
CI/CD