Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCalvin Buckley <calvin@cmpct.info>2019-07-31 15:23:48 +0300
committerAlexander Köplinger <alex.koeplinger@outlook.com>2019-07-31 15:23:48 +0300
commit1059b3e6f59ef92ccba55092fa410e59fdae091f (patch)
treefd07743bb3bca7ee2f5675b6fd2d976e3ad84860 /configure.ac
parentf86d46d136f2b09f85f005a5a0469db69fafa00d (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.ac17
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"