@@ -345,7 +345,7 @@ pub fn compile<T: AsRef<Path>,
345345 P : Into < ArgumentBundle < Ms , Mi , Is , Ii > > > (
346346 resource_file : T , parameters : P )
347347 -> CompilationResult {
348- let ( prefix, out_dir, out_file) = try_compile_impl ! ( compile_impl( resource_file. as_ref( ) , parameters. into( ) . macros ) ) ;
348+ let ( prefix, out_dir, out_file) = try_compile_impl ! ( compile_impl( resource_file. as_ref( ) , parameters. into( ) ) ) ;
349349 let hasbins = fs:: read_to_string ( "Cargo.toml" )
350350 . unwrap_or_else ( |err| {
351351 eprintln ! ( "Couldn't read Cargo.toml: {}; assuming src/main.rs or S_ISDIR(src/bin/)" , err) ;
@@ -395,7 +395,7 @@ pub fn compile_for<T: AsRef<Path>,
395395 P : Into < ArgumentBundle < Ms , Mi , Is , Ii > > > (
396396 resource_file : T , for_bins : I , parameters : P )
397397 -> CompilationResult {
398- let ( _, _, out_file) = try_compile_impl ! ( compile_impl( resource_file. as_ref( ) , parameters. into( ) . macros ) ) ;
398+ let ( _, _, out_file) = try_compile_impl ! ( compile_impl( resource_file. as_ref( ) , parameters. into( ) ) ) ;
399399 for bin in for_bins {
400400 println ! ( "cargo:rustc-link-arg-bin={}={}" , bin, out_file) ;
401401 }
@@ -414,7 +414,7 @@ pub fn compile_for_tests<T: AsRef<Path>,
414414 P : Into < ArgumentBundle < Ms , Mi , Is , Ii > > > (
415415 resource_file : T , parameters : P )
416416 -> CompilationResult {
417- let ( _, _, out_file) = try_compile_impl ! ( compile_impl( resource_file. as_ref( ) , parameters. into( ) . macros ) ) ;
417+ let ( _, _, out_file) = try_compile_impl ! ( compile_impl( resource_file. as_ref( ) , parameters. into( ) ) ) ;
418418 println ! ( "cargo:rustc-link-arg-tests={}" , out_file) ;
419419 CompilationResult :: Ok
420420}
@@ -430,7 +430,7 @@ pub fn compile_for_benchmarks<T: AsRef<Path>,
430430 P : Into < ArgumentBundle < Ms , Mi , Is , Ii > > > (
431431 resource_file : T , parameters : P )
432432 -> CompilationResult {
433- let ( _, _, out_file) = try_compile_impl ! ( compile_impl( resource_file. as_ref( ) , parameters. into( ) . macros ) ) ;
433+ let ( _, _, out_file) = try_compile_impl ! ( compile_impl( resource_file. as_ref( ) , parameters. into( ) ) ) ;
434434 println ! ( "cargo:rustc-link-arg-benches={}" , out_file) ;
435435 CompilationResult :: Ok
436436}
@@ -446,7 +446,7 @@ pub fn compile_for_examples<T: AsRef<Path>,
446446 P : Into < ArgumentBundle < Ms , Mi , Is , Ii > > > (
447447 resource_file : T , parameters : P )
448448 -> CompilationResult {
449- let ( _, _, out_file) = try_compile_impl ! ( compile_impl( resource_file. as_ref( ) , parameters. into( ) . macros ) ) ;
449+ let ( _, _, out_file) = try_compile_impl ! ( compile_impl( resource_file. as_ref( ) , parameters. into( ) ) ) ;
450450 println ! ( "cargo:rustc-link-arg-examples={}" , out_file) ;
451451 CompilationResult :: Ok
452452}
@@ -463,7 +463,7 @@ pub fn compile_for_everything<T: AsRef<Path>,
463463 P : Into < ArgumentBundle < Ms , Mi , Is , Ii > > > (
464464 resource_file : T , parameters : P )
465465 -> CompilationResult {
466- let ( _, _, out_file) = try_compile_impl ! ( compile_impl( resource_file. as_ref( ) , parameters. into( ) . macros ) ) ;
466+ let ( _, _, out_file) = try_compile_impl ! ( compile_impl( resource_file. as_ref( ) , parameters. into( ) ) ) ;
467467 println ! ( "cargo:rustc-link-arg={}" , out_file) ;
468468 CompilationResult :: Ok
469469}
@@ -482,18 +482,24 @@ fn compile_impl<Ms: AsRef<OsStr>, Mi: IntoIterator<Item = Ms>, Is: AsRef<OsStr>,
482482 let prefix = & resource_file. file_stem ( ) . expect ( "resource_file has no stem" ) . to_str ( ) . expect ( "resource_file's stem not UTF-8" ) ;
483483 let out_dir = env:: var ( "OUT_DIR" ) . expect ( "No OUT_DIR env var" ) ;
484484
485- let out_file = comp. compile_resource ( & out_dir,
486- & prefix,
487- resource_file. to_str ( ) . expect ( "resource_file not UTF-8" ) ,
488- parameters. into ( ) . macros )
485+ let out_file = comp. compile_resource ( & out_dir, & prefix, resource_file. to_str ( ) . expect ( "resource_file not UTF-8" ) , parameters. into ( ) )
489486 . map_err ( CompilationResult :: Failed ) ?;
490487 Ok ( ( prefix, out_dir, out_file) )
491488 }
492489}
493490
494- fn apply_macros < ' t , Ms : AsRef < OsStr > , Mi : IntoIterator < Item = Ms > > ( to : & ' t mut Command , pref : & str , macros : Mi ) -> & ' t mut Command {
495- for m in macros {
496- to. arg ( pref) . arg ( m) ;
491+ fn apply_parameters < ' t , Ms : AsRef < OsStr > , Mi : IntoIterator < Item = Ms > , Is : AsRef < OsStr > , Ii : IntoIterator < Item = Is > > ( to : & ' t mut Command , macro_pref : & str ,
492+ include_dir_pref : & str ,
493+ parameters : ArgumentBundle < Ms ,
494+ Mi ,
495+ Is ,
496+ Ii > )
497+ -> & ' t mut Command {
498+ for m in parameters. macros {
499+ to. arg ( macro_pref) . arg ( m) ;
500+ }
501+ for id in parameters. include_dirs {
502+ to. arg ( include_dir_pref) . arg ( id) ;
497503 }
498504 to
499505}
0 commit comments