
  Authors:
    Konstantin Popov <kost@sics.se>

  Contributors:

  Copyright:
    Konstantin Popov, 2001

  Last change:
    $Date: 2006/06/14 15:53:51 $ by $Author: jaradin $
    $Revision: 1.6.2.2 $
 
  This file is part of Mozart, an implementation 
  of Oz 3:
     http://www.mozart-oz.org
 
  See the file "LICENSE" or
     http://www.mozart-oz.org/LICENSE.html
  for information on usage and redistribution 
  of this file, and for a DISCLAIMER OF ALL 
  WARRANTIES.


0. Release building procedure

The best way to build a release is to use a freshly installed system
on a physically isolated (in particular, disconnected from the net)
computer :-)). The next best thing (on PCs) is to use VMWare
(www.vmware.com), with a fresh installation of your favorite Linux on
its virtual computer.

. Have an empty build directory $BUILD, e.g. BUILD=/tmp/build-1.3.0
  Have the Mozart source tree, e.g. as ${HOME}/mozart

. Copy the following sources into $BUILD:

 -rw-r--r--  1 yjaradin stafinfo 16378360 2006-05-31 11:44 binutils-2.16.1.tar.gz
 -rw-r--r--  1 yjaradin stafinfo  1384574 2006-05-31 11:48 bison-2.2.tar.gz
 -rw-r--r--  1 yjaradin stafinfo   380995 2006-05-31 11:49 flex-2.5.4a.tar.gz
 -rw-r--r--  1 yjaradin stafinfo   228695 2006-05-31 11:51 gdbm-1.8.3.tar.gz
 -rw-r--r--  1 yjaradin stafinfo  2249464 2006-05-31 11:52 gmp-4.2.1.tar.gz
 -rw-r--r--  1 yjaradin stafinfo   384582 2006-05-31 11:52 m4-1.4.4.tar.gz
 -rw-r--r--  1 yjaradin stafinfo 12829188 2006-05-31 11:55 perl-5.8.8.tar.gz
 -rw-r--r--  1 yjaradin stafinfo   297790 2006-05-31 11:55 regex-0.12.tar.gz
 -rw-r--r--  1 yjaradin stafinfo  3513852 2006-05-31 11:57 tcl8.4.13-src.tar.gz
 -rw-r--r--  1 yjaradin stafinfo  3253070 2006-05-31 11:57 tk8.4.13-src.tar.gz
 -rw-r--r--  1 yjaradin stafinfo   496597 2006-05-31 12:09 zlib-1.2.3.tar.gz

. Copy mozart source tree into the $BUILD, e.g.:

    cd ${HOME}; tar cf - ./mozart | (cd $BUILD; tar xf -)
    cd ${HOME}; tar cf - ./mozart-stdlib | (cd $BUILD; tar xf -)

. Run

    cd $BUILD; mozart/misc/make-packages.sh |& tee make-packages.log

  The outcome of that is the '$BUILD/packages' directory;

. Make sure there is no 'oz' etc. in your $PATH !!!

. Run

    cd $BUILD; mozart/misc/make-mozart.sh |& tee make-mozart.log

  The outcome of that are the 'install' mozart directory, and the
  '.tar' files in the '$BUILD/build-$PLAT' directory.

. On Linux, optionally, in order to include the ps/pdf docs run:

    cd $BUILD/build-$PLAT/doc; make ps installps;
  
. On Linux (or when just using rpm), 'su' to root, run

    cd $BUILD; mozart/misc/make-mozart-rpm.sh --lib-copies |& tee make-mozart-rpm-generic.log
    rm mozart*src.rpm

  The outcome of this are the generic (binary) rpm"s.

    cd $BUILD; mozart/misc/make-mozart-rpm.sh |& tee make-mozart-source-rpm.log
    rm mozart*i386.rpm

  The outcome of that are the generic (binary) rpm"s.

1. Implicit system dependencies

The following packages supporting Mozart are known to work:

. linux-i486 (Fedora Core 5)
	Freshly installed from the DVD

. solaris-sparc
    . gcc 3.3.2, gnu find (for building from sources)
    kost (272) ldd emulator.exe 
    	    libdl.so.1 =>    /usr/lib/libdl.so.1
    	    libsocket.so.1 =>        /usr/lib/libsocket.so.1
    	    libnsl.so.1 =>   /usr/lib/libnsl.so.1
    	    libm.so.1 =>     /usr/lib/libm.so.1
    	    libgcc_s.so.1 =>         /opt/local/lib/libgcc_s.so.1
    	    libc.so.1 =>     /usr/lib/libc.so.1
    	    libmp.so.2 =>    /usr/lib/libmp.so.2
    	    /usr/platform/SUNW,Ultra-Enterprise/lib/libc_psr.so.1
    kost (273) ldd tk.exe 
    	    libdl.so.1 =>    /usr/lib/libdl.so.1
    	    libsocket.so.1 =>        /usr/lib/libsocket.so.1
    	    libnsl.so.1 =>   /usr/lib/libnsl.so.1
    	    libm.so.1 =>     /usr/lib/libm.so.1
    	    libgcc_s.so.1 =>         /opt/local/lib/libgcc_s.so.1
    	    libc.so.1 =>     /usr/lib/libc.so.1
    	    libmp.so.2 =>    /usr/lib/libmp.so.2
    	    /usr/platform/SUNW,Ultra-Enterprise/lib/libc_psr.so.1
    kost (275) ldd flex.exe 
    	    libc.so.1 =>     /usr/lib/libc.so.1
    	    libdl.so.1 =>    /usr/lib/libdl.so.1
    	    /usr/platform/SUNW,Ultra-Enterprise/lib/libc_psr.so.1
    kost (276) ldd text2pickle.exe
    	    libm.so.1 =>     /usr/lib/libm.so.1
    	    libgcc_s.so.1 =>         /opt/local/lib/libgcc_s.so.1
    	    libc.so.1 =>     /usr/lib/libc.so.1
    	    libdl.so.1 =>    /usr/lib/libdl.so.1
    	    /usr/platform/SUNW,Ultra-Enterprise/lib/libc_psr.so.1

NOTE: the official 1.3.0 Release RPM"s for RedHat 9.0 were built on 
regurarly maintained RH9.0 box (ibm thinkpad x31) with manually installed 
gcc-3.3.2.

The official 1.3.2 Release was built on an emulated box (qemu) running a fresh Fedora Core 5.
