24 lines
1.1 KiB
Plaintext
24 lines
1.1 KiB
Plaintext
In order to port software to a new platform:
|
|
|
|
- Choose a SYSTEMTYPE name for the new system. Please use a name
|
|
that includes 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 recommend against #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 you'd have to place #ifdefs all over the source code
|
|
again.
|