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 ‘#ifdef’s 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 Copying).
gawkare maintained by other people. 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 dfa.c, dfa.h, getopt.c, getopt.h, getopt1.c, getopt_int.h, gettext.h, regcomp.c, regex.c, regex.h, regex_internal.c, regex_internal.h, and regexec.c.
gettext). You should not change them either, unless it is for a very good reason. The files are ABOUT-NLS, config.guess, config.rpath, config.sub, depcomp, INSTALL, install-sh, missing, mkinstalldirs, xalloc.h, and ylwrap.
gawkon their systems. If no-one volunteers to maintain a port, it becomes unsupported and it may be necessary to remove it from the distribution.
Each port’s gawkmisc.??? file has a suffix reminiscent of the machine or operating system for the port—for example, pc/gawkmisc.pc and 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.)
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.