X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fdevel.texi;h=6496b4fc0973c51a2ca7580c9ebda0e0ce41d3f8;hb=f07e0fe437b33046a3ee36c5d2223d47eeabb5d8;hp=3491a3606e171fc28225e534cf92c97a7150b46c;hpb=699944803572c46c550a39027c0ebd935b0d61bc;p=pintos-anon diff --git a/doc/devel.texi b/doc/devel.texi index 3491a36..6496b4f 100644 --- a/doc/devel.texi +++ b/doc/devel.texi @@ -1,3 +1,69 @@ -@node Development Tools +@node Development Tools, , Debugging Tools, Top @appendix Development Tools +Here are some tools that you might find useful while developing code. + +@menu +* Tags:: +* CVS:: +* SourceForge:: +* VNC:: +@end menu + +@node Tags +@section Tags + +Tags are an index to the functions and global variables declared in a +program. Many editors, including Emacs and @command{vi}, can use +them. The @file{Makefile} in @file{pintos/src} produces Emacs-style +tags with the command @code{make TAGS} or @command{vi}-style tags with +@code{make tags}. + +In Emacs, use @kbd{M-.} to follow a tag in the current window, +@kbd{C-x 4 .} in a new window, or @kbd{C-x 5 .} in a new frame. If +your cursor is on a symbol name for any of those commands, it becomes +the default target. If a tag name has multiple definitions, @kbd{M-0 +M-.} jumps to the next one. To jump back to where you were before +you followed the last tag, use @kbd{M-*}. + +@node CVS +@section CVS + +CVS is a version-control system. That is, you can use it to keep +track of multiple versions of files. The idea is that you do some +work on your code and test it, then check it into the version-control +system. If you decide that the work you've done since your last +check-in is no good, you can easily revert to the last checked-in +version. Furthermore, you can retrieve any old version of your code +as of some given day and time. The version control logs tell you who +made changes and when. + +CVS is not the best version control system out there, but it's +free, it's fairly easy to use, and +it's already available on the Leland machines you're using for +the projects. + +For more information, visit the @uref{https://www.cvshome.org/, , CVS +home page}. + +@node SourceForge +@section SourceForge + +SourceForge is a web-based system for facilitating software +development. It provides you with a version-control system (typically +CVS, as described above) and other tools for tracking your software. +You can use it to store files, track bugs, and post notes about +development progress. You can set up your own +project in SourceForge at @uref{http://sourceforge.net, , +sourceforge.net}. + +@node VNC +@section VNC + +VNC stands for Virtual Network Computing. It is, in essence, a remote +display system which allows you to view a computing ``desktop'' +environment not only on the machine where it is running, but from +anywhere on the Internet and from a wide variety of machine +architectures. It is already installed on the Leland machines. For +more information, look at the @uref{http://www.realvnc.com/, , VNC +Home Page}.