@@ -25,51 +25,55 @@ use dist::{sanitize_sh, tmpdir};
2525pub fn install ( build : & Build , stage : u32 , host : & str ) {
2626 let prefix_default = PathBuf :: from ( "/usr/local" ) ;
2727 let docdir_default = PathBuf :: from ( "share/doc/rust" ) ;
28- let mandir_default = PathBuf :: from ( "share/man " ) ;
28+ let bindir_default = PathBuf :: from ( "bin " ) ;
2929 let libdir_default = PathBuf :: from ( "lib" ) ;
30+ let mandir_default = PathBuf :: from ( "share/man" ) ;
3031 let prefix = build. config . prefix . as_ref ( ) . unwrap_or ( & prefix_default) ;
3132 let docdir = build. config . docdir . as_ref ( ) . unwrap_or ( & docdir_default) ;
33+ let bindir = build. config . bindir . as_ref ( ) . unwrap_or ( & bindir_default) ;
3234 let libdir = build. config . libdir . as_ref ( ) . unwrap_or ( & libdir_default) ;
3335 let mandir = build. config . mandir . as_ref ( ) . unwrap_or ( & mandir_default) ;
3436
3537 let docdir = prefix. join ( docdir) ;
38+ let bindir = prefix. join ( bindir) ;
3639 let libdir = prefix. join ( libdir) ;
3740 let mandir = prefix. join ( mandir) ;
3841
3942 let destdir = env:: var_os ( "DESTDIR" ) . map ( PathBuf :: from) ;
4043
4144 let prefix = add_destdir ( & prefix, & destdir) ;
4245 let docdir = add_destdir ( & docdir, & destdir) ;
46+ let bindir = add_destdir ( & bindir, & destdir) ;
4347 let libdir = add_destdir ( & libdir, & destdir) ;
4448 let mandir = add_destdir ( & mandir, & destdir) ;
4549
4650 let empty_dir = build. out . join ( "tmp/empty_dir" ) ;
4751 t ! ( fs:: create_dir_all( & empty_dir) ) ;
4852 if build. config . docs {
4953 install_sh ( & build, "docs" , "rust-docs" , & build. rust_package_vers ( ) ,
50- stage, host, & prefix, & docdir, & libdir, & mandir, & empty_dir) ;
54+ stage, host, & prefix, & docdir, & bindir , & libdir, & mandir, & empty_dir) ;
5155 }
5256
5357 for target in build. config . target . iter ( ) {
5458 install_sh ( & build, "std" , "rust-std" , & build. rust_package_vers ( ) ,
55- stage, target, & prefix, & docdir, & libdir, & mandir, & empty_dir) ;
59+ stage, target, & prefix, & docdir, & bindir , & libdir, & mandir, & empty_dir) ;
5660 }
5761
5862 if build. config . extended {
5963 install_sh ( & build, "cargo" , "cargo" , & build. cargo_package_vers ( ) ,
60- stage, host, & prefix, & docdir, & libdir, & mandir, & empty_dir) ;
64+ stage, host, & prefix, & docdir, & bindir , & libdir, & mandir, & empty_dir) ;
6165 install_sh ( & build, "rls" , "rls" , & build. rls_package_vers ( ) ,
62- stage, host, & prefix, & docdir, & libdir, & mandir, & empty_dir) ;
66+ stage, host, & prefix, & docdir, & bindir , & libdir, & mandir, & empty_dir) ;
6367 }
6468
6569 install_sh ( & build, "rustc" , "rustc" , & build. rust_package_vers ( ) ,
66- stage, host, & prefix, & docdir, & libdir, & mandir, & empty_dir) ;
70+ stage, host, & prefix, & docdir, & bindir , & libdir, & mandir, & empty_dir) ;
6771
6872 t ! ( fs:: remove_dir_all( & empty_dir) ) ;
6973}
7074
7175fn install_sh ( build : & Build , package : & str , name : & str , version : & str , stage : u32 , host : & str ,
72- prefix : & Path , docdir : & Path , libdir : & Path , mandir : & Path , empty_dir : & Path ) {
76+ prefix : & Path , docdir : & Path , bindir : & Path , libdir : & Path , mandir : & Path , empty_dir : & Path ) {
7377 println ! ( "Install {} stage{} ({})" , package, stage, host) ;
7478 let package_name = format ! ( "{}-{}-{}" , name, version, host) ;
7579
@@ -78,6 +82,7 @@ fn install_sh(build: &Build, package: &str, name: &str, version: &str, stage: u3
7882 . arg ( sanitize_sh ( & tmpdir ( build) . join ( & package_name) . join ( "install.sh" ) ) )
7983 . arg ( format ! ( "--prefix={}" , sanitize_sh( prefix) ) )
8084 . arg ( format ! ( "--docdir={}" , sanitize_sh( docdir) ) )
85+ . arg ( format ! ( "--bindir={}" , sanitize_sh( bindir) ) )
8186 . arg ( format ! ( "--libdir={}" , sanitize_sh( libdir) ) )
8287 . arg ( format ! ( "--mandir={}" , sanitize_sh( mandir) ) )
8388 . arg ( "--disable-ldconfig" ) ;
0 commit comments