From 67698704e77fc81ed01f4885a967bc98bd23980d Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Mon, 9 Mar 2020 19:30:08 +0100 Subject: [PATCH] Add a note about supported compilers Adapted from the section in Mbed Crypto, with the addition of specific compiler versions. Only mention Python 3; Python 2 may still work but it is no longer supported upstream so we will not maintain compatibility anymore. --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index c6dfd3799..69200f252 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,15 @@ The main systems used for development are CMake and GNU Make. Those systems are The Make and CMake build systems create three libraries: libmbedcrypto, libmbedx509, and libmbedtls. Note that libmbedtls depends on libmbedx509 and libmbedcrypto, and libmbedx509 depends on libmbedcrypto. As a result, some linkers will expect flags to be in a specific order, for example the GNU linker wants `-lmbedtls -lmbedx509 -lmbedcrypto`. Also, when loading shared libraries using dlopen(), you'll need to load libmbedcrypto first, then libmbedx509, before you can load libmbedtls. +### Tool versions + +You need the following tools to build the library with the provided makefiles: + +* GNU Make or a build tool that CMake supports. +* A C99 toolchain (compiler, linker, archiver). We actively test with GCC 5.4, Clang 3.8, IAR8 and Visual Studio 2013. More recent versions should work. Slightly older versions may work. +* Python 3 to generate the test code. +* Perl to run the tests. + ### Make We require GNU Make. To build the library and the sample programs, GNU Make and a C compiler are sufficient. Some of the more advanced build targets require some Unix/Linux tools.