Lines Matching +full:visual +full:- +full:runtime +full:- +full:tests
10 BoringSSL into another project with a pre-existing build system, see
19 * Building with [Ninja](https://ninja-build.org/) instead of Make is
20 recommended, because it makes builds faster. On Windows, CMake's Visual
29 Visual Studio 2019 or later with Windows 10 SDK 2104 or later are
31 GCC (6.1+) and Clang should work on non-Windows platforms, and maybe on
38 cmake -GNinja -B build
39 ninja -C build
43 cmake -B build
44 make -C build
47 assertions are included. Pass `-DCMAKE_BUILD_TYPE=Release` to `cmake` to
50 cmake -GNinja -B build -DCMAKE_BUILD_TYPE=Release
51 ninja -C build
53 If you want to cross-compile then there is an example toolchain file for 32-bit
56 cmake -B build -DCMAKE_TOOLCHAIN_FILE=../util/32-bit-toolchain.cmake -GNinja
58 If you want to build as a shared library, pass `-DBUILD_SHARED_LIBS=1`. On
63 In order to serve environments where code-size is important as well as those
67 See [CMake's documentation](https://cmake.org/cmake/help/v3.4/manual/cmake-variables.7.html)
83 cmake -DANDROID_ABI=armeabi-v7a \
84 -DANDROID_PLATFORM=android-19 \
85 -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake \
86 -GNinja -B build
88 Once you've run that, Ninja should produce Android-compatible binaries. You
89 can replace `armeabi-v7a` in the above with `arm64-v8a` and use API level 21 or
98 adb push ${ANDROID_NDK}/prebuilt/android-ARCH/gdbserver/gdbserver \
104 architecture of the host machine, e.g. `linux-x86_64`.
111 To build for iOS, pass `-DCMAKE_OSX_SYSROOT=iphoneos` and
112 `-DCMAKE_OSX_ARCHITECTURES=ARCH` to CMake, where `ARCH` is the desired
113 architecture, matching values used in the `-arch` flag in Apple's toolchain.
115 Passing multiple architectures for a multiple-architecture build is not
129 comments are supported with `#`). In other words, `cmake -B build
130 -DBORINGSSL_PREFIX=MY_CUSTOM_PREFIX
131 -DBORINGSSL_PREFIX_SYMBOLS=/path/to/symbols.txt` will configure the build to add
147 * CMake can generate Visual Studio projects, but the generated project files
155 capability information has to be provided by a combination of compile-time
158 BoringSSL determines capabilities at compile-time based on `__ARM_NEON`,
160 …xtensions (ACLE)](https://developer.arm.com/architectures/system-architectures/software-standards/…
161 These values are usually controlled by the `-march` flag. You can also define
163 symbols via `-march` is recommended.
173 feature is not actually supported at runtime, BoringSSL will likely crash.
175 BoringSSL will additionally query the operating system at runtime for additional
178 some environments don't support runtime queries. If building for those, define
179 `OPENSSL_STATIC_ARMCAP` to limit BoringSSL to compile-time capabilities. If not
184 The implementations of some algorithms require a trade-off between binary size
185 and performance. For instance, BoringSSL's fastest P-256 implementation uses a
186 148 KiB pre-computed table. To optimize instead for binary size, pass
187 `-DOPENSSL_SMALL=1` to CMake or define the `OPENSSL_SMALL` preprocessor symbol.
189 # Running Tests
191 There are two additional dependencies for running tests:
197 * On x86_64 Linux, the tests have an optional
201 There are two sets of tests: the C/C++ tests and the blackbox tests. For former
202 are built by Ninja and can be run from the top-level directory with `go run
206 Both sets of tests may also be run with `ninja -C build run_tests`, but CMake
209 # Pre-generated Files
212 run `go run ./util/pregenerate` to refresh some pre-generated files. To do this,