Fix config and re-run cargo2android.py.
Test: Compared Android.bp
Change-Id: I3e392e80ca1d9c684757b048660a372d286a201c
diff --git a/.cargo/config.toml b/.cargo/config.toml
index e2b197d..278afcd 100644
--- a/.cargo/config.toml
+++ b/.cargo/config.toml
@@ -1,2 +1,2 @@
[patch.crates-io]
-bssl-ffi = { package = "bssl-sys", version = "0.1.0", path = "../../../boringssl/build/rust", optional=true }
+bssl-ffi = { package = "bssl-sys", version = "0.1.0", path = "../../../boringssl/src/rust/bssl-sys", optional=true }
diff --git a/Android.bp b/Android.bp
index 7d2407d..3f312fb 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,4 +1,4 @@
-// This file is generated by cargo2android.py --config ./cargo2android.json.
+// This file is generated by cargo2android.py --config cargo2android.json.
// Do not modify this file as changes will be overridden on upgrade.
// WARNING! This crate has a change in dependency structure that is not yet
@@ -45,12 +45,38 @@
],
}
-rust_defaults {
- name: "libopenssl_defaults",
+rust_library {
+ name: "libopenssl",
host_supported: true,
crate_name: "openssl",
cargo_env_compat: true,
- cargo_pkg_version: "0.10.43",
+ cargo_pkg_version: "0.10.45",
+ srcs: ["src/lib.rs"],
+ edition: "2018",
+ features: ["unstable_boringssl"],
+ cfgs: ["boringssl", "soong"],
+ rustlibs: [
+ "libbitflags-1.3.2",
+ "libcfg_if",
+ "libbssl_ffi",
+ "libforeign_types",
+ "liblibc",
+ "libonce_cell",
+ ],
+ proc_macros: ["libopenssl_macros"],
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.virt",
+ ],
+ product_available: true,
+ vendor_available: true,
+}
+
+rust_library_host_rlib {
+ name: "libopenssl_static",
+ crate_name: "openssl",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.10.45",
srcs: ["src/lib.rs"],
edition: "2018",
features: ["unstable_boringssl"],
@@ -62,23 +88,8 @@
"liblibc",
"libonce_cell",
],
- proc_macros: ["libopenssl_macros"],
- apex_available: [
- "//apex_available:platform",
- "com.android.virt",
+ rlibs: [
+ "libbssl_ffi_static",
],
- vendor_available: true,
- product_available: true,
-}
-
-rust_library {
- name: "libopenssl",
- defaults: ["libopenssl_defaults"],
- rustlibs: ["libbssl_ffi"],
-}
-
-rust_library_host_rlib {
- name: "libopenssl_static",
- defaults: ["libopenssl_defaults"],
- rlibs: ["libbssl_ffi_static"],
+ proc_macros: ["libopenssl_macros"],
}
diff --git a/README.android b/README.android
index 1957c30..02da029 100644
--- a/README.android
+++ b/README.android
@@ -4,16 +4,15 @@
built. Copy `googletest` to `boringssl`, which is needed to build the rust bindings
```
- $ cp -r external/googletest/googletest external/boringssl/src/third_party/
+ $ cp -r external/googletest external/boringssl/src/third_party/
```
2. Build the rust bindings (More information at
https://boringssl.googlesource.com/boringssl/+/HEAD/BUILDING.md)
```
- $ cd external/boringssl
- $ mkdir build && cd build
- $ cmake .. -DRUST_BINDINGS=x86_64-unknown-linux-gnu
- $ make
+ $ cd external/boringssl/src
+ $ cmake -DRUST_BINDINGS=x86_64-unknown-linux-gnu -B build
+ $ make -C build
```
3. Run `tools/external_updater/updater.sh update rust/crates/openssl`. Cargo errors causing the
command to fail are expected (since the boringSSL crate is outside of the `openssl` directory,
diff --git a/cargo2android.json b/cargo2android.json
index 4caae30..7c9a127 100644
--- a/cargo2android.json
+++ b/cargo2android.json
@@ -3,9 +3,20 @@
"//apex_available:platform",
"com.android.virt"
],
- "device": true,
+ "dep-suffixes": {
+ "bitflags": "-1.3.2"
+ },
"features": "unstable_boringssl",
"run": true,
"vendor-available": true,
- "patch": "patches/Android.bp.diff"
+ "patch": "patches/Android.bp.diff",
+ "variants": [
+ {
+ "device": true
+ },
+ {
+ "suffix": "_static",
+ "force-rlib": true
+ }
+ ]
}
diff --git a/patches/0001-cfgs.diff b/patches/0001-cfgs.diff
index f118c41..ae6ba11 100644
--- a/patches/0001-cfgs.diff
+++ b/patches/0001-cfgs.diff
@@ -5,7 +5,7 @@
+++ b/.cargo/config.toml
@@ -0,0 +1,2 @@
+[patch.crates-io]
-+bssl-ffi = { package = "bssl-sys", version = "0.1.0", path = "../../../boringssl/build/rust", optional=true }
++bssl-ffi = { package = "bssl-sys", version = "0.1.0", path = "../../../boringssl/src/rust/bssl-sys", optional=true }
diff --git a/src/cipher.rs b/src/cipher.rs
index ab5f49d..84a8265 100644
--- a/src/cipher.rs
diff --git a/patches/Android.bp.diff b/patches/Android.bp.diff
index ef0ab4f..56d2015 100644
--- a/patches/Android.bp.diff
+++ b/patches/Android.bp.diff
@@ -1,5 +1,5 @@
diff --git a/Android.bp b/Android.bp
-index 6628b2a..0ece701 100644
+index b10f5b0..5214daa 100644
--- a/Android.bp
+++ b/Android.bp
@@ -54,11 +54,11 @@ rust_library {
@@ -9,11 +9,30 @@
- cfgs: ["boringssl"],
+ cfgs: ["boringssl", "soong"],
rustlibs: [
-- "libbitflags",
-+ "libbitflags-1.3.2",
+ "libbitflags-1.3.2",
"libcfg_if",
- "libopenssl_sys",
+ "libbssl_ffi",
"libforeign_types",
"liblibc",
"libonce_cell",
+@@ -81,15 +81,17 @@ rust_library {
+ srcs: ["src/lib.rs"],
+ edition: "2018",
+ features: ["unstable_boringssl"],
+- cfgs: ["boringssl"],
++ cfgs: ["boringssl", "soong"],
+ rustlibs: [
+ "libbitflags-1.3.2",
+ "libcfg_if",
+- "libopenssl_sys",
+ "libforeign_types",
+ "liblibc",
+ "libonce_cell",
+ ],
++ rlibs: [
++ "libbssl_ffi_static",
++ ],
+ proc_macros: ["libopenssl_macros"],
+ apex_available: [
+ "//apex_available:platform",