Rename your existing AIPS++ development tree and create a new code directory.
mv code code-old mkdir code
The root of the AIPS++ tree has been renamed to casa. You can choose to keep your old root directory or to create a new root directory casa like:
cd .. mkdir casa cd casa mkdir code
You will need to create a new local developer tree via mktree.cvs after the local sitemanager has done a new inhale to convert to the "CASA" module.
cd code mktree.cvs
Once you have created the new casa based code tree, copy any files you are working on into the appropriate directory. The following list gives the new packages and the modules they contain:
casa=BasicSL Arrays Containers Exceptions IO Inputs OS Utilities System BasicMath Quanta Logging scimath=Deconvolution Fitting Functionals Mathematics tables=Tables LogTables measures=Measures TableMeasures fits=FITS lattices=Lattices LatticeMath coordinates=Coordinates components=ComponentModels SpectralComponents images=Images Wnbt ms=MeasurementSets msvis=MSVis calibration=CalTables ionosphere=Ionosphere flagging=Flagging dish=SDCalibration SDIterators simulators=Simulators synthesis=DataSampling IDL MeasurementComponents MeasurementEquations Parallel graphics=Graphics X11 tasking=Benchmarks Glish Guiutils Tasking WidgetsAll DO source files and glish scripts have been moved from the 'package'/implement/'module' directory to appsglish/apps/'application'.
Please use the squiz command to find the new location of a source file in case of any doubt.
To keep the cvs information consistent, it is necessary to copy the CVS/Entries file from the old directory to the new one overriding the CVS/Entries file created by mktree.cvs. If some files have been moved to another directory, it is necessary to copy the relevant lines of the CVS/Entries file.
Do a CVS update for all files you've copied to get the new include paths, etc. in your files. E.g.
cvs update *.h *.ccbefore moving the file. This will merge your file with the system version of the file. You should see that the include guards and include paths have changed. Furthermore, where needed, files in the old aips tree have the reviewed tag filled in with reviewer="UNKNOWN" and date="before2004/08/25".
If a file does not already exist in the CVS repository, you need to update its includes manually. Do this by issuing the command:
dosedinclIt changes the include paths in this directory and recursively in all its subdirectories.
dosedguardwhich does it for all .h files (recursively) or by
dosedguard_one filewhich does it for the given .h file.
Hereafter you can add and commit to the repository as usual.
Please note that it does not harm to execute dosedincl and
dosedguard on files that are not new. Nothing should change
in them.
Before doing any build, you should have removed all files from your build directories (including the aux directory).
For example, to copy changed and new files in the Coordinates module.
cd ~/aips++ # Save the old code tree. mv code code-old # Create the entire tree. mkdir code cd code mktree.cvs # Copy the Coordinates files. cd coordinates/implement/Coordinates cp ~/aips++/code-old/trial/implement/Coordinates/*.{h,cc} . cp ~/aips++/code-old/trial/implement/Coordinates/CVS/Entries CVS # Only update the files moved. cvs update *.{h,cc} # Do the same for its test directory. cd test cp ~/aips++/code-old/trial/implement/Coordinates/test/*.cc . cp ~/aips++/code-old/trial/implement/Coordinates/test/templates . cp ~/aips++/code-old/trial/implement/Coordinates/test/CVS/Entries CVS # Only update the files moved. cvs update *.cc templates cd .. # Now change the include paths (only needed if there are new files). dosedincl # Also standardize the include guards (only needed if new files). dosedguard