To Port, Tune, or Debug

In Table 3-2, we list all the compile-time macros that are available.

Note that the Tune column of Table 3-2 recommends whether you should adjust (tune) the values for any particular macro. Those marked tune can be adjusted from within your Build m4 file. Those marked with port should be changed only in the rare event that you need to port sendmail to a new operating system.[2] Those marked with debug should be defined only during porting to help debug the new binary but (for security reasons) should never be defined for the final production version.

Also note that the -d column shows which debugging switches (-d0.1) can be used to determine whether the corresponding compile-time macro was defined when the sendmail binary was compiled. For most, if the name appears in the output, it was defined with a non-zero value.

Table 3-2. #define Macros for Compiling sendmail

Compile-time macro

§

Tune

-d

Description

ARBPTR_T

...T

port

How to cast an arbitrary pointer

AUTO_NIS_ALIASES

AUTO_NIS_ALIASES

tune

0.10

Add fallback alias techniques

BROKEN_RES_SEARCH

...IS_BROKEN

port

Broken resolver fix (e.g., Ultrix)

BSD4_3

BSD4_3

port

BSD 4.3-style signal handling

BSD4_4

BSD4_4

port

Compile for BSD 4.4 Unix

DATA_PROGRESS_TIMEOUT

DATA_PROGRESS_TIMEOUT

tune

Timeout inbound DATA phase

DNSMAP

DNSMAP

tune

0.1

Enable use of dns databases

DSN

DSN

tune

Support DSN

EGD

EGD

port

0.1

Enable use of the EGD daemon

ERRLIST_PREDEFINED

Get Sendmail, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.