Docs: notes on ETRN
[exim.git] / src / OS / Makefile-Default
index 5e0640568ad8f4fdc6097aaa370e57cf6ab618eb..581b3ed5b8485f59d66b0ac572e22e876754bdfb 100644 (file)
@@ -1,9 +1,10 @@
-# $Cambridge: exim/src/OS/Makefile-Default,v 1.1 2004/10/06 15:07:39 ph10 Exp $
-
 ##################################################
 #          The Exim mail transport agent         #
 ##################################################
 
+# Copyright (c) The Exim Maintainers 2022
+# SPDX-License-Identifier: GPL-2.0-or-later
+
 # Generic default make file containing settings that relate to the OS or
 # to selectable features within the OS. The configuration options for Exim
 # itself live in Local/Makefile, which is constructed by editing src/EDITME.
@@ -42,8 +43,10 @@ BASENAME_COMMAND=/usr/bin/basename
 
 CHOWN_COMMAND=/usr/bin/chown
 CHGRP_COMMAND=/usr/bin/chgrp
+CHMOD_COMMAND=/usr/bin/chmod
 MV_COMMAND=/bin/mv
 RM_COMMAND=/bin/rm
+TOUCH_COMMAND=/usr/bin/touch
 
 
 # Some operating systems have different ways of building libraries of
@@ -87,6 +90,11 @@ CC=gcc
 # LFLAGS=
 
 
+# PCRE_LIBS contains the library to be linked for PCRE
+
+PCRE_LIBS=-lpcre2-8
+
+
 # LIBS and EXTRALIBS contain library settings that are used on linking
 # commands to build binaries. The OS-dependent Makefile may contain a default
 # setting for LIBS, leaving EXTRALIBS available for adding further libraries
@@ -112,14 +120,6 @@ CC=gcc
 # EXTRALIBS_EXIMON=
 
 
-# PCRE_CFLAGS contains flags to be passed to the CFLAGS parameter of the
-# makefile for building the PCRE regular expression library, in addition
-# to CFLAGS. Typical use is to set -DUSE_BCOPY on legacy systems that lack
-# the memmove() function but do have bcopy().
-
-# PCRE_CFLAGS=
-
-
 # The error name for quota exceeded varies among operating systems, and
 # even, unfortunately, in different versions of the same operating system.
 # EDQUOT was not in Sys V, but is in SPEC 1170, apparently. It was used
@@ -147,15 +147,15 @@ CC=gcc
 # EXIWHAT_MULTIKILL_CMD=
 # EXIWHAT_MULTIKILL_ARG=
 
-# (2) For other operating systems, exiwhat calls the ps command and egreps the
+# (2) For other operating systems, exiwhat calls the ps command and greps the
 # output in order to find all the processes running Exim. The arguments for the
 # various commands needed to do this vary from OS to OS. These defaults work on
 # Solaris 2, HPUX, and IRIX. The OS-specific Makefiles have different versions
 # for other systems, and you can override with your own requirements in your
 # private Makefiles in the Local directory. The most commonly found
 # alternatives are -ax instead of -e for the ps argument, and / instead of a
-# blank before the name exim for the egrep argument on systems whose ps output
-# shows the full path name. The quotes for the egrep argument are specified
+# blank before the name exim for the grep argument on systems whose ps output
+# shows the full path name. The quotes for the grep argument are specified
 # here so that leading white space can be used. This value should always be
 # given in single quotes.
 
@@ -169,23 +169,16 @@ EXIWHAT_EGREP_ARG=' exim( |$$|-)'
 EXIWHAT_KILL_SIGNAL=-USR1
 
 
-# IPv6 is coming. Exim has experimental support that has been tried out on
-# one or two OS. See the file README.IPV6 for the current status of this
-# support. Do not set this option unless you are working on IPv6 and know
-# what you are doing. As well as the basic enabling option, there are
-# parameters for include and library directories that may be needed for IPv6
-# on some systems.
+# IPv6 is gradually spreading more and more widely. Most operating systems seem
+# to support it nowadays. If you set this option, IPv6 support will be included
+# in the Exim binary. As well as the basic enabling option, there are
+# parameters for include and library directories that may be needed for IPv6 on
+# some systems, where the support is not yet in the standard library.
 
 # HAVE_IPV6=YES
 # IPV6_INCLUDE=-I /usr/ipv6/include
 # IPV6_LIBS=-L/usr/ipv6/libs -linet6
 
-# Setting this brings in support for A6 DNS records for IPV6. These are
-# now expected to be reduced to "experimental" status by the IETF, so
-# the code is omitted by default.
-
-# SUPPORT_A6=yes
-
 # Exim uses the function getaddrinfo() for converting IPv6 addresses in text
 # form to binary. Apparently some operating systems do not support this, or not
 # correctly, and require the use of the function inet_pton() instead. The
@@ -196,7 +189,6 @@ EXIWHAT_KILL_SIGNAL=-USR1
 
 # IPV6_USE_INET_PTON=yes
 
-
 # HOSTNAME_COMMAND contains the path to the "hostname" command, which varies
 # from OS to OS. This is used when building the Exim monitor script only. (See
 # also BASENAME_COMMAND.) If HOSTNAME_COMMAND is set to "look_for_it" then the
@@ -243,6 +235,11 @@ RANLIB=ranlib
 EXIM_CHMOD=@true
 
 
+# If you want to use local_scan() at all, the support code must be included
+# by uncommenting this line.
+
+# HAVE_LOCAL_SCAN=yes
+
 # LOCAL_SCAN_SOURCE defines the file in which the function local_scan() is
 # defined. This provides the administrator with a hook for including C code
 # for scanning incoming mails. The path that is defined must be relative to
@@ -250,8 +247,9 @@ EXIM_CHMOD=@true
 
 # LOCAL_SCAN_SOURCE=Local/local_scan.c
 
-# The default setting points to a template function that doesn't actually do
-# any scanning, but just accepts the message.
+# A very simple example points to a template function that doesn't actually do
+# any scanning, but just accepts the message.  A compilable file must be
+# included in the build even if HAVE_LOCAL_SCAN is not defined.
 
 LOCAL_SCAN_SOURCE=src/local_scan.c
 
@@ -297,7 +295,7 @@ LOCAL_SCAN_SOURCE=src/local_scan.c
 
 #############################################################################
 # The following definitions are relevant only when compiling the Exim monitor
-# program, which requires an X11 display. See the varible EXIM_MONITOR in
+# program, which requires an X11 display. See the variable EXIM_MONITOR in
 # src/EDITME for how to suppress this compilation.
 
 # X11 contains the location of the X11 libraries and include files.