Para conseguir que funcione el software en una plataforma nueva: - Cada sistema necesita ser identificado por un nombre único. Ejemplos: SUNOS5, FREEBSD4, etcétera. Elija un nombre SYSTEMTYPE para el nuevo sistema. Debe elegir un nombre que incluya al menos la versión mayor del sistema operativo (tal y como SUNOS4 o LINUX2), para que se pueda dar soporte para versiones diferentes del mismo sistema operativo sin llegar a confundirse. - Añada una declaración case al shell script "makedefs" en el directorio principal que reconoce el nuevo sistema operativo de manera fiable, y que emite la correcta información específica para el sistema. Asegúrese de robustecer el código contra configuraciones del PATH del usuario; si el sistema ofrece múltiples versiones de UNIX (por ejemplo BSD y SYSV) asegúrese de compilar para la versión nativa, no para la versión emulada. - Añada una sección #ifdef SYSTEMTYPE al principal archivo include util/sys_defs.h. Puede que tenga que inventar nuevos macros para funcionalidades nuevas. Por favor elija nombres de funcionalidades razonables tales como HAS_DBM o FIONREAD_IN_SYS_FILIO_H. Me opongo fuertemente a las dependencias como #ifdef SYSTEMTYPE en archivos fuente individuales. Esto puede parecer la solución más rápida, pero creará un caos que llega a ser cada vez más complicado para mantener a lo largo del tiempo. Además, con el siguiente "port" a otro sistema tendrá que colocar más #ifdefs en muchas partes de los fuentes de nuevo.