@@ -179,7 +179,6 @@ fn main() {
179
179
cfg. header ( "sys/shm.h" ) ;
180
180
cfg. header ( "sys/user.h" ) ;
181
181
cfg. header ( "sys/fsuid.h" ) ;
182
- cfg. header ( "pty.h" ) ;
183
182
cfg. header ( "shadow.h" ) ;
184
183
cfg. header ( "linux/input.h" ) ;
185
184
if x86_64 {
@@ -200,6 +199,7 @@ fn main() {
200
199
cfg. header ( "sys/syscall.h" ) ;
201
200
cfg. header ( "sys/personality.h" ) ;
202
201
cfg. header ( "sys/swap.h" ) ;
202
+ cfg. header ( "pty.h" ) ;
203
203
if !uclibc {
204
204
cfg. header ( "sys/sysinfo.h" ) ;
205
205
}
@@ -337,6 +337,11 @@ fn main() {
337
337
// definition. Because it's tested on other Linux targets, skip it.
338
338
"input_mask" if musl => true ,
339
339
340
+ // These structs have changed since unified headers in NDK r14b.
341
+ // `st_atime` and `st_atime_nsec` have changed sign.
342
+ // FIXME: unskip it for next major release
343
+ "stat" | "stat64" if android => true ,
344
+
340
345
_ => false
341
346
}
342
347
} ) ;
@@ -534,6 +539,16 @@ fn main() {
534
539
// On Mac we don't use the default `close()`, instead using their $NOCANCEL variants.
535
540
"close" if apple => true ,
536
541
542
+ // Definition of those functions as changed since unified headers from NDK r14b
543
+ // These changes imply some API breaking changes but are still ABI compatible.
544
+ // We can wait for the next major release to be compliant with the new API.
545
+ // FIXME: unskip these for next major release
546
+ "strerror_r" | "madvise" | "msync" | "mprotect" | "recvfrom" | "getpriority" |
547
+ "setpriority" | "personality" if android => true ,
548
+ // In Android 64 bits, these functions have been fixed since unified headers.
549
+ // Ignore these until next major version.
550
+ "bind" | "writev" | "readv" | "sendmsg" | "recvmsg" if android && ( aarch64 || x86_64) => true ,
551
+
537
552
_ => false ,
538
553
}
539
554
} ) ;
0 commit comments