@@ -42,6 +42,8 @@ pub fn pkgname(builder: &Builder, component: &str) -> String {
4242 format ! ( "{}-{}" , component, builder. rls_package_vers( ) )
4343 } else if component == "clippy" {
4444 format ! ( "{}-{}" , component, builder. clippy_package_vers( ) )
45+ } else if component == "miri" {
46+ format ! ( "{}-{}" , component, builder. miri_package_vers( ) )
4547 } else if component == "rustfmt" {
4648 format ! ( "{}-{}" , component, builder. rustfmt_package_vers( ) )
4749 } else if component == "llvm-tools" {
@@ -1483,6 +1485,7 @@ impl Step for Extended {
14831485 let rls_installer = builder. ensure ( Rls { stage, target } ) ;
14841486 let llvm_tools_installer = builder. ensure ( LlvmTools { stage, target } ) ;
14851487 let clippy_installer = builder. ensure ( Clippy { stage, target } ) ;
1488+ let miri_installer = builder. ensure ( Miri { stage, target } ) ;
14861489 let lldb_installer = builder. ensure ( Lldb { target } ) ;
14871490 let mingw_installer = builder. ensure ( Mingw { host : target } ) ;
14881491 let analysis_installer = builder. ensure ( Analysis {
@@ -1521,6 +1524,7 @@ impl Step for Extended {
15211524 tarballs. push ( cargo_installer) ;
15221525 tarballs. extend ( rls_installer. clone ( ) ) ;
15231526 tarballs. extend ( clippy_installer. clone ( ) ) ;
1527+ tarballs. extend ( miri_installer. clone ( ) ) ;
15241528 tarballs. extend ( rustfmt_installer. clone ( ) ) ;
15251529 tarballs. extend ( llvm_tools_installer) ;
15261530 tarballs. extend ( lldb_installer) ;
@@ -1593,6 +1597,9 @@ impl Step for Extended {
15931597 if clippy_installer. is_none ( ) {
15941598 contents = filter ( & contents, "clippy" ) ;
15951599 }
1600+ if miri_installer. is_none ( ) {
1601+ contents = filter ( & contents, "miri" ) ;
1602+ }
15961603 if rustfmt_installer. is_none ( ) {
15971604 contents = filter ( & contents, "rustfmt" ) ;
15981605 }
@@ -1633,6 +1640,9 @@ impl Step for Extended {
16331640 if clippy_installer. is_some ( ) {
16341641 prepare ( "clippy" ) ;
16351642 }
1643+ if miri_installer. is_some ( ) {
1644+ prepare ( "miri" ) ;
1645+ }
16361646
16371647 // create an 'uninstall' package
16381648 builder. install ( & etc. join ( "pkg/postinstall" ) , & pkg. join ( "uninstall" ) , 0o755 ) ;
@@ -1663,6 +1673,8 @@ impl Step for Extended {
16631673 "rls-preview" . to_string ( )
16641674 } else if name == "clippy" {
16651675 "clippy-preview" . to_string ( )
1676+ } else if name == "miri" {
1677+ "miri-preview" . to_string ( )
16661678 } else {
16671679 name. to_string ( )
16681680 } ;
@@ -1682,6 +1694,9 @@ impl Step for Extended {
16821694 if clippy_installer. is_some ( ) {
16831695 prepare ( "clippy" ) ;
16841696 }
1697+ if miri_installer. is_some ( ) {
1698+ prepare ( "miri" ) ;
1699+ }
16851700 if target. contains ( "windows-gnu" ) {
16861701 prepare ( "rust-mingw" ) ;
16871702 }
@@ -1774,6 +1789,18 @@ impl Step for Extended {
17741789 . arg ( "-out" ) . arg ( exe. join ( "ClippyGroup.wxs" ) )
17751790 . arg ( "-t" ) . arg ( etc. join ( "msi/remove-duplicates.xsl" ) ) ) ;
17761791 }
1792+ if miri_installer. is_some ( ) {
1793+ builder. run ( Command :: new ( & heat)
1794+ . current_dir ( & exe)
1795+ . arg ( "dir" )
1796+ . arg ( "miri" )
1797+ . args ( & heat_flags)
1798+ . arg ( "-cg" ) . arg ( "MiriGroup" )
1799+ . arg ( "-dr" ) . arg ( "Miri" )
1800+ . arg ( "-var" ) . arg ( "var.MiriDir" )
1801+ . arg ( "-out" ) . arg ( exe. join ( "MiriGroup.wxs" ) )
1802+ . arg ( "-t" ) . arg ( etc. join ( "msi/remove-duplicates.xsl" ) ) ) ;
1803+ }
17771804 builder. run ( Command :: new ( & heat)
17781805 . current_dir ( & exe)
17791806 . arg ( "dir" )
@@ -1819,6 +1846,9 @@ impl Step for Extended {
18191846 if clippy_installer. is_some ( ) {
18201847 cmd. arg ( "-dClippyDir=clippy" ) ;
18211848 }
1849+ if miri_installer. is_some ( ) {
1850+ cmd. arg ( "-dMiriDir=miri" ) ;
1851+ }
18221852 if target. contains ( "windows-gnu" ) {
18231853 cmd. arg ( "-dGccDir=rust-mingw" ) ;
18241854 }
@@ -1837,6 +1867,9 @@ impl Step for Extended {
18371867 if clippy_installer. is_some ( ) {
18381868 candle ( "ClippyGroup.wxs" . as_ref ( ) ) ;
18391869 }
1870+ if miri_installer. is_some ( ) {
1871+ candle ( "MiriGroup.wxs" . as_ref ( ) ) ;
1872+ }
18401873 candle ( "AnalysisGroup.wxs" . as_ref ( ) ) ;
18411874
18421875 if target. contains ( "windows-gnu" ) {
@@ -1869,6 +1902,9 @@ impl Step for Extended {
18691902 if clippy_installer. is_some ( ) {
18701903 cmd. arg ( "ClippyGroup.wixobj" ) ;
18711904 }
1905+ if miri_installer. is_some ( ) {
1906+ cmd. arg ( "MiriGroup.wixobj" ) ;
1907+ }
18721908
18731909 if target. contains ( "windows-gnu" ) {
18741910 cmd. arg ( "GccGroup.wixobj" ) ;
@@ -1954,6 +1990,7 @@ impl Step for HashSign {
19541990 cmd. arg ( builder. package_vers ( & builder. release_num ( "cargo" ) ) ) ;
19551991 cmd. arg ( builder. package_vers ( & builder. release_num ( "rls" ) ) ) ;
19561992 cmd. arg ( builder. package_vers ( & builder. release_num ( "clippy" ) ) ) ;
1993+ cmd. arg ( builder. package_vers ( & builder. release_num ( "miri" ) ) ) ;
19571994 cmd. arg ( builder. package_vers ( & builder. release_num ( "rustfmt" ) ) ) ;
19581995 cmd. arg ( builder. llvm_tools_package_vers ( ) ) ;
19591996 cmd. arg ( builder. lldb_package_vers ( ) ) ;
0 commit comments