bc786a9569
Chromium's doesn't have built-in support for ml64.exe. Seems easier to just build consistently with Yasm on both Win32 and Win64. (This will require an equivalent change in Chromium's build, but keep upstream and downstream builds consistent.) Also don't set CMAKE_ASM_NASM_COMPILER explicitly; cmake's default ASM_NASM behavior will search for both nasm or yasm in %PATH%. Leave it unset so it can be overwritten on the command-line to point to a particular yasm. Update BUILDING accordingly. Verified the tests still pass. Change-Id: I7e434be474b5b2d49e3bafbced5b41cc0246bd00 Reviewed-on: https://boringssl-review.googlesource.com/2104 Reviewed-by: Adam Langley <agl@google.com>
34 lines
1.1 KiB
Plaintext
34 lines
1.1 KiB
Plaintext
mkdir build
|
|
cd build
|
|
cmake ..
|
|
make
|
|
|
|
Note that the default build flags in the top-leve CMakeLists.txt are for
|
|
debugging - optimisation isn't enabled.
|
|
|
|
If you'll be building a lot, then installing Ninja[1] is highly recommended.
|
|
Wipe out the build directory and recreate it, but using:
|
|
|
|
cmake -GNinja ..
|
|
ninja
|
|
|
|
If you want to cross-compile then there are example toolchain files for 32-bit
|
|
Intel and ARM in util/. Wipe out the build directory, recreate it and run cmake
|
|
like this:
|
|
|
|
cmake -DCMAKE_TOOLCHAIN_FILE=../util/arm-toolchain.cmake -GNinja ..
|
|
|
|
If you want to build as a shared library you need to tweak the STATIC tags in
|
|
the CMakeLists.txts and also define BORINGSSL_SHARED_LIBRARY and
|
|
BORINGSSL_IMPLEMENTATION. On Windows, where functions need to be tagged with
|
|
"dllimport" when coming from a shared library, you need just
|
|
BORINGSSL_SHARED_LIBRARY defined in the code which #includes the BoringSSL
|
|
headers.
|
|
|
|
To build on Windows, Yasm[2] is required for assembly. Either ensure yasm.exe
|
|
is in %PATH% or configure CMAKE_ASM_NASM_COMPILER appropriately. Note that
|
|
full Windows support is still in progress.
|
|
|
|
[1] http://martine.github.io/ninja/
|
|
[2] http://yasm.tortall.net/
|