aboutsummaryrefslogtreecommitdiff
path: root/network/exim/exim.Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'network/exim/exim.Makefile')
-rw-r--r--network/exim/exim.Makefile98
1 files changed, 77 insertions, 21 deletions
diff --git a/network/exim/exim.Makefile b/network/exim/exim.Makefile
index 9f14ed0de5019..97c90e5b59650 100644
--- a/network/exim/exim.Makefile
+++ b/network/exim/exim.Makefile
@@ -248,11 +248,19 @@ SUPPORT_MBX=yes
#------------------------------------------------------------------------------
# See below for dynamic lookup modules.
-# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/
+#
# If not using package management but using this anyway, then think about how
# you perform upgrades and revert them. You should consider the benefit of
# embedding the Exim version number into LOOKUP_MODULE_DIR, so that you can
# maintain two concurrent sets of modules.
+#
+# *BEWARE*: ability to modify the files in LOOKUP_MODULE_DIR is equivalent to
+# the ability to modify the Exim binary, which is often setuid root! The Exim
+# developers only intend this functionality be used by OS software packagers
+# and we suggest that such packagings' integrity checks should be paranoid
+# about the permissions of the directory and the files within.
+
+# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/
# To build a module dynamically, you'll need to define CFLAGS_DYNAMIC for
# your platform. Eg:
@@ -279,6 +287,10 @@ SUPPORT_MBX=yes
# the dynamic library and not the exim binary will be linked against the
# library.
# NOTE: LDAP cannot be built as a module!
+#
+# If your system has pkg-config then the _INCLUDE/_LIBS setting can be
+# handled for you automatically by also defining the _PC variable to reference
+# the name of the pkg-config package, if such is available.
LOOKUP_DBM=yes
LOOKUP_LSEARCH=yes
@@ -287,7 +299,7 @@ LOOKUP_DNSDB=yes
LOOKUP_CDB=yes
LOOKUP_DSEARCH=yes
# LOOKUP_IBASE=yes
-LOOKUP_LDAP=yes
+# LOOKUP_LDAP=yes
# LOOKUP_MYSQL=yes
# LOOKUP_NIS=yes
# LOOKUP_NISPLUS=yes
@@ -295,6 +307,7 @@ LOOKUP_LDAP=yes
LOOKUP_PASSWD=yes
# LOOKUP_PGSQL=yes
# LOOKUP_SQLITE=yes
+LOOKUP_SQLITE_PC=sqlite3
# LOOKUP_WHOSON=yes
# These two settings are obsolete; all three lookups are compiled when
@@ -329,10 +342,13 @@ LDAP_LIB_TYPE=OPENLDAP2
# In either case you must specify the library link info here. If the
# PCRE header files are not in the standard search path you must also
# modify the INCLUDE path (above)
-# The default setting of PCRE_LIBS should work on the vast majority of
-# systems
+#
+# Use PCRE_CONFIG to query the pcre-config command (first found in $PATH)
+# to find the include files and libraries, else use PCRE_LIBS and set INCLUDE
+# too if needed.
-PCRE_LIBS=-lpcre
+PCRE_CONFIG=yes
+# PCRE_LIBS=-lpcre
#------------------------------------------------------------------------------
@@ -342,22 +358,26 @@ PCRE_LIBS=-lpcre
# don't need to set LOOKUP_INCLUDE if the relevant directories are already
# specified in INCLUDE. The settings below are just examples; -lpq is for
# PostgreSQL, -lgds is for Interbase, -lsqlite3 is for SQLite.
+#
+# You do not need to use this for any lookup information added via pkg-config.
-LOOKUP_INCLUDE=
-LOOKUP_LIBS=-lldap
+# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include
+# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3
-# Uncomment for MySQL lookups.
-#LOOKUP_MYSQL=yes
-#LOOKUP_INCLUDE+=-I/usr/include/mysql
-#LOOKUP_LIBS+=-L/usr/lib$(LIBDIRSUFFIX)/mysql -lmysqlclient_r
+# ...or just enable your favourite lookups and let GNUmake handle the rest
-# Uncomment for PostgreSQL lookups.
-#LOOKUP_PGSQL=yes
-#LOOKUP_LIBS+=-lpq
+ifeq ($(LOOKUP_LDAP),yes)
+LOOKUP_LIBS+=-lldap
+endif
-# Uncomment for SQLite lookups.
-#LOOKUP_SQLITE=yes
-#LOOKUP_LIBS+=-lsqlite3
+ifeq ($(LOOKUP_MYSQL),yes)
+LOOKUP_INCLUDE+=-I/usr/include/mysql
+LOOKUP_LIBS+=-L/usr/lib$(LIBDIRSUFFIX)/mysql -lmysqlclient_r
+endif
+
+ifeq ($(LOOKUP_PGSQL),yes)
+LOOKUP_LIBS+=-lpq
+endif
#------------------------------------------------------------------------------
@@ -411,6 +431,11 @@ WITH_CONTENT_SCAN=yes
# experimental-spec.txt. "Experimental" means that the way these features are
# implemented may still change. Backward compatibility is not guaranteed.
+# Uncomment the following line to add support for talking to dccifd. This
+# defaults the socket path to /usr/local/dcc/var/dccifd.
+
+# EXPERIMENTAL_DCC=yes
+
# Uncomment the following lines to add SPF support. You need to have libspf2
# installed on your system (www.libspf2.org). Depending on where it is installed
# you may have to edit the CFLAGS and LDFLAGS lines.
@@ -437,6 +462,11 @@ WITH_CONTENT_SCAN=yes
# CFLAGS += -I/opt/brightmail/bsdk-6.0/include
# LDFLAGS += -lxml2_single -lbmiclient_single -L/opt/brightmail/bsdk-6.0/lib
+# Uncomment the following line to add OCSP stapling support in TLS, if Exim
+# was built using OpenSSL.
+
+# EXPERIMENTAL_OCSP=yes
+
###############################################################################
@@ -566,6 +596,10 @@ FIXED_NEVER_USERS=root
AUTH_CRAM_MD5=yes
AUTH_CYRUS_SASL=yes
AUTH_DOVECOT=yes
+# AUTH_GSASL=yes
+# AUTH_GSASL_PC=libgsasl
+# AUTH_HEIMDAL_GSSAPI=yes
+# AUTH_HEIMDAL_GSSAPI_PC=heimdal-gssapi
AUTH_PLAINTEXT=yes
AUTH_SPA=yes
@@ -573,9 +607,13 @@ AUTH_SPA=yes
#------------------------------------------------------------------------------
# If you specified AUTH_CYRUS_SASL above, you should ensure that you have the
# Cyrus SASL library installed before trying to build Exim, and you probably
-# want to uncomment the following line:
+# want to uncomment the first line below.
+# Similarly for GNU SASL, unless pkg-config is used via AUTH_GSASL_PC.
+# Ditto for AUTH_HEIMDAL_GSSAPI(_PC).
AUTH_LIBS=-lsasl2
+# AUTH_LIBS=-lgsasl
+# AUTH_LIBS=-lgssapi -lheimntlm -lkrb5 -lhx509 -lcom_err -lhcrypto -lasn1 -lwind -lroken -lcrypt
#------------------------------------------------------------------------------
@@ -668,11 +706,14 @@ HEADERS_CHARSET="ISO-8859-1"
# This setting is required for any TLS support (either OpenSSL or GnuTLS)
SUPPORT_TLS=yes
-# Uncomment this setting if you are using OpenSSL
-TLS_LIBS=-lssl -lcrypto
+# Uncomment one of these settings if you are using OpenSSL; pkg-config vs not
+USE_OPENSSL_PC=openssl
+# TLS_LIBS=-lssl -lcrypto
-# Uncomment these settings if you are using GnuTLS
+# Uncomment the first and either the second or the third of these if you
+# are using GnuTLS. If you have pkg-config, then the second, else the third.
# USE_GNUTLS=yes
+# USE_GNUTLS_PC=gnutls
# TLS_LIBS=-lgnutls -ltasn1 -lgcrypt
# If you are running Exim as a server, note that just building it with TLS
@@ -683,6 +724,11 @@ TLS_LIBS=-lssl -lcrypto
# if you are running Exim only as a client, building it with TLS support
# is all you need to do.
+# If you are using pkg-config then you should not need to worry where the
+# libraries and headers are installed, as the pkg-config .pc specification
+# should include all -L/-I information necessary. If not using pkg-config
+# then you might need to specify the locations too.
+
# Additional libraries and include files are required for both OpenSSL and
# GnuTLS. The TLS_LIBS settings above assume that the libraries are installed
# with all your other libraries. If they are in a special directory, you may
@@ -962,6 +1008,10 @@ USE_READLINE=yes
# dynamic loading library is not otherwise included.
+#------------------------------------------------------------------------------
+# Uncomment this setting to include IPv6 support.
+
+# HAVE_IPV6=yes
###############################################################################
# THINGS YOU ALMOST NEVER NEED TO MENTION #
@@ -1178,6 +1228,12 @@ TMPDIR="/tmp"
#------------------------------------------------------------------------------
+# If you wish to disable valgrind in the binary, define NVALGRIND=1.
+# This should not be needed.
+
+# NVALGRIND=1
+
+#------------------------------------------------------------------------------
# Identifying the daemon: When an Exim daemon starts up, it writes its pid
# (process id) to a file so that it can easily be identified. The path of the
# file can be specified here. Some installations may want something like this: