@@ -682,6 +682,18 @@ impl Config {
682
682
. or ( build_build)
683
683
. map ( |build| TargetSelection :: from_user ( & build) )
684
684
. unwrap_or_else ( get_host_target) ;
685
+ let hosts = flags_host
686
+ . map ( |TargetSelectionList ( hosts) | hosts)
687
+ . or_else ( || {
688
+ build_host. map ( |h| h. iter ( ) . map ( |t| TargetSelection :: from_user ( t) ) . collect ( ) )
689
+ } )
690
+ . unwrap_or_else ( || vec ! [ host_target] ) ;
691
+ let targets = flags_target
692
+ . map ( |TargetSelectionList ( targets) | targets)
693
+ . or_else ( || {
694
+ build_target. map ( |t| t. iter ( ) . map ( |t| TargetSelection :: from_user ( t) ) . collect ( ) )
695
+ } )
696
+ . unwrap_or_else ( || hosts. clone ( ) ) ;
685
697
686
698
let submodules = build_submodules;
687
699
let llvm_assertions = llvm_assertions_. unwrap_or ( false ) ;
@@ -723,29 +735,13 @@ impl Config {
723
735
out = absolute ( & out) . expect ( "can't make empty path absolute" ) ;
724
736
}
725
737
726
- let host_ = if let Some ( TargetSelectionList ( hosts) ) = flags_host {
727
- Some ( hosts)
728
- } else {
729
- build_host
730
- . map ( |file_host| file_host. iter ( ) . map ( |h| TargetSelection :: from_user ( h) ) . collect ( ) )
731
- } ;
732
- let target_ = if let Some ( TargetSelectionList ( targets) ) = flags_target {
733
- Some ( targets)
734
- } else {
735
- build_target. map ( |file_target| {
736
- file_target. iter ( ) . map ( |h| TargetSelection :: from_user ( h) ) . collect ( )
737
- } )
738
- } ;
739
-
740
- if let Some ( rustc) = & build_rustc
741
- && !flags_skip_stage0_validation
742
- {
743
- check_stage0_version ( rustc, "rustc" , & src, & exec_ctx) ;
744
- }
745
- if let Some ( cargo) = & build_cargo
746
- && !flags_skip_stage0_validation
747
- {
748
- check_stage0_version ( cargo, "cargo" , & src, & exec_ctx) ;
738
+ if !flags_skip_stage0_validation {
739
+ if let Some ( rustc) = & build_rustc {
740
+ check_stage0_version ( rustc, "rustc" , & src, & exec_ctx) ;
741
+ }
742
+ if let Some ( cargo) = & build_cargo {
743
+ check_stage0_version ( cargo, "cargo" , & src, & exec_ctx) ;
744
+ }
749
745
}
750
746
751
747
let mut paths_: Vec < PathBuf > = flags_skip. into_iter ( ) . chain ( flags_exclude) . collect ( ) ;
@@ -846,15 +842,6 @@ impl Config {
846
842
out = dir;
847
843
}
848
844
849
- let hosts = if let Some ( hosts) = host_ { hosts } else { vec ! [ host_target] } ;
850
- let targets = if let Some ( targets) = target_ {
851
- targets
852
- } else {
853
- // If target is *not* configured, then default to the host
854
- // toolchains.
855
- hosts. clone ( )
856
- } ;
857
-
858
845
let file_content = t ! ( fs:: read_to_string( src. join( "src/ci/channel" ) ) ) ;
859
846
let ci_channel = file_content. trim_end ( ) ;
860
847
@@ -1314,49 +1301,6 @@ impl Config {
1314
1301
} ;
1315
1302
1316
1303
Config {
1317
- out,
1318
- rust_info,
1319
- cargo_info,
1320
- rust_analyzer_info,
1321
- clippy_info,
1322
- miri_info,
1323
- rustfmt_info,
1324
- enzyme_info,
1325
- in_tree_llvm_info,
1326
- in_tree_gcc_info,
1327
- initial_cargo,
1328
- initial_rustc,
1329
- initial_cargo_clippy,
1330
- initial_sysroot,
1331
- initial_rustfmt,
1332
- submodules,
1333
- paths : flags_paths,
1334
- vendor,
1335
- target_config,
1336
- omit_git_hash,
1337
- skip,
1338
- stage,
1339
- src,
1340
- config,
1341
- cmd,
1342
- llvm_from_ci,
1343
- llvm_assertions,
1344
- lld_mode,
1345
- lld_enabled,
1346
- rust_overflow_checks,
1347
- host_target,
1348
- hosts,
1349
- targets,
1350
- dist_vendor,
1351
- channel,
1352
- is_running_on_ci,
1353
- path_modification_cache,
1354
- patch_binaries_for_nix,
1355
- stage0_metadata,
1356
- download_rustc_commit,
1357
- llvm_thin_lto,
1358
- llvm_link_shared,
1359
- rustc_debug_assertions,
1360
1304
change_id : toml. change_id . inner ,
1361
1305
bypass_bootstrap_lock : flags_bypass_bootstrap_lock,
1362
1306
ccache : match build_ccache {
@@ -1521,6 +1465,49 @@ impl Config {
1521
1465
tidy_extra_checks : build_tidy_extra_checks,
1522
1466
skip_std_check_if_no_download_rustc : flags_skip_std_check_if_no_download_rustc,
1523
1467
exec_ctx,
1468
+ out,
1469
+ rust_info,
1470
+ cargo_info,
1471
+ rust_analyzer_info,
1472
+ clippy_info,
1473
+ miri_info,
1474
+ rustfmt_info,
1475
+ enzyme_info,
1476
+ in_tree_llvm_info,
1477
+ in_tree_gcc_info,
1478
+ initial_cargo,
1479
+ initial_rustc,
1480
+ initial_cargo_clippy,
1481
+ initial_sysroot,
1482
+ initial_rustfmt,
1483
+ submodules,
1484
+ paths : flags_paths,
1485
+ vendor,
1486
+ target_config,
1487
+ omit_git_hash,
1488
+ skip,
1489
+ stage,
1490
+ src,
1491
+ config,
1492
+ cmd,
1493
+ llvm_from_ci,
1494
+ llvm_assertions,
1495
+ lld_mode,
1496
+ lld_enabled,
1497
+ rust_overflow_checks,
1498
+ host_target,
1499
+ hosts,
1500
+ targets,
1501
+ dist_vendor,
1502
+ channel,
1503
+ is_running_on_ci,
1504
+ path_modification_cache,
1505
+ patch_binaries_for_nix,
1506
+ stage0_metadata,
1507
+ download_rustc_commit,
1508
+ llvm_thin_lto,
1509
+ llvm_link_shared,
1510
+ rustc_debug_assertions,
1524
1511
}
1525
1512
}
1526
1513
0 commit comments