The confMAPDEF option can contain multiple C preprocessor definitions to include support for multiple database types. Some examples are listed below:
| confMAPDEF Option | Explanation |
|---|---|
| -DNDBM | Include support for the DBM or NDBM database library available by default on most Unix platforms. (This is usually on by default if appropriate.) |
| -DNEWDB | Include support for the Berkeley "new" DB library, which is available
from Sleepycat Software. DB is
reportedly faster than DBM for large or busy sites, but is not necessary
if you already have DBM support.
|
| -DNIS | Include support for NIS (YP) lookups. |
| -DPH_MAP | Include support for PH lookups. You will also need to add the appropriate header directories, linker directories, and libraries to the confENVDEF and confLIBS build options. |
| -DLDAPMAP | Include support for LDAP lookups. You will also need to add the appropriate header directories, linker directories, and libraries to the confENVDEF and confLIBS build options. |
If you want to use both DBM and DB, sendmail will read existing dbm files, but it will change everything to db format the first time the database is updated. This is designed as a way to help people to transition to db. To do this, you need to build a version of the db library which doesn't support backwards compatibility with the ndbm API; see the sendmail/README file for more details.