Creating the ggobi Distribution

There are two ways that others (non-developers) can get the ggobi source. One is via CVS and the other is by downloading the ggobi.tar.gz source distribution. The next paragraphs describe how to create the ggobi.tar.gz file.

When we refer to the command make, this means the GNU version of make and may be installed on your computer as gmake.

There are just a few simple steps in creating ggobi.tar.gz.

  1. Change directory to the top-level ggobi/ directory as checked out from CVS. This directory contains the .c and .h files such as ggobi.c, p1d.c, etc. and also the Install/ and notes/ directory.
  2. Make certain to do a cvs update and also a cvs commit so that the CVS repository is totally synchronized with the files in the release that you are creating. One should also use 'cvs tag some-id' to give this an identifier. This synchronization makes it much easier to re-create the exact state of affairs for that release when we get a bug report about a particular distribution.
  3. To create the ggobi.tar.gz, type
           gmake ADMIN=1 tar
    
    What this does is to create an entirely new directory structure in /tmp/Install/ggobi. This new directory containins the source and documentation files for building ggobi and puts them in the appropriate directory layout so that configure (the autoconf script) and GNUmakefiles work correctly.

    To test that this distribution does in fact work, one should start with

     gmake ADMIN=1
    
    and then change directory to /tmp/Install/ggobi and perform the installation as a regular user would.
      cd /tmp/Install/ggobi
      ./configure
      make
    
    Then, run the compile ggobi
      ./bin/ggobi data/flea    
    

Removing or Adding a File

If you add or remove a .c or .h file from the ggobi codebase, then you will have edited the Makefile in the ggobi/ directory of your working copy of the code checked out from CVS. (If you do your development work under MS Windows, you will have instead edited Makefile.win32. You need to add or remove the file from the one you do not use.)

You will also need to tell the installation scripts about the change. When one calls make ADMIN=1 this uses the rules in the GNUmakefile.admin in the Install/ directory. This file is responsible for copying all of the relevant files from your ggobi working directory to /tmp/Install/ggobi. It copies all of the C files listed in the regular, top-level Makefile in the SRC variable. Therefore, any new files that are needed for the build or files that are removed should be handled automatically.

Now, when one goes to build the distribution in /tmp/Install/ggobi the src/GNUmakefile needs to know which files to compile. So you must edit the file Install/GNUmakefile_src.in in your working directory (i.e. not the directory /tmp/Install/ggobi/) and edit the list of files specified there in the SRC variable.

Committing Removed files

Also, if you remove a file, please use the commands
    cvs remove whatever-file
    cvs commit -m "Removing the file whatever-file because ..."  whatever-file
This means that when others update, their working copies will have this file removed. It is a way of notifying others about the change.

PDF and the Distribution

The plan is that the distribution contains the PDF versions of some of the files in the notes/ directory. To create this, you will need pdflatex which is not necessarily installed on all machines. Either we can change this and distribute Postscript versions created using regular latex and dvips or one person can be responsible for creating the actual public distribution.

To create the Postscript versions instead of the PDF ones, create the working distribution as

 make ADMIN=1 DOC_EXTENSION=ps

Alternatively, to avoid including any of these documents, invoke make as

 make ADMIN=1 DOC_TEX_FILES=
which just sets DOC_TEX_FILES to an empty list.
Duncan Temple Lang <duncan@research.bell-labs.com>
Last modified: Fri Feb 9 05:32:25 EST 2001