File: PORTING

package info (click to toggle)
postfix 3.10.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 27,976 kB
  • sloc: ansic: 134,721; makefile: 17,984; sh: 6,971; perl: 2,796; python: 1,448; awk: 158
file content (24 lines) | stat: -rw-r--r-- 1,193 bytes parent folder | download | duplicates (17)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
In order to port software to a new platform:

- 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 source
code 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, instead of the emulated one.

- Add an "#ifdef SYSTEMTYPE" section to the central util/sys_defs.h
include file.  You may have to invent new feature macro names.
Please choose sensible feature macro names such as HAS_DBM or
FIONREAD_IN_SYS_FILIO_H.

I strongly recommend against using "#ifdef SYSTEMTYPE" in individual
source files.  While this may look like the quickest solution, it
will create a mess when newer versions of the same SYSTEMTYPE need
to be supported.  You're likely to end up placing "#ifdef" sections
all over the source code again.