@@ -46,32 +46,34 @@ fn build_bpf(program_directory: &Path) {
46
46
}
47
47
48
48
fn main ( ) {
49
- if let Ok ( debug) = env:: var ( "DEBUG" ) {
50
- if debug == "true" {
51
- let cwd = env:: current_dir ( ) . expect ( "Unable to get current working directory" ) ;
52
- let spl_token_2022_dir = cwd
53
- . parent ( )
54
- . expect ( "Unable to get parent directory of current working dir" )
55
- . join ( "program-2022" ) ;
56
- rerun_if_changed ( & spl_token_2022_dir) ;
57
- let spl_token_dir = cwd
58
- . parent ( )
59
- . expect ( "Unable to get parent directory of current working dir" )
60
- . join ( "program" ) ;
61
- rerun_if_changed ( & spl_token_dir) ;
62
- let spl_associated_token_account_dir = cwd
63
- . parent ( )
64
- . expect ( "Unable to get parent directory of current working dir" )
65
- . parent ( )
66
- . expect ( "Unable to get parent directory of current working dir" )
67
- . join ( "associated-token-account" )
68
- . join ( "program" ) ;
69
- rerun_if_changed ( & spl_associated_token_account_dir) ;
49
+ let is_debug = env:: var ( "DEBUG" ) . map ( |v| v == "true" ) . unwrap_or ( false ) ;
50
+ let build_dependent_programs = env:: var ( "BUILD_DEPENDENT_PROGRAMS" )
51
+ . map ( |v| v != "false" && v != "0" )
52
+ . unwrap_or ( false ) ;
53
+ if is_debug && build_dependent_programs {
54
+ let cwd = env:: current_dir ( ) . expect ( "Unable to get current working directory" ) ;
55
+ let spl_token_2022_dir = cwd
56
+ . parent ( )
57
+ . expect ( "Unable to get parent directory of current working dir" )
58
+ . join ( "program-2022" ) ;
59
+ rerun_if_changed ( & spl_token_2022_dir) ;
60
+ let spl_token_dir = cwd
61
+ . parent ( )
62
+ . expect ( "Unable to get parent directory of current working dir" )
63
+ . join ( "program" ) ;
64
+ rerun_if_changed ( & spl_token_dir) ;
65
+ let spl_associated_token_account_dir = cwd
66
+ . parent ( )
67
+ . expect ( "Unable to get parent directory of current working dir" )
68
+ . parent ( )
69
+ . expect ( "Unable to get parent directory of current working dir" )
70
+ . join ( "associated-token-account" )
71
+ . join ( "program" ) ;
72
+ rerun_if_changed ( & spl_associated_token_account_dir) ;
70
73
71
- build_bpf ( & spl_token_dir) ;
72
- build_bpf ( & spl_token_2022_dir) ;
73
- build_bpf ( & spl_associated_token_account_dir) ;
74
- }
74
+ build_bpf ( & spl_token_dir) ;
75
+ build_bpf ( & spl_token_2022_dir) ;
76
+ build_bpf ( & spl_associated_token_account_dir) ;
75
77
}
76
78
println ! ( "cargo:rerun-if-changed=build.rs" ) ;
77
79
}
0 commit comments