|
2 | 2 |
|
3 | 3 | ## Build Prerequisites |
4 | 4 |
|
5 | | - * [CMake](https://cmake.org/download/) 2.8.11 or later is required. |
| 5 | +The standalone CMake build is primarily intended for developers. If embedding |
| 6 | +BoringSSL into another project with a pre-existing build system, see |
| 7 | +[INCORPORATING.md](/INCORPORATING.md). |
6 | 8 |
|
7 | | - * Perl 5.6.1 or later is required. On Windows, |
| 9 | +Unless otherwise noted, build tools must at most five years old, matching |
| 10 | +[Abseil guidelines](https://abseil.io/about/compatibility). If in doubt, use the |
| 11 | +most recent stable version of each tool. |
| 12 | + |
| 13 | + * [CMake](https://cmake.org/download/) 2.8.12 or later is required. Note we |
| 14 | + will begin requiring CMake 3.0 in 2019. |
| 15 | + |
| 16 | + * A recent version of Perl is required. On Windows, |
8 | 17 | [Active State Perl](http://www.activestate.com/activeperl/) has been |
9 | 18 | reported to work, as has MSYS Perl. |
10 | 19 | [Strawberry Perl](http://strawberryperl.com/) also works but it adds GCC |
|
13 | 22 | If Perl is not found by CMake, it may be configured explicitly by setting |
14 | 23 | `PERL_EXECUTABLE`. |
15 | 24 |
|
16 | | - * On Windows you currently must use [Ninja](https://ninja-build.org/) |
17 | | - to build; on other platforms, it is not required, but recommended, because |
18 | | - it makes builds faster. |
19 | | - |
20 | | - * If you need to build Ninja from source, then a recent version of |
21 | | - [Python](https://www.python.org/downloads/) is required (Python 2.7.5 works). |
| 25 | + * Building with [Ninja](https://ninja-build.org/) instead of Make is |
| 26 | + recommended, because it makes builds faster. On Windows, CMake's Visual |
| 27 | + Studio generator may also work, but it not tested regularly and requires |
| 28 | + recent versions of CMake for assembly support. |
22 | 29 |
|
23 | 30 | * On Windows only, [NASM](https://www.nasm.us/) is required. If not found |
24 | 31 | by CMake, it may be configured explicitly by setting |
25 | 32 | `CMAKE_ASM_NASM_COMPILER`. |
26 | 33 |
|
27 | | - * A C compiler is required. On Windows, MSVC 14 (Visual Studio 2015) or later |
28 | | - with Platform SDK 8.1 or later are supported. Recent versions of GCC (4.8+) |
29 | | - and Clang should work on non-Windows platforms, and maybe on Windows too. |
30 | | - To build the tests, you also need a C++ compiler with C++11 support. |
| 34 | + * C and C++ compilers with C++11 support are required. On Windows, MSVC 14 |
| 35 | + (Visual Studio 2015) or later with Platform SDK 8.1 or later are supported. |
| 36 | + Recent versions of GCC (4.8+) and Clang should work on non-Windows |
| 37 | + platforms, and maybe on Windows too. |
31 | 38 |
|
32 | 39 | * The most recent stable version of [Go](https://golang.org/dl/) is required. |
33 | | - If not found by CMake, the go executable may be configured explicitly by |
34 | | - setting `GO_EXECUTABLE`. |
35 | | - |
36 | | - * To build the x86 and x86\_64 assembly, your assembler must support AVX2 |
37 | | - instructions and MOVBE. If using GNU binutils, you must have 2.22 or later |
| 40 | + Note Go is exempt from the five year support window. If not found by CMake, |
| 41 | + the go executable may be configured explicitly by setting `GO_EXECUTABLE`. |
38 | 42 |
|
39 | 43 | ## Building |
40 | 44 |
|
|
0 commit comments