From 8794e8463a1295431d74c81b508e0f65e09a54a1 Mon Sep 17 00:00:00 2001 From: coypoop Date: Tue, 6 Aug 2019 18:32:38 +0000 Subject: [PATCH] Update NetBSD support (mono/mono#15938) Based on the FreeBSD variation. Needs some additional changes I'm still ironing out. Commit migrated from https://github.com/mono/mono/commit/5a4283d1b3d0dc4dacac97cd56326179324fde78 --- src/mono/configure.ac | 17 +++++++++++++++++ src/mono/mono/native/Makefile.am | 8 +++++++- src/mono/mono/native/mono-native-platform.h | 1 + 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/mono/configure.ac b/src/mono/configure.ac index 3e5ae1b..4e6dcf3 100644 --- a/src/mono/configure.ac +++ b/src/mono/configure.ac @@ -6468,6 +6468,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 netbsd*) true;; *) false;; esac; then + mono_native_text="NetBSD" + 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=netbsd + AC_MSG_CHECKING([Mono.Native support]) + AC_MSG_RESULT(netbsd) + + MONO_NATIVE_PLATFORM_TYPE="MONO_NATIVE_PLATFORM_TYPE_NETBSD" elif case $host_os in haiku*) true;; *) false;; esac; then mono_native_text="Haiku" MONO_NATIVE_CC=$CC @@ -6541,6 +6557,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_NETBSD, test x$MONO_NATIVE_PLATFORM = xnetbsd) 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" diff --git a/src/mono/mono/native/Makefile.am b/src/mono/mono/native/Makefile.am index 2736f08..707ea14 100644 --- a/src/mono/mono/native/Makefile.am +++ b/src/mono/mono/native/Makefile.am @@ -73,6 +73,8 @@ aix_sources = $(unix_sources) freebsd_sources = $(unix_sources) +netbsd_sources = $(unix_sources) + haiku_sources = $(unix_sources) android_sources = \ @@ -112,7 +114,7 @@ macos_sources += $(gss_sources) ios_sources += $(gss_sources) endif -EXTRA_libmono_native_la_SOURCES = $(common_sources) $(macos_sources) $(ios_sources) $(linux_sources) $(aix_sources) $(freebsd_sources) $(haiku_sources) $(unix_sources) $(gss_sources) +EXTRA_libmono_native_la_SOURCES = $(common_sources) $(macos_sources) $(ios_sources) $(linux_sources) $(aix_sources) $(freebsd_sources) $(netbsd_sources) $(haiku_sources) $(unix_sources) $(gss_sources) if MONO_NATIVE_PLATFORM_MACOS platform_sources = $(macos_sources) @@ -132,6 +134,9 @@ else if MONO_NATIVE_PLATFORM_FREEBSD platform_sources = $(freebsd_sources) else +if MONO_NATIVE_PLATFORM_NETBSD +platform_sources = $(netbsd_sources) +else if MONO_NATIVE_PLATFORM_HAIKU platform_sources = $(haiku_sources) endif @@ -141,6 +146,7 @@ endif endif endif endif +endif common_cppflags = -I$(top_srcdir) -I$(top_srcdir)/mono diff --git a/src/mono/mono/native/mono-native-platform.h b/src/mono/mono/native/mono-native-platform.h index 88fca70..c9575da 100644 --- a/src/mono/mono/native/mono-native-platform.h +++ b/src/mono/mono/native/mono-native-platform.h @@ -13,6 +13,7 @@ typedef enum { MONO_NATIVE_PLATFORM_TYPE_ANDROID = 5, MONO_NATIVE_PLATFORM_TYPE_FREEBSD = 6, MONO_NATIVE_PLATFORM_TYPE_HAIKU = 7, + MONO_NATIVE_PLATFORM_TYPE_NETBSD = 8, MONO_NATIVE_PLATFORM_TYPE_IPHONE = 0x100, MONO_NATIVE_PLATFORM_TYPE_TV = 0x200, -- 2.7.4