25 lines
1.1 KiB
Plaintext
25 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 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.
|