Working With Multiple Sandboxes

From VrlWiki
Revision as of 17:12, 22 July 2010 by Brad Berg (talk | contribs)
Jump to navigation Jump to search

You might want to develop code in more than one sandbox. This is particularly useful for testing in a separate sandbox from your development sandbox.

Note that you do not need multiple sandboxes to work on multiple versions of a project. Program development directories (under project/ and common/) can be located anywhere and there can have replicated variations. In this case the variants all share the same install/ and import/ directories.


  • Setting up an additional sandbox.

You can create a new sandbox in an arbitrary directory with by running the following command. Note that this has to be run from a Linux system, but will establish a sandbox for Windows as well.

> /map/gfx0/tools/linux/install_linux/bin/setup/new.g.user.sh  <Sandbox/>


The Sandbox/ directory will now contain:

install_linux/        Installed copies of Linux software developed at Brown.
install_WIN32/        Installed copies of Windows software developed at Brown.
common/               The most recent common code checked out from CVS.
project/              An empty directory for your project code.


Third party software for all platforms will be accessed for all sandboxes from: /map/gfx0/tools/linux/import/

In order to switch between sandboxes you can designate the active one by setting the G environment variable to the active sandbox. This variable is used to access the install_linux/ directory and the make files in common/build/make. Rather than switching the G variable it is probably more convenient to open two terminal windows each with different settings for G.


  • Working with the legacy build system.

The environment variable settings for a legacy sandbox do not conflict with the current build system. After setting up the new sandbox and the legacy sandbox the directories under $G should be:

  WIN32/                Legacy Windows utilities
  bin/                  Legacy installed programs
  lib/                  Legacy installed libraries
  src/                  Legacy source code checked out from CVS
  help/                 Legacy help information
  tools/                Legacy administrative tools
  install_linux/        Installed copies of Linux software developed at Brown.
  install_WIN32/        Installed copies of Windows software developed at Brown.
  common/               The most recent common code checked out from CVS.
  project/              An empty directory for your project code.