@@ -84,7 +84,7 @@ fn main() {
84
84
mod c {
85
85
extern crate cc;
86
86
87
- use std:: collections:: BTreeMap ;
87
+ use std:: collections:: { BTreeMap , HashSet } ;
88
88
use std:: env;
89
89
use std:: path:: { Path , PathBuf } ;
90
90
@@ -419,23 +419,18 @@ mod c {
419
419
( "__floatunsitf" , "floatunsitf.c" ) ,
420
420
( "__trunctfdf2" , "trunctfdf2.c" ) ,
421
421
( "__trunctfsf2" , "trunctfsf2.c" ) ,
422
+ ( "__addtf3" , "addtf3.c" ) ,
423
+ ( "__multf3" , "multf3.c" ) ,
424
+ ( "__subtf3" , "subtf3.c" ) ,
425
+ ( "__divtf3" , "divtf3.c" ) ,
426
+ ( "__powitf2" , "powitf2.c" ) ,
427
+ ( "__fe_getround" , "fp_mode.c" ) ,
428
+ ( "__fe_raise_inexact" , "fp_mode.c" ) ,
422
429
] ) ;
423
430
424
431
if target_os != "windows" {
425
432
sources. extend ( & [ ( "__multc3" , "multc3.c" ) ] ) ;
426
433
}
427
-
428
- if target_env == "musl" {
429
- sources. extend ( & [
430
- ( "__addtf3" , "addtf3.c" ) ,
431
- ( "__multf3" , "multf3.c" ) ,
432
- ( "__subtf3" , "subtf3.c" ) ,
433
- ( "__divtf3" , "divtf3.c" ) ,
434
- ( "__powitf2" , "powitf2.c" ) ,
435
- ( "__fe_getround" , "fp_mode.c" ) ,
436
- ( "__fe_raise_inexact" , "fp_mode.c" ) ,
437
- ] ) ;
438
- }
439
434
}
440
435
441
436
if target_arch == "mips" {
@@ -505,10 +500,13 @@ mod c {
505
500
sources. extend ( & [ ( "__aarch64_have_lse_atomics" , "cpu_model.c" ) ] ) ;
506
501
}
507
502
503
+ let mut added_sources = HashSet :: new ( ) ;
508
504
for ( sym, src) in sources. map . iter ( ) {
509
505
let src = src_dir. join ( src) ;
510
- cfg. file ( & src) ;
511
- println ! ( "cargo:rerun-if-changed={}" , src. display( ) ) ;
506
+ if added_sources. insert ( src. clone ( ) ) {
507
+ cfg. file ( & src) ;
508
+ println ! ( "cargo:rerun-if-changed={}" , src. display( ) ) ;
509
+ }
512
510
println ! ( "cargo:rustc-cfg={}=\" optimized-c\" " , sym) ;
513
511
}
514
512
0 commit comments