Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/boringssl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornmittler <nathanmittler@google.com>2016-02-09 22:25:52 +0300
committerDavid Benjamin <davidben@google.com>2016-02-10 20:42:36 +0300
commit042e8f721a1831e847bf360180e7a835f75bbcbb (patch)
tree2786d26ec5e5ee450337607215262ac3864a179c
parent642b0b825eea888b5484dd02e1bc598580b8632d (diff)
Updating BUILDING.md for windows.
Updating the Perl docs to describe behavior of Strawberry Perl and possible interaction with CMake on Windows. Also adding a few other links and instructions for using CMake/Ninja to build release mode with position independent code, since this seems generally useful. Change-Id: I616c0d267da749fe90673bc9e8bde9ec181fec25 Reviewed-on: https://boringssl-review.googlesource.com/7113 Reviewed-by: David Benjamin <davidben@google.com>
-rw-r--r--BUILDING.md20
1 files changed, 14 insertions, 6 deletions
diff --git a/BUILDING.md b/BUILDING.md
index 47fbe0df..d40df9ef 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -5,9 +5,13 @@
* [CMake](https://cmake.org/download/) 2.8.8 or later is required.
* Perl 5.6.1 or later is required. On Windows,
- [Strawberry Perl](http://strawberryperl.com/) and MSYS Perl have both been
- reported to work. If not found by CMake, it may be configured explicitly by
- setting `PERL_EXECUTABLE`.
+ [Active State Perl](http://www.activestate.com/activeperl/) has been
+ reported to work, as has MSYS Perl.
+ [Strawberry Perl](http://strawberryperl.com/) also works but it adds GCC
+ to `PATH`, which can confuse some build tools when identifying the compiler
+ (removing `C:\Strawberry\c\bin` from `PATH` should resolve any problems).
+ If Perl is not found by CMake, it may be configured explicitly by setting
+ `PERL_EXECUTABLE`.
* On Windows you currently must use [Ninja](https://ninja-build.org/)
to build; on other platforms, it is not required, but recommended, because
@@ -21,8 +25,8 @@
`CMAKE_ASM_NASM_COMPILER`.
* A C compiler is required. On Windows, MSVC 12 (Visual Studio 2013) or later
- with Platform SDK 8.1 or later are supported. Recent versions of GCC and
- Clang should work on non-Windows platforms, and maybe on Windows too.
+ 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.
* [Go](https://golang.org/dl/) is required. If not found by CMake, the go
executable may be configured explicitly by setting `GO_EXECUTABLE`.
@@ -58,7 +62,8 @@ files because the build scripts will detect changes to them and rebuild
themselves automatically.
Note that the default build flags in the top-level `CMakeLists.txt` are for
-debugging—optimisation isn't enabled.
+debugging—optimisation isn't enabled. Pass `-DCMAKE_BUILD_TYPE=Release` to
+`cmake` to configure a release build.
If you want to cross-compile then there is an example toolchain file for 32-bit
Intel in `util/`. Wipe out the build directory, recreate it and run `cmake` like
@@ -75,6 +80,9 @@ In order to serve environments where code-size is important as well as those
where performance is the overriding concern, `OPENSSL_SMALL` can be defined to
remove some code that is especially large.
+See [CMake's documentation](https://cmake.org/cmake/help/v3.4/manual/cmake-variables.7.html)
+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