mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-02-02 07:51:10 +00:00
Document build modes better
This commit is contained in:
parent
705b70f122
commit
ca89d89a10
23
README.rst
23
README.rst
|
@ -39,7 +39,7 @@ In order to build the source using CMake, just enter at the command line::
|
|||
|
||||
make
|
||||
|
||||
There are 5 different active build modes specified within the CMake buildsystem:
|
||||
There are many different build modes available within the CMake buildsystem. Most of them are available for gcc and clang, though some are compiler-specific:
|
||||
|
||||
- Release.
|
||||
This generates the default code without any unnecessary information in the binary files.
|
||||
|
@ -49,8 +49,20 @@ There are 5 different active build modes specified within the CMake buildsystem:
|
|||
This generates code coverage information in addition to debug information.
|
||||
- ASan.
|
||||
This instruments the code with AddressSanitizer to check for memory errors.
|
||||
(This includes LeakSanitizer, with recent version of gcc and clang.)
|
||||
(With recent version of clang, this mode also intruments the code with
|
||||
UndefinedSanitizer to check for undefined behaviour.)
|
||||
- ASanDbg.
|
||||
Same as ASan but slower, with debug information and better stack traces.
|
||||
- MemSan.
|
||||
This intruments the code with MemorySanitizer to check for uninitialised
|
||||
memory reads. Experimental, needs recent clang on Linux/x86_64.
|
||||
- MemSanDbg.
|
||||
Same as ASan but slower, with debug information, better stack traces and
|
||||
origin tracking.
|
||||
- Check.
|
||||
This activates more compiler warnings and treats them as errors.
|
||||
This activates the compiler warnings that depend on optimisation and treats
|
||||
all warnings as errors.
|
||||
|
||||
Switching build modes in CMake is simple. For debug mode, enter at the command line:
|
||||
|
||||
|
@ -77,6 +89,13 @@ Tests
|
|||
|
||||
PolarSSL includes an elaborate test suite in *tests/* that initially requires Perl to generate the tests files (e.g. *test_suite_mpi.c*). These files are generates from a **function file** (e.g. *suites/test_suite_mpi.function*) and a **data file** (e.g. *suites/test_suite_mpi.data*). The **function file** contains the template for each test function. The **data file** contains the test cases, specified as parameters that should be pushed into a template function.
|
||||
|
||||
For machines with a Unix shell and OpenSSL (and optionnally GnuTLS) installed, additional test scripts are available:
|
||||
|
||||
- *tests/ssl-opt.sh* runs integration tests for various TLS options (renegotiation, resumption, etc.) and tests interoperability of these options with other implementations.
|
||||
- *tests/compat.sh* tests interoperability of every ciphersuite with other implementations.
|
||||
- *tests/scripts/test-ref-configs.pl* test builds in various reduced configurations.
|
||||
- *tests/scripts/all.sh* runs a combination of the above tests with various build options (eg ASan).
|
||||
|
||||
Configurations
|
||||
==============
|
||||
|
||||
|
|
Loading…
Reference in a new issue