These are the installation instructions for release 2.1 of the Clay Programming 
Language and underlying Omega solver.

GETTING IT

All files are available in the directory http://www.eg.bucknell.edu/~lwittie/research/

Executable:
  clay: The Clay compiler. 
  SOURCE NEEDED: clay.tar.gz
  More info: The Hoist Project http://www.eg.bucknell.edu/~lwittie/research.html

Libraries:
  libomega.a: The Omega library, contains relation operations and presburger
                arithmetic code. 
  SOURCE NEEDED: omega_library.tar.gz, provided with clay source
  More info: The Omega Project http://www.cs.umd.edu/projects/omega/

UNPACKING 

The tar file will unpack as:  
clay/  The Clay compiler, contains makefiles, config files.
  config/  Config setup files.  
  presburger/  Glue code to attach Clay to Omega.
    gmp++/
    STLport-4.5.3/
    omega/  Root of the Omega system, contains makefiles, information files.
      omega_lib/    The Omega Library.
      basic/        Data structures for the library; included in
                      the omega_library.tar file.

BUILDING 

Requirements: 
    C++ compiler: You will need a C++ compiler; G++ 2.95.2
           is currently the only one known to work, but others may work
           as well.
    Make:  If you have GNU Make (gmake), you should use it; other
           makes may work, but may have trouble either with the include
           syntax, or with the pattern-match rules in the Makefiles.

    Ocaml: ocamlc, ocamlyacc, ocamllex

To compile
1. Run ./configure in the clay directory with any desired options
  Format: ./configure -option value -option value

  Options include
  -bindir directory to put the clay executable
  -ocamlcdir directory to find ocamlc
  -ocamlyaccdir directory to find ocamlyacc
  -ocamllex directory to find ocamllex
  -ocamldir directory to find all ocaml executables

2. Run make in the clay directory

To clean
1. Run make clean_all in the clay directory. 
  It will remove all compiled files in the Clay and Omega directories.

RUNNING

Compile Clay files at the command line.
  Format: clay foo.clay

LICENSE

Clay Version 2.1
(* 
 * Clay compiler
 * Author of additional modifications: Lea Wittie 
 * Copyright (c) 2013 Lea Wittie
 *
 * Permission is hereby granted, free of charge, to any individual or
 * institution obtaining a copy of this software and associated
 * documentation files (the "Software"), to use, copy, modify, and
 * distribute without restriction, provided that this copyright and
 * permission notice is maintained, intact, in all copies and supporting
 * documentation.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL DARTMOUTH COLLEGE BE LIABLE FOR ANY CLAIM, DAMAGES
 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
 * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 * This compiler uses the Omega constraint checker. Refer to
 * http://www.cs.umd.edu/projects/omega
 * for permissions reguarding Omega.
 *)

Clay Version 1.0
(* 
 * Clay compiler
 * Authors: Chris Hawblitzel, Gary Morris, Eric Krupski, Ed Wei, Lea Wittie 
 * Copyright (c) 2004 Dartmouth College
 *
 * Permission is hereby granted, free of charge, to any individual or
 * institution obtaining a copy of this software and associated
 * documentation files (the "Software"), to use, copy, modify, and
 * distribute without restriction, provided that this copyright and
 * permission notice is maintained, intact, in all copies and supporting
 * documentation.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL DARTMOUTH COLLEGE BE LIABLE FOR ANY CLAIM, DAMAGES
 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
 * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 * This compiler uses the Omega constraint checker. Refer to
 * http://www.cs.umd.edu/projects/omega
 * for permissions reguarding Omega.
 *)
