
  Authors:
    Konstantin Popov <kost@sics.se>

  Contributors:

  Copyright:
    Konstantin Popov, 2001

  Last change:
    $Date: 2004/06/16 15:02:40 $ by $Author: popow $
    $Revision: 1.6.2.1 $
 
  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:

 -r--r--r--    2 kost      14269432 Mar  1 00:44 binutils-2.14.tar.gz
 -r--r--r--    3 kost        420341 Mar  4 11:04 bison-1.28.tar.gz
 -r--r--r--    3 kost        380995 Mar  4 10:57 flex-2.5.4a.tar.gz
 -r--r--r--    2 kost      31242089 Oct 20 15:21 gcc-3.3.2.tar.gz
 -r--r--r--    3 kost        134080 Mar  4 10:57 gdbm-1.8.0.tar.gz
 -r--r--r--    2 kost      18115189 Mar  1 00:47 glibc-2.3.2.tar.gz
 -r--r--r--    2 kost       2159329 Mar  1 01:52 gmp-4.1.2.tar.gz
 -r--r--r--    3 kost        317588 Mar  4 10:57 m4-1.4.tar.gz
 -r--r--r--    2 kost      12002329 Mar  1 01:57 perl-5.8.3.tar.gz
 -r--r--r--    3 kost        297790 Mar  4 10:57 regex-0.12.tar.gz
 -r--r--r--    2 kost       2863381 Mar  1 02:06 tcl8.3.5-src.tar.gz
 -r--r--r--    2 kost       2598030 Mar  1 02:07 tk8.3.5-src.tar.gz
 -r--r--r--    2 kost        345833 Mar  1 02:17 zlib-1.2.1.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 (RedHat 9.0)
    . binutils-2.13.90.0.18-9
    . glibc-2.3.2-27.9.7 and company
    . XFree86-4.3.0-2.90.55
    . gcc-3.3.2 (built from sources)
    . for building 'ps' documentation - 
       openjade-1.3.1-12 (nsgmls)
       j2sdk-1.4.1_02-fcs (Sun's "Java Runtime Environment")

. 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.
