--- /dev/null
+Creating Upstream Tarball
+-------------------------
+
+The upstream maintainers distribute SML/NJ as a collection of
+tarballs. This source package requires all of them, so the Debian orig
+tar file contains all the upstream tarballs placed where the upstream
+install.sh script expects them to be unpacked.
+
+For example:
+
+ smlnj-110.x.orig/ckit.tgz
+ smlnj-110.x.orig/config.tgz
+ smlnj-110.x.orig/src/MLRISC.tgz
+ smlnj-110.x.orig/src/cm.tgz
+ smlnj-110.x.orig/src/cml.tgz
+ smlnj-110.x.orig/src/compiler.tgz
+ smlnj-110.x.orig/src/eXene.tgz
+ smlnj-110.x.orig/src/ml-burg.tgz
+ smlnj-110.x.orig/src/ml-lex.tgz
+ smlnj-110.x.orig/src/ml-nlffi-lib.tgz
+ smlnj-110.x.orig/src/ml-nlffigen.tgz
+ smlnj-110.x.orig/src/ml-yacc.tgz
+ smlnj-110.x.orig/src/runtime.tgz
+ smlnj-110.x.orig/src/smlnj-c.tgz
+ smlnj-110.x.orig/src/smlnj-lib.tgz
+ smlnj-110.x.orig/src/system.tgz
+ smlnj-110.x.orig/src/tools.tgz
+
+The upstream boot images, used to create the bootstrap compiler are
+kept in the bootstrap directory, like this:
+
+ smlnj-110.x.orig/bootstrap/boot.alpha32-unix.tgz
+ smlnj-110.x.orig/bootstrap/boot.hppa-unix.tgz
+ smlnj-110.x.orig/bootstrap/boot.mipseb-unix.tgz
+ smlnj-110.x.orig/bootstrap/boot.ppc-unix.tgz
+ smlnj-110.x.orig/bootstrap/boot.sparc-unix.tgz
+ smlnj-110.x.orig/bootstrap/boot.x86-unix.tgz
+
+Use the mkorig script in this directory to create the upstream tarball
+as used by Debian. Support for the mkorig script has now been
+integrated into the debian/watch file. Just calling "uscan" will now
+automatically build a new tarball, if a new upstream version is
+available. You will need to manually make the mkorig script executable:
+
+$ chmod +x debian/mkorig
+$ uscan --verbose
+
+You can still call mkorig manually, although the syntax is a bit
+different:
+
+$ mkorig --upstream-version 110.53
+
+SML/NJ for amd64 architecture
+-----------------------------
+
+This version of the smlnj package for the amd64 architecture has i386
+binaries in it. As the upstream says it:
+ # As long as we do not natively support the amd64 architecture,
+ # we should fallback to the x86 compatibility mode. --Stef
+ x86_64) ARCH=x86;;
+
+Building packages at all for amd64 is arguably broken under these
+circumstances, but it still seemed like the better option. As long as
+you're aware of this.
+
+ -- Daniel Moerner <dmoerner@gmail.com>, Fri, 16 Oct 2009 01:01:37 -0700
--- /dev/null
+smlnj (110.74-1) unstable; urgency=low
+
+ * New upstream release.
+ + Fixes building on 3.x kernels.
+ * Remove sparc from Architecture list.
+
+ -- James McCoy <jamessan@debian.org> Sat, 18 Feb 2012 22:46:38 -0500
+
+smlnj (110.73-2) unstable; urgency=low
+
+ * Only set {build,binary}-arch as a prerequisite for the {build,binary}
+ targets.
+
+ -- James McCoy <jamessan@debian.org> Fri, 20 Jan 2012 18:00:42 -0500
+
+smlnj (110.73-1) unstable; urgency=low
+
+ * New upstream version.
+ * Use DEB_BUILD_OPTIONS=nodoc to disable building of documentation.
+ * Declare source format 1.0
+ * Lintian fixes:
+ + Remove HISTORY from libckit-smlnj.docs, already installed as upstream
+ changelog.
+ + Remove leading article from libckit-smlnj's short description.
+
+ -- James McCoy <jamessan@debian.org> Wed, 18 Jan 2012 20:33:37 -0500
+
+smlnj (110.72-1) unstable; urgency=low
+
+ * New upstream release.
+ - Upstream has integrated a patch I forwarded to remove bashisms.
+ (Closes: #530119)
+ * Switch to debhelper compat level 7.
+ * debian/control:
+ - Replace obsolete tetex-extra with texlive-latex-extra in
+ Build-Depends-Indep. (Closes: #562359)
+ - Remove dvipdfmx from Build-Depends-Indep (superfluous).
+ - Remove dvi2ps from Build-Depends-Indep (in texlive-binaries)
+ - New maintainer (Closes: #428273)
+ - Update to Debian Policy 3.8.4.
+ - Move smlnj-doc to Section: doc to follow Debian override file.
+ - Remove duplicate words from descriptions
+ - Expand and correct short and long descriptions for almost all
+ shipped packages. (Closes: #493601)
+ - Renable sparc in Architecture line.
+ - Add ${misc:Depends} to binary packages for debhelper.
+ * debian/dirs: Deleted, superfluous file.
+ * debian/libckit-smlnj.doc-base: Added doc-base registration.
+ * debian/{libmlnlffi-smlnj,ml-lpt}.docs: Don't ship pdf documentation in
+ these packages; it is already shipped in smlnj-doc.
+ * debian/mkorig: Modified script so it can be called automatically by
+ uscan.
+ * debian/{ml-ulex.1,ml-antlr.1,ml-lpt.manpages}: Add missing manpages for
+ these two binaries.
+ * debian/README.Debian: Updated to reflect changes to debian/mkorig.
+ * debian/rules:
+ - Add dh_installchangelog calls for libckit-smlnj.
+ - Update to reflect namechange of templates in debian directory.
+ - Use dh_prep instead of dh_clean -k.
+ - Switch to separate unpack-source target and update .PHONY.
+ * debian/smlnj.docs: Don't ship latex source in binary.
+ * debian/smlnj-doc.doc-base.*: Register all documentation in smlnj-doc
+ with doc-base.
+ * debian/smlnj-doc.prerm: Remove this file; it was needed to fix a bug
+ related to upgrades from smlnj-doc_110.67-3. This version predates Lenny
+ and was never in a release of Debian stable.
+ * debian/watch: Added commented watch file which calls debian/mkorig.
+ * debian/{_wrapper,_postinst,_prerm}: Rename templates to filename.in.
+ * debian/patches/use-psfig-not-epsfig.diff: SML/NJ's documentation still
+ includes deprecated calls to psfig.sty, which has been removed from
+ Debian. This patch uses the wrapper epsfig.sty. Long term, upstream
+ has been encouraged to port SML/NJ to use the graphicx package.
+
+ -- Daniel Moerner <dmoerner@gmail.com> Wed, 24 Feb 2010 02:53:56 -0800
+
+smlnj (110.69-1) unstable; urgency=low
+
+ * Orphaned package.
+ * New upstream release.
+ * Standards-Version 3.8.1 (no changes necessary).
+ * Use 110.68's bootstrap images instead of 110.69's.
+
+ -- Kari Pahula <kaol@debian.org> Sat, 06 Jun 2009 14:54:02 +0300
+
+smlnj (110.67-4) unstable; urgency=low
+
+ * Don't create postinst/prerm scripts that would try to register
+ smlnj-doc as a library. (Closes: #502752)
+
+ -- Kari Pahula <kaol@debian.org> Sun, 19 Oct 2008 20:04:36 +0300
+
+smlnj (110.67-3) unstable; urgency=high
+
+ * Fixed an FTBFS due to missing ghostscript dependency in
+ Build-Depends-Indep (transfig only Recommends it) (Closes: #486957)
+ * Actually put something in smlnj-doc's long description. (Closes: #487199)
+
+ -- Kari Pahula <kaol@debian.org> Wed, 02 Jul 2008 10:56:31 +0300
+
+smlnj (110.67-2) unstable; urgency=low
+
+ * Fixed an FTBFS due to a faulty check on whether Build-Depends-Indep
+ were installed.
+
+ -- Kari Pahula <kaol@debian.org> Mon, 09 Jun 2008 22:44:50 +0300
+
+smlnj (110.67-1) unstable; urgency=low
+
+ * New upstream release
+ * Fixed typo ml-antrl -> ml-antlr in ml-lpt's description (Closes: #442949)
+ * Set homepage field in debian/control.
+ * Built some more documentation and set up smlnj-doc package for them.
+ * Added amd64 as an architecture, using gcc-multilib emulation layer.
+ * Don't even try to build on sparc.
+
+ -- Kari Pahula <kaol@debian.org> Sat, 24 May 2008 22:11:34 +0300
+
+smlnj (110.65-1) unstable; urgency=low
+
+ * New upstream release
+ * Added package ml-lpt (Closes: #417906)
+ * Install smlnj's changelog (Closes: #412040)
+ * smlnj now Recommends libsmlnj-smlnj
+
+ -- Kari Pahula <kaol@debian.org> Mon, 06 Aug 2007 07:17:09 +0300
+
+smlnj (110.62-1) unstable; urgency=low
+
+ * New upstream release
+ * Set architecture to i386 sparc powerpc
+ * Removed the broken hack to add symlinks to modules in the library dir
+ * Install base pathconfig rules to smlnj-runtime package (Closes: #409714)
+ * Added -f to rm /usr/lib/smlnj/lib/pathconfig in smlnj-runtime's postrm
+
+ -- Kari Pahula <kaol@debian.org> Thu, 22 Feb 2007 12:46:17 +0200
+
+smlnj (110.60-1) experimental; urgency=low
+
+ * New release (Closes: #283407, #375537)
+ * New maintainer (Closes: #319801)
+ * Make sure that the build path doesn't get in the run and link scripts
+ (Closes: #329875)
+ * Changed the Debian build scripts to take the new 110.60 directory
+ layout into account
+ * Install some more documents and examples
+ * Make sure that /usr/bin/sml finds the modules from the directories
+ where it expects to.
+
+ [Aaron Matthew Read]
+ * Bootstraps from an included image. (Closes: #308877, #362445)
+ * Purges itself cleanly now. (Closes: #328486)
+
+ -- Kari Pahula <kaol@debian.org> Fri, 24 Nov 2006 00:17:57 +0200
+
+smlnj (110.54-1) unstable; urgency=low
+
+ * Upstream release of 110.54.
+
+ -- Aaron Matthew Read <amread@nyx.net> Sun, 12 Jun 2005 17:51:24 -0700
+
+smlnj (110.53-1) unstable; urgency=low
+
+ * Upstream release of 110.53. closes:#283407
+ * Supply bootstrap images as part of the source package. Use these
+ images to bootstrap the build, rather than an installed
+ compiler. closes:#308877
+
+ -- Aaron Matthew Read <amread@nyx.net> Fri, 13 May 2005 14:28:36 -0700
+
+smlnj (110.52-1) unstable; urgency=low
+
+ * Upstream release of 110.52.
+ * arch-n-opsys recognizes x86_64. closes: #286817
+
+ -- Aaron Matthew Read <amread@nyx.net> Wed, 22 Dec 2004 12:25:57 -0800
+
+smlnj (110.51-1) unstable; urgency=low
+
+ * Upstream release of 110.51. closes:#283407
+
+ -- Aaron Matthew Read <amread@nyx.net> Sun, 28 Nov 2004 15:12:55 -0800
+
+smlnj (110.50-1) unstable; urgency=low
+
+ * Upstream release of 110.50.
+ * Better short descriptions. closes:#277432, #276839
+
+ -- Aaron Matthew Read <amread@nyx.net> Fri, 29 Oct 2004 11:26:58 -0700
+
+smlnj (110.49-1) unstable; urgency=low
+
+ * Upstream release of 110.49.
+
+ -- Aaron Matthew Read <amread@nyx.net> Wed, 15 Sep 2004 11:27:40 -0700
+
+smlnj (110.48-3) unstable; urgency=low
+
+ * Include scripts to maintain the pathconfig file.
+
+ -- Aaron Matthew Read <amread@nyx.net> Mon, 13 Sep 2004 00:10:15 -0700
+
+smlnj (110.48-2) unstable; urgency=low
+
+ * Include documentation and examples.
+ * Upstream made Option an alias for Option.Option. closes:#184125
+
+ -- Aaron Matthew Read <amread@nyx.net> Thu, 9 Sep 2004 19:04:18 -0700
+
+smlnj (110.48-1) unstable; urgency=low
+
+ * Upstream release of 110.48.
+
+ -- Aaron Matthew Read <amread@nyx.net> Thu, 12 Aug 2004 11:30:52 -0700
+
+smlnj (110.47-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Aaron Matthew Read <amread@nyx.net> Sat, 7 Aug 2004 16:49:52 -0700
+
+smlnj (110.46-2) unstable; urgency=low
+
+ * Added new binary packages: libpgraph-smlnj, libcml-smlnj, libcmlutil-smlnj,
+ libexene-smlnj, libckit-smlnj, libmlnlffi-smlnj, ml-nlffigen,
+ libmlrisctools-smlnj, nowhere. closes:#186538
+
+ -- Aaron Matthew Read <amread@nyx.net> Wed, 21 Jul 2004 00:57:39 -0700
+
+smlnj (110.46-1) unstable; urgency=low
+
+ * New upstream release.
+ * New packaging using debhelper.
+
+ -- Aaron Matthew Read <amread@nyx.net> Sun, 18 Jul 2004 19:18:01 -0700
+
+smlnj-runtime (110.45-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Aaron Matthew Read <amread@nyx.net> Sun, 7 Mar 2004 15:51:54 -0800
+
+smlnj-runtime (110.44-2) unstable; urgency=low
+
+ * Bug fix: postinst script fails if /usr/local is mounted read-only,
+ thanks to Laurent Bonnaud. closes:#228708
+
+ -- Aaron Matthew Read <amread@nyx.net> Tue, 20 Jan 2004 11:16:42 -0800
+
+smlnj-runtime (110.44-1) unstable; urgency=low
+
+ * New upstream release.
+ * smlnj-runtime: hppa port. closes:Bug#199328
+
+ -- Aaron Matthew Read <amread@nyx.net> Tue, 9 Dec 2003 00:19:27 -0800
+
+smlnj-runtime (110.42-2) unstable; urgency=low
+
+ * Fixed compile problem with new C Preprocessor. closes:Bug#195036
+
+ -- Aaron Matthew Read <amread@nyx.net> Wed, 28 May 2003 21:02:32 -0700
+
+smlnj-runtime (110.42-1) unstable; urgency=low
+
+ * Split compiler, tools, and runtime system into separate packages.
+ This way, applications written in SML will depend only on the (small)
+ smlnj-runtime package.
+
+ -- Aaron Matthew Read <amread@nyx.net> Tue, 14 Jan 2003 20:18:39 -0800
--- /dev/null
+Source: smlnj
+Section: devel
+Priority: optional
+Maintainer: James McCoy <jamessan@debian.org>
+Build-Depends: debhelper (>= 7), gcc-multilib [amd64]
+Build-Depends-Indep: texlive-latex-base, texlive-pictures, texlive-math-extra, texlive-latex-recommended, transfig, texlive-generic-extra, texlive-latex-extra, ghostscript, texlive-binaries
+Standards-Version: 3.8.4
+Homepage: http://www.smlnj.org/
+
+Package: smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj-runtime (= ${binary:Version})
+Replaces: sml-nj
+Recommends: libsmlnj-smlnj
+Suggests: smlnj-doc
+Description: Standard ML of New Jersey interactive compiler
+ SML/NJ is an implementation of the Standard ML programming language.
+ Standard ML has many features, including type safety, polymorphism,
+ algebraic data types with pattern matching, higher-order functions,
+ and a sophisticated module system. It is especially well-suited for
+ writing compilers and other language processors.
+ .
+ This package includes the interactive compiler (sml), the compilation
+ manager (CM), and some essential libraries. It is a "working"
+ version, but believed to be stable.
+ .
+ Install this package if you want to program in SML.
+
+Package: smlnj-doc
+Architecture: all
+Section: doc
+Depends: ${misc:Depends}
+Suggests: smlnj
+Description: Documentation for Standard ML of New Jersey
+ This package contains various documentation for SML/NJ, an
+ implementation of the Standard ML programming language.
+ .
+ More documentation can be found on the web site.
+
+Package: smlnj-runtime
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: Standard ML of New Jersey runtime system
+ SML/NJ is an implementation of the Standard ML programming language.
+ This package includes the runtime system only -- it provides garbage
+ collection and other support for compiled SML programs.
+ .
+ Install this package if you want to run programs compiled with SML/NJ.
+
+Package: libsmlnj-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj (= ${binary:Version})
+Description: Useful libraries for Standard ML of New Jersey
+ A library for SML, including:
+ * Util A general utility library.
+ * Controls A library of support code for managing application controls.
+ * HashCons A library supporting hash-consing of data structures and
+ efficient sets and maps using hash-consed keys.
+ * HTML Provides parsing and pretty printing of HTML.
+ * INet Networking utilities.
+ * PP Pretty-printing library.
+ * Reactive A low-level reactive scripting library.
+ * RegExp Regular-expression library.
+ * Unix A set of unix specific utilities.
+
+Package: ml-lex
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj-runtime (= ${binary:Version})
+Description: Lexical analyzer generator for Standard ML
+ Lexical analysis is the problem of segmenting input into words and
+ recognizing different classes of words. ml-lex uses regular
+ expressions to describe classes of words. It transforms a simple
+ declarative language specification into an efficient SML program for
+ analyzing that language.
+ .
+ Install this package if you want to produce a lexer in Standard ML.
+
+Package: ml-yacc
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj-runtime (= ${binary:Version})
+Description: Parser generator for Standard ML
+ SML version of the yacc program, generates a parser for a LALR language.
+ This package is useful for SML developers requiring a parser in their
+ work.
+
+Package: ml-burg
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, ml-lex (= ${binary:Version})
+Description: Code generator generator for Standard ML
+ ml-burg generates a Standard ML program to perform bottom-up
+ rewriting of an input tree. Cost information associated with each
+ rewrite rule is used to derive the minimum rewrite cost for the
+ entire tree. A successful reduction corresponds to rewriting the
+ input tree to a special non-terminal symbol called the "start"
+ non-terminal. Upon successful reduction, facilities are provided to
+ walk the tree emitting semantic actions corresponding to the rules
+ that matched.
+ .
+ Install this package if you want to write a compiler in SML using a
+ burg specification.
+
+Package: libpgraphutil-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj (= ${binary:Version})
+Description: Portable graph utility library for SML Compilation Manager
+ Utility routines for use with portable dependency graphs. This
+ package contains support to build list-of-edges dependency graphs and
+ convert them back into valid SML code.
+
+Package: libcml-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, libsmlnj-smlnj (= ${binary:Version})
+Description: Concurrent ML extension of SML
+ An SML library for message-passing concurrency. This library adds
+ threading support to SML. Each thread is then manually executed by
+ running a separate function, rather than being called directly by the
+ top-level SML loop.
+
+Package: libcmlutil-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, libcml-smlnj (= ${binary:Version})
+Description: Concurrent ML utility library
+ Not all modules in the normal SML/NJ library are thread safe. This
+ library provides thread-safe implementations of these
+ libraries.
+
+Package: libexene-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, libcml-smlnj (= ${binary:Version}), libcmlutil-smlnj (= ${binary:Version})
+Description: Concurrent ML library for the X Window System
+ A multi-threaded X Window System toolkit written in Concurrent
+ ML. Many other windowing toolkits, such as Xlib, register separate
+ functions that are called by a centralized event processing loop. In
+ contrast, eXene maintains each window and graphical object in a
+ separate thread that has the ability to update itself.
+
+Package: libckit-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj (= ${binary:Version})
+Description: SML library for parsing and type-checking C programs
+ ckit is a C front end written in SML that translates C source code (after
+ preprocessing) into abstract syntax represented as a set of SML datatypes.
+ It also provides facilities for extending the C language with additional
+ syntactic constructs, which can be useful for implementing "C-like"
+ domain-specific languages as well as C dialects.
+
+Package: libmlnlffi-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj (= ${binary:Version})
+Recommends: ml-nlffigen
+Description: No Longer Foreign Function Interface
+ Allows ML programs to inspect and manipulate C data structures
+ directly. This is implemented through three separate libraries, one
+ that provides a user-code accessible frontend, one that
+ implements this, and another that handles low-level raw memory
+ access.
+
+Package: ml-nlffigen
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, libsmlnj-smlnj (= ${binary:Version}), libckit-smlnj (= ${binary:Version})
+Description: ML generator for C glue code
+ This tool reads in C source code and outputs ML code and a CM
+ description file for use with the ML "No Longer Foreign Function
+ Interface" library. This tool works by separating each top-level C
+ declaration into a new ML source file. For large programs, this
+ puts some strain on the SML Compilation Manager, but this should only
+ marginally increase the program run-time.
+
+Package: libmlrisctools-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj (= ${binary:Version})
+Description: Library for generating MLRISC modules
+ The MLRISC system allows an easy way to create a back-end to convert
+ SML into machine code. These tools provide an easy way to generate
+ MLRISC modules from machine descriptions.
+
+Package: nowhere
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, libmlrisctools-smlnj (= ${binary:Version})
+Description: Translates programs from an extended Standard ML to Standard ML
+ This is a source-to-source translation tool that expands case
+ expressions that use conditional patterns. Conditional patterns that
+ use the "where" keyword are converted into SML.
+
+Package: ml-lpt
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj (= ${binary:Version})
+Provides: ml-ulex, ml-antlr
+Description: SML/NJ language processing tools
+ Tradition has it that when a new programming language is introduced,
+ new scanner and parser generators are written in that language, and
+ generate code for that language. Traditional also has it that the
+ new tools are modeled after the old lex and yacc tools, both in terms
+ of the algorithms used, and often the syntax as well. The language
+ Standard ML is no exception: ml-lex and ml-yacc are the SML
+ incarnations of the old Unix tools.
+ .
+ This package has two new tools, ml-ulex and ml-antlr, that follow
+ tradition in separating scanning from parsing, but break from
+ tradition in their implementation: ml-ulex is based on regular
+ expression derivatives rather than subset-construction, and ml-antlr
+ is based on LL(k) parsing rather than LALR(1) parsing.
--- /dev/null
+This package was debianized by Aaron Matthew Read <amread@nyx.net> on
+Fri, 25 Oct 2002 16:54:10 -0800.
+
+It was downloaded from http://smlnj.cs.uchicago.edu/dist/working
+
+Upstream Authors: The SML/NJ Team <smlnj-dev-list@lists.sourceforge.net>
+
+Copyright: 2003-2008 The SML/NJ Fellowship
+ 1989-2002 Lucent Technologies
+ 1991-2003 John Reppy
+ 1996-1998,2000 YALE FLINT PROJECT
+ 1992 Vrije Universiteit, The Netherlands
+ 1989-1992 Andrew W. Appel, James S. Mattson, David R. Tarditi
+ 1988 Evans & Sutherland Computer Corporation, Salt Lake City, Utah
+
+STANDARD ML OF NEW JERSEY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
+
+Copyright (c) 1989-2002 by Lucent Technologies
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both the copyright notice and this permission notice and warranty
+disclaimer appear in supporting documentation, and that the name of
+Lucent Technologies, Bell Labs or any Lucent entity not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.
+
+Lucent disclaims all warranties with regard to this software,
+including all implied warranties of merchantability and fitness. In no
+event shall Lucent be liable for any special, indirect or
+consequential damages or any damages whatsoever resulting from loss of
+use, data or profits, whether in an action of contract, negligence or
+other tortious action, arising out of or in connection with the use
+or performance of this software.
+
+
+The SML/NJ distribution also includes code licensed under the same
+terms as above, but with "David R. Tarditi Jr. and Andrew W. Appel",
+"Vrije Universiteit" or "Evans & Sutherland" instead of "Lucent".
--- /dev/null
+#!/bin/sh
+
+set -e
+
+if [ $# -ne 1 ] ; then
+ echo "usage: deregister name"
+ exit 1
+fi
+
+name=$1
+
+sed -i -e "/^$name /d" /usr/lib/smlnj/lib/pathconfig
--- /dev/null
+Document: libckit-smlnj
+Title: ckit - A Front End for C in SML
+Author: Dave MacQueen
+Abstract: An overview describing the use of ckit as a C front end.
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/libckit-smlnj/doc/overview.html
+Files: /usr/share/doc/libckit-smlnj/doc/overview.html
--- /dev/null
+ckit/BUGS
+ckit/README
+ckit/doc/
--- /dev/null
+lib/ckit-lib.cm usr/lib/smlnj/lib
--- /dev/null
+cml/README
+cml/TODO
+cml/doc/
--- /dev/null
+lib/cml usr/lib/smlnj/lib
--- /dev/null
+lib/cml-lib usr/lib/smlnj/lib
--- /dev/null
+eXene/README
+eXene/README-0.5
+eXene/README-1.0
--- /dev/null
+eXene/examples/*
+eXene/demos/tactic-tree/
--- /dev/null
+lib/eXene.cm usr/lib/smlnj/lib
--- /dev/null
+nlffi/lib/Doc/mini-tutorial.txt
+nlffi/lib/README
--- /dev/null
+nlffi/lib/Tests
--- /dev/null
+lib/c usr/lib/smlnj/lib
--- /dev/null
+lib/mlrisc-tools usr/lib/smlnj/lib
--- /dev/null
+lib/pgraph-util.cm usr/lib/smlnj/lib
--- /dev/null
+smlnj-lib/Doc
+smlnj-lib/HTML
+smlnj-lib/PORTING
+smlnj-lib/README
+smlnj-lib/TODO
--- /dev/null
+lib/SMLNJ-LIB lib/hash-cons-lib.cm lib/inet-lib.cm lib/reactive-lib.cm lib/regexp-lib.cm lib/unix-lib.cm usr/lib/smlnj/lib
--- /dev/null
+#!/bin/sh
+
+# Builds upstream tarball
+# Uses the new layout of 110.60 version
+
+# Updated by Daniel Moerner in October 2009 to accept --upstream-version
+# argument so this script can be called by uscan.
+
+if [ "$1" -ne "--upstream-version" ] ; then
+ echo "Usage: mkorig --upstream-version version"
+ exit 1
+fi
+
+shift
+
+version=$1
+orig=../smlnj-$version
+
+url=http://smlnj.cs.uchicago.edu/dist/working
+
+root_tarballs="ckit config pgraph smlnj-lib MLRISC cml eXene heap2asm \
+ ml-burg ml-lex ml-yacc smlnj-c nlffi ml-lpt \
+ trace-debug-profile"
+base_tarballs="cm compiler runtime system"
+archs="x86 ppc sparc"
+
+mkdir -p $orig
+for t in $root_tarballs ; do
+ wget -O $orig/$t.tgz $url/$version/$t.tgz
+done
+
+mkdir -p $orig/bootstrap
+for t in $archs ; do
+ img=boot.$t-unix.tgz
+ wget -O $orig/bootstrap/$img $url/$version/$img
+done
+
+mkdir -p $orig/base
+for t in $base_tarballs ; do
+ wget -O $orig/base/$t.tgz $url/$version/$t.tgz
+done
+
+tar zcf ../smlnj_$version.orig.tar.gz $orig
+rm -rf $orig
+rm -f index.html
--- /dev/null
+.TH ml-antlr 1 "September 4, 2009"
+.SH NAME
+ml-antlr \- parser generator for Standard ML
+.SH SYNOPSIS
+.B ml-antlr
+.RI "[--dot] [--latex] file"
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-antlr
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+The
+.B ml-antlr
+script is part of the
+.B SML/NJ CM
+(Compilation and Library Manager) that is used to generate standalone
+programs.
+.TP
+.BI --dot
+Generate DOT output (for graphviz).
+.TP
+.BI --latex
+Generate LaTeX output.
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-lex (1),
+.BR ml-ulex (1),
+.BR ml-yacc (1).
+.br
+The programs are documented fully by
+.IR "CM: The SML/NJ Compilation and Library Manager, User Manual" ,
+Matthias Blume, which is
+available via <http://cm.bell-labs.com/cm/cs/what/smlnj/doc/CM/new.pdf>.
+.SH AUTHOR
+This manual page was written by Daniel Moerner <dmoerner@gmail.com>,
+for the Debian GNU/Linux system (but may be used by others).
--- /dev/null
+.TH ml-build 1 "October 25, 2002"
+.SH NAME
+ml-build \- for generating standalone programs
+.SH SYNOPSIS
+.B ml-build
+.RI "[ " DU-options " ]" " root-group main-function heapfile"
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-build
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+The
+.B ml-build
+script is part of the
+.B SML/NJ CM
+(Compilation and Library Manager) that is used to generate standalone
+programs.
+.SH OPTIONS
+A summary of options is included below.
+.TP
+.BI -D name = value
+Set CM variable to given value.
+.TP
+.BI -D name
+Set CM variable to 1.
+.TP
+.BI -U name
+Unset CM variable.
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-lex (1),
+.BR ml-makedepend (1),
+.BR ml-yacc (1).
+.br
+The programs are documented fully by
+.IR "CM: The SML/NJ Compilation and Library Manager, User Manual" ,
+Matthias Blume, which is
+available via <http://cm.bell-labs.com/cm/cs/what/smlnj/doc/CM/new.pdf>.
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others).
--- /dev/null
+.TH ml-burg 1 "November 14, 2002"
+.SH NAME
+ml-burg \- a tree parser generator for Standard ML
+.SH SYNOPSIS
+.B ml-burg
+.IR file .burg
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-burg
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+
+The
+.B ml-burg
+program generates a Standard ML program to perform bottom-up rewriting
+of an input tree. Cost information associated with each rewrite rule
+is used to derive the minimum rewrite cost for the entire tree. A
+successful reduction corresponds to rewriting the input tree to a
+special non-terminal symbol called the
+.IR "start non-terminal" .
+Upon successful reduction, facilities are provided to walk the tree
+emitting semantic actions corresponding to the rules that matched.
+
+When
+.IR ml-burg " is presented with " file ".burg, the file " file ".sml"
+is generated.
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-lex (1),
+.BR ml-yacc (1),
+.BR ml-makedepend (1),
+.BR ml-build (1).
+.br
+The programs are documented fully by
+.IR "The ML-Burg -- Documentation" ", Florent Guillaume and Lal George, "
+which is available in
+.IR /usr/share/doc/ml-burg/doc.pdf .
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others)
--- /dev/null
+ml-burg/example*.burg
--- /dev/null
+bin/.heap/ml-burg.*linux usr/lib/smlnj/bin/.heap
+bin/ml-burg usr/lib/smlnj/bin
+wrapper/ml-burg usr/bin
--- /dev/null
+debian/ml-burg.1
--- /dev/null
+.TH ml-lex 1 "October 25, 2002"
+.SH NAME
+ml-lex \- a parser generator for ML
+.SH SYNOPSIS
+.B ml-lex
+.I file.lex
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-lex
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+The
+.B ml-lex
+proogram generates a lexical analyzer from the specification in
+.IR file.lex ", and produces the file, " file.lex.sml "."
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-yacc (1),
+.BR ml-makedepend (1),
+.BR ml-build (1).
+.br
+The programs are documented fully by
+.IR "A lexical analyzer generator for Standard ML" ,
+Andrew W. Appel, James S. Mattson, and David R. Tarditi
+which is available via
+<http://www.cs.princeton.edu/~appel/modern/ml/ml-lex/manual.html>.
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others)
--- /dev/null
+ml-lex/lexgen.doc
+ml-lex/mlex_int.doc
+ml-lex/README
--- /dev/null
+bin/.heap/ml-lex.*linux usr/lib/smlnj/bin/.heap
+bin/ml-lex usr/lib/smlnj/bin
+wrapper/ml-lex usr/bin
--- /dev/null
+debian/ml-lex.1
--- /dev/null
+ml-lpt/todo
+ml-lpt/ml-antlr/examples/
+ml-lpt/ml-antlr/README
--- /dev/null
+bin/.heap/ml-antlr.*linux usr/lib/smlnj/bin/.heap
+bin/.heap/ml-ulex.*linux usr/lib/smlnj/bin/.heap
+bin/ml-antlr usr/lib/smlnj/bin
+bin/ml-ulex usr/lib/smlnj/bin
+wrapper/ml-ulex usr/bin
+wrapper/ml-antlr usr/bin
+lib/ml-antlr-tool.cm usr/lib/smlnj/lib
+lib/ml-ulex-tool.cm usr/lib/smlnj/lib
+lib/ml-lpt-lib.cm usr/lib/smlnj/lib
--- /dev/null
+debian/ml-ulex.1
+debian/ml-antlr.1
--- /dev/null
+.TH ml-makedepend 1 "October 25, 2002"
+.SH NAME
+ml-makedepend \- list files a ML program depends upon
+.SH SYNOPSIS
+.B ml-makedepend
+.RI "[ " DU-options " ] "
+.RB "[ " -n " ] [ " -f
+.IB makefile " ] " " project.cm target"
+.br
+.B ml-makedepend
+.RI "[ " DU-options " ] "
+.RB "[ " -a
+.IR arch " ] [ "
+.BI -o " os"
+.RB " ] [ " -f
+.IR makefile " ] " "project.cm target"
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-makedepend
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+The
+.B ml-makedepend
+script is part of the
+.B SML/NJ CM
+(Compilation and Library Manager) that is used to generate
+a list of files that a ML program depends on for use by
+.BR make .
+.SH OPTIONS
+A summary of options is included below.
+.TP
+.B -n
+.BR ml-makedepend " usually uses the " make
+.RI variables " $(ARCH) " and " $(OPSYS) "
+in the filenames for the
+.IR Makefile ". "
+This option disables this feature.
+.TP
+.BI -a " arch"
+.RI "Use " arch " in place of " $(ARCH) .
+.TP
+.BI -o " os"
+.RI "Use " os " in place of " $(OPSYS) .
+.TP
+.BI -f " makefile"
+Name of the
+.I makefile
+to be used rather than the default
+.IR Makefile .
+.TP
+.BI -D name = value
+Set CM variable to given value.
+.TP
+.BI -D name
+Set CM variable to 1.
+.TP
+.BI -U name
+Unset CM variable.
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-lex (1),
+.BR ml-build (1),
+.BR ml-yacc (1).
+.br
+The programs are documented fully by
+.IR "CM: The SML/NJ Compilation and Library Manager, User Manual" ,
+Matthias Blume, which is
+available via <http://cm.bell-labs.com/cm/cs/what/smlnj/doc/CM/new.pdf>.
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others).
--- /dev/null
+.TH ml-nlffigen 1 "April 25, 2003"
+.SH NAME
+ml-nlffigen \- SML No Longer Foreign Function Interface tool
+.SH SYNOPSIS
+.B ml-nlffigen
+.RI [ option ]
+--
+.I file
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-nlffigen
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+.PP
+.BR ml-nlffigen ,
+a glue-code generator for
+the new
+.SM NLFFI
+foreign function interface. The generator reads
+C source code and emits ML code along with a description file for CM.
+.SH OPTIONS
+A summary of options is included below.
+.IP "\fB-dir \fIdir" 4
+.PD 0
+.IP "\fB-d \fId" 4
+.PD
+Output directory where all generated files are placed.
+.BR default :
+.IR NLFFI-Generated .
+.IP "\fB-allSU"
+.PD
+Instructs
+.B ml-nlffigen
+to include all structs and unions,
+even those that are defined in included files (as opposed
+to files explicitly listed as arguments).
+.BR default :
+.IR off .
+.IP "\fB-width \fIw"
+.PD 0
+.IP "\fB-w \fIw"
+.PD
+Sets output line width (just a guess) to
+.IR w .
+.BR default :
+.IR 75 .
+.IP "\fB-smloption \fIx"
+.PD
+Instructs
+.B ml-nlffigen
+to include
+.I x
+into the list
+of options to annotate .sml entries in the generated .cm
+file with.
+.BR default :
+.IR noguid .
+.IP "\fB-guid"
+.PD
+Removes the default
+.B -noguid
+from the list of sml options.
+(This re-enables strict handling of type- and object-identity
+but can have negative impact on CM cutoff recompilation
+performance if the programmer routinely removes the entire
+tree of ml-nlffigen-generated files during development.)
+.IP "\fB-lambdasplit \fIx"
+.PD 0
+.IP "\fB-ls \fIx"
+.PD
+Instructs
+.B ml-nlffigen
+to generate "lambdasplit"
+options for all ML files (see CM manual for what this means;
+it does not currently work anyway because cross-module
+inlining is broken).
+.BR default :
+nothing.
+.IP "\fB-target \fIt"
+.PD 0
+.IP "\fB-t \fIt"
+.PD
+Sets the target to
+.I t
+(which must be one of "sparc-unix","x86-unix", or "x86-win32").
+.BR default :
+current architecture.
+.IP "\fB-light"
+.PD 0
+.IP "\fB-l"
+.PD
+Suppress "heavy" versions of function wrappers and
+field accessors; also resets any earlier
+.B -heavy
+to default.
+.BR default ": not suppressed."
+.IP "\fB-heavy"
+.PD 0
+.IP "\fB-h"
+.PD
+suppress "light" versions of function wrappers and
+field accessors; also resets any earlier
+.B -light
+to default.
+.BR default ": not suppressed"
+.IP "\fB-namedargs"
+.PD 0
+.IP "\fB-na"
+.PD
+Instruct
+.B ml-nlffigen
+to generated function wrappers that
+use named arguments (ML records) instead of tuples if
+there is enough information for this in the C source;
+(this is not always very useful).
+.BR default ": off."
+.IP "\fB-nocollect"
+.PD
+Do not do the following:
+Collect enum constants from truly unnamed enumerations
+(those without tags that occur at toplevel or in an
+unnamed context, i.e., not in a typedef or another
+named struct or union) into a single artificial
+enumeration tagged by ' (single apostrohe). The corresponding
+ML-side representative will be a structure named E_'.
+.IP "\fB-enum-constructors"
+.PD 0
+.IP "\fB-ec"
+.PD
+When possible (i.e., if all values of a given enumeration
+are different from each other), make the ML representation
+type of the enumeration a datatype. The default (and
+fallback) is to make that type the same as
+.BR MLRep.Signed.int .
+.IP "\fB-libhandle \fIh"
+.PD 0
+.IP "\fB-lh \fIh"
+.PD
+Use the variable
+.I h
+to refer to the handle to the
+shared library object. Given the constraints of CM,
+.I h
+must have the form of a long ML identifier, e.g.,
+.BR MyLibrary.libhandle . default : Library.libh .
+.IP "\fB-include \fIf"
+.PD 0
+.IP "\fB-add \fIf"
+.PD
+Mention file
+.I f
+in the generated .cm file. This option
+is necessary at least once for providing the library handle.
+It can be used arbitrarily many times, resulting in more
+than one such programmer-supplied file to be mentioned.
+If
+.I f
+is relative, then it must be relative to the directory
+specified in the
+.BI -dir " dir"
+option.
+.IP "\fB-cmfile \fIf"
+.PD 0
+.IP "\fB-cm \fIf"
+.PD
+Specify name of the generated .cm file, relative to
+the directory specified by the
+.BI -dir " dir"
+option.
+.BR default :
+.IR nlffi-generated.cm .
+.IP "\fB-cppopt \fIo"
+.PD
+The string
+.I o
+gets added to the list of options to be
+passed to cpp (the C preprocessor). The list of options
+gets substituted for
+.I %o
+in the cpp command line template.
+.IP "\fB-U \fIx"
+.PD
+The string
+.BI -U x
+gets added to the list of cpp options.
+.IP "\fB-D \fIx"
+.PD
+The string
+.BI -D x
+gets added to the list of cpp options.
+.IP "\fB-I \fIx"
+.PD
+The string
+.BI -I x
+gets added to the list of cpp options.
+.IP "\fB-version"
+.PD
+Just write the version number of
+.B ml-nlffigen
+to standard
+output and then quit.
+.IP "\fB-match \fIr"
+.PD 0
+.IP "\fB-m \fIr"
+.PD
+Normally
+.B ml-nlffigen
+will include ML definitions for a C
+declaration if the C declaration textually appears in
+one of the files specified at the command line. Definitions
+in #include-d files will normally not appear (unless
+their absence would lead to inconsistencies).
+By specifying
+.BI -match r
+,
+.B ml-nlffigen
+will also include
+definitions that occur in recursively #include-d files
+for which the
+.BR awk -style
+regular expression
+.I r
+matches their names.
+.IP "\fB-prefix \fIp"
+.PD 0
+.IP "\fB-p \fIp"
+.PD
+Generated ML structure names will all have prefix
+.I p
+(in addition to the usual "S_" or "U_" or "F_" ...)
+.IP "\fB-gensym \fIg"
+.IP "\fB-g \fIg"
+Names "gensym-ed" by
+.B ml-nlffigen
+(for anonymous struct/union/
+enums) will get an additional suffix
+.RI _ g.
+(This should
+be used if output from several indepdendent runs of
+.B ml-nlffigen
+are to coexist in the same ML program.)
+.IP "\fB--"
+Terminate processing of options, remaining arguments are
+taken to be C sources.
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-build (1).
+.br
+This program described in more detail in
+.I No-Longer-Foreign: Teaching an ML compiler to speak C \"natively\"
+, Matthias Blume,
+which is available via <http://cm.bell-labs.com/who/blume/papers/nlffi.pdf>.
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others).
--- /dev/null
+nlffi/gen/README
--- /dev/null
+bin/.heap/ml-nlffigen.*linux usr/lib/smlnj/bin/.heap
+bin/ml-nlffigen usr/lib/smlnj/bin
+wrapper/ml-nlffigen usr/bin
--- /dev/null
+debian/ml-nlffigen.1
--- /dev/null
+.TH ml-ulex 1 "September 4, 2009"
+.SH NAME
+ml-ulex \- lexer generator for Standard ML
+.SH SYNOPSIS
+.B ml-ulex
+.RI "[--dot] [--dump] [--match] [--ml-lex-mode] [--minimize] file"
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-ulex
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+The
+.B ml-ulex
+script is part of the
+.B SML/NJ CM
+(Compilation and Library Manager) that is used to generate standalone
+programs.
+.SH OPTIONS
+A summary of some of the options is included below.
+.TP
+.BI --dot
+Generate DOT output (for graphviz).
+.TP
+.BI --match
+Enter interactive matching mode.
+.TP
+.BI --ml-lex-mode
+Operate in ml-lex compatibility mode.
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-antlr (1),
+.BR ml-lex (1),
+.BR ml-yacc (1).
+.br
+The programs are documented fully by
+.IR "CM: The SML/NJ Compilation and Library Manager, User Manual" ,
+Matthias Blume, which is
+available via <http://cm.bell-labs.com/cm/cs/what/smlnj/doc/CM/new.pdf>.
+.SH AUTHOR
+This manual page was written by Daniel Moerner <dmoerner@gmail.com>,
+for the Debian GNU/Linux system (but may be used by others).
--- /dev/null
+.TH ml-yacc 1 "October 25, 2002"
+.SH NAME
+ml-yacc \- a parser generator for ML
+.SH SYNOPSIS
+.B ml-yacc
+.I file
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-yacc
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+The
+.B ml-yacc
+program generates a parser for an LALR language from the specification in
+.IR file ". Two files are generated, " file.sig " and " file.sml .
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-lex (1),
+.BR ml-makedepend (1),
+.BR ml-build (1).
+.br
+The programs are documented fully by
+.IR "The ML-Yacc User's Manual" ", David R. Tarditi and Andrew W. Appel, "
+which is
+available via <http://cm.bell-labs.com/cm/cs/what/smlnj/doc/ML-Yacc>.
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others)
--- /dev/null
+ml-yacc/README
+ml-yacc/doc
--- /dev/null
+ml-yacc/examples/*
--- /dev/null
+bin/.heap/ml-yacc.*linux usr/lib/smlnj/bin/.heap
+bin/ml-yacc usr/lib/smlnj/bin
+lib/SMLNJ-ML-YACC-LIB usr/lib/smlnj/lib
+wrapper/ml-yacc usr/bin
--- /dev/null
+debian/ml-yacc.1
--- /dev/null
+.TH nowhere 1 "July 21, 2004"
+.SH NAME
+nowhere \- a tree parser generator for Standard ML
+.SH SYNOPSIS
+.B nowhere
+.I file
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B nowhere
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+
+The
+.B nowhere
+program is a simple source to source translation tool that expands out
+case expressions with conditional patterns.
+
+Conditional patterns use the "where" keyword. For example:
+
+ case l of
+ [x,y,z] where x=1 => 1
+ | _ => 2
+
+means the same as:
+
+ case l of
+ [1,y,z] => 1
+ | _ => 2
+
+Currently, the input file must be of the following form:
+
+ local
+ <definitions>
+ in
+ <body>
+ end
+ <definitions>
+
+should include all datatypes definitions that are used inside the
+.IR body .
+It is only for the tool's benefit and does not appear in the output.
+Only
+.I body
+appears at the output. You can use the special declaration
+
+ include "filename"
+
+to import extra definitions.
+
+The tool translates all case expressions with guards into the appropriate code.
+
+.SH SEE ALSO
+.I /usr/share/doc/nowhere/README
+.br
+.SH AUTHOR
+This manual page was written by Aaron Read <amread@nyx.net>. for the
+Debian GNU/Linux system (but may be used by others)
--- /dev/null
+MLRISC/Tools/nowhere/README
--- /dev/null
+bin/.heap/nowhere.*linux usr/lib/smlnj/bin/.heap
+bin/nowhere usr/lib/smlnj/bin
+wrapper/nowhere usr/bin
--- /dev/null
+debian/nowhere.1
--- /dev/null
+Description: Port MLRISC latex documentation to epsfig.sty
+ Upstream uses the deprecated psfig.sty package, which is no longer in
+ TeXLive 2009. This patch uses the drop-in substitute wrapper, epsfig.sty.
+ .
+ The long-term solution will be to port the documentation to use the
+ graphicx package directly.
+Forwarded: http://smlnj-gforge.cs.uchicago.edu/tracker/index.php?func=detail&aid=53&group_id=33&atid=215
+Author: Daniel Moerner <dmoerner@gmail.com>
+Last-Update: 2010-02-09
+
+diff --git a/MLRISC/Doc/latex/graphs.tex b/MLRISC/Doc/latex/graphs.tex
+index 01e626d..992f64a 100644
+--- a/MLRISC/Doc/latex/graphs.tex
++++ b/MLRISC/Doc/latex/graphs.tex
+@@ -877,7 +877,7 @@ with sources and targets in $S$. $S$ must be a subset of $V$.
+
+ \begin{wrapfigure}{r}{3in}
+ \begin{Boxit}
+- \psfig{figure=../pictures/eps/trace.eps,width=2.8in}
++ \epsfig{figure=../pictures/eps/trace.eps,width=2.8in}
+ \end{Boxit}
+ \label{fig:trace-view}
+ \caption{A trace view}
+@@ -910,7 +910,7 @@ be both since it exits from \sml{G} and enters into \sml{A}.
+ \end{SML}
+ \begin{wrapfigure}{r}{3in}
+ \begin{Boxit}
+- \psfig{figure=../pictures/eps/subgraph.eps,width=2.8in}
++ \epsfig{figure=../pictures/eps/subgraph.eps,width=2.8in}
+ \end{Boxit}
+ \label{fig:acyclic-subgraph-view}
+ \caption{An acyclic subgraph}
+diff --git a/MLRISC/Doc/latex/mlrisc-ir.tex b/MLRISC/Doc/latex/mlrisc-ir.tex
+index c346baa..f437e22 100644
+--- a/MLRISC/Doc/latex/mlrisc-ir.tex
++++ b/MLRISC/Doc/latex/mlrisc-ir.tex
+@@ -187,7 +187,7 @@ operate on more complex representations which use this
+ representation as the base layer.
+ \begin{wrapfigure}{r}{4.5in}
+ \begin{Boxit}
+- \psfig{figure=../pictures/eps/mlrisc-IR.eps,width=4.5in}
++ \epsfig{figure=../pictures/eps/mlrisc-IR.eps,width=4.5in}
+ \end{Boxit}
+ \caption{The MLRISC IR}
+ \end{wrapfigure}
+@@ -514,7 +514,7 @@ These functions have the following meanings:
+ \end{SML}
+ \begin{Figure}
+ \begin{boxit}
+-\cpsfig{figure=../pictures/eps/tail-duplication.eps,width=3in}
++\cepsfig{figure=../pictures/eps/tail-duplication.eps,width=3in}
+ \end{boxit}
+ \label{fig:tail-duplication}
+ \caption{Tail-duplication}
+diff --git a/MLRISC/Doc/latex/mltex.sty b/MLRISC/Doc/latex/mltex.sty
+index 04d3477..8a30680 100644
+--- a/MLRISC/Doc/latex/mltex.sty
++++ b/MLRISC/Doc/latex/mltex.sty
+@@ -5,7 +5,7 @@
+ \ProvidesPackage{mltex}[2000/2/12 defines mltex environment]
+
+ \usepackage{latexsym}
+-\usepackage{psfig}
++\usepackage{epsfig}
+ \usepackage{fancyheadings}
+ \usepackage{sml}
+ \usepackage{color}
+@@ -34,7 +34,7 @@
+
+ % Images and Figures
+ \newcommand{\image}[3]{}
+-\newcommand{\cpsfig}[1]{\centerline{\psfig{#1}}}
++\newcommand{\cepsfig}[1]{\centerline{\epsfig{#1}}}
+
+ % Formatting
+ \newenvironment{Bold}{\begingroup\bf}{\endgroup}
+diff --git a/MLRISC/Doc/latex/mltex.tex b/MLRISC/Doc/latex/mltex.tex
+index c9cbdbb..343d6fe 100644
+--- a/MLRISC/Doc/latex/mltex.tex
++++ b/MLRISC/Doc/latex/mltex.tex
+@@ -104,7 +104,7 @@ environments and macros, and will translate them into HTML equivalents.
+ \section \subsection \subsubsection \paragraph
+ \ref \label
+ \noindent \linebreak
+- \psfig
++ \epsfig
+ \end{verbatim}
+
+ \subsection{Bugs and Shortcomings}
--- /dev/null
+#!/bin/sh
+
+set -e
+
+SMLNJ_HOME=/usr/lib/smlnj
+
+list=/var/lib/dpkg/info/$1.list
+
+for l in $(grep "$SMLNJ_HOME/lib/[^.][^/]*$" $list) ; do
+ base=$(basename $l)
+ $SMLNJ_HOME/bin/deregister $base
+done
+
+for b in $(grep "$SMLNJ_HOME/bin/[^.][^/]*$" $list) ; do
+ base=$(basename $b)
+ $SMLNJ_HOME/bin/deregister $base
+done
--- /dev/null
+#!/bin/sh
+
+set -e
+
+SMLNJ_HOME=/usr/lib/smlnj
+
+list=/var/lib/dpkg/info/$1.list
+
+for l in $(grep "$SMLNJ_HOME/lib/[^.][^/]*$" $list) ; do
+ base=$(basename $l)
+ $SMLNJ_HOME/bin/register $base $base
+done
+
+for b in $(grep "$SMLNJ_HOME/bin/[^.][^/]*$" $list) ; do
+ base=$(basename $b)
+ $SMLNJ_HOME/bin/register $base ../bin
+done
--- /dev/null
+#!/bin/sh
+
+set -e
+
+@SMLNJ_HOME@/bin/pkg-register @PKG@
+
+#DEBHELPER#
--- /dev/null
+#!/bin/sh
+
+set -e
+
+@SMLNJ_HOME@/bin/pkg-deregister @PKG@
+
+#DEBHELPER#
--- /dev/null
+#!/bin/sh
+
+set -e
+
+if [ $# -ne 2 ] ; then
+ echo "usage: register name target"
+ exit 1
+fi
+
+name=$1
+target=$2
+
+/usr/lib/smlnj/bin/deregister $name
+
+echo "$name $target" >> /usr/lib/smlnj/lib/pathconfig
--- /dev/null
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+export DH_OPTIONS
+
+SHELL:=/bin/sh
+
+ROOT:=$(CURDIR)
+
+CONFIGDIR:=$(ROOT)/config
+SRCDIR:=$(ROOT)/src
+BS_SML:=$(ROOT)/bootstrap/bin/sml
+BS_LINK:=$(ROOT)/bootstrap/bin/.link-sml
+
+SMLNJ_HOME:=/usr/lib/smlnj
+BINDIR:=$(SMLNJ_HOME)/bin
+HEAPDIR:=$(BINDIR)/heap
+RUNDIR:=$(BINDIR)/run
+LIBDIR:=$(BINDIR)/lib
+
+VERSION=$(shell cat $(CONFIGDIR)/version)
+
+debscripts:=$(addprefix debian/,deregister mkorig pkg-deregister pkg-register register)
+
+srcdirs:=$(basename $(wildcard *tgz))
+basedirs:=$(basename $(notdir $(wildcard base/*tgz)))
+
+notlibs:=smlnj-runtime smlnj-doc
+libpkgs:=$(filter-out $(notlibs),$(shell dh_listpackages))
+postinsts:=$(addsuffix .postinst,$(addprefix debian/,$(libpkgs)))
+prerms:=$(addsuffix .prerm,$(addprefix debian/,$(libpkgs)))
+
+vars.sed:
+ echo "s,@SHELL@,$(SHELL),g" > vars.sed
+ echo "s,@SMLNJ_HOME@,$(SMLNJ_HOME)," >> vars.sed
+ echo "s,@BINDIR@,$(BINDIR)," >> vars.sed
+ echo "s,@VERSION@,$(VERSION)," >> vars.sed
+
+arch-n-opsys: $(CONFIGDIR)/_arch-n-opsys vars.sed
+ cat $< | sed -f vars.sed > $@
+ chmod 777 $@
+
+$(BS_SML):
+ for f in *tgz; do tar zxf $$f -C bootstrap; done
+ mkdir -p bootstrap/base
+ for f in base/*tgz; do tar zxf $$f -C bootstrap/base; done
+ cd bootstrap && URLGETTER=/bin/false ./config/install.sh
+
+boot.%.tgz: $(BS_SML)
+ cd base/system && echo "CMB.make();" | $< "\$$smlnj/cmb.cm";
+ cd base/system/sml.boot.$* \
+ && $(BS_LINK) @SMLboot=BOOTLIST @SMLheap=sml @SMLalloc=1M \
+ @SMLrebuild="foo"
+ rm -r base/system/sml.boot.$*
+ rm -r base/system/*.bin.$*
+ mv base/system/foo.boot.$* base/system/sml.boot.$*
+ cd base/system && tar zcf $(ROOT)/$@ sml.boot.$*;
+
+boot: arch-n-opsys
+ eval `./arch-n-opsys` && $(MAKE) -f debian/rules boot.$$ARCH-unix.tgz;
+
+smlnj: boot
+ config/install.sh
+
+ mkdir -p wrapper
+ for c in `cd bin && ls`; do \
+ cat debian/wrapper.in | sed -f vars.sed -e "s/@CMD@/$$c/g" > wrapper/$$c; \
+ chmod 555 wrapper/$$c; \
+ done
+
+debian/%.postinst: debian/postinst.in vars.sed
+ cat $< | sed -f vars.sed -e "s/@PKG@/$*/" > $@
+
+debian/%.prerm: debian/prerm.in vars.sed
+ cat $< | sed -f vars.sed -e "s/@PKG@/$*/" > $@
+
+instscripts: $(postinsts) $(prerms)
+
+unpack-source: unpack-source-stamp
+unpack-source-stamp:
+ cd base && for t in $(basedirs); do tar zxf $$t.tgz; done
+ for t in $(srcdirs); do tar zxf $$t.tgz; done
+ touch $@
+
+# Architecture
+build: build-arch
+
+build-arch: build-arch-stamp
+build-arch-stamp: unpack-source-stamp
+ mkdir -p debscripts
+ install -m 555 $(debscripts) debscripts
+
+ cat debian/patches/* | patch -N -p1 1>/dev/null || true
+ cp config/targets config/targets.orig
+ cp debian/targets config/targets
+ $(MAKE) -f debian/rules smlnj
+
+ touch $@
+
+build-indep: build-indep-stamp
+build-indep-stamp: unpack-source-stamp
+ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
+ cd base/cm/Doc; latex manual.tex && latex manual.tex && dvipdfmx -o cm_manual.pdf manual.dvi
+ cd ml-lpt/doc; latex manual.tex && latex manual.tex && dvipdfmx -o ml-lpt_manual.pdf manual.dvi
+ cd nlffi/lib/Doc/manual; latex nlffi.tex && latex nlffi.tex && dvipdfmx nlffi.dvi
+ cd MLRISC/Doc; make
+ cd MLRISC/Tools/Doc; make
+ cd ml-lex; latex lexgen.tex && latex lexgen.tex && dvipdfmx lexgen.dvi
+endif
+ touch $@
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f *-stamp
+
+ rm -f vars.sed
+ rm -f $(prerms) $(postinsts)
+ rm -f arch-n-opsys
+ rm -f boot*tgz
+ cd bootstrap && rm -rf bin ckit config lib src
+ rm -rf $(SRCDIR)/system/foo.* $(SRCDIR)/system/sml.*
+ rm -rf bin lib wrapper debscripts
+
+ cd base && rm -rf $(basedirs)
+ rm -rf $(srcdirs)
+ rm -rf sml.boot.*
+
+ cd bootstrap && rm -rf `ls | grep -v unix.tgz`
+
+ dh_clean
+
+install: install-arch-stamp install-indep-stamp
+
+install-indep: build-indep-stamp
+ dh_testdir
+ dh_testroot
+ dh_installdirs -i
+ dh_install -i
+
+install-arch: build-arch-stamp instscripts
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_installdirs -s
+
+ dh_installchangelogs -psmlnj base/compiler/ChangeLog upstream
+ dh_installchangelogs -plibcml-smlnj cml/CHANGES upstream
+ dh_installchangelogs -plibexene-smlnj eXene/CHANGES upstream
+ dh_installchangelogs -plibsmlnj-smlnj smlnj-lib/CHANGES upstream
+ dh_installchangelogs -plibckit-smlnj ckit/HISTORY upstream
+
+ dh_install -s
+
+# make sure that the build path doesn't sneak in the link and run scripts
+ sed -i 's/BIN_DIR=".*smlnj.*"/BIN_DIR="\/usr\/lib\/smlnj\/bin\/"/' $(CURDIR)/debian/smlnj-runtime/usr/lib/smlnj/bin/.*-sml
+# install base pathconfig rules to smlnj-runtime package
+ install -m 644 config/extrapathconfig $(CURDIR)/debian/smlnj-runtime/usr/lib/smlnj/lib/pathconfig
+
+binary-arch: install-arch
+ dh_testdir -a
+ dh_testroot -a
+ dh_installchangelogs -a
+ dh_installdocs --exclude=".cvsignore" -a
+ dh_installexamples --exclude=".cvsignore" -a
+ dh_installman -a
+ dh_strip -a
+ dh_compress -a
+ dh_fixperms -a
+ dh_installdeb -a
+ dh_shlibdeps -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary-indep: install-indep
+ dh_testdir -i
+ dh_testroot -i
+ dh_installchangelogs -i
+ dh_installdocs --exclude=".cvsignore" -i
+ dh_installexamples --exclude=".cvsignore" -i
+ dh_installman -i
+ dh_strip -i
+ dh_compress -i
+ dh_fixperms -i
+ dh_installdeb -i
+ dh_shlibdeps -i
+ dh_gencontrol -i
+ dh_md5sums -i
+ dh_builddeb -i
+
+binary: binary-arch
+.PHONY: unpack-source build build-arch build-indep clean binary-arch binary-indep binary install install-arch install-indep
--- /dev/null
+.\" Hey, EMACS: -*- nroff -*-
+.TH SML 1 "October 25, 2002"
+.SH NAME
+sml \- SML compiler
+.SH SYNOPSIS
+.B sml
+.RI "[ " rtsargs " ] [ " options " ] [" files " ]"
+.SH DESCRIPTION
+This manual page documents briefly the
+.B sml
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+This is a compiler for Standard ML which may be used
+interactively.
+.SH OPTIONS
+A summary of options is included below.
+.SS rtsargs:
+.TP
+.BI @SMLload= heapimage
+Start specified heap image.
+.TP
+.BI @SMLalloc= size
+Specify size of allocation area.
+.TP
+.BI @SMLcmdname= name
+Set command name.
+.TP
+.B @SMLquiet
+Load heap image silently.
+.TP
+.B @SMLverbose
+Show heap image load progress.
+.TP
+.B @SMLobjects
+Show list of executable objects.
+.TP
+.BI @SMLdebug= file
+Write debugging info to file.
+.SS options:
+.TP
+.BI -D name = value
+Set CM variable to given value.
+.TP
+.BI -D name
+Set CM variable to 1.
+.TP
+.BI -U name
+Unset CM variable.
+.TP
+.BI -C control = value
+Set named control.
+.TP
+.B -H
+Produce complete help listing.
+.TP
+.B -h
+Produce minimal help listing.
+.TP
+.BI -h level
+Help with obscurity limit.
+.TP
+.B -S
+List all current settings.
+.TP
+.BI -s level
+Limited list of settings.
+
+.SS files:
+.TP
+.I file.cm
+CM.make or CM.autoload.
+.TP
+.B -m
+Switch to CM.make.
+.TP
+.B -a
+Switch to CM.autoload; default.
+.TP
+.I file.sig
+Use.
+.TP
+.I file.sml
+Use.
+.TP
+.I file.fun
+Use.
+
+
+.SH SEE ALSO
+.BR ml-build (1),
+.BR ml-lex (1),
+.BR ml-makedepend (1),
+.BR ml-yacc (1).
+.br
+Standard ML is defined in
+.IR "The Definition of Standard ML" ,
+Robin Milner, Mads Tofte, Robert Harper and David MacQueen.
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others).
--- /dev/null
+Document: ml-lpt
+Title: SML/NJ Language Processing Tools: User Guide
+Author: Aaron Turon
+Abstract: This manual describes two new tools, ml-ulex and ml-antlr, that
+ follow tradition in separating scanning from parsing, but break from
+ tradition in their implementation: ml-ulex is based on regular expression
+ derivatives rather than subset-construction, and ml-antlr is based on LL(k)
+ parsing rather than LALR(1) parsing.
+Section: Programming
+
+Format: PDF
+Files: /usr/share/doc/smlnj-doc/ml-lpt_manual.pdf.gz
+ /usr/share/doc/smlnj-doc/impl-pic.pdf.gz
+ /usr/share/doc/smlnj-doc/design.pdf.gz
--- /dev/null
+Document: mlrisc
+Title: MLRISC Manual
+Author: Lal George, Allen Leung
+Abstract: Manual for MLRISC, a framework for retargetable and
+ optimizing compiler back ends.
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/smlnj-doc/mlrisc/index.html
+Files: /usr/share/doc/smlnj-doc/mlrisc/*.html
+
+Format: PostScript
+Files: /usr/share/doc/smlnj-doc/mlrisc.ps.gz
--- /dev/null
+Document: mltex
+Title: MLTeX - A special package for writing MLRISC documentation
+Author: Allen Leung, Lal George
+Abstract: MLTeX is a special LaTeX package for writing MLRISC
+ documentation. It is similar to the latex2html tool except that MLTeX has
+ special environments for documentating Standard ML code. In addition, there
+ is an accompanying tool called mltex2html for generating HTML pages.
+Section: Programming
+
+Format: PostScript
+Files: /usr/share/doc/smlnj-doc/mltexdoc.ps.gz
--- /dev/null
+Document: nlffi
+Title: NLFFI - A New SML/NJ Foreign-Function Interface
+Author: Matthias Blume
+Abstract: This document describes the use of the NLFFI.
+Section: Programming
+
+Format: PDF
+Files: /usr/share/doc/smlnj-doc/nlffi.pdf.gz
--- /dev/null
+Document: nowhere
+Title: Nowhere - A pattern matching tool for SML/NJ
+Author: Allen Leung
+Abstract: An overview of the use of nowhere to translate SML programs that
+ use conditional pattern matching into normal SML code.
+Section: Programming
+
+Format: PostScript
+Files: /usr/share/doc/smlnj-doc/nowhere.ps.gz
+
--- /dev/null
+Document: smlnjcm
+Title: CM - The SML/NJ Compilation and Library Manager
+Author: Matthias Blume
+Abstract: User Manual for the new implementation of the Compilation and
+ Library Manager in SML/NJ 110.40 and later.
+Section: Programming
+
+Format: PDF
+Files: /usr/share/doc/smlnj-doc/cm_manual.pdf.gz
--- /dev/null
+MLRISC/Doc/latex/*.ps
+MLRISC/Tools/Doc/nowhere.ps
+base/cm/Doc/*.pdf
+ml-lpt/doc/*.pdf
+nlffi/lib/Doc/manual/*.pdf
--- /dev/null
+MLRISC/Doc/html/*.html /usr/share/doc/smlnj-doc/mlrisc/
+MLRISC/Doc/graphics/ /usr/share/doc/smlnj-doc/mlrisc/
+MLRISC/Doc/pictures/ /usr/share/doc/smlnj-doc/mlrisc/
--- /dev/null
+usr/lib/smlnj/lib
--- /dev/null
+bin/.arch-n-opsys bin/.link-sml bin/.run-sml bin/.run debscripts/* usr/lib/smlnj/bin
--- /dev/null
+#!/bin/sh
+
+set -e
+
+SMLNJ_HOME=/usr/lib/smlnj
+
+touch $SMLNJ_HOME/lib/pathconfig
+chmod 664 $SMLNJ_HOME/lib/pathconfig
+
+$SMLNJ_HOME/bin/register bindir ../bin
+
+#DEBHELPER#
--- /dev/null
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "purge" ] ; then
+ rm -f /usr/lib/smlnj/lib/pathconfig
+fi
+
+#DEBHELPER#
--- /dev/null
+#!/bin/sh
+
+set -e
+
+/usr/lib/smlnj/bin/deregister bindir
+
+#DEBHELPER#
--- /dev/null
+base/system/README
+base/cm/Overview
--- /dev/null
+bin/.heap/sml.*linux usr/lib/smlnj/bin/.heap
+bin/sml bin/ml-build bin/ml-makedepend usr/lib/smlnj/bin
+lib/SMLNJ-MLRISC lib/SMLNJ-BASIS lib/burg-ext.cm lib/dir-tool.cm lib/grm-ext.cm lib/lex-ext.cm lib/make-tool.cm lib/mlburg-tool.cm lib/mllex-tool.cm lib/mlyacc-tool.cm lib/noweb-tool.cm lib/nw-ext.cm lib/pgraph.cm lib/pickle-lib.cm lib/shell-tool.cm lib/smlnj lib/smlnj-tdp usr/lib/smlnj/lib
+wrapper/ml-build wrapper/ml-makedepend wrapper/sml usr/bin
+MLRISC/demo/* usr/share/doc/smlnj/MLRISC-demo/
--- /dev/null
+debian/sml.1
+debian/ml-build.1
+debian/ml-makedepend.1
--- /dev/null
+# targets file for Debian, to be copied as config/targets
+# See the upstream file for more details about this file
+
+request src-smlnj
+request ml-ulex
+# WARNING: This is incompatible with ml-ulex-lex-ext!!
+#request ml-ulex-lex-ext
+# WARNING: This is incompatible with ml-lex-mllex-tool!!
+request ml-ulex-mllex-tool
+request ml-lex
+# WARNING: This is incompatible with ml-ulex-mllex-tool!!
+#request ml-lex-mllex-tool
+# WARNING: This is incompatible with ml-ulex-lex-ext!!
+request ml-lex-lex-ext
+request ml-yacc
+# WARNING: This is incompatible with ml-antlr-grm-ext!!
+request ml-yacc-grm-ext
+request ml-antlr
+# WARNING: This is incompatible with ml-yacc-grm-ext!!
+#request ml-antlr-grm-ext
+request ml-lpt-lib
+request ml-burg
+request smlnj-lib
+request pgraph-util
+request tdp-util
+request cml
+request cml-lib
+request eXene
+request mlrisc
+request ckit
+
+# This preview release currently works under X86/Linux, Sparc/Solaris,
+# PPC/MacOSX, and X86/Win32.
+#
+request ml-nlffi-lib
+# This preview release currently works under X86/Linux, Sparc/Solaris,
+# PPC/MacOSX, and X86/Win32.
+#
+request ml-nlffigen
+
+request mlrisc-tools
+request nowhere
+request heap2asm
--- /dev/null
+# This watchfile will call the debian/mkorig script, which will
+# download the individual parts of the upstream distribution and construct
+# a tarball from them in the directory below the source directory.
+#
+# For this watchfile to download the tarball, you will need to run:
+#
+# $ chmod +x debian/mkorig
+#
+
+version=3
+http://www.smlnj.org/ \
+ dist/working/(.*)/index.html \
+ debian debian/mkorig
--- /dev/null
+#!/bin/sh
+
+export SMLNJ_HOME=${SMLNJ_HOME:-@SMLNJ_HOME@}
+
+exec $SMLNJ_HOME/bin/@CMD@ $@