-*- Text -*-

This file contains the current development strategy to go from Monsanto-NQS
3.37, to Monsanto-NQS v4.x.

Last change:
Sat Jul 8 19:44:59 GMT 1995 Stuart Herbert (S.Herbert@sheffield.ac.uk)

*  Start with source code for Monsanto-NQS 3.36.6.

   Monsanto-NQS 3.36.7 is currently in pre-release; this will become
   Monsanto-NQS 3.37 once the pre-release programme is complete.
   
   DONE - 01 Jul 95.
   
*  Re-structure the 3.36.6 source code tree - phase 1.

   01)  Break up the library directories into more directories, grouping code
	to better reflect its purpose. DONE - 06 Jul 95.

   02)  Break up the header files into smaller files which each have their
	own purpose.  Put the new files in with the appropriate library
	code. 
	DONE - 06 Jul 95.

   03)  Break up the source directory, moving the source code for each binary
	into its own directory.
	DONE - 08 Jul 95.

   04)  Ensure that the new source tree compiles.
   
*  Restructure the 3.36.6 source code tree - phase 2.

   05)  Break up each file in turn, moving platform-specific code out into
	platform-specific directories, and retaining POSIX.1 code (plus BSD
	socket code) in the all-systems/ directories only.
	
   06)  Ensure that the new source tree compiles.
   
  	This would make a suitable point for the first pre-release of
	Monsanto-NQS v3.50, in which case we need to ensure that the source
	tree compiles and installs.
   
   07)  Replace the existing NQS debugging support & logdaemon with the
        debugging code from the UFC C++ library, which uses the syslogd
	instead.
	
	This involves putting ENTER/EXIT_FUNCTION statements in all code,
	tests on all function arguments, tests on everything else which can
	be tested (and comments where we're not sure what tests are
	appropriate), replacing existing debugging output with calls to the
	new debugging subsystem, and ensuring that the file descriptor
	assigned to the log daemon is replaced with the call to InitDebugging.
	
	This change is necessary at this early stage to assist in debugging
	all subsequent changes.
	
   08)  Ensure that the new source tree compiles.
   
        This would make a suitable point for a pre-release of Monsanto-NQS
	v3.50.
   
   09)  Break up each file in turn, so that where possible each function is
        stored in a separate .c file.  This is to allow close analysis of
	each function, so that duplicated functionality can *eventually* be
	removed.
	
   xx)  Complete loadable module support in the UFC C++ library.
   
   xx)  Add support as a module server to nqsd, so that new developments can
        be written as modules.