11.4 Project Environment for Sample Config Specs

You can use different config specs for different kinds of development and management tasks. The three sections that follow present sample config specs useful for various aspects of project development, project management and research, and project builds. This section presents the development environment that these config specs are based on.

Developers use a VOB whose VOB-tag is \monet, which has this structure:

\monet

(VOB-tag)

src\

(C language source files)

include\

(C language header files)

lib\

(project's libraries)

For the purposes of this chapter, suppose that the lib directory has this substructure:

lib\

libcalc.lib

(checked-in staged version of library)

libcmd.lib

(checked-in staged version of library)

libparse.lib

(checked-in staged version of library)

libpub.lib

(checked-in staged version of library)

libaux1.lib

(checked-in staged version of library)

libaux2.lib

(checked-in staged version of library)

libcalc\

(sources for calc library)

libcmd\

(sources for cmd library)

libparse\

(sources for parse library)

libpub\

(sources for pub library)

libaux1\

(sources for aux1 library)

libaux2\

(sources for aux2 library)

Sources for libraries are located in subdirectories of lib. After a library is built in its source directory, it can be staged to \monet\lib. You can use the libraries in this directory (the library staging area) instead of a more standard location by setting the LIB environment variable or by changing the makefile.

The following labels are assigned to versions of monet elements.

Version Labels Description

R1.0

First customer release

R2_BL1

Baseline 1 prior to second customer release

R2_BL2

Baseline 2 prior to second customer release

R2.0

Second customer release

These version labels have been assigned to versions on the main branch of each element. Most project development work takes place on the main branch. For some special tasks, development takes places on a subbranch.

Subbranches Description

major

Used for work on the application's graphical user interface, certain computational algorithms, and other major enhancements

r1_fix

Used for fixing bugs in Release 1.0

NOTE: Config specs allow absolute VOB pathnames-absolute pathnames that begin with a VOB-tag but do not include drive letter or view-tag prefixes. This form of pathname is required to specify VOB elements without regard for current drive assignments or active views. For example:

\vob_gopher\lib\*

(absolute VOB pathname, where \vob_gopher is the VOB-tag)

\monet\src\*

(absolute VOB pathname, where \monet is the VOB-tag)

Z:\monet\src\*

(drive-specific pathname; not recommended)

M:\myview\vob_gopher\lib\*

(view-extended pathname; not recommended)