Subject: pkg/18437: [PATCH] Update lang/sml-nj to 110.41
To: None <gnats-bugs@gnats.netbsd.org>
From: None <richards+netbsd@CS.Princeton.EDU>
List: netbsd-bugs
Date: 09/27/2002 07:59:36
>Number:         18437
>Category:       pkg
>Synopsis:       [PATCH] Update lang/sml-nj to 110.41
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Sep 27 05:01:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Christopher Richards
>Release:        NetBSD 1.6
>Organization:
>Environment:
	
	
System: NetBSD wubba.CS.Princeton.EDU 1.6 NetBSD 1.6 (WUBBA) #7: Wed Sep 18 13:54:36 EDT 2002 richards@wubba.CS.Princeton.EDU:/home/richards/kern i386
Architecture: i386
Machine: i386
>Description:
	Update lang/sml-nj from 110.38 to 110.41.

	Notable changes include an utter plethora of bug fixes (e.g, a
	memory leak in the garbage collector), and some small added
	features (e.g. Danvy-style format combinators added to
	smlnj-lib).  Also added are some tools (ml-nlffigen, nowhere)
	that appeared previously but were not enabled.
	
	Moreover, this update also gets rid of the ugly "patch the
	source at runtime" hack used in previous pkgsrc versions.
	Thus the jumbo (and ill-named) file/patch-global-names is
	removed and its contents split into ordinary patch/patch-??
	files.

>How-To-Repeat:
	
>Fix:
	Patch follows.  Please apply with "-E" as a couple of files are
	to be deleted.

diff -ruN pkgsrc/lang/sml-nj/Makefile pkgsrc/lang/sml-nj.NEW/Makefile
--- pkgsrc/lang/sml-nj/Makefile	Thu Jul  4 16:24:40 2002
+++ pkgsrc/lang/sml-nj.NEW/Makefile	Thu Sep 19 03:59:39 2002
@@ -8,6 +8,7 @@
 		ftp://flint.cs.yale.edu/pub/smlnj/working/${SML_VERSION}/
 DISTFILES=	MLRISC.tgz			\
 		boot.${BOX}-unix.tgz		\
+		ckit.tgz			\
 		cm.tgz				\
 		cml.tgz				\
 		compiler.tgz			\
@@ -15,6 +16,8 @@
 		eXene.tgz			\
 		ml-burg.tgz			\
 		ml-lex.tgz			\
+		ml-nlffi-lib.tgz		\
+		ml-nlffigen.tgz			\
 		ml-yacc.tgz			\
 		runtime.tgz			\
 		smlnj-lib.tgz			\
@@ -24,7 +27,7 @@
 HOMEPAGE=	http://cm.bell-labs.com/cm/cs/what/smlnj/index.html
 COMMENT=	Popular functional language from Bell Labs
 
-SML_VERSION=	110.38
+SML_VERSION=	110.41
 
 # sml-nj also supports hppa, sparc, ppc, mlrisc & alpha
 # pkg support for those platforms, and say, solaris-x86
@@ -38,7 +41,6 @@
 
 DIST_SUBDIR=	sml-nj-${SML_VERSION}
 WRKSRC=		${WRKDIR}
-EXTRACT_ONLY=	config.tgz
 USE_GMAKE=	yes
 
 SML_BASE=	${PREFIX}/lib/sml-nj
@@ -59,6 +61,19 @@
 .endif
 
 PLIST_SUBST+=	BOX=${BOX} OS=${OS}
+
+# create parent directory for the runtime system
+pre-extract:
+	mkdir ${WRKDIR}/src || true
+
+# make it easier to patch the runtime system
+do-extract:
+	${_PKG_SILENT}${_PKG_DEBUG}					\
+	extract_file="${_DISTDIR}/config.tgz"; export extract_file;	\
+		cd ${WRKDIR}; ${EXTRACT_CMD}
+	${_PKG_SILENT}${_PKG_DEBUG}					\
+	extract_file="${_DISTDIR}/runtime.tgz"; export extract_file;	\
+		cd ${WRKDIR}/src; ${EXTRACT_CMD}
 
 # make symlinks to the dist files
 post-extract:
diff -ruN pkgsrc/lang/sml-nj/PLIST pkgsrc/lang/sml-nj.NEW/PLIST
--- pkgsrc/lang/sml-nj/PLIST	Thu Jul  4 16:24:40 2002
+++ pkgsrc/lang/sml-nj.NEW/PLIST	Thu Sep 19 03:27:47 2002
@@ -1,14 +1,18 @@
-@comment $NetBSD: PLIST,v 1.2 2002/07/04 20:24:40 wiz Exp $
+@comment $NetBSD$
 bin/ml-build
 bin/ml-burg
 bin/ml-lex
 bin/ml-makedepend
+bin/ml-nlffigen
 bin/ml-yacc
+bin/nowhere
 bin/sml
 lib/sml-nj/bin/.arch-n-opsys
 lib/sml-nj/bin/.heap/ml-burg.${BOX}-${OS}
 lib/sml-nj/bin/.heap/ml-lex.${BOX}-${OS}
+lib/sml-nj/bin/.heap/ml-nlffigen.${BOX}-${OS}
 lib/sml-nj/bin/.heap/ml-yacc.${BOX}-${OS}
+lib/sml-nj/bin/.heap/nowhere.${BOX}-${OS}
 lib/sml-nj/bin/.heap/sml.${BOX}-${OS}
 lib/sml-nj/bin/.link-sml
 lib/sml-nj/bin/.run-sml
@@ -17,7 +21,9 @@
 lib/sml-nj/bin/ml-burg
 lib/sml-nj/bin/ml-lex
 lib/sml-nj/bin/ml-makedepend
+lib/sml-nj/bin/ml-nlffigen
 lib/sml-nj/bin/ml-yacc
+lib/sml-nj/bin/nowhere
 lib/sml-nj/bin/sml
 lib/sml-nj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/ALPHA.cm
 lib/sml-nj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/Control.cm
@@ -32,15 +38,21 @@
 lib/sml-nj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/Visual.cm
 lib/sml-nj/lib/basis.cm/CM/${BOX}-unix/basis.cm
 lib/sml-nj/lib/burg-ext.cm/CM/${BOX}-unix/burg-ext.cm
+lib/sml-nj/lib/c/CM/${BOX}-unix/c.cm
+lib/sml-nj/lib/c/internals/CM/${BOX}-unix/c-int.cm
+lib/sml-nj/lib/c/memory/CM/${BOX}-unix/memory.cm
+lib/sml-nj/lib/ckit-lib.cm/CM/${BOX}-unix/ckit-lib.cm
 lib/sml-nj/lib/cml-lib/CM/${BOX}-unix/smlnj-lib.cm
 lib/sml-nj/lib/cml-lib/CM/${BOX}-unix/trace-cml.cm
 lib/sml-nj/lib/cml/CM/${BOX}-unix/basis.cm
 lib/sml-nj/lib/cml/CM/${BOX}-unix/cml-internal.cm
 lib/sml-nj/lib/cml/CM/${BOX}-unix/cml.cm
 lib/sml-nj/lib/cml/CM/${BOX}-unix/core-cml.cm
+lib/sml-nj/lib/controls-lib.cm/CM/${BOX}-unix/controls-lib.cm
 lib/sml-nj/lib/dir-tool.cm/CM/${BOX}-unix/dir-tool.cm
 lib/sml-nj/lib/eXene.cm/CM/${BOX}-unix/eXene.cm
 lib/sml-nj/lib/grm-ext.cm/CM/${BOX}-unix/grm-ext.cm
+lib/sml-nj/lib/hash-cons-lib.cm/CM/${BOX}-unix/hash-cons-lib.cm
 lib/sml-nj/lib/html-lib.cm/CM/${BOX}-unix/html-lib.cm
 lib/sml-nj/lib/inet-lib.cm/CM/${BOX}-unix/inet-lib.cm
 lib/sml-nj/lib/lex-ext.cm/CM/${BOX}-unix/lex-ext.cm
@@ -48,10 +60,17 @@
 lib/sml-nj/lib/ml-yacc-lib.cm/CM/${BOX}-unix/ml-yacc-lib.cm
 lib/sml-nj/lib/mlburg-tool.cm/CM/${BOX}-unix/mlburg-tool.cm
 lib/sml-nj/lib/mllex-tool.cm/CM/${BOX}-unix/mllex-tool.cm
+lib/sml-nj/lib/mlrisc-tools/CM/${BOX}-unix/match-compiler.cm
+lib/sml-nj/lib/mlrisc-tools/CM/${BOX}-unix/parser.cm
+lib/sml-nj/lib/mlrisc-tools/CM/${BOX}-unix/pp.cm
+lib/sml-nj/lib/mlrisc-tools/CM/${BOX}-unix/prec-parser.cm
+lib/sml-nj/lib/mlrisc-tools/CM/${BOX}-unix/sml-ast.cm
+lib/sml-nj/lib/mlrisc-tools/CM/${BOX}-unix/source-map.cm
 lib/sml-nj/lib/mlyacc-tool.cm/CM/${BOX}-unix/mlyacc-tool.cm
 lib/sml-nj/lib/noweb-tool.cm/CM/${BOX}-unix/noweb-tool.cm
 lib/sml-nj/lib/nw-ext.cm/CM/${BOX}-unix/nw-ext.cm
 lib/sml-nj/lib/pathconfig
+lib/sml-nj/lib/pgraph-util.cm/CM/${BOX}-unix/pgraph-util.cm
 lib/sml-nj/lib/pgraph.cm/CM/${BOX}-unix/pgraph.cm
 lib/sml-nj/lib/pickle-lib.cm/CM/${BOX}-unix/pickle-lib.cm
 lib/sml-nj/lib/pp-lib.cm/CM/${BOX}-unix/pp-lib.cm
@@ -72,6 +91,7 @@
 lib/sml-nj/lib/smlnj/MLRISC/CM/${BOX}-unix/MLTREE.cm
 lib/sml-nj/lib/smlnj/MLRISC/CM/${BOX}-unix/PPC.cm
 lib/sml-nj/lib/smlnj/MLRISC/CM/${BOX}-unix/SPARC.cm
+lib/sml-nj/lib/smlnj/MLRISC/CM/${BOX}-unix/Visual.cm
 lib/sml-nj/lib/smlnj/cm/CM/${BOX}-unix/cm.cm
 lib/sml-nj/lib/smlnj/cm/CM/${BOX}-unix/tools.cm
 lib/sml-nj/lib/smlnj/cmb/CM/${BOX}-unix/alpha32-unix.cm
@@ -159,6 +179,9 @@
 @dirrm lib/sml-nj/lib/pgraph.cm/CM/${BOX}-unix
 @dirrm lib/sml-nj/lib/pgraph.cm/CM
 @dirrm lib/sml-nj/lib/pgraph.cm
+@dirrm lib/sml-nj/lib/pgraph-util.cm/CM/${BOX}-unix
+@dirrm lib/sml-nj/lib/pgraph-util.cm/CM
+@dirrm lib/sml-nj/lib/pgraph-util.cm
 @dirrm lib/sml-nj/lib/nw-ext.cm/CM/${BOX}-unix
 @dirrm lib/sml-nj/lib/nw-ext.cm/CM
 @dirrm lib/sml-nj/lib/nw-ext.cm
@@ -168,6 +191,9 @@
 @dirrm lib/sml-nj/lib/mlyacc-tool.cm/CM/${BOX}-unix
 @dirrm lib/sml-nj/lib/mlyacc-tool.cm/CM
 @dirrm lib/sml-nj/lib/mlyacc-tool.cm
+@dirrm lib/sml-nj/lib/mlrisc-tools/CM/${BOX}-unix
+@dirrm lib/sml-nj/lib/mlrisc-tools/CM
+@dirrm lib/sml-nj/lib/mlrisc-tools
 @dirrm lib/sml-nj/lib/mllex-tool.cm/CM/${BOX}-unix
 @dirrm lib/sml-nj/lib/mllex-tool.cm/CM
 @dirrm lib/sml-nj/lib/mllex-tool.cm
@@ -189,6 +215,9 @@
 @dirrm lib/sml-nj/lib/html-lib.cm/CM/${BOX}-unix
 @dirrm lib/sml-nj/lib/html-lib.cm/CM
 @dirrm lib/sml-nj/lib/html-lib.cm
+@dirrm lib/sml-nj/lib/hash-cons-lib.cm/CM/${BOX}-unix
+@dirrm lib/sml-nj/lib/hash-cons-lib.cm/CM
+@dirrm lib/sml-nj/lib/hash-cons-lib.cm
 @dirrm lib/sml-nj/lib/grm-ext.cm/CM/${BOX}-unix
 @dirrm lib/sml-nj/lib/grm-ext.cm/CM
 @dirrm lib/sml-nj/lib/grm-ext.cm
@@ -198,12 +227,27 @@
 @dirrm lib/sml-nj/lib/dir-tool.cm/CM/${BOX}-unix
 @dirrm lib/sml-nj/lib/dir-tool.cm/CM
 @dirrm lib/sml-nj/lib/dir-tool.cm
+@dirrm lib/sml-nj/lib/controls-lib.cm/CM/${BOX}-unix
+@dirrm lib/sml-nj/lib/controls-lib.cm/CM
+@dirrm lib/sml-nj/lib/controls-lib.cm
 @dirrm lib/sml-nj/lib/cml/CM/${BOX}-unix
 @dirrm lib/sml-nj/lib/cml/CM
 @dirrm lib/sml-nj/lib/cml-lib/CM/${BOX}-unix
 @dirrm lib/sml-nj/lib/cml-lib/CM
 @dirrm lib/sml-nj/lib/cml-lib
 @dirrm lib/sml-nj/lib/cml
+@dirrm lib/sml-nj/lib/ckit-lib.cm/CM/${BOX}-unix
+@dirrm lib/sml-nj/lib/ckit-lib.cm/CM
+@dirrm lib/sml-nj/lib/ckit-lib.cm
+@dirrm lib/sml-nj/lib/c/memory/CM/${BOX}-unix
+@dirrm lib/sml-nj/lib/c/memory/CM
+@dirrm lib/sml-nj/lib/c/memory
+@dirrm lib/sml-nj/lib/c/internals/CM/${BOX}-unix
+@dirrm lib/sml-nj/lib/c/internals/CM
+@dirrm lib/sml-nj/lib/c/internals
+@dirrm lib/sml-nj/lib/c/CM/${BOX}-unix
+@dirrm lib/sml-nj/lib/c/CM
+@dirrm lib/sml-nj/lib/c
 @dirrm lib/sml-nj/lib/burg-ext.cm/CM/${BOX}-unix
 @dirrm lib/sml-nj/lib/burg-ext.cm/CM
 @dirrm lib/sml-nj/lib/burg-ext.cm
diff -ruN pkgsrc/lang/sml-nj/distinfo pkgsrc/lang/sml-nj.NEW/distinfo
--- pkgsrc/lang/sml-nj/distinfo	Fri Jul 12 11:41:09 2002
+++ pkgsrc/lang/sml-nj.NEW/distinfo	Thu Sep 19 04:00:50 2002
@@ -1,33 +1,42 @@
 $NetBSD: distinfo,v 1.5 2002/07/12 15:41:09 jonb Exp $
 
-SHA1 (sml-nj-110.38/MLRISC.tgz) = 1ea46480ad86ab0b598863bd7f5b805a52e7a001
-Size (sml-nj-110.38/MLRISC.tgz) = 1146874 bytes
-SHA1 (sml-nj-110.38/boot.x86-unix.tgz) = ac52a183ffbd3b00e267ba0382c4fcc863d53012
-Size (sml-nj-110.38/boot.x86-unix.tgz) = 4775589 bytes
-SHA1 (sml-nj-110.38/boot.sparc-unix.tgz) = 16899e94b1c8da6bb98fc4ac1770f9928f8fcd2a
-Size (sml-nj-110.38/boot.sparc-unix.tgz) = 4951605 bytes
-SHA1 (sml-nj-110.38/cm.tgz) = a52f2ba040305f2963ff85d2397d1c1b07c4310d
-Size (sml-nj-110.38/cm.tgz) = 198979 bytes
-SHA1 (sml-nj-110.38/cml.tgz) = 009641d9b4f580ff60db9e006133cc15fac3c204
-Size (sml-nj-110.38/cml.tgz) = 127535 bytes
-SHA1 (sml-nj-110.38/compiler.tgz) = 0877a0d37d2f4b3bcd8e555f6bb0b1870caa2ddb
-Size (sml-nj-110.38/compiler.tgz) = 678364 bytes
-SHA1 (sml-nj-110.38/config.tgz) = 6bc2df0e989448d67201d5db99202a45827e5ef5
-Size (sml-nj-110.38/config.tgz) = 12274 bytes
-SHA1 (sml-nj-110.38/eXene.tgz) = c4d95de4f931f5d70fb34ddd3f20af65b8408177
-Size (sml-nj-110.38/eXene.tgz) = 693627 bytes
-SHA1 (sml-nj-110.38/ml-burg.tgz) = f2c0c72230477f8becea75fb5ff65f7a1442e1d8
-Size (sml-nj-110.38/ml-burg.tgz) = 31696 bytes
-SHA1 (sml-nj-110.38/ml-lex.tgz) = 0a2a4c605a3e13934b2780cce78d32704aec2ba1
-Size (sml-nj-110.38/ml-lex.tgz) = 32106 bytes
-SHA1 (sml-nj-110.38/ml-yacc.tgz) = ed28c5fce8b618ed421fee368e9e5e5d7bf2936f
-Size (sml-nj-110.38/ml-yacc.tgz) = 95611 bytes
-SHA1 (sml-nj-110.38/runtime.tgz) = ee6f38d80659d2d6ee1ee078491520bf6fd367d4
-Size (sml-nj-110.38/runtime.tgz) = 309652 bytes
-SHA1 (sml-nj-110.38/smlnj-lib.tgz) = ce08159c90d4d941c58a937e2676d751cbb38c15
-Size (sml-nj-110.38/smlnj-lib.tgz) = 238989 bytes
-SHA1 (sml-nj-110.38/system.tgz) = afdff28ad75f078584169ad0b14e7d6d865c0935
-Size (sml-nj-110.38/system.tgz) = 174529 bytes
-SHA1 (patch-aa) = 37ebf69ab1d4160675027310b58190ef568a2704
-SHA1 (patch-ab) = 24ca95b58971758cd803f77f94cf9c6664280fc1
+SHA1 (sml-nj-110.41/MLRISC.tgz) = 7cb136457ceca0365619df974112344e1d7d3788
+Size (sml-nj-110.41/MLRISC.tgz) = 1170598 bytes
+SHA1 (sml-nj-110.41/boot.x86-unix.tgz) = 03807189ee8d591062a8c0ce9cbb065af4568653
+Size (sml-nj-110.41/boot.x86-unix.tgz) = 5072569 bytes
+SHA1 (sml-nj-110.41/boot.sparc-unix.tgz) = 0a353b1274f76b8f8f96262d43ceef0d80019460
+Size (sml-nj-110.41/boot.sparc-unix.tgz) = 5213967 bytes
+SHA1 (sml-nj-110.41/ckit.tgz) = bacd7cc348860eb3e8f6f7d9a770adb29fc50580
+Size (sml-nj-110.41/ckit.tgz) = 168118 bytes
+SHA1 (sml-nj-110.41/cm.tgz) = 25d2848798a25519f0154326e86d4cb0bb46c8bf
+Size (sml-nj-110.41/cm.tgz) = 201685 bytes
+SHA1 (sml-nj-110.41/cml.tgz) = 04b1e8cfd73291c353080ded420c2ac6ae9831cd
+Size (sml-nj-110.41/cml.tgz) = 127079 bytes
+SHA1 (sml-nj-110.41/compiler.tgz) = 1cef17d18d7763fea5431893dbf5981c5001c750
+Size (sml-nj-110.41/compiler.tgz) = 703537 bytes
+SHA1 (sml-nj-110.41/config.tgz) = a05d2c98ea4e7fa9650af5817a4fa4e02c38fe8d
+Size (sml-nj-110.41/config.tgz) = 13413 bytes
+SHA1 (sml-nj-110.41/eXene.tgz) = c89eecbeddd7f772ac1b327405690c8694e1e738
+Size (sml-nj-110.41/eXene.tgz) = 693018 bytes
+SHA1 (sml-nj-110.41/ml-burg.tgz) = 9fe9f305bd18b7c5c9f8a9952d81a310b64be48f
+Size (sml-nj-110.41/ml-burg.tgz) = 31719 bytes
+SHA1 (sml-nj-110.41/ml-lex.tgz) = 3008bd1bdd7ca2cfae19ca70b5123a8e84465b82
+Size (sml-nj-110.41/ml-lex.tgz) = 32010 bytes
+SHA1 (sml-nj-110.41/ml-nlffi-lib.tgz) = 48c39a8e27e7de6b0b48dbdea84001baadedeafd
+Size (sml-nj-110.41/ml-nlffi-lib.tgz) = 33913 bytes
+SHA1 (sml-nj-110.41/ml-nlffigen.tgz) = 0e9ce4f4c49f7dd37f1d2adc0bc5d61a21fc1418
+Size (sml-nj-110.41/ml-nlffigen.tgz) = 28800 bytes
+SHA1 (sml-nj-110.41/ml-yacc.tgz) = 29e03b707ca539d20385d220e3752d0e002f6ee5
+Size (sml-nj-110.41/ml-yacc.tgz) = 95493 bytes
+SHA1 (sml-nj-110.41/runtime.tgz) = 8060d52c55db7961fb7a7c3c5b347082ebfab7e2
+Size (sml-nj-110.41/runtime.tgz) = 311920 bytes
+SHA1 (sml-nj-110.41/smlnj-lib.tgz) = c7db78fa45fac689bb2e2e472d2bc5394f63d0ce
+Size (sml-nj-110.41/smlnj-lib.tgz) = 250010 bytes
+SHA1 (sml-nj-110.41/system.tgz) = fa69034cd2b06a052609280c8523a08a41c2770b
+Size (sml-nj-110.41/system.tgz) = 177127 bytes
+SHA1 (patch-aa) = 21e488442554b0970e11d4bdcc19639d3579e962
 SHA1 (patch-ac) = b010b0fd5b923ed954023a72dc763e20f8f1b213
+SHA1 (patch-ad) = c05aa7e345ca4827efb1b8de99dee9fb17e1770e
+SHA1 (patch-ae) = 5796401418fd91a795fdfe75060cf654dd315ac1
+SHA1 (patch-af) = 7bb089fbfc11e62f0a78d6cf48b6f0d855a462d8
+SHA1 (patch-ag) = c8a98f30e07ceb6ae3df42b3e5db11d97e1a1f5b
diff -ruN pkgsrc/lang/sml-nj/files/patch-global-names pkgsrc/lang/sml-nj.NEW/files/patch-global-names
--- pkgsrc/lang/sml-nj/files/patch-global-names	Thu Jul  4 16:24:42 2002
+++ pkgsrc/lang/sml-nj.NEW/files/patch-global-names	Wed Dec 31 19:00:00 1969
@@ -1,237 +0,0 @@
---- src/runtime/include/asm-base.h.orig	Fri Dec  3 20:59:31 1999
-+++ src/runtime/include/asm-base.h	Fri Mar  9 14:53:40 2001
-@@ -36,6 +36,11 @@
- #    define _ASM
- #    include <sys/stack.h>
- #    include <sys/trap.h>
-+#  elif defined(OPSYS_NETBSD)
-+#    include <machine/trap.h>
-+#    define WINDOWSIZE (16*4)
-+#    define SA(x) (((x)+7)&~7)
-+#    define ST_INT_OVERFLOW 0x87
- #  endif
- #  define GLOBAL(ID)	.global	CSYM(ID)
- #  define LABEL(ID)	ID:
---- src/runtime/mach-dep/SPARC.prim.asm.orig	Fri Dec  3 20:59:32 1999
-+++ src/runtime/mach-dep/SPARC.prim.asm	Wed Mar 14 18:39:43 2001
-@@ -462,7 +462,7 @@
- 	mov	ALLOCPTR,LIMITPTR	    /* (delay slot) */
- 
- 
--#if defined(OPSYS_SUNOS) || defined(OPSYS_NEXTSTEP)
-+#if defined(OPSYS_SUNOS) || defined(OPSYS_NEXTSTEP) || defined(OPSYS_NETBSD)
- /* ZeroLimitPtr:
-  *
-  * Zero the heap limit pointer so that a trap will be generated on the next limit
-@@ -731,13 +731,62 @@
- 	mov	%g1,%l1			  /* save %g1 which may get trashed */
- 	mov	%g2,%l2
- 	mov	%g3,%l3
-+#ifdef OPSYS_NETBSD
-+			/* NetBSDs .mul trashes these */
-+	mov     %i4,%l4
-+	mov     %i5,%l5
-+	mov	%i0,%l6
-+	mov	%i1,%l7
-+#endif
- 	mov	%i2,%o0
- 	call	.mul
- 	mov	%i3,%o1			  /* (delay slot) */
- 	mov	%l1,%g1			  /* restore %g1 */
- 	mov	%l2,%g2
- 	mov	%l3,%g3
-+#ifdef OPSYS_NETBSD
-+	mov     %l4,%i4
-+	mov	%l5,%i5
-+	mov	%l6,%i0
-+	mov	%l7,%i1
-+			/* the code below is a hack:
-+			 * NetBSDs .mul does a 32x32->64 bit signed multiply
-+			 * The SML code assumes that the multiply
-+			 * overflowed (over 32bit) if the Z flag is
-+			 * clear on return from .mul 
-+			 * NetBSDs .mul doesn't do that, so we have to check
-+			 * for overflow. This is done in the following way:
-+			 * - If the upper 32 bits are clear:
-+	 		 *    + if bit 31 is set => overflow
-+		         *    + if bit 31 is clear => OK
-+			 * - If the upper 32 bits are != -1 => overflow
-+			 * - If the upper 32 bits are == -1:
-+			 *    + If bit 31 is clear => overflow
-+			 *    + If bit 31 is set   => OK
-+			 *
-+		   	 * I should be shot for this code ...
-+			 */
-+	cmp %o1,0
-+	bnz 4f
-+	nop
-+	/* is bit 31 of %o0 set ? */
-+	addcc %o0,%o0,%o1
-+	bcc 2f
-+	nop
-+5:      restore %o0,0,%o2                 /* result in %o2 (delay slot) */
-+        t       ST_INT_OVERFLOW         /* generate overflow trap */
-+
-+	
-+4:	cmp %o1,-1			/* upper 32 bits == -1 ? */
-+	bnz 5
-+	nop
-+	addcc %o0,%o0,%o1		/* bit 31 clear ? */
-+	bcc 2f
-+	nop
-+#else
- 	bnz	1f			  /* if z is clear, then overflow */
-+#endif
-+2:
- 	restore %o0,0,%o2		  /* result in %o2 (delay slot) */
- 	retl
- 	nop
-@@ -751,7 +800,15 @@
-  * locals of the new window, since .div is a leaf routine.
-  */
- _ml_div:
--	save	%sp,-SA(WINDOWSIZE),%sp
-+#ifdef OPSYS_NETBSD
-+		/* hack time again: NetBSDs .div trashes too many registers
-+		 * we have to store them in the stack frame, so make room
-+		 * for six registers (o0-o5) 
-+		 */
-+	save	%sp,-SA(WINDOWSIZE+24),%sp
-+#else
-+        save    %sp,-SA(WINDOWSIZE+24),%sp
-+#endif
- 	addcc	%i3,%g0,%o1		/* %o1 is divisor (and check for zero) */
- 	bz	1f
- 				    /* save %g1, %g2 and %g3 (using new window) */
-@@ -759,9 +816,30 @@
- 	mov	%g1,%l1			/* (delay slot) */
- 	mov	%g2,%l2
- 	mov	%g3,%l3
-+#ifdef OPSYS_NETBSD
-+	/* save g6,g7,o0-o5, they get trashed. 
-+	   Note that %o0-%o5 are now %i0-%i5, since we did a 'save'
-+	   Since %g6 is the global AllocPtr for SML, this 
-+	   is rather bad :-)
-+	 */  
-+	mov %g6,%l4
-+	mov %g7,%l5
-+	std	%i0,[%fp-16]
-+	std	%i2,[%fp-24]
-+	std	%i4,[%fp-32]
-+#endif
-+
- 	call	.div
- 	mov	%i2,%o0			/* (delay slot) */
- 				    /* restore %g1, %g2 and %g3 */
-+#ifdef OPSYS_NETBSD
-+	mov %l4,%g6
-+	mov %l5,%g7
-+	ldd	[%fp-32],%i4
-+	ldd	[%fp-24],%i2
-+	ldd	[%fp-16],%i0
-+#endif
-+
- 	mov	%l3,%g3
- 	mov	%l2,%g2
- 	mov	%l1,%g1
-@@ -788,11 +866,24 @@
- 	mov	%g2,%l2
- 	mov	%g3,%l3
- 	mov	%i2,%o0
-+#ifdef OPSYS_NETBSD
-+		/* Save what might be trashed by NetBSDs .umul */
-+	mov	%i4,%l4
-+	mov	%i5,%l5
-+	mov	%i0,%l6
-+	mov 	%i1,%l7
-+#endif
- 	call	.umul
- 	mov	%i3,%o1			  /* (delay slot) */
- 	mov	%l1,%g1			  /* restore %g1 */
- 	mov	%l2,%g2
- 	mov	%l3,%g3
-+#ifdef OPSYS_NETBSD
-+	mov	%l4,%i4
-+	mov	%l5,%i5
-+	mov	%l6,%i0
-+	mov	%l7,%i1
-+#endif
- 	ret
- 	restore %o0,0,%o2		  /* result in %o2 (delay slot) */
- 
-@@ -803,7 +894,12 @@
-  * locals of the new window, since .div is a leaf routine.
-  */
- _ml_udiv:
--	save	%sp,-SA(WINDOWSIZE),%sp
-+#ifdef OPSYS_NETBSD
-+		/* see comment for _ml__div_ */
-+	save	%sp,-SA(WINDOWSIZE+24),%sp
-+#else
-+        save    %sp,-SA(WINDOWSIZE+24),%sp 
-+#endif
- 	addcc	%i3,%g0,%o1		/* %o1 is divisor (and check for zero) */
- 	bz	1f
- 				    /* save %g1, %g2 and %g3 (using new window) */
-@@ -811,9 +907,23 @@
- 	mov	%g1,%l1			/* (delay slot) */
- 	mov	%g2,%l2
- 	mov	%g3,%l3
-+#ifdef OPSYS_NETBSD
-+	mov	%g6,%l4
-+	mov 	%g7,%l5
-+        std     %i0,[%fp-16]
-+        std     %i2,[%fp-24]
-+        std     %i4,[%fp-32]
-+#endif
- 	call	.udiv
- 	mov	%i2,%o0			/* (delay slot) */
- 				    /* restore %g1, %g2 and %g3 */
-+#ifdef OPSYS_NETBSD
-+	mov 	%l4,%g6
-+	mov 	%l5,%g7
-+        ldd     [%fp-32],%i4
-+        ldd     [%fp-24],%i2
-+        ldd     [%fp-16],%i0
-+#endif
- 	mov	%l3,%g3
- 	mov	%l2,%g2
- 	mov	%l1,%g1
---- src/runtime/mach-dep/signal-sysdep.h.orig	Fri Dec  3 20:59:32 1999
-+++ src/runtime/mach-dep/signal-sysdep.h	Mon Mar 12 15:23:01 2001
-@@ -151,7 +151,7 @@
-   /* disable all FP exceptions */
- #  define SIG_InitFPE()    SetFSR(0)
- 
--#  if defined(OPSYS_SUNOS)
-+#  if defined(OPSYS_SUNOS) || defined(OPSYS_NETBSD)
-     /** SPARC, SUNOS **/
- #    define USE_ZERO_LIMIT_PTR_FN
- #    define SIG_FAULT1		SIGFPE
---- src/runtime/objs/mk.sparc-netbsd.orig	Thu Jan  1 01:00:00 1970
-+++ src/runtime/objs/mk.sparc-netbsd	Tue Mar 13 09:45:58 2001
-@@ -0,0 +1,24 @@
-+# mk.sparc-netbsd
-+#
-+
-+SHELL		= /bin/sh
-+
-+MAKE =		gmake
-+GCC =		gcc
-+ARFLAGS =	Trcv
-+CFLAGS =	-O2 -Wall 
-+LDFLAGS=
-+CPP =		$(GCC) -x c -E -P
-+
-+#XOBJS =	xmonitor.o
-+#LD_LIBS =	-lX11
-+#BASE_DEFS =	-DHEAP_MONITOR -DPOLL_DEBUG
-+XOBJS =
-+XLIBS =
-+DEFS =		$(BASE_DEFS) -DHOST_SPARC -DTARGET_SPARC -DOPSYS_UNIX -DOPSYS_NETBSD -DCALLEESAVE=3 -DUNBOXEDFLOAT=1 
-+TARGET =	SPARC
-+VERSION =	v-sparc-netbsd
-+RUNTIME =	run.sparc-netbsd
-+
-+all:
-+	($(MAKE) RUNTIME="$(RUNTIME)" MAKE="$(MAKE)" VERSION="$(VERSION)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" AS="$(AS)" AR="$(AR)" RANLIB="$(RANLIB)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" $(RUNTIME))
diff -ruN pkgsrc/lang/sml-nj/patches/patch-aa pkgsrc/lang/sml-nj.NEW/patches/patch-aa
--- pkgsrc/lang/sml-nj/patches/patch-aa	Thu Jul  4 16:24:42 2002
+++ pkgsrc/lang/sml-nj.NEW/patches/patch-aa	Thu Sep 19 03:05:46 2002
@@ -1,34 +1,85 @@
-$NetBSD: patch-aa,v 1.1 2002/07/04 20:24:42 wiz Exp $
+$NetBSD$
 
---- config/targets.orig	Sun Jan 27 19:18:03 2002
+--- config/targets.orig	Fri Feb 22 21:42:15 2002
 +++ config/targets
-@@ -44,7 +44,7 @@
+@@ -41,7 +41,7 @@ request ml-lex
  
  # build ML-Burg
  #
--#TARGETS="$TARGETS ml-burg"
-+TARGETS="$TARGETS ml-burg"
+-#request ml-burg
++request ml-burg
  
  # pre-compile and install the remaining components of the SML/NJ library
  # (everything except smlnj-lib.cm, aka Util, itself)
-@@ -56,17 +56,17 @@
+@@ -50,27 +50,27 @@ request smlnj-lib
+ 
+ # pre-compile and install CM "portable graph" utility library
+ #
+-#request pgraph-util
++request pgraph-util
+ 
  # pre-compile and install Concurrent ML, which is a library for message-passing
  # concurrency.
  #
--#TARGETS="$TARGETS cml"
-+TARGETS="$TARGETS cml"
+-#request cml
++request cml
  
  # pre-compile and install the CML Library, which provides some useful CML
  # modules.
  #
--#TARGETS="$TARGETS cml-lib"
-+TARGETS="$TARGETS cml-lib"
+-#request cml-lib
++request cml-lib
  
  # pre-compile and install eXene, which is a library for X-Windows programming.
  # EXene requires CML.
  #
--#TARGETS="$TARGETS eXene"
-+TARGETS="$TARGETS eXene"
+-#request eXene
++request eXene
  
  # pre-compile and install the C-Kit, which is a library for parsing and
  # type-checking C programs
+ #
+-#request ckit
++request ckit
+ 
+ # pre-compile and install the ML-NLFFI Library, which is the core of
+ # a new foreign function interface (where "foreign" functions are
+@@ -79,7 +79,7 @@ request smlnj-lib
+ # the new FFI.
+ # This preview release currently works only under X86/Linux.
+ #
+-#request ml-nlffi-lib
++request ml-nlffi-lib
+ 
+ # build ML-NLFFI-Gen, a program generator tool used in conjunction with
+ # the new "NLFFI" foreign function interface.  The tool generates ML
+@@ -87,13 +87,13 @@ request smlnj-lib
+ # (Requires ckit!)
+ # This preview release currently works only under X86/Linux.
+ #
+-#request ml-nlffigen
++request ml-nlffigen
+ 
+ # pre-compile and install the MLRISC Tools library.
+ # This library is for parsing and pretty printing SML code.
+ # It's used by various MLRISC code generator generator.
+ #
+-#request mlrisc-tools
++request mlrisc-tools
+ 
+ # Build and install the 'nowhere' program translator.
+ # This tool translates programs with conditional patterns (where clauses) 
+@@ -101,11 +101,11 @@ request smlnj-lib
+ # (bad) documentation.
+ # (Requires the mlrisc-tools library!)
+ #
+-#request nowhere
++request nowhere
+ 
+ # unpack and install the documentation directory.
+ #
+-#request doc
++request doc
+ 
+ # Note: autoloading is always enabled.
+ #   In order to customize what is being pre-registered for autoloading
diff -ruN pkgsrc/lang/sml-nj/patches/patch-ab pkgsrc/lang/sml-nj.NEW/patches/patch-ab
--- pkgsrc/lang/sml-nj/patches/patch-ab	Thu Jul  4 16:24:42 2002
+++ pkgsrc/lang/sml-nj.NEW/patches/patch-ab	Wed Dec 31 19:00:00 1969
@@ -1,17 +0,0 @@
-$NetBSD: patch-ab,v 1.3 2002/07/04 20:24:42 wiz Exp $
-
---- config/install.sh.orig	Sun Jan 27 19:18:03 2002
-+++ config/install.sh
-@@ -531,6 +531,12 @@
- # build the run-time system
- #
- unpack "run-time" $SRCDIR runtime runtime
-+# we need to patch just before build
-+patch_file="${FILESDIR}/patch-global-names"
-+if [ -f $patch_file ]; then
-+	echo "applying source patches"
-+	$PATCH $PATCH_ARGS < $patch_file
-+fi
- if [ -x $RUNDIR/run.$ARCH-$OPSYS ]; then
-     echo $this: Run-time system already exists.
- else
diff -ruN pkgsrc/lang/sml-nj/patches/patch-ad pkgsrc/lang/sml-nj.NEW/patches/patch-ad
--- pkgsrc/lang/sml-nj/patches/patch-ad	Wed Dec 31 19:00:00 1969
+++ pkgsrc/lang/sml-nj.NEW/patches/patch-ad	Thu Sep 19 03:54:34 2002
@@ -0,0 +1,16 @@
+$NetBSD$
+
+--- src/runtime/include/asm-base.h.orig	Fri Apr 12 13:54:31 2002
++++ src/runtime/include/asm-base.h
+@@ -36,6 +36,11 @@
+ #    define _ASM
+ #    include <sys/stack.h>
+ #    include <sys/trap.h>
++#  elif defined(OPSYS_NETBSD)
++#    include <machine/trap.h>
++#    define WINDOWSIZE (16*4)
++#    define SA(x) (((x)+7)&~7)
++#    define ST_INT_OVERFLOW 0x87
+ #  endif
+ #  define CGLOBAL(ID)	.global	CSYM(ID)
+ #  define LABEL(ID)	ID:
diff -ruN pkgsrc/lang/sml-nj/patches/patch-ae pkgsrc/lang/sml-nj.NEW/patches/patch-ae
--- pkgsrc/lang/sml-nj/patches/patch-ae	Wed Dec 31 19:00:00 1969
+++ pkgsrc/lang/sml-nj.NEW/patches/patch-ae	Thu Sep 19 03:54:34 2002
@@ -0,0 +1,187 @@
+$NetBSD$
+
+--- src/runtime/mach-dep/SPARC.prim.asm.orig	Fri Jun 15 15:05:19 2001
++++ src/runtime/mach-dep/SPARC.prim.asm
+@@ -307,7 +307,7 @@ pending_sigs:	/* there are pending signa
+ 	mov	ALLOCPTR,LIMITPTR	    /* (delay slot) */
+ 
+ 
+-#if defined(OPSYS_SUNOS) || defined(OPSYS_NEXTSTEP)
++#if defined(OPSYS_SUNOS) || defined(OPSYS_NEXTSTEP) || defined(OPSYS_NETBSD)
+ /* ZeroLimitPtr:
+  *
+  * Zero the heap limit pointer so that a trap will be generated on the next limit
+@@ -622,13 +622,62 @@ _ml_mul:
+ 	mov	%g1,%l1			  /* save %g1 which may get trashed */
+ 	mov	%g2,%l2
+ 	mov	%g3,%l3
++#ifdef OPSYS_NETBSD
++			/* NetBSDs .mul trashes these */
++	mov     %i4,%l4
++	mov     %i5,%l5
++	mov	%i0,%l6
++	mov	%i1,%l7
++#endif
+ 	mov	%i2,%o0
+ 	call	.mul
+ 	mov	%i3,%o1			  /* (delay slot) */
+ 	mov	%l1,%g1			  /* restore %g1 */
+ 	mov	%l2,%g2
+ 	mov	%l3,%g3
++#ifdef OPSYS_NETBSD
++	mov     %l4,%i4
++	mov	%l5,%i5
++	mov	%l6,%i0
++	mov	%l7,%i1
++			/* the code below is a hack:
++			 * NetBSDs .mul does a 32x32->64 bit signed multiply
++			 * The SML code assumes that the multiply
++			 * overflowed (over 32bit) if the Z flag is
++			 * clear on return from .mul 
++			 * NetBSDs .mul doesn't do that, so we have to check
++			 * for overflow. This is done in the following way:
++			 * - If the upper 32 bits are clear:
++	 		 *    + if bit 31 is set => overflow
++		         *    + if bit 31 is clear => OK
++			 * - If the upper 32 bits are != -1 => overflow
++			 * - If the upper 32 bits are == -1:
++			 *    + If bit 31 is clear => overflow
++			 *    + If bit 31 is set   => OK
++			 *
++		   	 * I should be shot for this code ...
++			 */
++	cmp %o1,0
++	bnz 4f
++	nop
++	/* is bit 31 of %o0 set ? */
++	addcc %o0,%o0,%o1
++	bcc 2f
++	nop
++5:      restore %o0,0,%o2                 /* result in %o2 (delay slot) */
++        t       ST_INT_OVERFLOW         /* generate overflow trap */
++
++	
++4:	cmp %o1,-1			/* upper 32 bits == -1 ? */
++	bnz 5
++	nop
++	addcc %o0,%o0,%o1		/* bit 31 clear ? */
++	bcc 2f
++	nop
++#else
+ 	bnz	1f			  /* if z is clear, then overflow */
++#endif
++2:
+ 	restore %o0,0,%o2		  /* result in %o2 (delay slot) */
+ 	retl
+ 	nop
+@@ -642,7 +691,15 @@ _ml_mul:
+  * locals of the new window, since .div is a leaf routine.
+  */
+ _ml_div:
+-	save	%sp,-SA(WINDOWSIZE),%sp
++#ifdef OPSYS_NETBSD
++		/* hack time again: NetBSDs .div trashes too many registers
++		 * we have to store them in the stack frame, so make room
++		 * for six registers (o0-o5) 
++		 */
++	save	%sp,-SA(WINDOWSIZE+24),%sp
++#else
++        save    %sp,-SA(WINDOWSIZE+24),%sp
++#endif
+ 	addcc	%i3,%g0,%o1		/* %o1 is divisor (and check for zero) */
+ 	bz	1f
+ 				    /* save %g1, %g2 and %g3 (using new window) */
+@@ -650,9 +707,30 @@ _ml_div:
+ 	mov	%g1,%l1			/* (delay slot) */
+ 	mov	%g2,%l2
+ 	mov	%g3,%l3
++#ifdef OPSYS_NETBSD
++	/* save g6,g7,o0-o5, they get trashed. 
++	   Note that %o0-%o5 are now %i0-%i5, since we did a 'save'
++	   Since %g6 is the global AllocPtr for SML, this 
++	   is rather bad :-)
++	 */  
++	mov %g6,%l4
++	mov %g7,%l5
++	std	%i0,[%fp-16]
++	std	%i2,[%fp-24]
++	std	%i4,[%fp-32]
++#endif
++
+ 	call	.div
+ 	mov	%i2,%o0			/* (delay slot) */
+ 				    /* restore %g1, %g2 and %g3 */
++#ifdef OPSYS_NETBSD
++	mov %l4,%g6
++	mov %l5,%g7
++	ldd	[%fp-32],%i4
++	ldd	[%fp-24],%i2
++	ldd	[%fp-16],%i0
++#endif
++
+ 	mov	%l3,%g3
+ 	mov	%l2,%g2
+ 	mov	%l1,%g1
+@@ -679,11 +757,24 @@ _ml_umul:
+ 	mov	%g2,%l2
+ 	mov	%g3,%l3
+ 	mov	%i2,%o0
++#ifdef OPSYS_NETBSD
++		/* Save what might be trashed by NetBSDs .umul */
++	mov	%i4,%l4
++	mov	%i5,%l5
++	mov	%i0,%l6
++	mov 	%i1,%l7
++#endif
+ 	call	.umul
+ 	mov	%i3,%o1			  /* (delay slot) */
+ 	mov	%l1,%g1			  /* restore %g1 */
+ 	mov	%l2,%g2
+ 	mov	%l3,%g3
++#ifdef OPSYS_NETBSD
++	mov	%l4,%i4
++	mov	%l5,%i5
++	mov	%l6,%i0
++	mov	%l7,%i1
++#endif
+ 	ret
+ 	restore %o0,0,%o2		  /* result in %o2 (delay slot) */
+ 
+@@ -694,7 +785,12 @@ _ml_umul:
+  * locals of the new window, since .div is a leaf routine.
+  */
+ _ml_udiv:
+-	save	%sp,-SA(WINDOWSIZE),%sp
++#ifdef OPSYS_NETBSD
++		/* see comment for _ml__div_ */
++	save	%sp,-SA(WINDOWSIZE+24),%sp
++#else
++        save    %sp,-SA(WINDOWSIZE+24),%sp 
++#endif
+ 	addcc	%i3,%g0,%o1		/* %o1 is divisor (and check for zero) */
+ 	bz	1f
+ 				    /* save %g1, %g2 and %g3 (using new window) */
+@@ -702,9 +798,23 @@ _ml_udiv:
+ 	mov	%g1,%l1			/* (delay slot) */
+ 	mov	%g2,%l2
+ 	mov	%g3,%l3
++#ifdef OPSYS_NETBSD
++	mov	%g6,%l4
++	mov 	%g7,%l5
++        std     %i0,[%fp-16]
++        std     %i2,[%fp-24]
++        std     %i4,[%fp-32]
++#endif
+ 	call	.udiv
+ 	mov	%i2,%o0			/* (delay slot) */
+ 				    /* restore %g1, %g2 and %g3 */
++#ifdef OPSYS_NETBSD
++	mov 	%l4,%g6
++	mov 	%l5,%g7
++        ldd     [%fp-32],%i4
++        ldd     [%fp-24],%i2
++        ldd     [%fp-16],%i0
++#endif
+ 	mov	%l3,%g3
+ 	mov	%l2,%g2
+ 	mov	%l1,%g1
diff -ruN pkgsrc/lang/sml-nj/patches/patch-af pkgsrc/lang/sml-nj.NEW/patches/patch-af
--- pkgsrc/lang/sml-nj/patches/patch-af	Wed Dec 31 19:00:00 1969
+++ pkgsrc/lang/sml-nj.NEW/patches/patch-af	Thu Sep 19 03:54:34 2002
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- src/runtime/mach-dep/signal-sysdep.h.orig	Fri Apr 20 09:26:45 2001
++++ src/runtime/mach-dep/signal-sysdep.h
+@@ -151,7 +151,7 @@ extern void SetFSR(int);
+   /* disable all FP exceptions */
+ #  define SIG_InitFPE()    SetFSR(0)
+ 
+-#  if defined(OPSYS_SUNOS)
++#  if defined(OPSYS_SUNOS) || defined(OPSYS_NETBSD)
+     /** SPARC, SUNOS **/
+ #    define USE_ZERO_LIMIT_PTR_FN
+ #    define SIG_FAULT1		SIGFPE
diff -ruN pkgsrc/lang/sml-nj/patches/patch-ag pkgsrc/lang/sml-nj.NEW/patches/patch-ag
--- pkgsrc/lang/sml-nj/patches/patch-ag	Wed Dec 31 19:00:00 1969
+++ pkgsrc/lang/sml-nj.NEW/patches/patch-ag	Thu Sep 19 03:54:34 2002
@@ -0,0 +1,29 @@
+$NetBSD$
+
+--- src/runtime/objs/mk.sparc-netbsd.orig	Thu Sep 19 03:54:01 2002
++++ src/runtime/objs/mk.sparc-netbsd
+@@ -0,0 +1,24 @@
++# mk.sparc-netbsd
++#
++
++SHELL		= /bin/sh
++
++MAKE =		gmake
++GCC =		gcc
++ARFLAGS =	Trcv
++CFLAGS =	-O2 -Wall 
++LDFLAGS=
++CPP =		$(GCC) -x c -E -P
++
++#XOBJS =	xmonitor.o
++#LD_LIBS =	-lX11
++#BASE_DEFS =	-DHEAP_MONITOR -DPOLL_DEBUG
++XOBJS =
++XLIBS =
++DEFS =		$(BASE_DEFS) -DHOST_SPARC -DTARGET_SPARC -DOPSYS_UNIX -DOPSYS_NETBSD -DCALLEESAVE=3 -DUNBOXEDFLOAT=1 
++TARGET =	SPARC
++VERSION =	v-sparc-netbsd
++RUNTIME =	run.sparc-netbsd
++
++all:
++	($(MAKE) RUNTIME="$(RUNTIME)" MAKE="$(MAKE)" VERSION="$(VERSION)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" AS="$(AS)" AR="$(AR)" RANLIB="$(RANLIB)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" $(RUNTIME))

>Release-Note:
>Audit-Trail:
>Unformatted: