diff options
author | Calvin Buckley <calvin@cmpct.info> | 2019-07-31 15:23:48 +0300 |
---|---|---|
committer | Alexander Köplinger <alex.koeplinger@outlook.com> | 2019-07-31 15:23:48 +0300 |
commit | 1059b3e6f59ef92ccba55092fa410e59fdae091f (patch) | |
tree | fd07743bb3bca7ee2f5675b6fd2d976e3ad84860 /configure.ac | |
parent | f86d46d136f2b09f85f005a5a0469db69fafa00d (diff) |
Update Haiku support (#15674)
* Build System.Native.
* Disable `pthread_mutexattr_setprotocol` use, since it returns EINVAL on Haiku.
* Disable the `strerror` cache on Haiku. On Haiku, errors begin at `0x8000_0000` like a Win32 HRESULT. This means the indexing would be on negative numbers, which is a no-no. There are a few alternative ways to keep it though: hashtable, tuple array, offset...
Unfortunately, doesn't build all the way through. Has a tendency to bomb out during building `build-unix`. Will investigate why.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index e1924b794a4..4bfba8a78fd 100644 --- a/configure.ac +++ b/configure.ac @@ -6466,6 +6466,22 @@ elif case $host_os in freebsd*) true;; *) false;; esac; then AC_MSG_RESULT(freebsd) MONO_NATIVE_PLATFORM_TYPE="MONO_NATIVE_PLATFORM_TYPE_FREEBSD" +elif case $host_os in haiku*) true;; *) false;; esac; then + mono_native_text="Haiku" + MONO_NATIVE_CC=$CC + MONO_NATIVE_CXX=$CXX + MONO_NATIVE_CPPFLAGS=$CPPFLAGS + MONO_NATIVE_CXXFLAGS=$CXXFLAGS + MONO_NATIVE_CFLAGS=$CFLAGS + MONO_NATIVE_LDFLAGS=$LDFLAGS + + mono_native=yes + mono_native_compat=no + MONO_NATIVE_PLATFORM=haiku + AC_MSG_CHECKING([Mono.Native support]) + AC_MSG_RESULT(haiku) + + MONO_NATIVE_PLATFORM_TYPE="MONO_NATIVE_PLATFORM_TYPE_HAIKU" elif test x$platform_android = xyes; then mono_native_text="Android" MONO_NATIVE_CC=$CC @@ -6523,6 +6539,7 @@ AM_CONDITIONAL(MONO_NATIVE_PLATFORM_LINUX, test x$MONO_NATIVE_PLATFORM = xlinux) AM_CONDITIONAL(MONO_NATIVE_PLATFORM_AIX, test x$MONO_NATIVE_PLATFORM = xaix) AM_CONDITIONAL(MONO_NATIVE_PLATFORM_ANDROID, test x$MONO_NATIVE_PLATFORM = xandroid) AM_CONDITIONAL(MONO_NATIVE_PLATFORM_FREEBSD, test x$MONO_NATIVE_PLATFORM = xfreebsd) +AM_CONDITIONAL(MONO_NATIVE_PLATFORM_HAIKU, test x$MONO_NATIVE_PLATFORM = xhaiku) MONO_NATIVE_PLATFORM_TYPE_COMPAT="$MONO_NATIVE_PLATFORM_TYPE | MONO_NATIVE_PLATFORM_TYPE_COMPAT" MONO_NATIVE_PLATFORM_TYPE_UNIFIED="$MONO_NATIVE_PLATFORM_TYPE | MONO_NATIVE_PLATFORM_TYPE_UNIFIED" |