Your software project should use a distributed file system visible to all the developers. For locally distributed development, NFS is a good alternative. For global distribution, you are probably best off with AFS or DFS. As a fallback solution, you could use release mirroring; for details, refer to Chapter 14, ``Working Disconnected'' and Appendix A, ``Mirroring''. However, mirroring should be considered only as true fallback solution: in a large software system built on many targets the size of each release may easily grow to gigabytes. Mirroring such amounts of data often is untractable.
You will of course have to have the compilers, linkers, header files, and libraries for the platforms you want to develop on (see Chapter 20, ``Supported Targets'' below). If you plan on using tools such Purify, you will need to acquire licenses for them, figure out how they are set up in your environment, and then document this for your developers. There may also be other things the release tools support and you do not have. For instance, Motif is supported on Linux, but you will need the libraries and headers--you need to find freeware replacements or get a commericial implementation.
You will need to have CVS, GNU make, GNU autoconf, a Bourne shell, and the utilities listed in Table 19-1, ``Required System Tools''. If you are missing any of these tools or are having difficulty with using the ones already supplied on your system, you can find high quality substitutes in the GNU distributions--they are often better than other implementations.
As for versions of the required tools, you will need to have a CVS version newer than 1.6. You should probably get one of the latest versions, such as 1.10. If you want to use the remote functionality or to put your CVS repository on AFS, you will have to get version 1.9.2 or newer. For GNU make, you will need at least version 3.76. For GNU autoconf, you will need version 2.12 or later. You will also need GNU m4 for autoconf (version 1.4 or later). Your native m4 will not do unless you are running on a system based on GNU tools, such as Linux or Windows NT. If you plan on developing FORTRAN code, you will need to have the GNU C compiler (almost any version should do) on IBM AIX and Windows NT.
Finally, for Windows NT you will need to install the free Cygnus Win32 Development Kit. It has almost all the required tools and more. For details, see Appendix H, ``Windows NT Considerations''.
Table 19-1. Required System Tools
| echo | test | pwd | cat | head | tail |
| cmp | grep | egrep | sed | tr | expr |
| awk | find | du | ls | cp | mv |
| rm | chmod | chown | chgrp | strip | mkdir |
| rmdir | date | whoami | hostname | ssh[a] | mount[b] |
| Notes: a. rsh or remsh will also do. b. Only on Windows NT | |||||