Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 1367
News FAQ
Search Home


next up previous
Next: Code management Up: No Title Previous: Introduction

Directory hierarchy

In designing the aips++ directory structure, the discussion in the aips2-tools exploder seemed to reach a consensus on the following guiding principles

A possible directory hierarchy designed to satisfy the above requirements may resemble the following scheme:

                         +--- PGPLOT-4.9.tar.Z
                         +--- SLALIB.tar.Z
                         +--- ATELIB.tar.Z
         +--- import ----+--- cool.tar.Z
         |               +--- make-3.62.tar.Z
         |               +--- cvs-1.2.tar.Z
         |               +--- rcs-5.5.tar.Z
         |               +---   :
         |                
         |               +--- install ---+---
         |               |
         |               +--- kernel ----+--- include
         |               |               +-- implement
         |               |               +-----  Z
         |               |               +-----  Q
         |               |               +-----  :
         |               |               +--- scripts
         |               |               +---- data
         |               |               +----- doc
         |               |
         |               |               +--- include
         |               |               +-- implement
         |               +-- synthesis --+--- scripts
         |               |               +---- data
         +---- code -----+               +---- doc
         |               |
         |               +---- vlbi -----+...
         |               +---- dish -----+...
         |               +---- atnf -----+...
         |               +---- bima -----+...
         |               +---- drao -----+...
         |               +---- nfra -----+...
         |               +---- nral -----+...
         |               +---- nrao -----+...
         |               +---- tifr -----+...
         |               +--- contrib ---+...
         |
         +---- data -----+...
         |
         |
         |                               +----- lib
         |                               +----- libdbg
         |                               |
         |                               +----- bin
         |                               +----- bindbg
         |                               |
         |                               +----- tmp
         |                               +----- tmpdbg
         |                               |
         |                               +----- data
         |                               |
      ---+               +---- apex -----+
         |               |               +----- doc -----+--- ascii
         |               |               |               +--- info
         |               |               |               +--- manl
         |               |               |               +--- catl
         |               |               |               +---   :
         |               |               |
         |               |               |               +--- msgs
         +--- (arch1) ---+               +--- (site1) ---+--- (host1)
         |               |               |               +--- (host2)
         |               |               |               +---   :
         |               |               |
         |               |               +--- (site2) ---+...
         |               |               +---    :
         |               |
         |               +---- base -----+...
         |
         |
         +--- (arch2) ---+...
         +---   :

Example names

arch: sun4, sun3, ibm, cvex, vax, pc, etc.

site: epping, narrabri, parkes, mopra (for the ATNF installation), etc.

host: baboon, lemur, nrao1 (at Charlottesville), etc.


Notes:

The .../install directory will contain subdirectories - possibly architecture-specific - which will contain all the source code and shell scripts necessary to build the system procedure scripts and place them in the .../$ARCH/bin directories.

Division of the .../kernel subdirectory has not been considered in detail. However, the Q- and Z-routine directories at least will need to be further subdivided.

The division of aips++ tasks into synthesis, vlbi, and dish is motivated by the BIMA user requirement that the installation be configurable for these purposes. It is not clear whether any of these directories will actually need implement and include subdirectories.

The apex directories would only contain files which differ from those in the base directories. Search paths could operate for the executables, libraries, documentation, etc., so that someone wanting to run the development version of aips++ would set their search path with

ãips++/$ARCH/apex/bin:ãips++/$ARCH/base/bin:...

Search paths for documentation, and other areas may have to be implemented within aips++ itself.

The libdbg, bindbg, and tmpdbg areas are provided for debug versions of the libraries, executables, and temporaries and will be discussed in part 2 of this document.

The doc area would contain documentation compiled from the code doc areas. Since the form of the compiled text may be different for terminals, workstations, etc., it might be necessary to have subdirectories holding documentation tailored for each of these cases.

Directories should contain README files to explain their purpose. It should also be noted that POSIX.1 effectively limits file names to 14 characters, and pathnames to 255.


next up previous
Next: Code management Up: No Title Previous: Introduction
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2006-03-28