summaryrefslogtreecommitdiff
path: root/src/BUILDING.md
diff options
context:
space:
mode:
authorRobert Sloan <varomodt@google.com>2017-12-18 11:26:17 -0800
committerRobert Sloan <varomodt@google.com>2017-12-18 11:26:23 -0800
commit558181089d69085101510906bd46e51ade9e20e9 (patch)
treee57121bbdd758b4b17aba72bf5d90559acfd0e4d /src/BUILDING.md
parentcd79cdebdcdadadb156e037973c927abf3dac79d (diff)
downloadboringssl-558181089d69085101510906bd46e51ade9e20e9.tar.gz
external/boringssl: Sync to ea52ec98a56a40879b37493f3d1da1a1679e1fba.
This includes the following changes: https://boringssl.googlesource.com/boringssl/+log/21baf6421a7e1e03f85cf2243c3c2404f5765072..ea52ec98a56a40879b37493f3d1da1a1679e1fba Test: BoringSSL CTS Presubmits. Change-Id: I6ebeb5f2aa7daa462c9d8933d9d5388011054fac
Diffstat (limited to 'src/BUILDING.md')
-rw-r--r--src/BUILDING.md25
1 files changed, 9 insertions, 16 deletions
diff --git a/src/BUILDING.md b/src/BUILDING.md
index eab61e2e..46f27e3f 100644
--- a/src/BUILDING.md
+++ b/src/BUILDING.md
@@ -79,14 +79,15 @@ for other variables which may be used to configure the build.
### Building for Android
-It's possible to build BoringSSL with the Android NDK using CMake. This has
-been tested with version 10d of the NDK.
+It's possible to build BoringSSL with the Android NDK using CMake. Recent
+versions of the NDK include a CMake toolchain file which works with CMake 3.6.0
+or later. This has been tested with version r16b of the NDK.
Unpack the Android NDK somewhere and export `ANDROID_NDK` to point to the
directory. Then make a build directory as above and run CMake like this:
cmake -DANDROID_ABI=armeabi-v7a \
- -DCMAKE_TOOLCHAIN_FILE=../third_party/android-cmake/android.toolchain.cmake \
+ -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake \
-DANDROID_NATIVE_API_LEVEL=16 \
-GNinja ..
@@ -94,7 +95,11 @@ 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).
+For older NDK versions, BoringSSL ships a third-party CMake toolchain file. Use
+`../third_party/android-cmake/android.toolchain.cmake` for
+`CMAKE_TOOLCHAIN_FILE` instead.
+
+For other options, see the documentation in the toolchain file.
### Building for iOS
@@ -145,18 +150,6 @@ corresponding ARM feature.
Note that if a feature is enabled in this way, but not actually supported at
run-time, BoringSSL will likely crash.
-## Assembling ARMv8 with Clang
-
-In order to support the ARMv8 crypto instructions, Clang requires that the
-architecture be `armv8-a+crypto`. However, setting that as a general build flag
-would allow the compiler to assume that crypto instructions are *always*
-supported, even without testing for them.
-
-It's possible to set the architecture in an assembly file using the `.arch`
-directive, but only very recent versions of Clang support this. If
-`BORINGSSL_CLANG_SUPPORTS_DOT_ARCH` is defined then `.arch` directives will be
-used with Clang, otherwise you may need to craft acceptable assembler flags.
-
# Running tests
There are two sets of tests: the C/C++ tests and the blackbox tests. For former