|  |  | Installation

# Installation

Unpack a GOO development or platform specific binary tarball into an appropriate staging directory. In the case of a binary tarball, there will be five directories: `doc`, `bin`, `c`, `src`, and `emacs`. You can just run GOO from the `bin` subdirectory.

In the case of a development tarball, you must install it. After unpacking, there will be five directories: `doc`, `bin`, `c`, `src`, and `emacs`. On windows, installation must be conducted from within a cygwin shell. GOO requires Boehm's GC to be installed as a shared library on linux or under the source dir `GOO_DIR/gc` downloadable from `http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc.tar.gz`. GOO also requires gmp to be installed as a library downloadable from `http://www.swox.com/gmp/`.

Generate makefiles by executing `./configure`. Configure takes a `-prefix` argument which sets the installation root, `GOO_ROOT`. Normally `GOO_ROOT` is set to `/usr/local` but can be set to staging directory for a personal installation. Configure also takes a `-with-threads` argument which enables threads support on linux. The rest of the configure arguments can be found by executing `./configure -help`. Execute `make` to build GOO and `make install` to install it. Executing `make install` will build GOO with the proper roots, creating `lib` and `mods` directories, and installing GOO in `bin` and setting up `doc`. On windows, it is necessary to add `GOO_BIN` to your `PATH`.

You can override the default `GOO_ROOT` by setting up your `OS` environment variable. For example, my `GOO_ROOT` on linux is: `setenv GOO_ROOT /home/ai/jrb/goo`. Environment variable setting depends on the shell you're using. In order to run `g2c-goo` you need to set `GOO_BUILD_ROOT` to the directory which includes the `src` directory.

During start up, GOO will load two patch files:

    ${GOO_ROOT}/init.goo
    ${HOME}/.goo/init.goo

You can customize your GOO by adding forms to these files.

|  |  | Installation