Dollarg 2009

From VrlWiki
Jump to navigation Jump to search

Getting Started with $G - January 2009

Setting Environment Variables for your User Account

Edit your ~/.environment file and add the lines:

setenvvar GROOT /map/gfx0
setenvvar CVSROOT /map/gfx0/cvsroot

If you use C-shell, edit your .cshrc and add somewhere below the sourcefile $HOME/.environment line:

sourcefile $GROOT/tools/gfxtools-startup-csh

If you use Bash, edit your .bashrc and add somewhere below the sourcefile $HOME/.environment line:

sourcefile $GROOT/tools/gfxtools-startup-bash

Remember that your environment variables will not be updated immediately; only newly-opened shells will get them, so close your current shell and open a new one. You can check that everything worked by entering

echo $G

If you get non-error output, then you're all set.

Checking out a project

$G uses CVS for source control and you can read more about it on its official site or on Wikipedia.

You can work anywhere except under the $G directory. At Brown ample disk space has been allocated here for students:

   /map/gfx0/users/$USER

So, for example, if your user id is "goo" and you wanted to check out the "wrist" project, you should type:

   > mkdir  /map/gfx0/users/goo
   > cd     /map/gfx0/users/goo
   > cvs  co  project/wrist        # Creates:  /map/gfx0/users/goo/project/wrist/...

Please do not waste space and retain only the files you need. When you are done with your account please be sure to delete it.

Building a project

Type "make all" to build a project. Continuing the wrist project example from above, you would type:

   > cd  /map/gfx0/users/foo/project/wrist
   > make  all

By convention simple projects that build a single program or library can be built just by typing "make".

Creating a "test" for a project

Testing is helpful to find bugs, detect problems discovered by system upgrades, and to help make sure projects are working on a daily basis.

Each project should contain a simple smoke test with the target name "test". It should ensure basic functionality and run reasonably fast. For example, to run the test for the wrist project you would type:

   > cd  /map/gfx0/users/foo/project/wrist
   > make  test

Projects can include additional tests. By convention the make target should be named with a prefix, "test" (e.g. testmore).