Dollarg 2009: Difference between revisions
Bradley Berg (talk | contribs) |
|||
| (5 intermediate revisions by 2 users not shown) | |||
| Line 3: | Line 3: | ||
== Setting Environment Variables for your User Account == | == Setting Environment Variables for your User Account == | ||
Edit your ~/. | Edit your ~/.environment file and add the lines: | ||
<pre> | <pre> | ||
setenvvar GROOT /map/gfx0 | |||
setenvvar CVSROOT /map/gfx0/cvsroot | |||
</pre> | |||
If you use C-shell, edit your .cshrc and add somewhere below the <code>sourcefile $HOME/.environment</code> line: | |||
<pre> | |||
sourcefile $GROOT/tools/gfxtools-startup-csh | |||
</pre> | </pre> | ||
If you use Bash, edit your .bashrc and add somewhere below the <code>sourcefile $HOME/.environment</code> line: | |||
<pre> | |||
sourcefile $GROOT/tools/gfxtools-startup-bash | |||
</pre> | |||
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 | |||
<pre> | |||
echo $G | |||
</pre> | |||
If you get non-error output, then you're all set. | |||
== Checking out a project == | == Checking out a project == | ||
$G uses CVS for source control and you can read more about it [http://www.nongnu.org/cvs/ | $G uses CVS for source control and you can read more about it [http://www.nongnu.org/cvs/ on its official site] or [[w:Concurrent Versions System|on Wikipedia]]. | ||
You can work anywhere except under the $G directory. | You can work anywhere except under the $G directory. | ||
| Line 60: | Line 78: | ||
Projects can include additional tests. | Projects can include additional tests. | ||
By convention the make target should be named with a prefix, "test" (e.g. testmore). | By convention the make target should be named with a prefix, "test" (e.g. testmore). | ||
[[Category:$G]][[Category:Software Development]][[Category:IT Tools]][[Category:$G HOWTO]] | |||
Latest revision as of 18:24, 9 December 2009
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).