@@ -2431,56 +2431,26 @@ impl Step for LlvmTools {
2431
2431
2432
2432
builder. info ( & format ! ( "Dist LlvmTools ({})" , target) ) ;
2433
2433
let _time = timeit ( builder) ;
2434
- let src = builder. src . join ( "src/llvm-project/llvm" ) ;
2435
- let name = pkgname ( builder, "llvm-tools" ) ;
2436
2434
2437
- let tmp = tmpdir ( builder) ;
2438
- let image = tmp . join ( "llvm-tools-image" ) ;
2439
- drop ( fs :: remove_dir_all ( & image ) ) ;
2435
+ let mut tarball = Tarball :: new ( builder, "llvm-tools" , & target . triple ) ;
2436
+ tarball . set_overlay ( OverlayKind :: LLVM ) ;
2437
+ tarball . is_preview ( true ) ;
2440
2438
2441
2439
// Prepare the image directory
2442
2440
let src_bindir = builder. llvm_out ( target) . join ( "bin" ) ;
2443
- let dst_bindir = image. join ( "lib/rustlib" ) . join ( & * target. triple ) . join ( "bin" ) ;
2444
- t ! ( fs:: create_dir_all( & dst_bindir) ) ;
2441
+ let dst_bindir = format ! ( "lib/rustlib/{}/bin" , target. triple) ;
2445
2442
for tool in LLVM_TOOLS {
2446
2443
let exe = src_bindir. join ( exe ( tool, target) ) ;
2447
- builder . install ( & exe, & dst_bindir, 0o755 ) ;
2444
+ tarball . add_file ( & exe, & dst_bindir, 0o755 ) ;
2448
2445
}
2449
2446
2450
2447
// Copy libLLVM.so to the target lib dir as well, so the RPATH like
2451
2448
// `$ORIGIN/../lib` can find it. It may also be used as a dependency
2452
2449
// of `rustc-dev` to support the inherited `-lLLVM` when using the
2453
2450
// compiler libraries.
2454
- maybe_install_llvm_target ( builder, target, & image) ;
2455
-
2456
- // Prepare the overlay
2457
- let overlay = tmp. join ( "llvm-tools-overlay" ) ;
2458
- drop ( fs:: remove_dir_all ( & overlay) ) ;
2459
- builder. create_dir ( & overlay) ;
2460
- builder. install ( & src. join ( "README.txt" ) , & overlay, 0o644 ) ;
2461
- builder. install ( & src. join ( "LICENSE.TXT" ) , & overlay, 0o644 ) ;
2462
- builder. create ( & overlay. join ( "version" ) , & builder. llvm_tools_vers ( ) ) ;
2463
-
2464
- // Generate the installer tarball
2465
- let mut cmd = rust_installer ( builder) ;
2466
- cmd. arg ( "generate" )
2467
- . arg ( "--product-name=Rust" )
2468
- . arg ( "--rel-manifest-dir=rustlib" )
2469
- . arg ( "--success-message=llvm-tools-installed." )
2470
- . arg ( "--image-dir" )
2471
- . arg ( & image)
2472
- . arg ( "--work-dir" )
2473
- . arg ( & tmpdir ( builder) )
2474
- . arg ( "--output-dir" )
2475
- . arg ( & distdir ( builder) )
2476
- . arg ( "--non-installed-overlay" )
2477
- . arg ( & overlay)
2478
- . arg ( format ! ( "--package-name={}-{}" , name, target. triple) )
2479
- . arg ( "--legacy-manifest-dirs=rustlib,cargo" )
2480
- . arg ( "--component-name=llvm-tools-preview" ) ;
2451
+ maybe_install_llvm_target ( builder, target, tarball. image_dir ( ) ) ;
2481
2452
2482
- builder. run ( & mut cmd) ;
2483
- Some ( distdir ( builder) . join ( format ! ( "{}-{}.tar.gz" , name, target. triple) ) )
2453
+ Some ( tarball. generate ( ) )
2484
2454
}
2485
2455
}
2486
2456
0 commit comments