CVS: pages/dist/working/110.59 110.59-README, NONE, 1.1 110.59-README.html, NONE, 1.1 BOOT, NONE, 1.1 CYGWININSTALL, NONE, 1.1 HISTORY, NONE, 1.1 INSTALL, NONE, 1.1 MACOSXINSTALL, NONE, 1.1 WININSTALL, NONE, 1.1

Matthias Blume <[email protected]>
Newsgroups gmane.comp.lang.sml.smlnj.commits
Message-ID <[email protected]>
Update of /cvsroot/smlnj/pages/dist/working/110.59
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv12702

Added Files:
	110.59-README 110.59-README.html BOOT CYGWININSTALL HISTORY 
	INSTALL MACOSXINSTALL WININSTALL 
Log Message:
other text files for 110.59

--- NEW FILE: 110.59-README ---
                         S  M  L   /   N  J

                   1  1  0  .  5  9      N  E  W  S
			
                             June 5, 2006

                                WARNING

        This working version is believed to be stable, but
        we have not run our full regression-test suite.

             HOME:  http://www.smlnj.org/index.html
             FILES: http://smlnj.cs.uchicago.edu/dist/working/110.59/


Summary:

    Bugfixes and minor improvements in various areas.

--------------------------------------------------------------------------

eXene:

  - committed changes to eXene from Alley Stoughton:
    "fixed bugs in X authorization and resource handling, as well
    as in the pile and viewport widgets"

Runtime:

  - fixed linking problem with NetBSD 3.x.

Lexgen:

  - lexgen tool handles non-ascii characters in 7-bit mode the same
    way that ml-lex does
  - lexgen propagates exceptions the same way that ml-lex does

CML:

  - Fixed a bug in the SyncVar polling functions (iGetPoll,
    mTakePoll, and mGetPoll) that could lead to livelock.

Scripts:

  - bug in ml-makedepend fixed
  - patches to heap2exec for Linux and FreeBSD (received from
    Johannes 5 Joemann) applied

MLRISC:

  - renamed GAS_PSEUDO_OPS to AS_PSEUDO_OPS and put it in its own file.
  - added support for NOTB and XORB operators in pseudo-op expressions
  - added DarwinPseudoOp functor that supports Darwin's assembler syntax.
  - added support for 64-bit integer literals

--- NEW FILE: 110.59-README.html ---
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html> <head>
<title><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>SML/NJ 110.59 NEWS</title>
</head>

<body>
<pre>
                         S  M  L   /   N  J

                   1  1  0  .  5  9      N  E  W  S
			
                             June 5, 2006

                                WARNING

        This working version is believed to be stable, but
        we have not run our full regression-test suite.
</pre>

<dl>
  <dt>HOME:</dt>
  <dd><a href="http://www.smlnj.org/index.html">http://www.smlnj.org/index.html</a></dd>
  <dt>FILES:</dt>
  <dd><a href="http://smlnj.cs.uchicago.edu/dist/working/110.59/">http://smlnj.cs.uchicago.edu/dist/working/110.59/</a></dd>
</dl>

<h2>Summary:</h2>

    Bugfixes and minor improvements in various areas.

<hr>

<h2>Details:</h2>

<dl>
  <dt>eXene:</dt>
  <dd>
    <ul>
      <li>committed changes to eXene from Alley Stoughton:
      "fixed bugs in X authorization and resource handling, as well
      as in the pile and viewport widgets"</li>
    </ul>
  </dd>
  <dt>Runtime:</dt>
  <dd>
    <ul>
      <li>fixed linking problem with NetBSD 3.x.</li>
    </ul>
  </dd>
  <dt>Lexgen:</dt>
  <dd>
    <ul>
      <li><tt>lexgen</tt> tool handles non-ascii characters in 7-bit mode
      the same way that <tt>ml-lex</tt> does</li>
      <li><tt>lexgen</tt> propagates exceptions the same way that
      <tt>ml-lex</tt> does</li>
    </ul>
  </dd>
  <dt>CML:</dt>
  <dd>
    <ul>
      <li>Fixed a bug in the SyncVar polling functions (<tt>iGetPoll</tt>,
      <tt>mTakePoll</tt>, and <tt>mGetPoll<?tt>) that could lead to
      livelock.</li>
    </ul>
  </dd>
  <dt>Scripts:</dt>
  <dd>
    <ul>
      <li>bug in <tt>ml-makedepend</tt> fixed</li>
      <li>patches to <tt>heap2exec</tt> for Linux and FreeBSD (received
      from Johannes 5 Joemann) applied</li>
    </ul>
  </dd>
  <dt>MLRISC:</dt>
  <dd>
    <ul>
      <li>renamed <tt>GAS_PSEUDO_OPS</tt> to <tt>AS_PSEUDO_OPS</tt> and
      put it in its own file.</li>
      <li>added support for <tt>NOTB</tt> and <tt>XORB</tt> operators in
      pseudo-op expressions</li>
      <li>added <tt>DarwinPseudoOp</tt> functor that supports Darwin's
      assembler syntax.</li>
      <li>added support for 64-bit integer literals</li>
    </ul>
  </dd>
</dl>

</body>
</html>

--- NEW FILE: BOOT ---
BOOT: the location of the latest boot files.
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2006/03/02 17:30:00 CDT
Tag: Release_110_58
Version: 110.58
Location: http://smlnj.cs.uchicago.edu/dist/working/110.58/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2005/11/16 15:00:00 CDT
Tag: Release_110_57
Version: 110.57
Location: http://smlnj.cs.uchicago.edu/dist/working/110.57/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2005/10/25 16:00:00 CDT
Tag: Release_110_56
Version: 110.56
Location: http://smlnj.cs.uchicago.edu/dist/working/110.56/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2005/07/20 12:00:00 CDT
Tag: Release_110_55
Version: 110.55
Location: http://smlnj.cs.uchicago.edu/dist/working/110.55/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2005/05/18 12:00:00 CDT
Tag: Release_110_54
Version: 110.54
Location: http://smlnj.cs.uchicago.edu/dist/working/110.54/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2005/02/25 15:00:00 CST
Tag: Release_110_53
Version: 110.53
Location: http://smlnj.cs.uchicago.edu/dist/working/110.53/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2004/12/15 15:30:00 CST
Tag: Release_110_52
Version: 110.52
Location: http://smlnj.cs.uchicago.edu/dist/working/110.52/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2004/11/18 15:45:00 CST
Tag: Release_110_51
Version: 110.51
Location: http://smlnj.cs.uchicago.edu/dist/working/110.51/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2004/10/28 12:58:00 CDT
Tag: Release_110_50
Version: 110.50
Location: http://smlnj.cs.uchicago.edu/dist/working/110.50/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2004/09/13 16:50:00 CDT
Tag: Release_110_49
Version: 110.49
Location: http://smlnj.cs.uchicago.edu/dist/working/110.49/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2004/08/10 12:00:00 CDT
Tag: Release_110_48
Version: 110.48
Location: http://smlnj.cs.uchicago.edu/dist/working/110.48/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2004/08/04 14:00:00 CDT
Tag: Release_110_47
Version: 110.47
Location: http://smlnj.cs.uchicago.edu/dist/working/110.47/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2004/07/12 22:50:00 CDT
Tag: blume-110_46_1-macosx-nlffi
Version: 110.46.1
Location: http://smlnj.cs.uchicago.edu/dist/working/110.46.1/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2004/06/17 18:15:00 CDT
Tag: Release_110_46
Version: 110.46
Location: http://smlnj.cs.uchicago.edu/dist/working/110.46/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2004/02/03 14:50:00 CST
Tag: Release_110_45
Version: 110.45
Location: http://smlnj.cs.uchicago.edu/dist/working/110.45/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2003/11/06 12:00:00 CST
Tag: Release_110_44
Version: 110.44
Location: http://smlnj.cs.uchicago.edu/dist/working/110.44/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2003/09/26 15:00:00 CDT
Tag: blume-20030926-110_43_3
Version: 110.43.3
Location: http://smlnj.cs.uchicago.edu/dist/working/110.43.3/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2003/09/22 12:10:00 CDT
Tag: blume-20030922-110_43_2
Version: 110.43.2
Location: http://smlnj.cs.uchicago.edu/dist/working/110.43.2/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2003/09/09 22:00:00 CDT
Tag: blume-20030918-110_43_1
Version: 110.43.1
Location: http://smlnj.cs.uchicago.edu/dist/working/110.43.1/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2003/09/09 22:00:00 CDT
Tag: Release_110_43
Version: 110.43
Location: http://smlnj.cs.uchicago.edu/dist/working/110.43/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2003/08/28 17:00:00 CDT
Tag: blume-20030828-intinf
Version: 110.42.99
Location: http://smlnj.cs.uchicago.edu/dist/working/110.42.99/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2003/08/11 15:45:00 EST
Tag: blume-20030811-windows
Version: 110.42.9
Location: http://smlnj.cs.uchicago.edu/dist/working/110.42.9/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2002/10/16 12:00:00 EST
Tag: Release_110_42
Version: 110.42
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.42/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2002/07/05 16:00:00 EST
Tag: Release_110_41
Version: 110.41
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.41/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2002/05/21 16:00:00 EST
Tag: Release_110_40
Version: 110.40
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.40/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2002/03/29 14:10:00 EST
Tag: blume-20020329-inlprims
Version: 110.39.3
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/bootfiles/blume-110393/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2002/03/24 22:40:00
Tag: blume-20020324-bootfiles
Version: 110.39.2
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/bootfiles/leunga-20020324-bootfiles/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2002/03/12 22:03:00
Tag: blume-20020312-version110392
Version: 110.39.2
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/bootfiles/blume-110392/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2002/03/08 16:05:00
Tag: blume-20020308-entrypoints
Version: 110.39.1
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/bootfiles/blume-110391/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2002/02/15 16:00:00 EST
Tag: Release_110_39
Version: 110.39
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.39/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2002/02/08 15:00:00 EST
Tag: blume-20020208-uniquepid
Version: 110.38.1
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/bootfiles/blume-20020208-uniquepid/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2002/01/28 12:00:00 EST
Tag: Release_110_38
Version: 110.38
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.38/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2001/11/21 16:10:00 EST
Tag: Release_110_37
Version: 110.37
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.37/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2001/09/18 09:40:00 EDT
Tag: Release_110_36
Version: 110.36
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.36/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2001/08/24 17:10:00 EDT
Tag: Release_110_35
Version: 110.35
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.35/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2001/08/20 15:35:00 EDT
Tag: blume-20010820-debugprof
Version: 110.34(+)
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/bootfiles/blume-20010820-debugprof/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2001/07/10 17:30:00 EDT
Tag: Release_110_34
Version: 110.34
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.34/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2001/05/23 14:30:00 EDT
Tag: Release_110_33
Version: 110.33
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.33/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2001/05/07 14:40:00 EDT
Tag: blume-20010507-proxies
Version: 110.32.2(+)
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/bootfiles/blume-20010507-proxies/
----------------------------------------------------------------------
Name: Lal George
Date: 2001/04/20 09:15:28 EDT
Tag: george-20010420-macosX
Version: 110.32.2
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/bootfiles/george-20010420-bootfiles/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2001/03/22 16:25:00 EST
Tag: blume-20010322-bootfiles
Version: 110.32.1(+++)
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/bootfiles/blume-20010322-bootfiles/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2001/03/16 12:22:00 EST
Tag: blume-20010316-bootfiles
Version: 110.32.1(++)
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/bootfiles/blume-20010316-bootfiles/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2001/01/12 23:30:00 JST
Tag: blume-20010112-bootfiles
Version: 110.32.1(+)
Location: ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.32.1b-autofetch/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2001/01/05 00:30:00 JST
Tag: blume-20010105-primops
Version: 110.32.1
Location: ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.32.1-autofetch/
----------------------------------------------------------------------
Name: Lal George
Date: 2000/12/22 22:22:58 EST 2000
Tag: Release_110_32
Version: 110.32
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.32
----------------------------------------------------------------------
Name: Lal George
Date: 2000/12/08 09:56:14 EST 2000
Tag: Release_110_31
Version: 110.31
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.31
----------------------------------------------------------------------
Name: Lal George
Date: 2000/11/06 09:02:21 EST 2000 
Tag: Release_110_30
Version: 110.30
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.30
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2000/11/02 17:00:00 JST
Tag: blume-20001102-condcomp
Version: 110.29.2
Location: ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.29.2-autofetch/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2000/08/31 17:30:00 JST
Tag: blume-20001017-v110p29p1
Version: 110.29.1
Location: ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.29.1-autofetch/
----------------------------------------------------------------------
Name: Matthias Blume
Name: Matthias Blume
Date: 2000/08/31 18:00:00 JST
Tag: blume-20000831-cvsbootfiles
Version: 110.29
Location: ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.29a-autofetch/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2000/07/22 23:30:00 JST
Tag: blume-20000722-urlupdate
Version: 110.29
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.29/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2000/07/18 18:00:00 JST
Tag: blume-20000718-Version_110_29
Version: 110.29
Location: ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.29-autofetch/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2000/06/06 11:15:00 JST
Tag: blume-20000606-lazierpickle
Version: 110.28.1
Location: ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.28.1-autofetch/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2000/05/12 17:30:00 JST
Tag: blume-20000512-anchors
Version: 110.28
Location: ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.29pre1-autofetch/
----------------------------------------------------------------------
Name: Dave MacQueen
Date: 2000/05/02 14:00 EDT
Tag: dbm-20000502-Version_110_28
Version: 110.28
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.28/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2000/04/30 01:00:00
Tag: blume-20000430-versions
Version: 110.27
Location: ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.28pre1-autofetch/
----------------------------------------------------------------------
Name: Dave MacQueen
Date: 2000/04/10 14:00 EDT
Tag: dbm-20000410-Version_110_27
Version: 110.27
Location: ftp://ftp.research.bell-labs.com/dist/smlnj/working/110.27/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2000/04/03 16:05:00 JST
Tag: blume_main_v110p26p2_2
Version: 110.26.2
Location: ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.26.2-2-autofetch/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 00/03/30 18:00:00
Tag: blume_main_v110p26p2_0
Version: 110.26.2
Location: ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.26.2-autofetch/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 00/03/09 10:23:53
Tag: blume_main_v110p26p1_0
Version: 110.26.1
Location: ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.26.1-autofetch/
----------------------------------------------------------------------
Name: Matthias Blume
Date: 2000/03/07 04:01:04
Tag: blume_main_v110_26_2
Version: 110.26
Location: ftp://ftp.cs.princeton.edu/pub/people/blume/sml/110.26-cm-update/
----------------------------------------------------------------------

--- NEW FILE: CYGWININSTALL ---
Installation instructions for SML/NJ under Cygwin 
-------------------------------------------------

1. Choose a directory to install SML/NJ.  Note that currently 
   SML/NJ *must* be installed in a directory mounted in binmode.
   Installation will fail if you try to install it in a directory
   mounted in textmode.  See the manpage for 'mount' for details.

2. Set SMLNJ_CYGWIN_RUNTIME=1 and export the environment variable.
   E.g.,

       SMLNJ_CYGWIN_RUNTIME=1
       export SMLNJ_CYGWIN_RUNTIME

   in Bourne sh and variants.  Or

       setenv SMLNJ_CYGWIN_RUNTIME 1

   in csh and variants.      
    
   When this is set SML/NJ will select the Cygwin runtime instead of
   the default Windows runtime.

3. Simply treat Cygwin as a Unix, and follow the usual installation
   instructions.  

--- NEW FILE: HISTORY ---
This is the HISTORY file for the Yale SML/NJ CVS repository.

An entry should be made for _every_ commit to the repository.
The entries in this file will be used when creating the README
for new versions, so keep that in mind when writing the
description.

The form of an entry should be:


Name: Your Name (web page or e-mail)
Date: yyyy/mm/dd hh:mm:ss 
Tag: cvs-tag-for-this-change
Description:

----------------------------------------------------------------------
Name: Matthias Blume (http://www.tti-c.org/blume/)
Date: 2006/05/17 14:00:00 CST
Tag: Release_110_59
[...8147 lines suppressed...]
     * init.cmi now treated as library
     * library stamps for consistency checks
- sml.boot.<arch>-<os>/PIDMAP file
     * This file is read by the CM startup code.  This is used to minimize
       the amount of dynamic state that needs to be stowed away for the
       purpose of sharing between interactive system and user code.
- CM.Anchor.anchor instead of CM.Anchor.{set,cancel}
     * Upon request by Elsa.  Anchors now controlled by get-set-pair
       like most other CM state variables.
- Compiler.CMSA eliminated
     * No longer supported by CM anyway.
- fixed bugs in pickler that kept biting Stefan
     * past refs to past refs (was caused by the possibility that
       ad-hoc sharing is more discriminating than hash-cons sharing)
     * integer overflow on LargeInt.minInt
- ml-{lex,yacc} build scripts now use new mechanism
  for building standalone programs
- fixed several gcc -Wall warnings that were caused by missing header
  files, missing initializations, etc., in runtime (not all warnings
  eliminated, though)

--- NEW FILE: INSTALL ---
Installation instructions for SML/NJ
------------------------------------

These are instructions for installing recent "working" versions of SML/NJ
on Unix-like systems, including MacOX X with the developer tools installed.

If you are running MacOS X but don't have the developer tools, you can
install the system starting from the disk image that we provide.  See
MACOSXINSTALL for details.

If you are running Win32, see WININSTALL.

1. If you are in a hurry (and you have network connectivity) ...
----------------------------------------------------------------

   - Pick a place to do the installation, e.g.

      $ d=/usr/share/smlnj     # or whatever you like
      $ mkdir $d
      $ cd $d

   - Download config.tgz, e.g.

      $ v=110.38               # or whatever is the version you desire
      $ wget http://smlnj.cs.uchicago.edu/dist/working/$v/config.tgz

   - Gunzip and untar, e.g.

      $ gunzip <config.tgz | tar xf -

     This creates a subdirectory "config"

   - Edit the "config/targets" file to your taste.  If you leave this
     file alone, you end up with a minimal installation.

   - Run the installer, it will automatically fetch all other necessary
     tarballs:

      $ config/install.sh

     If the installer complains about not being able to fetch those
     tarballs, try step 2.1.

2. If you have a bit more time...
---------------------------------

   2.1.  If you do not have network connectivity...
   -------------------------------------------------

   - Use some other means of downloading the necessary tarballs.  Store
     them in directory $d.  Then run the installer (config/install.sh).

     Here is a table that shows which packages you will need to download
     depending on what you select in config/targets.  Take the union of
     all the packages corresponding to your selection.  Don't forget to
     include the "(always)" entry.  (<arch> and <os> should match your
     host system.)

     Keep in mind that making selections in config/targets there are
     dependencies between packages.  For example, eXene requires cml
     and cml-lib.  The installer script "knows" about these dependencies
     and will automatically calculate the transitive closure of the
     "requires" relation for you.  Still, if you do not have network
     connectivity, then you should have downloaded tarballs for the
     entire transitive closure.  (If you didn't, the installer will
     kindly remind you.)

          if you select...         |    ... you need 
      ---------------------------------------------------------------
          (always)                 | boot.<arch>-<os>.tgz
                                   | runtime.tgz
                                   |
          src-smlnj                | MLRISC.tgz
                                   | cm.tgz
                                   | compiler.tgz
                                   | smlnj-lib.tgz
                                   | ml-yacc.tgz
                                   | system.tgz
                                   |
          ml-yacc                  | ml-yacc.tgz
                                   |
          ml-lex                   | ml-lex.tgz
                                   |
          ml-burg                  | ml-burg.tgz
            requires: ml-lex       |
                                   |
          smlnj-lib                | smlnj-lib.tgz
                                   |
          pgraph-util              | cm.tgz
                                   |
          cml                      | cml.tgz
            requires: smlnj-lib    |
                                   |
          cml-lib                  | cml.tgz
                                   |
          eXene                    | eXene.tgz
            requires: cml, cml-lib |
                                   |
          ckit                     | ckit.tgz
                                   |
          ml-nlffi-lib             | ml-nlffi-lib.tgz
                                   |
          ml-nlffigen              | ml-nlffigen.tgz
            requires: smlnj-lib,   |
                      ckit         |
                                   |
          mlrisc-tools             | MLRISC.tgz
                                   |
          nowhere                  |
            requires: mlrisc-tools |
                                   |
          doc                      | - (currently unavailable)

   2.2.  Tweaking "preloads"...
   ----------------------------

    - Before running the installer (but after unpacking the config
      directory), you can customize the set of libraries that are
      pre-loaded (either directly or via CM's "autoload" mechanism).

      For this, edit config/preloads before running config/install.sh.

   2.3.  Using a different ftp server (for a step-1.-like installation)
   --------------------------------------------------------------------

    - If you have a local mirror for smlnj.cs.uchicago.edu/dist,
      then you can speed up installation by pointing the automatic URL
      fetch mechanism there.  The URL of the repository is stored in
      config/srcarchiveurl.  Edit this file before running
      config/install.sh.

   2.4.  Using locally stored tarballs
   -----------------------------------

    - This is like step 2.3. -- except the URL in config/srcarchiveurl
      should read something like

          file:///usr/src/packages/smlnj/working/110.38

      (In other words, the URL should spell out the name of the local
      directory that happens to contain the tarballs.  Notice that
      this method does not seem to work with certain versions of wget
      which do not understand the file:// scheme.)

   2.5.  What needs to be on my PATH?
   ----------------------------------

   - You should include $d/bin into your PATH.

   2.6.  Which of all those files do I really need?
   ------------------------------------------------

   After the installer completes, directory $d will be full of files
   and subdirectories.  Not all of them are actually required if you want
   to use the system.

   In particular, if you are not interested in any of the source code,
   you can DELETE EVERYTHING EXCEPT:

      $d/bin
      $d/lib

   2.7.  Can I move files to another directory after the fact?
   -----------------------------------------------------------

   Yes. 

   Here is the procedure:

   Suppose you have installed everything under $d and now you want to
   move things to some other directory $e (e.g., e=/usr/share/smlnj):

     1. Move (at least) $d/bin and $d/lib to $e:

        $ mv $d/{bin,lib} $e

     2. Before running the "sml" command, set the environment variable
        SMLNJ_HOME to point to $e:

        $ export SMLNJ_HOME=$e

        If you want to put the contents of $e/lib somewhere else, then
        point CM_PATHCONFIG to wherever the path configuration file
        lives.  (The default is $SMLNJ_HOME/lib/pathconfig.)

        You can also scatter around the contents of $e/lib.  If you do so,
        you have to edit the path configuration file itself.  See the CM
        manual for more information on path anchors and path configuration.

   2.8 Forcing the installer to use a particular URL getter program
   ----------------------------------------------------------------

   By default, config/install.sh will attempt to use wget, curl, and
   lynx (in that order).  If you already know which of these programs
   you want the installer to use, then set the environment variable
   URLGETTER to "wget", "curl", or "lynx", respectively.

   You can also set URLGETTER to any other command "foo" as long as
   it can be invoked as

       $ foo <source> <destination>

   where <source> is the URL you want to fetch and <destination> is
   the file name where the result will be stored.

   2.9 Where are those "CM" directories?
   -------------------------------------

   CM metadata (source skeletons, compiled files, stable libraries, GUIDs,
   ...) are now stored under a directory called ".cm".  We changed this
   from the original "CM" because of name clashes on case-insensitive
   file systems.  However, SML/NJ itself can work with any (reasonable)
   choice of name for the metadata directory -- but for consistency the
   choice has to be made at installation time.

   To choose a different name for metadata directories, run
   config/install.sh in the presence of an environment variable
   CM_DIR_ARC.  For example, if you want to have all these directories
   be named "FOOBAR", then run the installer (assuming a Bourne-ish
   shell) as

      $ CM_DIR_ARC=FOOBAR config/install.sh

3. Troubleshooting:
-------------------

   3.1. You think you have network connectivity, but the installer fails
   ---------------------------------------------------------------------

    - You probably do not have any of the following commands available
      on your system:  wget, lynx, curl.

      Failsafe remedy:  Proceed according to step 2.1., using whatever
      other FTP client you have.

      Alternative remedy:  If you have some other command-line tool to
      fetch URLs, make a wrapper for it (if necessary) so that it can
      be invoked with precisely two arguments: <srcurl> and <dst>.
      Then set the environment variable URLGETTER to the name of this
      (wrapped) tool and try running the installer.

      Example:  Suppose you don't have wget but a wget-lookalike named
      "xget".  You could then make a shell script that wraps xget, e.g.
      using a shell script "myxget" consisting of the single line:

         $ exec xget -nv -O $2 $1

      Once you have myxget, simply run:

         $ URLGETTER=myxget config/install.sh  

----------------------------------------------------------------------------

--- NEW FILE: MACOSXINSTALL ---
Installation instructions for SML/NJ under MacOS X
--------------------------------------------------

We now provide a disk image containing an installer package
for SML/NJ.  The package contains a full installation
including nearly all optional components.  (We only
exclude "mlrisc-tools" and "nowhere".)  In the near
future we plan to provide a meta-package which lets
users select the components to be installed.

The current installer lets the user choose an installation
root directory.  The default is /usr/local/smlnj.
The SML/NJ-specific "bin" directory containing the
"sml" command and its siblings is not automatically
added to the shell's search path, though.

When using the installer package (even in the case
when the installation directory is not the default
/usr/local/smlnj) it is NOT necessary to set any
global environment variables such as SMLNJ_HOME.

----

When developer tools are present on a MacOS X machine,
then it is also always possible to do a generic install
(see file INSTALL).

--- NEW FILE: WININSTALL ---
I have not packaged the win32 port as an InstallShield(tm)
bundle.  Instead, I simply made a .zip file (smlnj.zip) that
one can unzip to a location of one's choice.  There are two
things to do "by hand" afterwards:

   - set the environment variable SMLNJ_HOME to
     the name of the directory that you unzip'd smlnj.zip
     into
   - add %SMLNJ_HOME%\bin to your path

[Example:  Suppose you unzip'd the .zip file into

    c:\sml\blume\smlnj

Then the value of SMLNJ_HOME should be that, i.e.,
the moral equivalent of

   set SMLNJ_HOME=c:\sml\blume\smlnj

needs to be carried out.  Moreover, you need to add the
string

  ;c:\sml\blume\smlnj\bin

to the end of your path variable, i.e., you need to execute

  path %PATH%;c:\sml\blume\smlnj

]

(Under win9x you need to either do this locally using the
command prompt before you run sml, or you edit autoexec.bat
and reboot.  In WinXP you can do it by going to

   Control Panel->Performance and Maintenance->System->
   Advanced->Environment Variables

>From there it is obvious what needs to be done.   Since I don't have
access to other versions of win32 (NT, 2000, ...), I am not sure how to do
things there.  (But I am sure everything is similar to the XP case.)

Once the two variables are properly set, you should be able to
launch sml/nj by typing "sml" into a command prompt...

--------------------------------------------------------------------------

To compile from scratch, assuming Microsoft Visual Studio:

- set path to include C compiler bin directory
    (e.g., path %PATH%;"c:\Program Files\Microsoft Visual Studio\VC98\Bin")
- run "vcvars32" command
- create the full SML/NJ source hierarchy
   (most convenient: do a CVS checkout; alternative: unzip and untar
    all the source archives)
- unzip and untar boot.x86-win32.tgz into the root of the source tree
- set environment variable SMLNJ_HOME to root of source tree
- edit config\targets to one's taste
- run config\install.bat
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.