[MLton-devel] cvs commit: NetBSD port
Stephen Weeks
sweeks@users.sourceforge.net
Sun, 17 Aug 2003 23:19:53 -0700
sweeks 03/08/17 23:19:53
Modified: basis-library/misc primitive.sml
basis-library/mlton platform.sig
basis-library/sml-nj sml-nj.sml
bin host-os
lib/mlton-stubs mlton.sml platform.sig
mlton/codegen/x86-codegen x86-codegen.fun
x86-mlton-basic.fun
mlton/control control.sml
mlton/main main.sml
runtime IntInf.h basis-constants.h gc.c mlton-basis.h
my-lib.c posix-constants.h
runtime/Posix/FileSys open.c
runtime/Posix/ProcEnv setenv.c
runtime/Posix/Signal Signal.c
Log:
Jesper's changes (with a couple of mods) to port MLton to NetBSD. I
haven't tested anything yet.
Revision Changes Path
1.71 +3 -2 mlton/basis-library/misc/primitive.sml
Index: primitive.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/misc/primitive.sml,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -r1.70 -r1.71
--- primitive.sml 26 Jul 2003 20:16:01 -0000 1.70
+++ primitive.sml 18 Aug 2003 06:19:50 -0000 1.71
@@ -522,14 +522,15 @@
| 1 => X86
| _ => raise Fail "strange MLton_Platform_arch"
- datatype os = Cygwin | FreeBSD | Linux | SunOS
+ datatype os = Cygwin | FreeBSD | Linux | NetBSD | SunOS
val os: os =
case _const "MLton_Platform_os": int; of
0 => Cygwin
| 1 => FreeBSD
| 2 => Linux
- | 3 => SunOS
+ | 3 => NetBSD
+ | 4 => SunOS
| _ => raise Fail "strange MLton_Platform_os"
val isBigEndian =
1.2 +1 -1 mlton/basis-library/mlton/platform.sig
Index: platform.sig
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/mlton/platform.sig,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- platform.sig 11 Apr 2003 04:31:09 -0000 1.1
+++ platform.sig 18 Aug 2003 06:19:51 -0000 1.2
@@ -3,6 +3,6 @@
datatype arch = Sparc | X86
val arch: arch
- datatype os = Cygwin | FreeBSD | Linux | SunOS
+ datatype os = Cygwin | FreeBSD | Linux | NetBSD | SunOS
val os: os
end
1.9 +1 -0 mlton/basis-library/sml-nj/sml-nj.sml
Index: sml-nj.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/basis-library/sml-nj/sml-nj.sml,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- sml-nj.sml 11 Apr 2003 04:31:09 -0000 1.8
+++ sml-nj.sml 18 Aug 2003 06:19:52 -0000 1.9
@@ -39,6 +39,7 @@
Cygwin => "Cygwin"
| FreeBSD => "FreeBSD"
| Linux => "Linux"
+ | NetBSD => "NetBSD"
| SunOS => "Solaris"
end
end
1.2 +3 -0 mlton/bin/host-os
Index: host-os
===================================================================
RCS file: /cvsroot/mlton/mlton/bin/host-os,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- host-os 11 Apr 2003 04:31:09 -0000 1.1
+++ host-os 18 Aug 2003 06:19:52 -0000 1.2
@@ -19,6 +19,9 @@
FreeBSD*)
os=freebsd
;;
+NetBSD*)
+ os=netbsd
+;;
SunOS)
os=sunos
;;
1.23 +1 -3 mlton/lib/mlton-stubs/mlton.sml
Index: mlton.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/lib/mlton-stubs/mlton.sml,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- mlton.sml 8 Jul 2003 01:51:47 -0000 1.22
+++ mlton.sml 18 Aug 2003 06:19:52 -0000 1.23
@@ -38,8 +38,6 @@
val deserialize = fn _ => raise Fail "deserialize"
val eq = fn _ => false
val errno = fn _ => raise Fail "errno"
- datatype hostType = Cygwin | FreeBSD | Linux | Sun
- val hostType = Linux
val isMLton = false
val safe = true
val serialize = fn _ => raise Fail "serialize"
@@ -149,7 +147,7 @@
val arch: arch = X86
- datatype os = Cygwin | FreeBSD | Linux | SunOS
+ datatype os = Cygwin | FreeBSD | Linux | NetBSD | SunOS
val os: os = SunOS
end
1.2 +1 -1 mlton/lib/mlton-stubs/platform.sig
Index: platform.sig
===================================================================
RCS file: /cvsroot/mlton/mlton/lib/mlton-stubs/platform.sig,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- platform.sig 11 Apr 2003 04:31:10 -0000 1.1
+++ platform.sig 18 Aug 2003 06:19:52 -0000 1.2
@@ -3,6 +3,6 @@
datatype arch = Sparc | X86
val arch: arch
- datatype os = Cygwin | FreeBSD | Linux | SunOS
+ datatype os = Cygwin | FreeBSD | Linux | NetBSD | SunOS
val os: os
end
1.47 +2 -0 mlton/mlton/codegen/x86-codegen/x86-codegen.fun
Index: x86-codegen.fun
===================================================================
RCS file: /cvsroot/mlton/mlton/mlton/codegen/x86-codegen/x86-codegen.fun,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- x86-codegen.fun 25 Jul 2003 20:14:47 -0000 1.46
+++ x86-codegen.fun 18 Aug 2003 06:19:52 -0000 1.47
@@ -96,6 +96,7 @@
Control.Cygwin => true
| Control.FreeBSD => false
| Control.Linux => false
+ | Control.NetBSD => false
| _ => Error.bug "x86 can't handle hostType"
val makeC = outputC
@@ -161,6 +162,7 @@
Control.Cygwin => String.dropPrefix (mainLabel, 1)
| Control.FreeBSD => mainLabel
| Control.Linux => mainLabel
+ | Control.NetBSD => mainLabel
| _ => Error.bug "x86 can't handle hostType"
in
[mainLabel, if reserveEsp then C.truee else C.falsee]
1.23 +1 -0 mlton/mlton/codegen/x86-codegen/x86-mlton-basic.fun
Index: x86-mlton-basic.fun
===================================================================
RCS file: /cvsroot/mlton/mlton/mlton/codegen/x86-codegen/x86-mlton-basic.fun,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- x86-mlton-basic.fun 31 Jul 2003 23:10:33 -0000 1.22
+++ x86-mlton-basic.fun 18 Aug 2003 06:19:52 -0000 1.23
@@ -375,6 +375,7 @@
Control.Cygwin => "_LINE__"
| Control.FreeBSD => "__LINE__"
| Control.Linux => "__LINE__"
+ | Control.NetBSD => "__LINE__"
| _ => Error.bug "x86 can't handle hostOS"))
val fileLine
1.94 +1 -0 mlton/mlton/control/control.sml
Index: control.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/mlton/control/control.sml,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -r1.93 -r1.94
--- control.sml 7 Jul 2003 22:50:29 -0000 1.93
+++ control.sml 18 Aug 2003 06:19:52 -0000 1.94
@@ -168,6 +168,7 @@
fn Cygwin => "Cygwin"
| FreeBSD => "FreeBSD"
| Linux => "Linux"
+ | NetBSD => "NetBSD"
| SunOS => "SunOS"
end
1.152 +2 -0 mlton/mlton/main/main.sml
Index: main.sml
===================================================================
RCS file: /cvsroot/mlton/mlton/mlton/main/main.sml,v
retrieving revision 1.151
retrieving revision 1.152
diff -u -r1.151 -r1.152
--- main.sml 18 Aug 2003 03:32:44 -0000 1.151
+++ main.sml 18 Aug 2003 06:19:52 -0000 1.152
@@ -71,6 +71,7 @@
"cygwin" => Control.Cygwin
| "freebsd" => Control.FreeBSD
| "linux" => Control.Linux
+ | "netbsd" => Control.NetBSD
| "sunos" => Control.SunOS
| _ => Error.bug (concat ["strange os: ", os])
in
@@ -507,6 +508,7 @@
NONE => ["-lgmp"]
| SOME lib => [lib]
end
+ | NetBSD => ["-Wl,-R/usr/pkg/lib", "-L/usr/pkg/lib", "-lgmp"]
| Sun => ["-lgmp"]
val linkOpts =
List.concat [[concat ["-L", lib],
1.11 +7 -0 mlton/runtime/IntInf.h
Index: IntInf.h
===================================================================
RCS file: /cvsroot/mlton/mlton/runtime/IntInf.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- IntInf.h 10 Apr 2003 02:03:10 -0000 1.10
+++ IntInf.h 18 Aug 2003 06:19:53 -0000 1.11
@@ -24,6 +24,13 @@
* MLton package.
*/
#include "/usr/local/include/gmp.h"
+#elif (defined (__NetBSD__))
+/* On NetBSD, we want gmp to be installed into the pkg tree (which represents
+ * the FreeBSD ports tree). For now we use the same method as in the FreeBSD
+ * case, but we note that this should be changed so the makefile provides the
+ * correct -I flags to the compiler
+ */
+#include "/usr/pkg/include/gmp.h"
#elif (defined (__linux__) || defined (__sun__))
#include <gmp.h>
#else
1.15 +6 -2 mlton/runtime/basis-constants.h
Index: basis-constants.h
===================================================================
RCS file: /cvsroot/mlton/mlton/runtime/basis-constants.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- basis-constants.h 5 Jun 2003 22:57:14 -0000 1.14
+++ basis-constants.h 18 Aug 2003 06:19:53 -0000 1.15
@@ -44,8 +44,10 @@
#define MLton_Platform_os 1
#elif (defined (__linux__))
#define MLton_Platform_os 2
-#elif (defined (__sun__))
+#elif (defined (__NetBSD__))
#define MLton_Platform_os 3
+#elif (defined (__sun__))
+#define MLton_Platform_os 4
#else
#error MLton_Platform_os not defined
#endif
@@ -71,7 +73,9 @@
/* Nothing to do -- everything comes from sys/ptrace.h. */
-#elif (defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__sun__))
+#elif (defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__NetBSD__) || defined (__sun__))
+
+/* Note: NetBSD has a ptrace() interface, but for now, we ignore it */
#define PTRACE_BOGUS 0xFFFFFFFF
#define PTRACE_SYSCALL PTRACE_BOGUS
1.151 +54 -12 mlton/runtime/gc.c
Index: gc.c
===================================================================
RCS file: /cvsroot/mlton/mlton/runtime/gc.c,v
retrieving revision 1.150
retrieving revision 1.151
diff -u -r1.150 -r1.151
--- gc.c 15 Jul 2003 17:27:11 -0000 1.150
+++ gc.c 18 Aug 2003 06:19:53 -0000 1.151
@@ -16,6 +16,11 @@
#include <sys/sysctl.h>
#endif
+#if (defined (__NetBSD__))
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#endif
+
#include <sys/mman.h>
#include <sys/resource.h>
#include <sys/times.h>
@@ -138,7 +143,7 @@
return n << 2;
}
-#if (defined (__linux__) || defined (__FreeBSD__) || defined (__sun__))
+#if (defined (__FreeBSD__) || defined (__linux__) || defined (__NetBSD__) || defined (__sun__))
static inline uint min (uint x, uint y) {
return ((x < y) ? x : y);
}
@@ -303,7 +308,7 @@
showMaps();
}
-#elif (defined (__FreeBSD__))
+#elif (defined (__FreeBSD__) || defined (__NetBSD__))
static void showMem () {
static char buffer[256];
@@ -343,7 +348,7 @@
PAGE_READWRITE);
if (NULL == result)
result = (void*)-1;
-#elif (defined (__linux__) || defined (__FreeBSD__))
+#elif (defined (__FreeBSD__) || defined (__linux__) || defined (__NetBSD__))
result = mmap (start, length, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANON, -1, 0);
#elif (defined (__sun__))
@@ -390,7 +395,7 @@
diee ("munmap failed");
}
-#if (defined (__linux__) || defined (__FreeBSD__) || defined (__sun__))
+#if (defined (__FreeBSD__) || defined (__linux__) || defined (__NetBSD__) || defined (__sun__))
/* A super-safe mmap.
* Allocates a region of memory with dead zones at the high and low ends.
* Any attempt to touch the dead zone (read or write) will cause a
@@ -427,7 +432,7 @@
#if (defined (__CYGWIN__))
if (0 == VirtualFree (base, 0, MEM_RELEASE))
die ("VirtualFree release failed");
-#elif (defined (__linux__) || defined (__FreeBSD__) || defined (__sun__))
+#elif (defined (__FreeBSD__) || defined (__linux__) || defined (__NetBSD__) || defined (__sun__))
smunmap (base, length);
#else
#error release not defined
@@ -441,7 +446,7 @@
#if (defined (__CYGWIN__))
if (0 == VirtualFree (base, length, MEM_DECOMMIT))
die ("VirtualFree decommit failed");
-#elif (defined (__linux__) || defined (__FreeBSD__) || defined (__sun__))
+#elif (defined (__FreeBSD__) || defined (__linux__) || defined (__NetBSD__) || defined (__sun__))
smunmap (base, length);
#else
#error decommit not defined
@@ -2654,7 +2659,7 @@
/* heapRemap */
/* ---------------------------------------------------------------- */
-#if (defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__sun__))
+#if (defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__NetBSD__) || defined (__sun__))
static bool heapRemap (GC_state s, GC_heap h, W32 desired, W32 minSize) {
return FALSE;
@@ -3746,7 +3751,7 @@
setProfTimer (10000);
}
-#elif (defined (__CYGWIN__))
+#elif (defined (__CYGWIN__) || defined (__NetBSD__))
/* No time profiling on Cygwin.
* There is a check in mlton/main/main.sml to make sure that time profiling is
@@ -3792,7 +3797,7 @@
/* Nothing */
-#elif (defined (__linux__) || defined (__FreeBSD__) || defined (__sun__))
+#elif (defined (__FreeBSD__) || defined (__linux__) || defined (__NetBSD__) || defined (__sun__))
static stack_t altstack;
size_t ss_size = align (SIGSTKSZ, s->pageSize);
@@ -3907,7 +3912,7 @@
}
/* returns total amount of memory available */
-static int totalRam() {
+static int totalRam () {
int mem, len;
len = sizeof (int);
@@ -3917,8 +3922,45 @@
}
static void setMemInfo (GC_state s) {
- s->totalRam = totalRam();
- s->totalSwap = totalSwap();
+ s->totalRam = totalRam ();
+ s->totalSwap = totalSwap ();
+}
+
+#elif (defined (__NetBSD__))
+
+/* returns total amount of swap available */
+static int totalSwap () {
+ static char buffer[256];
+ FILE *file;
+ int total_size = 0;
+
+ file = popen ("/sbin/swapctl -s | awk '{ print $8; }'\n", "r");
+ if (file == NULL)
+ diee ("swapinfo failed");
+ /* read in data */
+ fgets (buffer, 255, file);
+ total_size = atoi (buffer);
+ pclose (file);
+ printf ("Total amount of swap we think there is: %d\n",
+ total_size * 1024);
+ return total_size * 1024;
+}
+
+/* returns total amount of memory available */
+static int totalRam () {
+ int mem, len, mib[2];
+
+ mib[0] = CTL_HW;
+ mib[1] = HW_PHYSMEM;
+ len = sizeof(mem);
+ if (-1 == sysctl (mib, 2, &mem, &len, NULL, 0))
+ diee ("sysctl failed");
+ return mem;
+}
+
+static void setMemInfo (GC_state s) {
+ s->totalRam = totalRam ();
+ s->totalSwap = totalSwap ();
}
#elif (defined (__sun__))
1.28 +1 -1 mlton/runtime/mlton-basis.h
Index: mlton-basis.h
===================================================================
RCS file: /cvsroot/mlton/mlton/runtime/mlton-basis.h,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- mlton-basis.h 19 Jul 2003 01:23:28 -0000 1.27
+++ mlton-basis.h 18 Aug 2003 06:19:53 -0000 1.28
@@ -165,7 +165,7 @@
#define MLton_Rlimit_numProcesses RLIMIT_NPROC
#define MLton_Rlimit_residentSetSize RLIMIT_RSS
#define MLton_Rlimit_stackSize RLIMIT_STACK
-#if (defined (__FreeBSD__))
+#if (defined (__FreeBSD__) || defined (__NetBSD__))
#define MLton_Rlimit_virtualMemorySize RLIMIT_DATA
#elif (defined (__CYGWIN__) || defined (__linux__) || defined (__sun__))
#define MLton_Rlimit_virtualMemorySize RLIMIT_AS
1.22 +1 -1 mlton/runtime/my-lib.c
Index: my-lib.c
===================================================================
RCS file: /cvsroot/mlton/mlton/runtime/my-lib.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- my-lib.c 17 Jun 2003 00:14:18 -0000 1.21
+++ my-lib.c 18 Aug 2003 06:19:53 -0000 1.22
@@ -59,7 +59,7 @@
if (0 == n)
buf[i--] = '0';
-#if (defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__sun__))
+#if (defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__NetBSD__) || defined (__sun__))
#define MININT 0x80000000
#endif
else if (MININT == n) {
1.10 +16 -5 mlton/runtime/posix-constants.h
Index: posix-constants.h
===================================================================
RCS file: /cvsroot/mlton/mlton/runtime/posix-constants.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- posix-constants.h 10 Apr 2003 02:03:10 -0000 1.9
+++ posix-constants.h 18 Aug 2003 06:19:53 -0000 1.10
@@ -72,13 +72,13 @@
#define Posix_FileSys_S_ififo S_IFIFO
/* Cygwin/Windows distinguish between text and binary files, but Linux,
- * FreeBSD, and Solaris do not.
+ * FreeBSD, NetBSD, and Solaris do not.
*/
#if (defined (__CYGWIN__))
/* Nothing. */
-#elif (defined (__linux__) || defined (__FreeBSD__) || defined (__sun__))
+#elif (defined (__FreeBSD__) || defined (__linux__) || defined (__NetBSD__) || defined (__sun__))
#define O_BINARY 0
#define O_TEXT 0
@@ -95,7 +95,7 @@
#define Posix_FileSys_O_excl O_EXCL
#define Posix_FileSys_O_noctty O_NOCTTY
#define Posix_FileSys_O_nonblock O_NONBLOCK
-#if (defined (__CYGWIN__) || defined (__linux__) || defined (__sun__))
+#if (defined (__CYGWIN__) || defined (__linux__) || defined (__NetBSD__) || defined (__sun__))
#define Posix_FileSys_O_sync O_SYNC
#elif (defined (__FreeBSD__))
#define Posix_FileSys_O_sync 0
@@ -137,9 +137,20 @@
#define Posix_FileSys_PATH_MAX _PC_PATH_MAX
#define Posix_FileSys_PIPE_BUF _PC_PIPE_BUF
#define Posix_FileSys_VDISABLE _PC_VDISABLE
-#define Posix_FileSys_ASYNC_IO _PC_ASYNC_IO
#define Posix_FileSys_SYNC_IO _PC_SYNC_IO
+
+#if (defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__linux__) || defined (__sun__))
+#define Posix_FileSys_ASYNC_IO _PC_ASYNC_IO
#define Posix_FileSys_PRIO_IO _PC_PRIO_IO
+#elif (defined (__NetBSD__))
+/* NetBSD does not define these constants in version 1.6.1, so we
+ * define them here.
+ */
+#define Posix_FileSys_ASYNC_IO 0
+#define Posix_FileSys_PRIO_IO 0
+#else
+#error Posix_FileSys_{ASYNC,PRIO}_IO undefined
+#endif
#define Posix_IO_F_DUPFD F_DUPFD
#define Posix_IO_F_GETFD F_GETFD
@@ -232,7 +243,7 @@
#define Posix_Signal_vtalrm SIGVTALRM
#define Posix_Signal_block SIG_BLOCK
-#if (defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__sun__))
+#if (defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__NetBSD__) || defined (__sun__))
#define Posix_Signal_numSignals NSIG
#elif (defined (__linux__))
#define Posix_Signal_numSignals _NSIG
1.7 +3 -3 mlton/runtime/Posix/FileSys/open.c
Index: open.c
===================================================================
RCS file: /cvsroot/mlton/mlton/runtime/Posix/FileSys/open.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- open.c 1 May 2003 22:35:33 -0000 1.6
+++ open.c 18 Aug 2003 06:19:53 -0000 1.7
@@ -3,14 +3,14 @@
#include <fcntl.h>
#include "mlton-posix.h"
-/* FreeBSD uses 64 bits files by default, so doesn't have O_LARGEFILE. */
-#if (defined __FreeBSD__)
+/* {Free,Net}BSD use 64 bits files by default, so doesn't have O_LARGEFILE. */
+#if (defined (__FreeBSD__) || defined (__NetBSD__))
#define O_LARGEFILE 0
#endif
Int Posix_FileSys_open (NullString p, Word w, Mode m) {
-#if (defined (__linux__) || defined (__FreeBSD__) || defined (__sun__))
+#if (defined (__FreeBSD__) || defined (__linux__) || defined (__NetBSD__) || defined (__sun__))
return open ((char *) p, w | O_LARGEFILE, m);
1.3 +1 -3 mlton/runtime/Posix/ProcEnv/setenv.c
Index: setenv.c
===================================================================
RCS file: /cvsroot/mlton/mlton/runtime/Posix/ProcEnv/setenv.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- setenv.c 10 Apr 2003 02:03:11 -0000 1.2
+++ setenv.c 18 Aug 2003 06:19:53 -0000 1.3
@@ -1,9 +1,7 @@
#include <stdlib.h>
#include "mlton-posix.h"
-
-
-#if (defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__linux__))
+#if (defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__linux__) || defined (__NetBSD__))
Int Posix_ProcEnv_setenv (NullString s, NullString v) {
return setenv ((char *)s, (char *)v, 1);
1.12 +1 -1 mlton/runtime/Posix/Signal/Signal.c
Index: Signal.c
===================================================================
RCS file: /cvsroot/mlton/mlton/runtime/Posix/Signal/Signal.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- Signal.c 23 Jun 2003 04:59:01 -0000 1.11
+++ Signal.c 18 Aug 2003 06:19:53 -0000 1.12
@@ -10,7 +10,7 @@
}
enum {
-#if (defined (__linux__) || defined (__FreeBSD__) || defined (__sun__))
+#if (defined (__FreeBSD__) || defined (__linux__) || defined (__NetBSD__) || defined (__sun__))
SA_FLAGS = SA_ONSTACK,
#elif (defined (__CYGWIN__))
SA_FLAGS = 0,
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel