deps: use 'master-with-bazel' branch of BoringSSL
It should be more or less the same as master, but it also has a less
strict build configuration and doesn't require go and perl for build.
Fixes #589.
diff --git a/.travis.yml b/.travis.yml
index d02538c..3ecdfbb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -22,11 +22,6 @@
apt:
packages:
- [*linux_deps, gcc-multilib, g++-multilib]
- before_install:
- # Install and use the current stable release of Go
- - gimme --list
- - eval "$(gimme stable)"
- - gimme --list
install:
- rustup component add clippy
- rustup target add $TARGET_32
@@ -56,11 +51,6 @@
apt:
packages:
- [*linux_deps]
- before_install:
- # Install and use the current stable release of Go
- - gimme --list
- - eval "$(gimme stable)"
- - gimme --list
install:
- rustup component add rustfmt
- cargo install cargo-fuzz
@@ -106,7 +96,7 @@
TARGET_64=x86_64-pc-windows-msvc
TARGET_32=i686-pc-windows-msvc
before_install:
- - choco install golang nasm
+ - choco install nasm
# Update $PATH
- export PATH="$(powershell -Command '("Process", "Machine" | % { [Environment]::GetEnvironmentVariable("PATH", $_) -Split ";" -Replace "\\$", "" } | Select -Unique | % { cygpath $_ }) -Join ":"')"
install:
@@ -169,11 +159,6 @@
apt:
packages:
- [*linux_deps]
- before_install:
- # Install and use the current stable release of Go
- - gimme --list
- - eval "$(gimme stable)"
- - gimme --list
script:
- curl -O https://nginx.org/download/nginx-$NGINX_VER.tar.gz
- tar xzf nginx-$NGINX_VER.tar.gz
diff --git a/Cargo.toml b/Cargo.toml
index 9cf3cb0..8c78159 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -18,13 +18,9 @@
"/benches",
"/deps/boringssl/**/*.[chS]",
"/deps/boringssl/**/*.cc",
- "/deps/boringssl/**/*.errordata",
- "/deps/boringssl/**/*.go",
- "/deps/boringssl/**/*.pl",
"/deps/boringssl/**/CMakeLists.txt",
- "/deps/boringssl/*.md",
+ "/deps/boringssl/**/sources.cmake",
"/deps/boringssl/LICENSE",
- "/deps/boringssl/sources.cmake",
"/examples",
"/include",
"/quiche.svg",
diff --git a/README.md b/README.md
index ddff27e..d73ae62 100644
--- a/README.md
+++ b/README.md
@@ -251,11 +251,11 @@
Note that [BoringSSL], which is used to implement QUIC's cryptographic handshake
based on TLS, needs to be built and linked to quiche. This is done automatically
-when building quiche using cargo, but requires the `cmake`, `go` and `perl`
-commands to be available during the build process. On Windows you also need
-[NASM](https://www.nasm.us/). The
-[official BoringSSL documentation](https://github.com/google/boringssl/blob/master/BUILDING.md)
-has more details.
+when building quiche using cargo, but requires the `cmake` command to be
+available during the build process. On Windows you also need
+[NASM](https://www.nasm.us/). The [official BoringSSL
+documentation](https://github.com/google/boringssl/blob/master/BUILDING.md) has
+more details.
In alternative you can use your own custom build of BoringSSL by configuring
the BoringSSL directory with the ``QUICHE_BSSL_PATH`` environment variable:
diff --git a/deps/boringssl b/deps/boringssl
index 88024df..597b810 160000
--- a/deps/boringssl
+++ b/deps/boringssl
@@ -1 +1 @@
-Subproject commit 88024df12147e56b6abd66b743ff441a0aaa09a8
+Subproject commit 597b810379e126ae05d32c1d94b1a9464385acd0
diff --git a/extras/nginx/nginx-1.16.patch b/extras/nginx/nginx-1.16.patch
index 9b37a9f..fb821f6 100644
--- a/extras/nginx/nginx-1.16.patch
+++ b/extras/nginx/nginx-1.16.patch
@@ -90,8 +90,8 @@
+ && cmake -DCMAKE_C_FLAGS="$OPENSSL_OPT" -DCMAKE_CXX_FLAGS="$OPENSSL_OPT" .. \\
+ && \$(MAKE) VERBOSE=1 \\
+ && cd .. \\
-+ && cp -r include/openssl/*.h .openssl/include/openssl \\
-+ && cp build/ssl/libssl.a build/crypto/libcrypto.a .openssl/lib
++ && cp -r src/include/openssl/*.h .openssl/include/openssl \\
++ && cp build/libssl.a build/libcrypto.a .openssl/lib
END
diff --git a/src/build.rs b/src/build.rs
index 52aded8..98774aa 100644
--- a/src/build.rs
+++ b/src/build.rs
@@ -44,7 +44,7 @@
/// MSVC generator on Windows place static libs in a target sub-folder,
/// so adjust library location based on platform and build target.
/// See issue: https://github.com/alexcrichton/cmake-rs/issues/18
-fn get_boringssl_platform_output_path(lib: &str) -> String {
+fn get_boringssl_platform_output_path() -> String {
if cfg!(windows) {
// Code under this branch should match the logic in cmake-rs
let debug_env_var =
@@ -53,9 +53,7 @@
let deb_info = match &debug_env_var[..] {
"false" => false,
"true" => true,
- unknown => {
- panic!("Unknown DEBUG={} env var.", unknown);
- },
+ unknown => panic!("Unknown DEBUG={} env var.", unknown),
};
let opt_env_var = std::env::var("OPT_LEVEL")
@@ -70,14 +68,12 @@
"Release"
},
"s" | "z" => "MinSizeRel",
- unknown => {
- panic!("Unknown OPT_LEVEL={} env var.", unknown);
- },
+ unknown => panic!("Unknown OPT_LEVEL={} env var.", unknown),
};
- format!("{}/{}", lib, subdir)
+ subdir.to_string()
} else {
- lib.to_string()
+ "".to_string()
}
}
@@ -158,7 +154,7 @@
if arch == "x86" && os != "windows" {
boringssl_cmake.define(
"CMAKE_TOOLCHAIN_FILE",
- pwd.join("deps/boringssl/util/32-bit-toolchain.cmake")
+ pwd.join("deps/boringssl/src/util/32-bit-toolchain.cmake")
.as_os_str(),
);
}
@@ -213,14 +209,11 @@
cfg.build_target("bssl").build().display().to_string()
});
- let crypto_path = get_boringssl_platform_output_path("crypto");
- let crypto_dir = format!("{}/build/{}", bssl_dir, crypto_path);
- println!("cargo:rustc-link-search=native={}", crypto_dir);
- println!("cargo:rustc-link-lib=static=crypto");
+ let build_path = get_boringssl_platform_output_path();
+ let build_dir = format!("{}/build/{}", bssl_dir, build_path);
+ println!("cargo:rustc-link-search=native={}", build_dir);
- let ssl_path = get_boringssl_platform_output_path("ssl");
- let ssl_dir = format!("{}/build/{}", bssl_dir, ssl_path);
- println!("cargo:rustc-link-search=native={}", ssl_dir);
+ println!("cargo:rustc-link-lib=static=crypto");
println!("cargo:rustc-link-lib=static=ssl");
}