diff options
Diffstat (limited to 'BUILDING.md')
-rw-r--r-- | BUILDING.md | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/BUILDING.md b/BUILDING.md index d40df9ef..5631ded8 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -24,22 +24,16 @@ by CMake, it may be configured explicitly by setting `CMAKE_ASM_NASM_COMPILER`. - * A C compiler is required. On Windows, MSVC 12 (Visual Studio 2013) or later + * A C compiler is required. On Windows, MSVC 14 (Visual Studio 2015) or later with Platform SDK 8.1 or later are supported. Recent versions of GCC (4.8+) and Clang should work on non-Windows platforms, and maybe on Windows too. + To build the tests, you also need a C++ compiler with C++11 support. * [Go](https://golang.org/dl/) is required. If not found by CMake, the go executable may be configured explicitly by setting `GO_EXECUTABLE`. - * If you change crypto/chacha/chacha\_vec.c, you will need the - arm-linux-gnueabihf-gcc compiler: - - ``` - wget https://releases.linaro.org/14.11/components/toolchain/binaries/arm-linux-gnueabihf/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz && \ - echo bc4ca2ced084d2dc12424815a4442e19cb1422db87068830305d90075feb1a3b gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz | sha256sum -c && \ - tar xf gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz && \ - sudo mv gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf /opt/ - ``` + * To build the x86 and x86\_64 assembly, your assembler must support AVX2 + instructions. If using GNU binutils, you must have 2.22 or later. ## Building @@ -89,18 +83,18 @@ It's possible to build BoringSSL with the Android NDK using CMake. This has been tested with version 10d of the NDK. Unpack the Android NDK somewhere and export `ANDROID_NDK` to point to the -directory. Clone https://github.com/taka-no-me/android-cmake into `util/`. Then -make a build directory as above and run CMake *twice* like this: +directory. Then make a build directory as above and run CMake like this: - cmake -DANDROID_NATIVE_API_LEVEL=android-9 \ - -DANDROID_ABI=armeabi-v7a \ - -DCMAKE_TOOLCHAIN_FILE=../util/android-cmake/android.toolchain.cmake \ + cmake -DANDROID_ABI=armeabi-v7a \ + -DCMAKE_TOOLCHAIN_FILE=../third_party/android-cmake/android.toolchain.cmake \ -DANDROID_NATIVE_API_LEVEL=16 \ -GNinja .. -Once you've run that twice, Ninja should produce Android-compatible binaries. -You can replace `armeabi-v7a` in the above with `arm64-v8a` to build aarch64 -binaries. +Once you've run that, Ninja should produce Android-compatible binaries. You +can replace `armeabi-v7a` in the above with `arm64-v8a` and use API level 21 or +higher to build aarch64 binaries. + +For other options, see [android-cmake's documentation](./third_party/android-cmake/README.md). ## Known Limitations on Windows |