The libsm Directory

To support many of the new features in sendmail, and to pave the way for more sophisticated versions in the future, the designers of sendmail decided to create a replacement for many of the routines in the standard C library. A quick glance at the libsm directory will reveal replacements, for example, of fput(3) and ungetc(3).

A library of these routines is built and used by sendmail automatically when you build that program. You need do nothing special here.

In the rare event that you need to port sendmail to an entirely new operating system, you will need to study the file README in the libsm directory, and examine (and perhaps tweak) some of the various C source files there.

Prior to V8.14, whenever sendmail was built, the various checks in the libsm directory were also built and executed. Beginning with V8.14, these checks are no longer automatically run. Instead, you must run them by hand using the following commands:

% cd libsm
% make -s checka great deal of output here
===================
All 18 tests passed
===================

Here, the -s switch was used with make(1) to suppress most of the compiler invocation lines. The check caused all the tests to be built and executed. The last three lines show that all the tests succeeded. If any of the tests fail on your operating system, examine the test output to see what went wrong. Perhaps you will need to define or undefine a build-time macro (Build m4 Macro Reference on page 69). For example, if the test hung ...

Get sendmail, 4th 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.