NetBSD/gnu/dist/postfix/PORTING

26 lines
1.3 KiB
Plaintext

In order to port software to a new platform:
- Each system type needs to be identified by a unique name. Examples:
SUNOS5, FREEBSD4, and so on. Choose a SYSTEMTYPE name for the new
system. You must use a name that includes at least the major version
of the operating system (such as SUNOS4 or LINUX2), so that different
releases of the same system can be supported without confusion.
- Add a case statement to the "makedefs" shell script in the
top-level directory that recognizes the new system reliably, and
that emits the right system-specific information. Be sure to make
the code robust against user PATH settings; if the system offers
multiple UNIX flavors (e.g. BSD and SYSV) be sure to build for the
native flavor, not the emulated one.
- Add an #ifdef SYSTEMTYPE section to the central util/sys_defs.h
include file. You may have to invent new feature macros. Please
choose sensible feature macro names such as HAS_DBM or
FIONREAD_IN_SYS_FILIO_H.
I strongly object to #ifdef SYSTEMTYPE dependencies in individual
source files. This may seem to be the quickest solution, but it
will create a mess that becomes increasingly difficult to maintain
over time. Moreover, with the next port to another system you'd
have to place #ifdefs all over the source code again.