Skip to content

Commit 625d67e

Browse files
authored
Merge pull request #281 from LedgerHQ/extra-defines
Allow custom definitions and flags for the C build
2 parents 259946a + efdf1a9 commit 625d67e

File tree

4 files changed

+29
-5
lines changed

4 files changed

+29
-5
lines changed

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ledger_device_sdk/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ledger_device_sdk"
3-
version = "1.24.1"
3+
version = "1.24.2"
44
authors = ["yhql", "yogh333", "agrojean-ledger", "kingofpayne"]
55
edition = "2021"
66
license.workspace = true
@@ -21,7 +21,7 @@ rand_core = { version = "0.6.3", default-features = false }
2121
zeroize = { version = "1.6.0", default-features = false }
2222
numtoa = "0.2.4"
2323
const-zero = "0.1.1"
24-
ledger_secure_sdk_sys = { path = "../ledger_secure_sdk_sys", version = "1.10.0" }
24+
ledger_secure_sdk_sys = { path = "../ledger_secure_sdk_sys", version = "1.11.0" }
2525

2626
[features]
2727
debug = []

ledger_secure_sdk_sys/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ledger_secure_sdk_sys"
3-
version = "1.10.0"
3+
version = "1.11.0"
44
authors = ["yhql", "agrojean-ledger", "yogh333"]
55
edition = "2021"
66
license.workspace = true

ledger_secure_sdk_sys/build.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,6 +528,30 @@ impl SDKBuilder<'_> {
528528
command.define(define, None);
529529
}
530530

531+
// Add defines and flags specified in the LEDGER_SDK_EXTRA_DEFINES and LEDGER_SDK_EXTRA_CFLAGS environment
532+
// variables, if they are set.
533+
// This allows apps to customize the build process. Since they are added after the default includes, they can
534+
// override previous definitions.
535+
536+
println!("cargo:rerun-if-env-changed=LEDGER_SDK_EXTRA_DEFINES");
537+
println!("cargo:rerun-if-env-changed=LEDGER_SDK_EXTRA_CFLAGS");
538+
539+
if let Ok(defs) = env::var("LEDGER_SDK_EXTRA_DEFINES") {
540+
for d in defs.split_whitespace() {
541+
if let Some((k, v)) = d.split_once('=') {
542+
command.define(k, Some(v));
543+
} else {
544+
command.define(d, None);
545+
}
546+
}
547+
}
548+
if let Ok(flags) = env::var("LEDGER_SDK_EXTRA_CFLAGS") {
549+
for f in flags.split_whitespace() {
550+
command.flag(f);
551+
}
552+
}
553+
554+
/* Compile the SDK */
531555
command.compile("ledger-secure-sdk");
532556

533557
/* Link with libc, libm and libgcc */

0 commit comments

Comments
 (0)