@@ -32,6 +32,8 @@ pub fn pkgname(builder: &Builder, component: &str) -> String {
3232 format ! ( "{}-{}" , component, builder. rls_package_vers( ) )
3333 } else if component == "clippy" {
3434 format ! ( "{}-{}" , component, builder. clippy_package_vers( ) )
35+ } else if component == "miri" {
36+ format ! ( "{}-{}" , component, builder. miri_package_vers( ) )
3537 } else if component == "rustfmt" {
3638 format ! ( "{}-{}" , component, builder. rustfmt_package_vers( ) )
3739 } else if component == "llvm-tools" {
@@ -1480,6 +1482,7 @@ impl Step for Extended {
14801482 let rls_installer = builder. ensure ( Rls { stage, target } ) ;
14811483 let llvm_tools_installer = builder. ensure ( LlvmTools { stage, target } ) ;
14821484 let clippy_installer = builder. ensure ( Clippy { stage, target } ) ;
1485+ let miri_installer = builder. ensure ( Miri { stage, target } ) ;
14831486 let lldb_installer = builder. ensure ( Lldb { target } ) ;
14841487 let mingw_installer = builder. ensure ( Mingw { host : target } ) ;
14851488 let analysis_installer = builder. ensure ( Analysis {
@@ -1518,6 +1521,7 @@ impl Step for Extended {
15181521 tarballs. push ( cargo_installer) ;
15191522 tarballs. extend ( rls_installer. clone ( ) ) ;
15201523 tarballs. extend ( clippy_installer. clone ( ) ) ;
1524+ tarballs. extend ( miri_installer. clone ( ) ) ;
15211525 tarballs. extend ( rustfmt_installer. clone ( ) ) ;
15221526 tarballs. extend ( llvm_tools_installer) ;
15231527 tarballs. extend ( lldb_installer) ;
@@ -1590,6 +1594,9 @@ impl Step for Extended {
15901594 if clippy_installer. is_none ( ) {
15911595 contents = filter ( & contents, "clippy" ) ;
15921596 }
1597+ if miri_installer. is_none ( ) {
1598+ contents = filter ( & contents, "miri" ) ;
1599+ }
15931600 if rustfmt_installer. is_none ( ) {
15941601 contents = filter ( & contents, "rustfmt" ) ;
15951602 }
@@ -1630,6 +1637,9 @@ impl Step for Extended {
16301637 if clippy_installer. is_some ( ) {
16311638 prepare ( "clippy" ) ;
16321639 }
1640+ if miri_installer. is_some ( ) {
1641+ prepare ( "miri" ) ;
1642+ }
16331643
16341644 // create an 'uninstall' package
16351645 builder. install ( & etc. join ( "pkg/postinstall" ) , & pkg. join ( "uninstall" ) , 0o755 ) ;
@@ -1660,6 +1670,8 @@ impl Step for Extended {
16601670 "rls-preview" . to_string ( )
16611671 } else if name == "clippy" {
16621672 "clippy-preview" . to_string ( )
1673+ } else if name == "miri" {
1674+ "miri-preview" . to_string ( )
16631675 } else {
16641676 name. to_string ( )
16651677 } ;
@@ -1679,6 +1691,9 @@ impl Step for Extended {
16791691 if clippy_installer. is_some ( ) {
16801692 prepare ( "clippy" ) ;
16811693 }
1694+ if miri_installer. is_some ( ) {
1695+ prepare ( "miri" ) ;
1696+ }
16821697 if target. contains ( "windows-gnu" ) {
16831698 prepare ( "rust-mingw" ) ;
16841699 }
@@ -1771,6 +1786,18 @@ impl Step for Extended {
17711786 . arg ( "-out" ) . arg ( exe. join ( "ClippyGroup.wxs" ) )
17721787 . arg ( "-t" ) . arg ( etc. join ( "msi/remove-duplicates.xsl" ) ) ) ;
17731788 }
1789+ if miri_installer. is_some ( ) {
1790+ builder. run ( Command :: new ( & heat)
1791+ . current_dir ( & exe)
1792+ . arg ( "dir" )
1793+ . arg ( "miri" )
1794+ . args ( & heat_flags)
1795+ . arg ( "-cg" ) . arg ( "MiriGroup" )
1796+ . arg ( "-dr" ) . arg ( "Miri" )
1797+ . arg ( "-var" ) . arg ( "var.MiriDir" )
1798+ . arg ( "-out" ) . arg ( exe. join ( "MiriGroup.wxs" ) )
1799+ . arg ( "-t" ) . arg ( etc. join ( "msi/remove-duplicates.xsl" ) ) ) ;
1800+ }
17741801 builder. run ( Command :: new ( & heat)
17751802 . current_dir ( & exe)
17761803 . arg ( "dir" )
@@ -1816,6 +1843,9 @@ impl Step for Extended {
18161843 if clippy_installer. is_some ( ) {
18171844 cmd. arg ( "-dClippyDir=clippy" ) ;
18181845 }
1846+ if miri_installer. is_some ( ) {
1847+ cmd. arg ( "-dMiriDir=miri" ) ;
1848+ }
18191849 if target. contains ( "windows-gnu" ) {
18201850 cmd. arg ( "-dGccDir=rust-mingw" ) ;
18211851 }
@@ -1834,6 +1864,9 @@ impl Step for Extended {
18341864 if clippy_installer. is_some ( ) {
18351865 candle ( "ClippyGroup.wxs" . as_ref ( ) ) ;
18361866 }
1867+ if miri_installer. is_some ( ) {
1868+ candle ( "MiriGroup.wxs" . as_ref ( ) ) ;
1869+ }
18371870 candle ( "AnalysisGroup.wxs" . as_ref ( ) ) ;
18381871
18391872 if target. contains ( "windows-gnu" ) {
@@ -1866,6 +1899,9 @@ impl Step for Extended {
18661899 if clippy_installer. is_some ( ) {
18671900 cmd. arg ( "ClippyGroup.wixobj" ) ;
18681901 }
1902+ if miri_installer. is_some ( ) {
1903+ cmd. arg ( "MiriGroup.wixobj" ) ;
1904+ }
18691905
18701906 if target. contains ( "windows-gnu" ) {
18711907 cmd. arg ( "GccGroup.wixobj" ) ;
@@ -1951,6 +1987,7 @@ impl Step for HashSign {
19511987 cmd. arg ( builder. package_vers ( & builder. release_num ( "cargo" ) ) ) ;
19521988 cmd. arg ( builder. package_vers ( & builder. release_num ( "rls" ) ) ) ;
19531989 cmd. arg ( builder. package_vers ( & builder. release_num ( "clippy" ) ) ) ;
1990+ cmd. arg ( builder. package_vers ( & builder. release_num ( "miri" ) ) ) ;
19541991 cmd. arg ( builder. package_vers ( & builder. release_num ( "rustfmt" ) ) ) ;
19551992 cmd. arg ( builder. llvm_tools_package_vers ( ) ) ;
19561993 cmd. arg ( builder. lldb_package_vers ( ) ) ;
0 commit comments