@@ -36,7 +36,9 @@ fn main() {
36
36
} else if windows {
37
37
cfg. define ( "_WIN32_WINNT" , Some ( "0x8000" ) ) ;
38
38
} else if solaris {
39
- cfg. define ( "_REENTRANT" , None ) ;
39
+ cfg. define ( "_XOPEN_SOURCE" , Some ( "700" ) ) ;
40
+ cfg. define ( "__EXTENSIONS__" , None ) ;
41
+ cfg. define ( "_LCONV_C99" , None ) ;
40
42
}
41
43
42
44
// Android doesn't actually have in_port_t but it's much easier if we
@@ -567,7 +569,7 @@ fn main() {
567
569
"getdtablesize" if android => true ,
568
570
569
571
"dlerror" if android => true , // const-ness is added
570
- "dladdr" if musl => true , // const-ness only added recently
572
+ "dladdr" if musl || solaris => true , // const-ness only added recently
571
573
572
574
// OSX has 'struct tm *const' which we can't actually represent in
573
575
// Rust, but is close enough to *mut
@@ -653,7 +655,7 @@ fn main() {
653
655
// We can wait for the next major release to be compliant with the new API.
654
656
// FIXME: unskip these for next major release
655
657
"strerror_r" | "madvise" | "msync" | "mprotect" | "recvfrom" | "getpriority" |
656
- "setpriority" | "personality" if android => true ,
658
+ "setpriority" | "personality" if android || solaris => true ,
657
659
// In Android 64 bits, these functions have been fixed since unified headers.
658
660
// Ignore these until next major version.
659
661
"bind" | "writev" | "readv" | "sendmsg" | "recvmsg" if android && ( aarch64 || x86_64) => true ,
@@ -663,6 +665,9 @@ fn main() {
663
665
664
666
"cfmakeraw" | "cfsetspeed" if solaris => true ,
665
667
668
+ // FIXME: mincore is defined with caddr_t on Solaris.
669
+ "mincore" if solaris => true ,
670
+
666
671
_ => false ,
667
672
}
668
673
} ) ;
0 commit comments