Generate rules.mk for once_cell via cargo_embargo
Change-Id: Ifb68195fedfd6d7666ff2579657bd980598b4b89
diff --git a/crates/once_cell/Android.bp b/crates/once_cell/Android.bp
index 65861f0..9af78b8 100644
--- a/crates/once_cell/Android.bp
+++ b/crates/once_cell/Android.bp
@@ -109,3 +109,9 @@
vendor_available: true,
min_sdk_version: "29",
}
+
+dirgroup {
+ name: "trusty_dirgroup_external_rust_crates_once_cell",
+ visibility: ["//trusty/vendor/google/aosp/scripts"],
+ dirs: ["."],
+}
diff --git a/crates/once_cell/cargo_embargo.json b/crates/once_cell/cargo_embargo.json
index d9268f7..e4588ba 100644
--- a/crates/once_cell/cargo_embargo.json
+++ b/crates/once_cell/cargo_embargo.json
@@ -4,7 +4,8 @@
"once_cell": {
"dep_blocklist": [
"libcritical_section"
- ]
+ ],
+ "rulesmk_patch": "patches/rules.mk.diff"
}
},
"run_cargo": false,
@@ -28,6 +29,16 @@
"no_std": true
}
}
+ },
+ {
+ "package": {
+ "once_cell": {
+ "alloc": true,
+ "no_std": true
+ }
+ },
+ "generate_androidbp": false,
+ "generate_rulesmk": true
}
]
}
diff --git a/crates/once_cell/patches/rules.mk.diff b/crates/once_cell/patches/rules.mk.diff
index 64cce41..b003833 100644
--- a/crates/once_cell/patches/rules.mk.diff
+++ b/crates/once_cell/patches/rules.mk.diff
@@ -1,14 +1,33 @@
-diff --git b/rules.mk a/rules.mk
-index abb2410..95c1743 100644
---- b/rules.mk
-+++ a/rules.mk
-@@ -13,9 +13,4 @@ MODULE_RUSTFLAGS += \
+diff --git a/rules.mk b/rules.mk
+index d9b6b71f..1bb39ffc 100644
+--- a/rules.mk
++++ b/rules.mk
+@@ -8,17 +8,26 @@ MODULE := $(LOCAL_DIR)
+ MODULE_CRATE_NAME := once_cell
+ MODULE_RUST_CRATE_TYPES := rlib
+ MODULE_SRCS := $(LOCAL_DIR)/src/lib.rs
+-MODULE_ADD_IMPLICIT_DEPS := false
+ MODULE_RUST_EDITION := 2021
+ MODULE_RUSTFLAGS += \
+ --cfg 'feature="alloc"' \
+ --cfg 'feature="default"' \
--cfg 'feature="race"' \
- --cfg 'feature="std"' \
-
--MODULE_LIBRARY_DEPS := \
-- external/rust/crates/atomic_polyfill \
-- external/rust/crates/critical_section \
-- external/rust/crates/parking_lot_core \
--
+- --cfg 'feature="std"'
++
++ifeq ($(call TOBOOL,$(TRUSTY_USERSPACE)),true)
++
++MODULE_RUSTFLAGS += \
++ --cfg 'feature="std"' \
++
++else
++
++MODULE_ADD_IMPLICIT_DEPS := false
+
+ MODULE_LIBRARY_DEPS := \
+ trusty/user/base/lib/liballoc-rust \
+ trusty/user/base/lib/libcompiler_builtins-rust \
+ trusty/user/base/lib/libcore-rust
+
++endif
++
include make/library.mk
diff --git a/crates/once_cell/rules.mk b/crates/once_cell/rules.mk
index 95c1743..1bb39ff 100644
--- a/crates/once_cell/rules.mk
+++ b/crates/once_cell/rules.mk
@@ -1,16 +1,33 @@
-# This file is generated by cargo2rulesmk.py --run --config cargo2rulesmk.json.
-# Do not modify this file as changes will be overridden on upgrade.
+# This file is generated by cargo_embargo.
+# Do not modify this file after the LOCAL_DIR line
+# because the changes will be overridden on upgrade.
+# Content before the first line starting with LOCAL_DIR is preserved.
LOCAL_DIR := $(GET_LOCAL_DIR)
MODULE := $(LOCAL_DIR)
MODULE_CRATE_NAME := once_cell
-MODULE_SRCS := \
- $(LOCAL_DIR)/src/lib.rs \
-
+MODULE_RUST_CRATE_TYPES := rlib
+MODULE_SRCS := $(LOCAL_DIR)/src/lib.rs
MODULE_RUST_EDITION := 2021
MODULE_RUSTFLAGS += \
--cfg 'feature="alloc"' \
+ --cfg 'feature="default"' \
--cfg 'feature="race"' \
+
+ifeq ($(call TOBOOL,$(TRUSTY_USERSPACE)),true)
+
+MODULE_RUSTFLAGS += \
--cfg 'feature="std"' \
+else
+
+MODULE_ADD_IMPLICIT_DEPS := false
+
+MODULE_LIBRARY_DEPS := \
+ trusty/user/base/lib/liballoc-rust \
+ trusty/user/base/lib/libcompiler_builtins-rust \
+ trusty/user/base/lib/libcore-rust
+
+endif
+
include make/library.mk