@@ -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" {
@@ -1472,6 +1474,7 @@ impl Step for Extended {
14721474 let rls_installer = builder. ensure ( Rls { stage, target } ) ;
14731475 let llvm_tools_installer = builder. ensure ( LlvmTools { stage, target } ) ;
14741476 let clippy_installer = builder. ensure ( Clippy { stage, target } ) ;
1477+ let miri_installer = builder. ensure ( Miri { stage, target } ) ;
14751478 let lldb_installer = builder. ensure ( Lldb { target } ) ;
14761479 let mingw_installer = builder. ensure ( Mingw { host : target } ) ;
14771480 let analysis_installer = builder. ensure ( Analysis {
@@ -1510,6 +1513,7 @@ impl Step for Extended {
15101513 tarballs. push ( cargo_installer) ;
15111514 tarballs. extend ( rls_installer. clone ( ) ) ;
15121515 tarballs. extend ( clippy_installer. clone ( ) ) ;
1516+ tarballs. extend ( miri_installer. clone ( ) ) ;
15131517 tarballs. extend ( rustfmt_installer. clone ( ) ) ;
15141518 tarballs. extend ( llvm_tools_installer) ;
15151519 tarballs. extend ( lldb_installer) ;
@@ -1582,6 +1586,9 @@ impl Step for Extended {
15821586 if clippy_installer. is_none ( ) {
15831587 contents = filter ( & contents, "clippy" ) ;
15841588 }
1589+ if miri_installer. is_none ( ) {
1590+ contents = filter ( & contents, "miri" ) ;
1591+ }
15851592 if rustfmt_installer. is_none ( ) {
15861593 contents = filter ( & contents, "rustfmt" ) ;
15871594 }
@@ -1622,6 +1629,9 @@ impl Step for Extended {
16221629 if clippy_installer. is_some ( ) {
16231630 prepare ( "clippy" ) ;
16241631 }
1632+ if miri_installer. is_some ( ) {
1633+ prepare ( "miri" ) ;
1634+ }
16251635
16261636 // create an 'uninstall' package
16271637 builder. install ( & etc. join ( "pkg/postinstall" ) , & pkg. join ( "uninstall" ) , 0o755 ) ;
@@ -1652,6 +1662,8 @@ impl Step for Extended {
16521662 "rls-preview" . to_string ( )
16531663 } else if name == "clippy" {
16541664 "clippy-preview" . to_string ( )
1665+ } else if name == "miri" {
1666+ "miri-preview" . to_string ( )
16551667 } else {
16561668 name. to_string ( )
16571669 } ;
@@ -1671,6 +1683,9 @@ impl Step for Extended {
16711683 if clippy_installer. is_some ( ) {
16721684 prepare ( "clippy" ) ;
16731685 }
1686+ if miri_installer. is_some ( ) {
1687+ prepare ( "miri" ) ;
1688+ }
16741689 if target. contains ( "windows-gnu" ) {
16751690 prepare ( "rust-mingw" ) ;
16761691 }
@@ -1763,6 +1778,18 @@ impl Step for Extended {
17631778 . arg ( "-out" ) . arg ( exe. join ( "ClippyGroup.wxs" ) )
17641779 . arg ( "-t" ) . arg ( etc. join ( "msi/remove-duplicates.xsl" ) ) ) ;
17651780 }
1781+ if miri_installer. is_some ( ) {
1782+ builder. run ( Command :: new ( & heat)
1783+ . current_dir ( & exe)
1784+ . arg ( "dir" )
1785+ . arg ( "miri" )
1786+ . args ( & heat_flags)
1787+ . arg ( "-cg" ) . arg ( "MiriGroup" )
1788+ . arg ( "-dr" ) . arg ( "Miri" )
1789+ . arg ( "-var" ) . arg ( "var.MiriDir" )
1790+ . arg ( "-out" ) . arg ( exe. join ( "MiriGroup.wxs" ) )
1791+ . arg ( "-t" ) . arg ( etc. join ( "msi/remove-duplicates.xsl" ) ) ) ;
1792+ }
17661793 builder. run ( Command :: new ( & heat)
17671794 . current_dir ( & exe)
17681795 . arg ( "dir" )
@@ -1808,6 +1835,9 @@ impl Step for Extended {
18081835 if clippy_installer. is_some ( ) {
18091836 cmd. arg ( "-dClippyDir=clippy" ) ;
18101837 }
1838+ if miri_installer. is_some ( ) {
1839+ cmd. arg ( "-dMiriDir=miri" ) ;
1840+ }
18111841 if target. contains ( "windows-gnu" ) {
18121842 cmd. arg ( "-dGccDir=rust-mingw" ) ;
18131843 }
@@ -1826,6 +1856,9 @@ impl Step for Extended {
18261856 if clippy_installer. is_some ( ) {
18271857 candle ( "ClippyGroup.wxs" . as_ref ( ) ) ;
18281858 }
1859+ if miri_installer. is_some ( ) {
1860+ candle ( "MiriGroup.wxs" . as_ref ( ) ) ;
1861+ }
18291862 candle ( "AnalysisGroup.wxs" . as_ref ( ) ) ;
18301863
18311864 if target. contains ( "windows-gnu" ) {
@@ -1858,6 +1891,9 @@ impl Step for Extended {
18581891 if clippy_installer. is_some ( ) {
18591892 cmd. arg ( "ClippyGroup.wixobj" ) ;
18601893 }
1894+ if miri_installer. is_some ( ) {
1895+ cmd. arg ( "MiriGroup.wixobj" ) ;
1896+ }
18611897
18621898 if target. contains ( "windows-gnu" ) {
18631899 cmd. arg ( "GccGroup.wixobj" ) ;
@@ -1943,6 +1979,7 @@ impl Step for HashSign {
19431979 cmd. arg ( builder. package_vers ( & builder. release_num ( "cargo" ) ) ) ;
19441980 cmd. arg ( builder. package_vers ( & builder. release_num ( "rls" ) ) ) ;
19451981 cmd. arg ( builder. package_vers ( & builder. release_num ( "clippy" ) ) ) ;
1982+ cmd. arg ( builder. package_vers ( & builder. release_num ( "miri" ) ) ) ;
19461983 cmd. arg ( builder. package_vers ( & builder. release_num ( "rustfmt" ) ) ) ;
19471984 cmd. arg ( builder. llvm_tools_package_vers ( ) ) ;
19481985 cmd. arg ( builder. lldb_package_vers ( ) ) ;
0 commit comments