Get support libraries compiling
authorCalvin <calvin@openmailbox.org>
Mon, 13 Feb 2017 01:56:09 +0000 (21:56 -0400)
committerCalvin <calvin@openmailbox.org>
Mon, 27 Feb 2017 15:27:47 +0000 (11:27 -0400)
These return no-ops, but its enough to make it happy

support/serial.c
support/sys-mman.c
support/sys-time.c

index ec02e48b5e8bd37a30601aa90c5332e9bcfecba1..5e3d732c005170bbcd4052841fad7dc3b27b342c 100644 (file)
@@ -175,6 +175,11 @@ discard_buffer (int fd, gboolean input)
 gint32
 get_bytes_in_buffer (int fd, gboolean input)
 {
+#if defined(__HAIKU__)
+       /* FIXME: Haiku doesn't support TIOCOUTQ nor FIONREAD on fds */
+       return -1;
+#define TIOCOUTQ 0
+#endif
        gint32 retval;
 
        if (ioctl (fd, input ? FIONREAD : TIOCOUTQ, &retval) == -1) {
index 1dd61bc372b5343cce83bf8a677c190aca969a05..08c1fea9fd35c56e309a0a19554c50ea7835a9a5 100644 (file)
@@ -88,17 +88,26 @@ Mono_Posix_Syscall_msync (void *start, mph_size_t len, int flags)
 int
 Mono_Posix_Syscall_mlock (void *start, mph_size_t len)
 {
+/* FIXME: Haiku lacks support for m(un)lock and mincore */
+#if defined(__HAIKU__)
+       return ENOSYS;
+#else
        mph_return_if_size_t_overflow (len);
 
        return mlock (start, (size_t) len);
+#endif
 }
 
 int
 Mono_Posix_Syscall_munlock (void *start, mph_size_t len)
 {
+#if defined(__HAIKU__)
+       return ENOSYS;
+#else
        mph_return_if_size_t_overflow (len);
 
        return munlock (start, (size_t) len);
+#endif
 }
 
 #ifdef HAVE_MREMAP
@@ -129,9 +138,13 @@ Mono_Posix_Syscall_mremap (void *old_address, mph_size_t old_size,
 int
 Mono_Posix_Syscall_mincore (void *start, mph_size_t length, unsigned char *vec)
 {
+#if defined(__HAIKU__)
+       return ENOSYS;
+#else
        mph_return_if_size_t_overflow (length);
 
        return mincore (start, (size_t) length, (void*)vec);
+#endif
 }
 
 #ifdef HAVE_POSIX_MADVISE
index a1c0ba0b184ee7326e5788adb0371215b5703109..83afa0c8466b65f1a565d529cd01af9a7a728510 100644 (file)
@@ -47,6 +47,11 @@ Mono_Posix_Syscall_settimeofday (
        struct Mono_Posix_Timeval *tv,
        struct Mono_Posix_Timezone *tz)
 {
+#if defined(__HAIKU__)
+       /* FIXME: Haiku doesn't support this either, consider
+           using set_real_time_clock instead? */
+       return -1;
+#else
        struct timeval _tv   = {0};
        struct timeval *ptv  = NULL;
        struct timezone _tz  = {0};
@@ -67,6 +72,7 @@ Mono_Posix_Syscall_settimeofday (
        r = settimeofday (ptv, ptz);
 
        return r;
+#endif
 }
 
 static inline struct timeval*