Name
NEED...
Synopsis
The sendmail program requires certain C-language library routines to exist. If any are missing from your library, define the macro listed in Table 3-9 that seems to fill your needs, and sendmail will try to emulate that need.
Each macro is defined with confENVDEF
in your
Build m4 file by setting it
to a value of 1 (NEEDPUTENV is an exception in that 1 or 2 can be
used):
APPENDDEF(`confENVDEF', `-DNEEDFSYNC=1')
Note that these are correctly defined for all currently supported systems. You should need to redefine them only if you are porting sendmail to a completely new system.
Compile-time macro |
Emulates |
NEEDFSYNC |
Replaces a missing fsync(2). The sendmail program will try to simulate it by using fcntl(2), if available; otherwise, sendmail will not “sync” to disk. This latter circumstance is undesirable and can result in unreliable mail delivery, but it works. |
NEEDGETOPT |
The sendmail program calls getopt(3) twice when parsing its command-line arguments. Some versions of getopt(3) do odd things when called twice. If yours is one of these, replace it. This NEEDGETOPT macro has been replaced, as of V8.12, by the SM_CONF_GETOPT macro (SM_...). |
NEED_PERCENTQ |
This should be set if your system C-language library’s printf(3) does not support both “%lld” and “%llu.” If they don’t, define this, and the format strings for printf(3) will instead use “%qd” and “%qu,” respectively. This NEED_PERCENTQ macro ... |
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.