Prepare Mono for Android NDK with unified headers (#5680)
authorMarek Habersack <grendel@twistedcode.net>
Tue, 3 Oct 2017 18:17:26 +0000 (20:17 +0200)
committerGitHub <noreply@github.com>
Tue, 3 Oct 2017 18:17:26 +0000 (20:17 +0200)
commitef7a4c06206976de7ef2e974267407347ddb75a4
tree5a86b9ae0d98cc09c0dcd640d1b07fcc03f54650
parent4f673eac7495cf6ce6520bcbf6901a4ba60e6bb5
Prepare Mono for Android NDK with unified headers (#5680)

Up until NDK release 14 Android SDK included a separate set of C header
files for each supported platform. NDK 14 introduced a new set of those
headers (they are NOT the same as the old ones) which unifies support
for all of the platforms so that bug fixes are available for all the
API levels without having to backport etc. With NDK 15 the unified headers
become the default ones (including when creating standalone toolchains)
and with NDK 16 (in beta currently) the old per-platform headers are removed.

Unfortunately, the new headers introduce breaking changes which made it
impossible to build Mono with NDK configured to use them. This commit makes
a handful of changes to Mono which make it build with unified headers.
16 files changed:
configure.ac
mono/metadata/w32socket-unix.c
mono/utils/mono-compiler.h
mono/utils/mono-complex.h
mono/utils/mono-threads-posix-signals.c
support/fcntl.c
support/libm/complex.h
support/libm/math_private.h
support/macros.c
support/mph.h
support/pwd.c
support/sys-mman.c
support/sys-sendfile.c
support/sys-stat.c
support/sys-statvfs.c
support/unistd.c