ORGANIZATION OF [Indigo]<DA>
Martin Newell,  November 1981

<DA> holds all the release and source files for the Magic system, as well as various other miscellaneous things.

MAGIC System

Files in the Magic system are in two categories - the components of the common central part of Magic, and the components of the various analysis modules.  For historical reasons large parts of the system still include the name "CIF" where one might expect "Magic".  So, for example, the configuration for the main part of Magic is called CIF.config, and the circuit extractor module is CIFExtractor.  However, not all analysis modules follow this convention, later ones using the word "Magic", MagicERC being an example.

At the time of writing, the Magic system runs only under the Alto operating system on D machines, not under Pilot.  At one time an attempt was made to maintain versions that would run on the Alto computer.  These were distinguished from the versions for the D machines by having the Alto-dependent files on subdirectory <DA>Alto> and the D-dependent files on <DA>DStar>, common files being held in directories with neither of these names.  (This should not be confused with the present convention whereby Alto means Alto Operating System on D Machines).  This naming convention still exists, although the >Alto> files are of highly questionable use.

In general, .bcd files are stored only for Definitions modules, not for intermediate program modules (i.e. program modules that are used as part of a configuration).

To work on a system X, (for X = CIF, CIFExtractor, CIFDRC, ...) retreive the file WorkonX.cm and execute it.  (This method was put in place before .df files were invented.  Some systems have been changed to use .df files in which case the relevant file to use with Bringover is X.df).  This file will be on the appropriate subdirectory, but can always be found by the name <DA>*>WorkonX.cm.  Executing a WorkonX file will retrieve all the files necessary to recompile and bind system X, though it will not actually do this.  At the end of the .cm file is a commented-out suggestion as to what to do to build the system, typically involving Makeconfig.

So much for theory - what often happens is that there are version mismatch problems.  Some of these would be removed by always using .df files, but not all, due to the less-than-frozen state of some of the utilities on which Magic depends, though this problem is not too bad recently since everyone started putting all their efforts into Cedar stuff.  To overcome some of these problems, a number of support files that should be obtained of systems directories are in fact obtained from the DA directory.  The JaM system itself is an example of this - Magic uses a version different from the released version.  Therefore, be warned that executing a Workon file might retrieve some old versions of systems files.