This section documents libcpr-specific command-line options that may be passed to the ./configure script to customize the build of the library.
C++ Standard Library¶
The following options can be used to specify the C++ standard library implementation to use for the build. By default, when this option is not given, the system C++ standard library is used. On Unix platforms based on the GNU toolchain, the system library is libstdc++.
- Use the libstdc++ standard library from the GCC project. This is the default with both the GCC and Clang compilers.
- Use the libc++ standard library from the LLVM project. You almost certainly want to specify this on recent versions of FreeBSD and Mac OS X, and you may wish to use it on Linux if it is available.
When both are available, the choice between libstdc++ and libc++ is easy: use libc++ due to its comprehensive C++11 support, its favorable performance and memory footprint characteristics, and its permissive licensing.
The following options are meant primarily for libcpr developers:
- Build with debugging support. Debugging is disabled by default.
- Turn off assertions specifically. Assertions are disabled by default.
You should not ordinarily need to use the following options. They are provided for special situations such as e.g. compiling a minimal static library version of libcpr for an embedded platform.
- Do not include the list module. The module is included by default.
- Do not include the map module. The module is included by default.
- Do not include the set module. The module is included by default.
- Do not include the string module. The module is included by default.
- Do not include the vector module. The module is included by default.
An alternative to building a reduced-functionality version of libcpr is to just copy over into your project those libcpr header and implementation files you require. They are all in the public domain.