@@ -132,6 +132,7 @@ enum SDKBuildError {
132
132
UnsupportedDevice ,
133
133
InvalidAPILevel ,
134
134
MissingSDKName ,
135
+ MissingSDKPath ,
135
136
TargetFileNotFound ,
136
137
MissingTargetId ,
137
138
MissingTargetName ,
@@ -186,7 +187,13 @@ impl SDKBuilder<'_> {
186
187
{
187
188
"nanosplus" => Device {
188
189
name : DeviceName :: NanoSPlus ,
189
- c_sdk : Default :: default ( ) ,
190
+ c_sdk : match env:: var ( "LEDGER_SDK_PATH" ) {
191
+ Ok ( path) => PathBuf :: from ( path) ,
192
+ Err ( _) => match env:: var ( "NANOSP_SDK" ) {
193
+ Ok ( path) => PathBuf :: from ( path) ,
194
+ Err ( _) => return Err ( SDKBuildError :: MissingSDKPath ) ,
195
+ } ,
196
+ } ,
190
197
target : "thumbv8m.main-none-eabi" ,
191
198
defines : {
192
199
let mut v = header2define ( "csdk_nanos2.h" ) ;
@@ -209,7 +216,13 @@ impl SDKBuilder<'_> {
209
216
} ,
210
217
"nanox" => Device {
211
218
name : DeviceName :: NanoX ,
212
- c_sdk : Default :: default ( ) ,
219
+ c_sdk : match env:: var ( "LEDGER_SDK_PATH" ) {
220
+ Ok ( path) => PathBuf :: from ( path) ,
221
+ Err ( _) => match env:: var ( "NANOX_SDK" ) {
222
+ Ok ( path) => PathBuf :: from ( path) ,
223
+ Err ( _) => return Err ( SDKBuildError :: MissingSDKPath ) ,
224
+ } ,
225
+ } ,
213
226
target : "thumbv6m-none-eabi" ,
214
227
defines : {
215
228
let mut v = header2define ( "csdk_nanox.h" ) ;
@@ -232,7 +245,13 @@ impl SDKBuilder<'_> {
232
245
} ,
233
246
"stax" => Device {
234
247
name : DeviceName :: Stax ,
235
- c_sdk : Default :: default ( ) ,
248
+ c_sdk : match env:: var ( "LEDGER_SDK_PATH" ) {
249
+ Ok ( path) => PathBuf :: from ( path) ,
250
+ Err ( _) => match env:: var ( "STAX_SDK" ) {
251
+ Ok ( path) => PathBuf :: from ( path) ,
252
+ Err ( _) => return Err ( SDKBuildError :: MissingSDKPath ) ,
253
+ } ,
254
+ } ,
236
255
target : "thumbv8m.main-none-eabi" ,
237
256
defines : header2define ( "csdk_stax.h" ) ,
238
257
cflags : Vec :: from ( CFLAGS_STAX ) ,
@@ -242,7 +261,13 @@ impl SDKBuilder<'_> {
242
261
} ,
243
262
"flex" => Device {
244
263
name : DeviceName :: Flex ,
245
- c_sdk : Default :: default ( ) ,
264
+ c_sdk : match env:: var ( "LEDGER_SDK_PATH" ) {
265
+ Ok ( path) => PathBuf :: from ( path) ,
266
+ Err ( _) => match env:: var ( "FLEX_SDK" ) {
267
+ Ok ( path) => PathBuf :: from ( path) ,
268
+ Err ( _) => return Err ( SDKBuildError :: MissingSDKPath ) ,
269
+ } ,
270
+ } ,
246
271
target : "thumbv8m.main-none-eabi" ,
247
272
defines : header2define ( "csdk_flex.h" ) ,
248
273
cflags : Vec :: from ( CFLAGS_FLEX ) ,
@@ -255,12 +280,6 @@ impl SDKBuilder<'_> {
255
280
}
256
281
} ;
257
282
258
- // set the C SDK path
259
- self . device . c_sdk = match env:: var ( "LEDGER_SDK_PATH" ) {
260
- Err ( _) => clone_sdk ( & self . device . name ) ,
261
- Ok ( path) => PathBuf :: from ( path) ,
262
- } ;
263
-
264
283
// set glyphs folders
265
284
match self . device . name {
266
285
DeviceName :: Flex => {
@@ -780,6 +799,7 @@ fn retrieve_target_file_infos(
780
799
}
781
800
782
801
/// Fetch the appropriate C SDK to build
802
+ #[ allow( dead_code) ]
783
803
fn clone_sdk ( devicename : & DeviceName ) -> PathBuf {
784
804
let ( repo_url, sdk_branch) = match devicename {
785
805
DeviceName :: NanoX => (
0 commit comments