summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorwiz <wiz>2002-09-29 15:03:19 +0000
committerwiz <wiz>2002-09-29 15:03:19 +0000
commit65cdb3aa5876535e808d5bd98f94fb9f31870b7a (patch)
treea05de773849b97d3836bfea659937816a2dc5fc0 /lang
parentca9e7d9a14ba61b189f7212c58936af9de301b1d (diff)
downloadpkgsrc-65cdb3aa5876535e808d5bd98f94fb9f31870b7a.tar.gz
Update to 110.41, provided by Christopher Richards in PR 18437.
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.
Diffstat (limited to 'lang')
-rw-r--r--lang/sml-nj/Makefile21
-rw-r--r--lang/sml-nj/PLIST46
-rw-r--r--lang/sml-nj/distinfo71
-rw-r--r--lang/sml-nj/files/patch-global-names237
-rw-r--r--lang/sml-nj/patches/patch-aa75
-rw-r--r--lang/sml-nj/patches/patch-ab17
6 files changed, 166 insertions, 301 deletions
diff --git a/lang/sml-nj/Makefile b/lang/sml-nj/Makefile
index 0e652002105..ff0c19779f8 100644
--- a/lang/sml-nj/Makefile
+++ b/lang/sml-nj/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.12 2002/07/04 20:24:40 wiz Exp $
+# $NetBSD: Makefile,v 1.13 2002/09/29 15:03:19 wiz Exp $
#
DISTNAME= boot.${BOX}-unix
@@ -8,6 +8,7 @@ MASTER_SITES= ftp://ftp.research.bell-labs.com/dist/smlnj/working/${SML_VERSION}
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 @@ DISTFILES= MLRISC.tgz \
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 @@ MAINTAINER= packages@netbsd.org
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 @@ ONLY_FOR_PLATFORM= NetBSD-*-i386 SunOS-*-sparc NetBSD-*-sparc
DIST_SUBDIR= sml-nj-${SML_VERSION}
WRKSRC= ${WRKDIR}
-EXTRACT_ONLY= config.tgz
USE_GMAKE= yes
SML_BASE= ${PREFIX}/lib/sml-nj
@@ -60,6 +62,19 @@ OS= bsd
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:
cd ${WRKDIR} && ${LN} -sf ${_DISTDIR}/* .
diff --git a/lang/sml-nj/PLIST b/lang/sml-nj/PLIST
index c0d046558a8..62c62717bab 100644
--- a/lang/sml-nj/PLIST
+++ b/lang/sml-nj/PLIST
@@ -1,14 +1,18 @@
-@comment $NetBSD: PLIST,v 1.2 2002/07/04 20:24:40 wiz Exp $
+@comment $NetBSD: PLIST,v 1.3 2002/09/29 15:03:19 wiz Exp $
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-build
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/SPARC.cm
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/make-tool.cm/CM/${BOX}-unix/make-tool.cm
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/MLRISC.cm
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 @@ lib/sml-nj/lib/unix-lib.cm/CM/${BOX}-unix/unix-lib.cm
@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 @@ lib/sml-nj/lib/unix-lib.cm/CM/${BOX}-unix/unix-lib.cm
@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 @@ lib/sml-nj/lib/unix-lib.cm/CM/${BOX}-unix/unix-lib.cm
@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 @@ lib/sml-nj/lib/unix-lib.cm/CM/${BOX}-unix/unix-lib.cm
@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 --git a/lang/sml-nj/distinfo b/lang/sml-nj/distinfo
index 11cf670134d..78c0bf5680e 100644
--- a/lang/sml-nj/distinfo
+++ b/lang/sml-nj/distinfo
@@ -1,33 +1,42 @@
-$NetBSD: distinfo,v 1.5 2002/07/12 15:41:09 jonb Exp $
+$NetBSD: distinfo,v 1.6 2002/09/29 15:03:19 wiz 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 --git a/lang/sml-nj/files/patch-global-names b/lang/sml-nj/files/patch-global-names
deleted file mode 100644
index 692cf0bda2f..00000000000
--- a/lang/sml-nj/files/patch-global-names
+++ /dev/null
@@ -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 --git a/lang/sml-nj/patches/patch-aa b/lang/sml-nj/patches/patch-aa
index 9fe89bce485..51fed81fa4e 100644
--- a/lang/sml-nj/patches/patch-aa
+++ b/lang/sml-nj/patches/patch-aa
@@ -1,34 +1,85 @@
-$NetBSD: patch-aa,v 1.1 2002/07/04 20:24:42 wiz Exp $
+$NetBSD: patch-aa,v 1.2 2002/09/29 15:03:20 wiz Exp $
---- 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 --git a/lang/sml-nj/patches/patch-ab b/lang/sml-nj/patches/patch-ab
deleted file mode 100644
index 54db032a620..00000000000
--- a/lang/sml-nj/patches/patch-ab
+++ /dev/null
@@ -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