[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