Node:New Ports, Previous:Adding Code, Up:Additions
gawkto a New Operating System
If you want to port
gawk to a new operating system, there are
gawkand the other ports. Avoid gratuitous changes to the system-independent parts of the code. If at all possible, avoid sprinkling
#ifdefs just for your port throughout the code.
If the changes needed for a particular system affect too much of the code, I probably will not accept them. In such a case, you can, of course, distribute your changes on your own, as long as you comply with the GPL (see GNU General Public License).
gawkare maintained by other people at the Free Software Foundation. Thus, you should not change them unless it is for a very good reason; i.e., changes are not out of the question, but changes to these files are scrutinized extra carefully. The files are
gawkon their systems. If noone volunteers to maintain a port, it becomes unsupported and it may be necessary to remove it from the distribution.
gawkmisc.???file. Each port has its own
gawkmisc.???that implements certain operating system specific functions. This is cleaner than a plethora of
#ifdefs scattered throughout the code. The
gawkmisc.cin the main source directory includes the appropriate
gawkmisc.???file from each subdirectory. Be sure to update it as well.
gawkmisc.??? file has a suffix reminiscent of the machine
or operating system for the port--for example,
vms/gawkmisc.vms. The use of separate suffixes, instead of plain
gawkmisc.c, makes it possible to move files from a port's subdirectory
into the main subdirectory, without accidentally destroying the real
gawkmisc.c file. (Currently, this is only an issue for the
PC operating system ports.)
Makefileas well as any other C source and header files that are necessary for your operating system. All your code should be in a separate subdirectory, with a name that is the same as, or reminiscent of, either your operating system or the computer system. If possible, try to structure things so that it is not necessary to move files out of the subdirectory into the main source directory. If that is not possible, then be sure to avoid using names for your files that duplicate the names of files in the main source directory.
gawkfor your system.
Following these steps makes it much easier to integrate your changes
gawk and have them coexist happily with other
operating systems' code that is already there.
In the code that you supply and maintain, feel free to use a coding style and brace layout that suits your taste.