From a0bce01167f6ff06124aad1942a7e178bc0599cd Mon Sep 17 00:00:00 2001 From: wiz Date: Fri, 21 Mar 2003 22:20:55 +0000 Subject: Reimport sml-nj as smlnj, which is the name commonly used by the community. Suggested by Christopher Richards in connection with PR 18678. --- lang/smlnj/DESCR | 6 + lang/smlnj/Makefile | 109 ++++++++++++++++++ lang/smlnj/PLIST | 264 ++++++++++++++++++++++++++++++++++++++++++++ lang/smlnj/distinfo | 42 +++++++ lang/smlnj/patches/patch-aa | 85 ++++++++++++++ lang/smlnj/patches/patch-ac | 13 +++ lang/smlnj/patches/patch-ad | 16 +++ lang/smlnj/patches/patch-ae | 187 +++++++++++++++++++++++++++++++ lang/smlnj/patches/patch-af | 13 +++ lang/smlnj/patches/patch-ag | 29 +++++ 10 files changed, 764 insertions(+) create mode 100644 lang/smlnj/DESCR create mode 100644 lang/smlnj/Makefile create mode 100644 lang/smlnj/PLIST create mode 100644 lang/smlnj/distinfo create mode 100644 lang/smlnj/patches/patch-aa create mode 100644 lang/smlnj/patches/patch-ac create mode 100644 lang/smlnj/patches/patch-ad create mode 100644 lang/smlnj/patches/patch-ae create mode 100644 lang/smlnj/patches/patch-af create mode 100644 lang/smlnj/patches/patch-ag (limited to 'lang/smlnj') diff --git a/lang/smlnj/DESCR b/lang/smlnj/DESCR new file mode 100644 index 00000000000..8db8aad709b --- /dev/null +++ b/lang/smlnj/DESCR @@ -0,0 +1,6 @@ +A Standard ML implementation from Bell-Labs. Implements the SML '97 +definition including the new Basis library with a few minor omissions +and discrepancies. + +If you are interested in a lighter weight implementation of ML, the +Moscow-ML port is recommended. diff --git a/lang/smlnj/Makefile b/lang/smlnj/Makefile new file mode 100644 index 00000000000..393b1f5ec6c --- /dev/null +++ b/lang/smlnj/Makefile @@ -0,0 +1,109 @@ +# $NetBSD: Makefile,v 1.1.1.1 2003/03/21 22:20:55 wiz Exp $ +# + +DISTNAME= boot.${BOX}-unix +PKGNAME= smlnj-${SML_VERSION} +CATEGORIES= lang +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 \ + config.tgz \ + eXene.tgz \ + ml-burg.tgz \ + ml-lex.tgz \ + ml-nlffi-lib.tgz \ + ml-nlffigen.tgz \ + ml-yacc.tgz \ + runtime.tgz \ + smlnj-lib.tgz \ + system.tgz + +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.41 + +# smlnj also supports hppa, sparc, ppc, mlrisc & alpha +# pkg support for those platforms, and say, solaris-x86 +# is left as an (easy) exercise for the reader. +ONLY_FOR_PLATFORM= NetBSD-*-i386 SunOS-*-sparc NetBSD-*-sparc + +# Other mirror sites that generally carry only released versions of SML +# ftp://rodin.stanford.edu/pub/smlnj/release/ +# ftp://ftp.cl.cam.ac.uk/MIRRORED/smlnj/release/ +# ftp://ftp.ntua.gr/pub/lang/smlnj/release/ + +DIST_SUBDIR= sml-nj-${SML_VERSION} +WRKSRC= ${WRKDIR} +USE_GMAKE= yes + +# previous versions of the package had an additional '-' +CONFLICTS= sml-nj-[0-9]* + +SML_BASE= ${PREFIX}/lib/smlnj +SML_LIBDIR= ${SML_BASE}/lib +SML_BINDIR= ${SML_BASE}/bin + +.include "../../mk/bsd.prefs.mk" + +.if ${OPSYS} == "SunOS" && ${MACHINE_ARCH} == "sparc" +BOX= sparc +OS= ${LOWER_OPSYS} +.elif ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "i386" +BOX= x86 +OS= bsd +.elif ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "sparc" +BOX= sparc +OS= bsd +.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: + cd ${WRKDIR} && ${LN} -sf ${_DISTDIR}/* . + +# The build target needs to run $WRKDIR/config/install.sh +do-build: + cd ${WRKDIR} && unset PWD && \ + FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \ + ./config/install.sh + +# install target +# (see ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.38/INSTALL) +# 1. create installation directories +# 2. copy the ./bin and ./lib directories across +# 3. edit scripts to override BIN_DIR and CM_PATHCONFIG +# 4. install links to executables in $PREFIX/bin +do-install: + ${INSTALL_DATA_DIR} ${SML_BASE} + (cd ${WRKDIR} && ${PAX} -rw -pam bin lib ${SML_BASE}) +.for script in .link-sml .run-sml ml-build ml-makedepend + ${RM} -f ${SML_BINDIR}/${script} + ${SED} -e "s,^BIN_DIR=.*\$$,BIN_DIR=${SML_BINDIR}," \ + -e "s,^exec,CM_PATHCONFIG=${SML_LIBDIR}/pathconfig exec," \ + ${WRKDIR}/bin/${script} > ${SML_BINDIR}/${script} + ${CHMOD} ${BINMODE} ${SML_BINDIR}/${script} +.endfor + (cd ${PREFIX}/bin && ${LN} -sf ${SML_BINDIR}/* .) + +.include "../../mk/bsd.pkg.mk" diff --git a/lang/smlnj/PLIST b/lang/smlnj/PLIST new file mode 100644 index 00000000000..c4a868cce78 --- /dev/null +++ b/lang/smlnj/PLIST @@ -0,0 +1,264 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2003/03/21 22:20:56 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/smlnj/bin/.arch-n-opsys +lib/smlnj/bin/.heap/ml-burg.${BOX}-${OS} +lib/smlnj/bin/.heap/ml-lex.${BOX}-${OS} +lib/smlnj/bin/.heap/ml-nlffigen.${BOX}-${OS} +lib/smlnj/bin/.heap/ml-yacc.${BOX}-${OS} +lib/smlnj/bin/.heap/nowhere.${BOX}-${OS} +lib/smlnj/bin/.heap/sml.${BOX}-${OS} +lib/smlnj/bin/.link-sml +lib/smlnj/bin/.run-sml +lib/smlnj/bin/.run/run.${BOX}-${LOWER_OPSYS} +lib/smlnj/bin/ml-build +lib/smlnj/bin/ml-burg +lib/smlnj/bin/ml-lex +lib/smlnj/bin/ml-makedepend +lib/smlnj/bin/ml-nlffigen +lib/smlnj/bin/ml-yacc +lib/smlnj/bin/nowhere +lib/smlnj/bin/sml +lib/smlnj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/ALPHA.cm +lib/smlnj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/Control.cm +lib/smlnj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/Graphs.cm +lib/smlnj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/HPPA.cm +lib/smlnj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/IA32.cm +lib/smlnj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/Lib.cm +lib/smlnj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/MLRISC.cm +lib/smlnj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/MLTREE.cm +lib/smlnj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/PPC.cm +lib/smlnj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/SPARC.cm +lib/smlnj/lib/SMLNJ-MLRISC/CM/${BOX}-unix/Visual.cm +lib/smlnj/lib/basis.cm/CM/${BOX}-unix/basis.cm +lib/smlnj/lib/burg-ext.cm/CM/${BOX}-unix/burg-ext.cm +lib/smlnj/lib/c/CM/${BOX}-unix/c.cm +lib/smlnj/lib/c/internals/CM/${BOX}-unix/c-int.cm +lib/smlnj/lib/c/memory/CM/${BOX}-unix/memory.cm +lib/smlnj/lib/ckit-lib.cm/CM/${BOX}-unix/ckit-lib.cm +lib/smlnj/lib/cml-lib/CM/${BOX}-unix/smlnj-lib.cm +lib/smlnj/lib/cml-lib/CM/${BOX}-unix/trace-cml.cm +lib/smlnj/lib/cml/CM/${BOX}-unix/basis.cm +lib/smlnj/lib/cml/CM/${BOX}-unix/cml-internal.cm +lib/smlnj/lib/cml/CM/${BOX}-unix/cml.cm +lib/smlnj/lib/cml/CM/${BOX}-unix/core-cml.cm +lib/smlnj/lib/controls-lib.cm/CM/${BOX}-unix/controls-lib.cm +lib/smlnj/lib/dir-tool.cm/CM/${BOX}-unix/dir-tool.cm +lib/smlnj/lib/eXene.cm/CM/${BOX}-unix/eXene.cm +lib/smlnj/lib/grm-ext.cm/CM/${BOX}-unix/grm-ext.cm +lib/smlnj/lib/hash-cons-lib.cm/CM/${BOX}-unix/hash-cons-lib.cm +lib/smlnj/lib/html-lib.cm/CM/${BOX}-unix/html-lib.cm +lib/smlnj/lib/inet-lib.cm/CM/${BOX}-unix/inet-lib.cm +lib/smlnj/lib/lex-ext.cm/CM/${BOX}-unix/lex-ext.cm +lib/smlnj/lib/make-tool.cm/CM/${BOX}-unix/make-tool.cm +lib/smlnj/lib/ml-yacc-lib.cm/CM/${BOX}-unix/ml-yacc-lib.cm +lib/smlnj/lib/mlburg-tool.cm/CM/${BOX}-unix/mlburg-tool.cm +lib/smlnj/lib/mllex-tool.cm/CM/${BOX}-unix/mllex-tool.cm +lib/smlnj/lib/mlrisc-tools/CM/${BOX}-unix/match-compiler.cm +lib/smlnj/lib/mlrisc-tools/CM/${BOX}-unix/parser.cm +lib/smlnj/lib/mlrisc-tools/CM/${BOX}-unix/pp.cm +lib/smlnj/lib/mlrisc-tools/CM/${BOX}-unix/prec-parser.cm +lib/smlnj/lib/mlrisc-tools/CM/${BOX}-unix/sml-ast.cm +lib/smlnj/lib/mlrisc-tools/CM/${BOX}-unix/source-map.cm +lib/smlnj/lib/mlyacc-tool.cm/CM/${BOX}-unix/mlyacc-tool.cm +lib/smlnj/lib/noweb-tool.cm/CM/${BOX}-unix/noweb-tool.cm +lib/smlnj/lib/nw-ext.cm/CM/${BOX}-unix/nw-ext.cm +lib/smlnj/lib/pathconfig +lib/smlnj/lib/pgraph-util.cm/CM/${BOX}-unix/pgraph-util.cm +lib/smlnj/lib/pgraph.cm/CM/${BOX}-unix/pgraph.cm +lib/smlnj/lib/pickle-lib.cm/CM/${BOX}-unix/pickle-lib.cm +lib/smlnj/lib/pp-lib.cm/CM/${BOX}-unix/pp-lib.cm +lib/smlnj/lib/reactive-lib.cm/CM/${BOX}-unix/reactive-lib.cm +lib/smlnj/lib/regexp-lib.cm/CM/${BOX}-unix/regexp-lib.cm +lib/smlnj/lib/shell-tool.cm/CM/${BOX}-unix/shell-tool.cm +lib/smlnj/lib/smlnj-lib.cm/CM/${BOX}-unix/smlnj-lib.cm +lib/smlnj/lib/smlnj/CM/${BOX}-unix/cm.cm +lib/smlnj/lib/smlnj/CM/${BOX}-unix/cmb.cm +lib/smlnj/lib/smlnj/CM/${BOX}-unix/compiler.cm +lib/smlnj/lib/smlnj/MLRISC/CM/${BOX}-unix/ALPHA.cm +lib/smlnj/lib/smlnj/MLRISC/CM/${BOX}-unix/Control.cm +lib/smlnj/lib/smlnj/MLRISC/CM/${BOX}-unix/Graphs.cm +lib/smlnj/lib/smlnj/MLRISC/CM/${BOX}-unix/HPPA.cm +lib/smlnj/lib/smlnj/MLRISC/CM/${BOX}-unix/IA32.cm +lib/smlnj/lib/smlnj/MLRISC/CM/${BOX}-unix/Lib.cm +lib/smlnj/lib/smlnj/MLRISC/CM/${BOX}-unix/MLRISC.cm +lib/smlnj/lib/smlnj/MLRISC/CM/${BOX}-unix/MLTREE.cm +lib/smlnj/lib/smlnj/MLRISC/CM/${BOX}-unix/PPC.cm +lib/smlnj/lib/smlnj/MLRISC/CM/${BOX}-unix/SPARC.cm +lib/smlnj/lib/smlnj/MLRISC/CM/${BOX}-unix/Visual.cm +lib/smlnj/lib/smlnj/cm/CM/${BOX}-unix/cm.cm +lib/smlnj/lib/smlnj/cm/CM/${BOX}-unix/tools.cm +lib/smlnj/lib/smlnj/cmb/CM/${BOX}-unix/alpha32-unix.cm +lib/smlnj/lib/smlnj/cmb/CM/${BOX}-unix/current.cm +lib/smlnj/lib/smlnj/cmb/CM/${BOX}-unix/hppa-unix.cm +lib/smlnj/lib/smlnj/cmb/CM/${BOX}-unix/ppc-macos.cm +lib/smlnj/lib/smlnj/cmb/CM/${BOX}-unix/ppc-unix.cm +lib/smlnj/lib/smlnj/cmb/CM/${BOX}-unix/sparc-unix.cm +lib/smlnj/lib/smlnj/cmb/CM/${BOX}-unix/x86-unix.cm +lib/smlnj/lib/smlnj/cmb/CM/${BOX}-unix/x86-win32.cm +lib/smlnj/lib/smlnj/compiler/CM/${BOX}-unix/all.cm +lib/smlnj/lib/smlnj/compiler/CM/${BOX}-unix/alpha32.cm +lib/smlnj/lib/smlnj/compiler/CM/${BOX}-unix/compiler.cm +lib/smlnj/lib/smlnj/compiler/CM/${BOX}-unix/current.cm +lib/smlnj/lib/smlnj/compiler/CM/${BOX}-unix/hppa.cm +lib/smlnj/lib/smlnj/compiler/CM/${BOX}-unix/minimal-only.cm +lib/smlnj/lib/smlnj/compiler/CM/${BOX}-unix/minimal.cm +lib/smlnj/lib/smlnj/compiler/CM/${BOX}-unix/ppc.cm +lib/smlnj/lib/smlnj/compiler/CM/${BOX}-unix/sparc.cm +lib/smlnj/lib/smlnj/compiler/CM/${BOX}-unix/x86.cm +lib/smlnj/lib/smlnj/init/CM/${BOX}-unix/init.cmi +lib/smlnj/lib/smlnj/internal/CM/${BOX}-unix/cm-lib.cm +lib/smlnj/lib/smlnj/internal/CM/${BOX}-unix/cm-sig-lib.cm +lib/smlnj/lib/smlnj/internal/CM/${BOX}-unix/cm0.cm +lib/smlnj/lib/smlnj/internal/CM/${BOX}-unix/intsys.cm +lib/smlnj/lib/smlnj/internal/CM/${BOX}-unix/srcpath-lib.cm +lib/smlnj/lib/smlnj/viscomp/CM/${BOX}-unix/alpha32.cm +lib/smlnj/lib/smlnj/viscomp/CM/${BOX}-unix/basics.cm +lib/smlnj/lib/smlnj/viscomp/CM/${BOX}-unix/core.cm +lib/smlnj/lib/smlnj/viscomp/CM/${BOX}-unix/debugprof.cm +lib/smlnj/lib/smlnj/viscomp/CM/${BOX}-unix/elabdata.cm +lib/smlnj/lib/smlnj/viscomp/CM/${BOX}-unix/elaborate.cm +lib/smlnj/lib/smlnj/viscomp/CM/${BOX}-unix/execute.cm +lib/smlnj/lib/smlnj/viscomp/CM/${BOX}-unix/hppa.cm +lib/smlnj/lib/smlnj/viscomp/CM/${BOX}-unix/parser.cm +lib/smlnj/lib/smlnj/viscomp/CM/${BOX}-unix/ppc.cm +lib/smlnj/lib/smlnj/viscomp/CM/${BOX}-unix/sparc.cm +lib/smlnj/lib/smlnj/viscomp/CM/${BOX}-unix/x86.cm +lib/smlnj/lib/unix-lib.cm/CM/${BOX}-unix/unix-lib.cm +@dirrm lib/smlnj/lib/unix-lib.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/unix-lib.cm/CM +@dirrm lib/smlnj/lib/unix-lib.cm +@dirrm lib/smlnj/lib/smlnj/viscomp/CM/${BOX}-unix +@dirrm lib/smlnj/lib/smlnj/viscomp/CM +@dirrm lib/smlnj/lib/smlnj/viscomp +@dirrm lib/smlnj/lib/smlnj/internal/CM/${BOX}-unix +@dirrm lib/smlnj/lib/smlnj/internal/CM +@dirrm lib/smlnj/lib/smlnj/internal +@dirrm lib/smlnj/lib/smlnj/init/CM/${BOX}-unix +@dirrm lib/smlnj/lib/smlnj/init/CM +@dirrm lib/smlnj/lib/smlnj/init +@dirrm lib/smlnj/lib/smlnj/compiler/CM/${BOX}-unix +@dirrm lib/smlnj/lib/smlnj/compiler/CM +@dirrm lib/smlnj/lib/smlnj/compiler +@dirrm lib/smlnj/lib/smlnj/cmb/CM/${BOX}-unix +@dirrm lib/smlnj/lib/smlnj/cmb/CM +@dirrm lib/smlnj/lib/smlnj/cmb +@dirrm lib/smlnj/lib/smlnj/cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/smlnj/cm/CM +@dirrm lib/smlnj/lib/smlnj/cm +@dirrm lib/smlnj/lib/smlnj/MLRISC/CM/${BOX}-unix +@dirrm lib/smlnj/lib/smlnj/MLRISC/CM +@dirrm lib/smlnj/lib/smlnj/MLRISC +@dirrm lib/smlnj/lib/smlnj/CM/${BOX}-unix +@dirrm lib/smlnj/lib/smlnj/CM +@dirrm lib/smlnj/lib/smlnj-lib.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/smlnj-lib.cm/CM +@dirrm lib/smlnj/lib/smlnj-lib.cm +@dirrm lib/smlnj/lib/smlnj +@dirrm lib/smlnj/lib/shell-tool.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/shell-tool.cm/CM +@dirrm lib/smlnj/lib/shell-tool.cm +@dirrm lib/smlnj/lib/regexp-lib.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/regexp-lib.cm/CM +@dirrm lib/smlnj/lib/regexp-lib.cm +@dirrm lib/smlnj/lib/reactive-lib.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/reactive-lib.cm/CM +@dirrm lib/smlnj/lib/reactive-lib.cm +@dirrm lib/smlnj/lib/pp-lib.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/pp-lib.cm/CM +@dirrm lib/smlnj/lib/pp-lib.cm +@dirrm lib/smlnj/lib/pickle-lib.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/pickle-lib.cm/CM +@dirrm lib/smlnj/lib/pickle-lib.cm +@dirrm lib/smlnj/lib/pgraph.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/pgraph.cm/CM +@dirrm lib/smlnj/lib/pgraph.cm +@dirrm lib/smlnj/lib/pgraph-util.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/pgraph-util.cm/CM +@dirrm lib/smlnj/lib/pgraph-util.cm +@dirrm lib/smlnj/lib/nw-ext.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/nw-ext.cm/CM +@dirrm lib/smlnj/lib/nw-ext.cm +@dirrm lib/smlnj/lib/noweb-tool.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/noweb-tool.cm/CM +@dirrm lib/smlnj/lib/noweb-tool.cm +@dirrm lib/smlnj/lib/mlyacc-tool.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/mlyacc-tool.cm/CM +@dirrm lib/smlnj/lib/mlyacc-tool.cm +@dirrm lib/smlnj/lib/mlrisc-tools/CM/${BOX}-unix +@dirrm lib/smlnj/lib/mlrisc-tools/CM +@dirrm lib/smlnj/lib/mlrisc-tools +@dirrm lib/smlnj/lib/mllex-tool.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/mllex-tool.cm/CM +@dirrm lib/smlnj/lib/mllex-tool.cm +@dirrm lib/smlnj/lib/mlburg-tool.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/mlburg-tool.cm/CM +@dirrm lib/smlnj/lib/mlburg-tool.cm +@dirrm lib/smlnj/lib/ml-yacc-lib.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/ml-yacc-lib.cm/CM +@dirrm lib/smlnj/lib/ml-yacc-lib.cm +@dirrm lib/smlnj/lib/make-tool.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/make-tool.cm/CM +@dirrm lib/smlnj/lib/make-tool.cm +@dirrm lib/smlnj/lib/lex-ext.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/lex-ext.cm/CM +@dirrm lib/smlnj/lib/lex-ext.cm +@dirrm lib/smlnj/lib/inet-lib.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/inet-lib.cm/CM +@dirrm lib/smlnj/lib/inet-lib.cm +@dirrm lib/smlnj/lib/html-lib.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/html-lib.cm/CM +@dirrm lib/smlnj/lib/html-lib.cm +@dirrm lib/smlnj/lib/hash-cons-lib.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/hash-cons-lib.cm/CM +@dirrm lib/smlnj/lib/hash-cons-lib.cm +@dirrm lib/smlnj/lib/grm-ext.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/grm-ext.cm/CM +@dirrm lib/smlnj/lib/grm-ext.cm +@dirrm lib/smlnj/lib/eXene.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/eXene.cm/CM +@dirrm lib/smlnj/lib/eXene.cm +@dirrm lib/smlnj/lib/dir-tool.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/dir-tool.cm/CM +@dirrm lib/smlnj/lib/dir-tool.cm +@dirrm lib/smlnj/lib/controls-lib.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/controls-lib.cm/CM +@dirrm lib/smlnj/lib/controls-lib.cm +@dirrm lib/smlnj/lib/cml/CM/${BOX}-unix +@dirrm lib/smlnj/lib/cml/CM +@dirrm lib/smlnj/lib/cml-lib/CM/${BOX}-unix +@dirrm lib/smlnj/lib/cml-lib/CM +@dirrm lib/smlnj/lib/cml-lib +@dirrm lib/smlnj/lib/cml +@dirrm lib/smlnj/lib/ckit-lib.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/ckit-lib.cm/CM +@dirrm lib/smlnj/lib/ckit-lib.cm +@dirrm lib/smlnj/lib/c/memory/CM/${BOX}-unix +@dirrm lib/smlnj/lib/c/memory/CM +@dirrm lib/smlnj/lib/c/memory +@dirrm lib/smlnj/lib/c/internals/CM/${BOX}-unix +@dirrm lib/smlnj/lib/c/internals/CM +@dirrm lib/smlnj/lib/c/internals +@dirrm lib/smlnj/lib/c/CM/${BOX}-unix +@dirrm lib/smlnj/lib/c/CM +@dirrm lib/smlnj/lib/c +@dirrm lib/smlnj/lib/burg-ext.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/burg-ext.cm/CM +@dirrm lib/smlnj/lib/burg-ext.cm +@dirrm lib/smlnj/lib/basis.cm/CM/${BOX}-unix +@dirrm lib/smlnj/lib/basis.cm/CM +@dirrm lib/smlnj/lib/basis.cm +@dirrm lib/smlnj/lib/SMLNJ-MLRISC/CM/${BOX}-unix +@dirrm lib/smlnj/lib/SMLNJ-MLRISC/CM +@dirrm lib/smlnj/lib/SMLNJ-MLRISC +@dirrm lib/smlnj/lib +@dirrm lib/smlnj/bin/.run +@dirrm lib/smlnj/bin/.heap +@dirrm lib/smlnj/bin +@dirrm lib/smlnj diff --git a/lang/smlnj/distinfo b/lang/smlnj/distinfo new file mode 100644 index 00000000000..16f975ac5cc --- /dev/null +++ b/lang/smlnj/distinfo @@ -0,0 +1,42 @@ +$NetBSD: distinfo,v 1.1.1.1 2003/03/21 22:20:55 wiz Exp $ + +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/smlnj/patches/patch-aa b/lang/smlnj/patches/patch-aa new file mode 100644 index 00000000000..bb747d47cf7 --- /dev/null +++ b/lang/smlnj/patches/patch-aa @@ -0,0 +1,85 @@ +$NetBSD: patch-aa,v 1.1.1.1 2003/03/21 22:20:56 wiz Exp $ + +--- config/targets.orig Fri Feb 22 21:42:15 2002 ++++ config/targets +@@ -41,7 +41,7 @@ request ml-lex + + # build 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) +@@ -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. + # +-#request cml ++request cml + + # pre-compile and install the CML Library, which provides some useful CML + # modules. + # +-#request cml-lib ++request cml-lib + + # pre-compile and install eXene, which is a library for X-Windows programming. + # EXene requires CML. + # +-#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/smlnj/patches/patch-ac b/lang/smlnj/patches/patch-ac new file mode 100644 index 00000000000..b47a06f6c49 --- /dev/null +++ b/lang/smlnj/patches/patch-ac @@ -0,0 +1,13 @@ +$NetBSD: patch-ac,v 1.1.1.1 2003/03/21 22:20:56 wiz Exp $ + +--- config/_arch-n-opsys.orig Fri Oct 20 18:02:25 2000 ++++ config/_arch-n-opsys Fri Mar 9 14:07:05 2001 +@@ -107,6 +107,7 @@ + i486) ARCH=x86;; + i586) ARCH=x86;; + i686) ARCH=x86;; ++ sparc) ARCH=sparc;; + *) exit 1;; + esac + ;; + diff --git a/lang/smlnj/patches/patch-ad b/lang/smlnj/patches/patch-ad new file mode 100644 index 00000000000..9c8962cdd9b --- /dev/null +++ b/lang/smlnj/patches/patch-ad @@ -0,0 +1,16 @@ +$NetBSD: patch-ad,v 1.1.1.1 2003/03/21 22:20:56 wiz Exp $ + +--- 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 + # include ++# elif defined(OPSYS_NETBSD) ++# include ++# 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 --git a/lang/smlnj/patches/patch-ae b/lang/smlnj/patches/patch-ae new file mode 100644 index 00000000000..ae067927316 --- /dev/null +++ b/lang/smlnj/patches/patch-ae @@ -0,0 +1,187 @@ +$NetBSD: patch-ae,v 1.1.1.1 2003/03/21 22:20:56 wiz Exp $ + +--- 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 --git a/lang/smlnj/patches/patch-af b/lang/smlnj/patches/patch-af new file mode 100644 index 00000000000..0d4acbcc90f --- /dev/null +++ b/lang/smlnj/patches/patch-af @@ -0,0 +1,13 @@ +$NetBSD: patch-af,v 1.1.1.1 2003/03/21 22:20:56 wiz Exp $ + +--- 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 --git a/lang/smlnj/patches/patch-ag b/lang/smlnj/patches/patch-ag new file mode 100644 index 00000000000..7975946adca --- /dev/null +++ b/lang/smlnj/patches/patch-ag @@ -0,0 +1,29 @@ +$NetBSD: patch-ag,v 1.1.1.1 2003/03/21 22:20:56 wiz Exp $ + +--- 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)) -- cgit v1.2.3