Home

About
General Info
FAQ
Mailing Lists

Users
Getting Started
Downloads
Tools

Developers
Getting Started
Source Code
- Downloads
CVS
Documentation

Status
Compatibility
Bugs
Feature Requests

Resources
Publications
Workshops
Links

QuickSearch



Source Code
Cross-referenced Source | Compiling on Unix | Compiling on Mac OSX | Compiling on Windows

Source Code

You can browse a cross-referenced version of the source code using a web interface at cross-referenced source code.

To retrieve a copy of the Open Mash source code, you can either:



General Information

Whether you use CVS or download a tar file with the mash source code, you will have a top-level directory called mash-code. The subdirectories tcl8.3 and tk8.3 contain the 8.3.3 releases of Tcl/Tk with a few bug fixes. We typically build mash with these versions of Tcl/Tk but you may also be able to use newer versions.

The srm subdirectory contains the standalone Scalable Reliable Multicast library used by the Mediaboard application. If you plan to use the Mediaboard, you should build SRM (see platform-specific instructions below) otherwise you can ignore it. Finally, the code for mash itself is in the mash subdirectory. The process of building mash varies slightly on different platforms -- see the section below for your platform.



Compiling Mash on Unix

We use gcc to compile Mash. You probably don't want to use anything else.

On Solaris, you need to have /usr/ccs/bin in your path.

To compile the easy way:

  1. Compile everything
    cd mash-code
    ./configure
    make


To compile the long way:

  1. Compile Tcl/Tk
    cd mash-code/tcl8.3/unix
    ./configure
    make
     
    cd mash-code/tk8.3/unix
    ./configure
    make

  2. Compile GSM and SRM (optional)
    cd mash-code/gsm
    ./configure
    make


    cd mash-code/srm
    ./configure
    make


  3. Compile Mash
    cd mash-code/mash
    ./configure

    make

  4. Compile Mash Tools
    make smash
    make import
    make megatools



Compiling Mash on Mac OSX

Building on Mac OSX is similar to building on Unix. First, make sure you have the Developer Tools installed (Version 10.3 comes with the installer for the developer tools in /Applications/Installers/Developers Tools). Then install a native version of Tcl/Tk (you can get source or binary distributions from sourceforge).

You may optionally build the GSM and SRM libraries using the Unix building instructions above. To build mash, use the same procedure as on Unix:

cd mash-code/mash
./configure
make

The make command will generate a runnable binary in mash-code/mash/macosx/mash.app. You can run this application from the command-line with the command open /path/to/mash.app or by navigating to it in the Finder and double-clicking on it. In addition, mash will look for a script in the directory mash.app/Contents/Resources/AppMain.tcl and will read it if it is present at startup. For details on how to use this feature to create a clickable application, see the relevant page on the Tcl/Tk Wiki.



Compiling Mash on Windows

Mash requires Visual C++ 6.0.

We compile Mash from the command line. When you install Visual C++ on Windows NT/2000, you have an option to register environment variables for running the tools from the command line. You should choose this option. On Windows 95/98/Me, you can set up the environment variables by running the VCVARS32.BAT file. We recommend calling VCVARS32.BAT from your AUTOEXEC.BAT file.

To compile the easy way:

  1. Compile everything
    cd mash-code
    build


To compile the long way:

  1. Compile TcL/Tk
    cd mash-code\tcl8.3\win
    nmake -f makefile.vc

    cd mash-code\tk8.3\win
    nmake -f makefile.vc


  2. Compile OTcl, TclCL, and GSM
    cd mash-code\otcl
    nmake -f makefile.vc
     
    cd mash-code\tclcl
    nmake -f makefile.vc
     
    cd mash-code\gsm
    nmake -f makefile.vc


  3. Compile Mash
    cd mash-code\mash
    nmake -f makefile.vc

  4. Compile Mash Tools
    nmake -f makefile.vc smash
    nmake -f makefile.vc import
    nmake -f makefile.vc megatools


Home | About | Users | Developers | Status | Resources | Top of Page

Webmaster
© Copyright 1999 - 2001 by the Regents of the University of California