Add MCUBOOT_VALIDATE_SLOT0 as feature
Signed-off-by: Fabio Utzig <utzig@apache.org>
diff --git a/sim/Cargo.toml b/sim/Cargo.toml
index 3616935..05d17f8 100644
--- a/sim/Cargo.toml
+++ b/sim/Cargo.toml
@@ -9,6 +9,7 @@
sig-rsa = ["mcuboot-sys/sig-rsa"]
sig-ecdsa = ["mcuboot-sys/sig-ecdsa"]
overwrite-only = ["mcuboot-sys/overwrite-only"]
+validate-slot0 = ["mcuboot-sys/validate-slot0"]
[build-dependencies]
gcc = "0.3.54"
diff --git a/sim/mcuboot-sys/Cargo.toml b/sim/mcuboot-sys/Cargo.toml
index 220972b..37c30d1 100644
--- a/sim/mcuboot-sys/Cargo.toml
+++ b/sim/mcuboot-sys/Cargo.toml
@@ -20,6 +20,9 @@
# Overwrite only upgrade
overwrite-only = []
+# Disable validation of slot0
+validate-slot0 = []
+
[build-dependencies]
gcc = "0.3.54"
diff --git a/sim/mcuboot-sys/build.rs b/sim/mcuboot-sys/build.rs
index c67b792..5f5eeac 100644
--- a/sim/mcuboot-sys/build.rs
+++ b/sim/mcuboot-sys/build.rs
@@ -12,11 +12,15 @@
let sig_rsa = env::var("CARGO_FEATURE_SIG_RSA").is_ok();
let sig_ecdsa = env::var("CARGO_FEATURE_SIG_ECDSA").is_ok();
let overwrite_only = env::var("CARGO_FEATURE_OVERWRITE_ONLY").is_ok();
+ let validate_slot0 = env::var("CARGO_FEATURE_VALIDATE_SLOT0").is_ok();
let mut conf = gcc::Build::new();
conf.define("__BOOTSIM__", None);
conf.define("MCUBOOT_USE_FLASH_AREA_GET_SECTORS", None);
- conf.define("MCUBOOT_VALIDATE_SLOT0", None);
+
+ if validate_slot0 {
+ conf.define("MCUBOOT_VALIDATE_SLOT0", None);
+ }
// Currently, mbed TLS cannot build with both RSA and ECDSA.
if sig_rsa && sig_ecdsa {