Skip to content

Commit

Permalink
Update grpc c core to 1.44.0 (#558)
Browse files Browse the repository at this point in the history
This PR also uses the same bindings for both (x86_64|aarch64)_(macos|linux).
CI will check if it's OK to do so. This should make maintenance easier.

Changes from #539 is also included in this PR.

Features use-bindgen is removed as it can be detected during compile time now.

This PR also rename the secure features to boringssl for better understanding.
And now only enabling openssl features will not download boringssl anymore.

Close #557.
Close #539.

Signed-off-by: Jay Lee <[email protected]>
  • Loading branch information
BusyJay authored Feb 28, 2022
1 parent 5a7f3ac commit 8da6126
Show file tree
Hide file tree
Showing 17 changed files with 665 additions and 4,540 deletions.
8 changes: 5 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,11 @@ jobs:
- uses: actions/checkout@v2
- run: which cargo && cargo version && clang --version && openssl version
- run: cargo xtask submodule
- run: cargo build --no-default-features --features use-bindgen
- run: cargo build --no-default-features --features "protobuf-codec use-bindgen"
- run: cargo build --no-default-features --features "prost-codec use-bindgen"
- run: env TEST_BIND=0 cargo xtask bindgen && git diff --exit-code HEAD
- run: cargo xtask bindgen
- run: cargo build --no-default-features
- run: cargo build --no-default-features --features "protobuf-codec"
- run: cargo build --no-default-features --features "prost-codec"
- run: cargo build
- run: cargo test --all

Expand Down
10 changes: 5 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@ members = [
exclude = ["xtask"]

[features]
default = ["protobuf-codec", "secure", "use-bindgen"]
default = ["protobuf-codec", "boringssl"]
_secure = []
protobuf-codec = ["protobuf"]
prost-codec = ["prost", "bytes"]
secure = ["grpcio-sys/secure"]
openssl = ["secure", "grpcio-sys/openssl"]
openssl-vendored = ["secure", "grpcio-sys/openssl-vendored"]
boringssl = ["grpcio-sys/boringssl", "_secure"]
openssl = ["_secure", "grpcio-sys/openssl"]
openssl-vendored = ["_secure", "grpcio-sys/openssl-vendored"]
no-omit-frame-pointer = ["grpcio-sys/no-omit-frame-pointer"]
use-bindgen = ["grpcio-sys/use-bindgen"]

[badges]
travis-ci = { repository = "tikv/grpc-rs" }
Expand Down
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ This project is still under development. The following features with the check m
- Rust >= 1.36.0
- binutils >= 2.22
- LLVM and Clang >= 3.9 if you need to generate bindings at compile time.
- By default, the [secure feature](#feature-secure) is provided by boringssl. You can also use openssl instead by enabling [openssl feature](#feature-openssl).

For Linux and MacOS, you also need to install gcc 4.9+ (or clang) too.

Expand Down Expand Up @@ -93,9 +92,9 @@ To include this project as a dependency:
grpcio = "0.6"
```

### Feature `secure`
### Feature `boringssl`

`secure` feature enables support for TLS encryption and some authentication
`boringssl` feature enables support for TLS encryption and some authentication
mechanism. When you do not need it, for example when working in intranet,
you can disable it by using the following configuration:
```
Expand Down
21 changes: 12 additions & 9 deletions grpc-sys/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,21 +53,24 @@ openssl-sys = { version = "0.9", optional = true, features = ["vendored"] }
libz-sys = { version = "1.1.3", default-features = false, features = ["libc", "static"] }

[features]
default = ["use-bindgen"]
secure = ["boringssl-src"]
openssl = ["secure"]
# A hidden feature indicating that secure features should be enabled.
_secure = []
boringssl = ["boringssl-src", "_secure"]
openssl = ["_secure"]
openssl-vendored = ["openssl", "openssl-sys"]
no-omit-frame-pointer = []
# If this feature is disabled, bindgen will not be used and the previously generated bindings will
# be compiled instead. This only work for the supported targets and will make compilation fails for
# the other ones.
use-bindgen = ["bindgen"]
# A hidden feature that is used to force regenerating bindings.
_gen-bindings = ["bindgen"]
_list-package = []

[target.'cfg(not(all(any(target_os = "linux", target_os = "macos"), any(target_arch = "x86_64", target_arch = "aarch64"))))'.build-dependencies]
bindgen = "0.59.0"

[build-dependencies]
cc = "1.0"
cmake = "0.1"
pkg-config = "0.3"
walkdir = "2.2.9"
# Because of rust-lang/cargo#5237, bindgen should not be upgraded util a minor or major release.
bindgen = { version = "0.57.0", default-features = false, optional = true, features = ["runtime"] }
boringssl-src = { version = "0.4.0", optional = true }
bindgen = { version = "0.59.0", default-features = false, optional = true, features = ["runtime"] }
boringssl-src = { version = "0.5.0", optional = true }

Large diffs are not rendered by default.

4,106 changes: 0 additions & 4,106 deletions grpc-sys/bindings/x86_64-unknown-linux-gnu-bindings.rs

This file was deleted.

Loading

0 comments on commit 8da6126

Please sign in to comment.