UsageTopTop LevelInstallation


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 GOO also requires gmp to be installed as a library downloadable from

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:


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

UsageTopTop LevelInstallation