1*41fbaed0StronIn order to port software to a new platform: 2*41fbaed0Stron 3*41fbaed0Stron- Choose a SYSTEMTYPE name for the new system. You must use a name 4*41fbaed0Stronthat includes at least the major version of the operating system 5*41fbaed0Stron(such as SUNOS4 or LINUX2), so that different releases of the same 6*41fbaed0Stronsystem can be supported without confusion. 7*41fbaed0Stron 8*41fbaed0Stron- Add a case statement to the "makedefs" shell script in the source 9*41fbaed0Stroncode top-level directory that recognizes the new system reliably, 10*41fbaed0Stronand that emits the right system-specific information. Be sure to 11*41fbaed0Stronmake the code robust against user PATH settings; if the system 12*41fbaed0Stronoffers multiple UNIX flavors (e.g. BSD and SYSV) be sure to build 13*41fbaed0Stronfor the native flavor, instead of the emulated one. 14*41fbaed0Stron 15*41fbaed0Stron- Add an "#ifdef SYSTEMTYPE" section to the central util/sys_defs.h 16*41fbaed0Stroninclude file. You may have to invent new feature macro names. 17*41fbaed0StronPlease choose sensible feature macro names such as HAS_DBM or 18*41fbaed0StronFIONREAD_IN_SYS_FILIO_H. 19*41fbaed0Stron 20*41fbaed0StronI strongly recommend against using "#ifdef SYSTEMTYPE" in individual 21*41fbaed0Stronsource files. While this may look like the quickest solution, it 22*41fbaed0Stronwill create a mess when newer versions of the same SYSTEMTYPE need 23*41fbaed0Stronto be supported. You're likely to end up placing "#ifdef" sections 24*41fbaed0Stronall over the source code again. 25