diff options
author | Philip Hazel <ph10@hermes.cam.ac.uk> | 2004-10-06 15:07:39 +0000 |
---|---|---|
committer | Philip Hazel <ph10@hermes.cam.ac.uk> | 2004-10-06 15:07:39 +0000 |
commit | 61ec970df30325dbcd8c9d0f0e431dc793126656 (patch) | |
tree | 3534a7ab9d9a1e57651821184e6c28a25ee0e8de /src/OS/Makefile-Default | |
parent | 0f4f2a8848bf9e6bb323ffb6a5581b088a940fd0 (diff) |
Start
Diffstat (limited to 'src/OS/Makefile-Default')
-rw-r--r-- | src/OS/Makefile-Default | 332 |
1 files changed, 332 insertions, 0 deletions
diff --git a/src/OS/Makefile-Default b/src/OS/Makefile-Default new file mode 100644 index 000000000..5e0640568 --- /dev/null +++ b/src/OS/Makefile-Default @@ -0,0 +1,332 @@ +# $Cambridge: exim/src/OS/Makefile-Default,v 1.1 2004/10/06 15:07:39 ph10 Exp $ + +################################################## +# The Exim mail transport agent # +################################################## + +# 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. + +# These settings are basic defaults which may be overridden, either by the +# generic OS-specific files, or by site-specific files. Do not edit this file. +# Instead, edit or create suitable OS-specific and/or site specific files. +# See the manual for details. + + +# MAKE_SHELL contains the name of the shell to be used for executing commands +# from the make files. Normally /bin/sh should be used. + +MAKE_SHELL=/bin/sh + + +# BASENAME_COMMAND contains the path to the "basename" command, which varies +# from OS to OS. This is used when building the Exim monitor script only. (See +# also HOSTNAME_COMMAND.) If BASENAME_COMMAND is set to "look_for_it" then the +# script checks for /usr/bin/basename and /bin/basename, and if neither is +# found, it uses /usr/ucb/basename. This copes with Solaris 2 and Linux, both +# of which come in different versions. + +BASENAME_COMMAND=/usr/bin/basename + + +# If you set STRIP_COMMAND to the path of the "strip" command, it will be run +# on every binary that is built. It is left unset by default, which leaves +# the binaries unstripped. + +# STRIP_COMMAND=/usr/bin/strip + + +# Some of the following commands live in different places in different OS. We +# include them all here for generality. + +CHOWN_COMMAND=/usr/bin/chown +CHGRP_COMMAND=/usr/bin/chgrp +MV_COMMAND=/bin/mv +RM_COMMAND=/bin/rm + + +# Some operating systems have different ways of building libraries of +# functions. This macro defines the command to do this, defaulting to +# the "ar" command with options "cq". + +AR=ar cq + + +# Not all operating systems have the iconv() function. Those that do have +# +# HAVE_ICONV=yes +# +# in their OS-specific Makefiles. On those that don't it is possible to +# install an independent implementation of iconv(). If you've done this, +# add "HAVE_ICONV=yes" to your Local/Makefile. + + +# Perl is not necessary for running Exim itself, except when EXIM_PERL +# is set to cause Perl embedding. However, some Perl utilities are provided +# for processing the logs. Perl 5 is assumed. + +PERL_COMMAND=/usr/bin/perl + + +# CC contains the name of the C compiler to be used. + +CC=gcc + + +# CFLAGS contains flags to be passed to the compiler. Nothing is defaulted +# here; instead each OS-dependent Makefile contains a default setting. + +# CFLAGS=-O + + +# LFLAGS contains flags to be passed to the link editor. Nothing is defaulted +# here; instead each OS-dependent Makefile contains a default setting if one +# is needed. + +# LFLAGS= + + +# 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 +# that are required for optional extras. + +# LIBS= +# EXTRALIBS= + + +# LIBS_EXIM and EXTRALIBS_EXIM contain library settings that are used +# only when linking the Exim binary. They are not used for other binaries. +# One possible use is for the TCP wrappers library. + +# LIBS_EXIM= +# EXTRALIBS_EXIM= + + +# LIBS_EXIMON and EXTRALIBS_EXIMON contain library settings that are +# used only when linking the Exim monitor binary. They are not used for +# other binaries. + +# LIBS_EXIMON= +# 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 +# in SunOS4, but got taken out for SunOS5, where ENOSPC was given if a quota +# was exceeded. However, it got put back into SunOS5 with a patch to 5.4 in +# order to comply with SPEC 1170. Thus even different patch levels of the same +# system (SunOS5) may use different numbers. +# +# If you don't have quotas or are not interested in handling quota errors +# specially, just set this variable to 0. If it is not set, it defaults to +# EDQUOT if that is defined for the OS; otherwise it defaults to ENOSPC. + +# ERRNO_QUOTA=EDQUOT + + +# The exiwhat utility script finds all the processes running Exim, and sends +# them a SIGUSR1 signal to get them to write their status to a file. There are +# two ways in which this can be done: +# +# (1) If the OS has a command to find processes and signal them, that can be +# used. Linux has "killall"; Solaris has "pkill". (Note: "killall" on Solaris +# does something very different - and disastrous.) The following are set in the +# OS-specific Makefiles for those OS where this can be done: + +# EXIWHAT_MULTIKILL_CMD= +# EXIWHAT_MULTIKILL_ARG= + +# (2) For other operating systems, exiwhat calls the ps command and egreps 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 +# here so that leading white space can be used. This value should always be +# given in single quotes. + +EXIWHAT_PS_CMD=/bin/ps +EXIWHAT_PS_ARG=-e +EXIWHAT_EGREP_ARG=' exim( |$$|-)' + +# For both kinds of exiwhat usage, the next setting specifies the signal that +# is sent. + +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. + +# 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 +# following setting enables this. Note, however, the inet_pton() has reduced +# functionality compared with getaddrinfo(). In particular, it does not +# recognize the percent convention for identifying scopes (interfaces) that is +# used by some operating systems. + +# 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 +# script checks for /usr/bin/hostname and /bin/hostname, and if neither is +# found, it uses /usr/ucb/basename. This copes with Solaris 2, which comes in +# different versions. + +HOSTNAME_COMMAND=/bin/hostname + + +# INCLUDE contains arbitrary include parameters that you may need to use +# when building exim. It is added to every compile command. + +# INCLUDE=-I /some/special/include-directory + + +# Some OS require a separate library to be quoted when linking programs that +# call name resolver functions. This can be set in LIBRESOLV, which is left +# unset here, but is set is some of the OS-specific Makefiles. + +# LIBRESOLV= + + +# Additional libraries and include directories may be required for some +# lookup styles, e.g. LDAP or SQL. LOOKUP_LIBS is included only on the +# command for linking Exim itself, not on any auxiliary programs. You +# don't need to set LOOKUP_INCLUDE if the relevant directories are already +# specified in INCLUDE. + +# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/sql/include +# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber + + +# RANLIB should be set to something that does nothing on systems that do not +# have the ranlib command or do not need to run it on library files. + +RANLIB=ranlib + + +# EXIM_CHMOD is available to specify a command that is automatically applied +# to the Exim binary immediately it is compiled. (I find this useful when +# building test versions.) + +EXIM_CHMOD=@true + + +# 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 +# the Exim distribution directory. For example + +# 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. + +LOCAL_SCAN_SOURCE=src/local_scan.c + +# If you want to specify options for your local_scan() that can be set from +# the main Exim configuration file, you need to uncomment the following line, +# and then provide a table of options in your local_scan() source, as described +# in the reference manual. + +# LOCAL_SCAN_HAS_OPTIONS=yes + + +############################################################################# +# The following are all concerned with configuring the way Exim handles its +# database (hints) and other dbm files. + +# Some systems require a separate library to be supplied when linking programs +# that make use of DBM library calls. This can be set in DBMLIB, which is unset +# by default, but is set in some of the OS-specific Makefiles. Setting it in +# your Local/Makefile will override any other setting. + +# DBMLIB= + + +# When Exim is attempting to lock one of its database (hints) files, it +# applies a timeout which can be altered here. + +# EXIMDB_LOCK_TIMEOUT=60 + + +# By default, Exim uses traditional ndbm function calls to handle its indexed +# hints databases. On systems that have Berkeley db installed, this still +# works via the compatibility interface. However, by defining USE_DB you can +# make it use native db function calls. + +# USE_DB=YES + +# Similarly, if you are using gdbm, Exim will by default use the ndbm +# compatibility interface. However, by defining USE_GDBM you can make it +# use the native gdbm function calls. + +# USE_GDBM=YES + + +############################################################################# +# The following definitions are relevant only when compiling the Exim monitor +# program, which requires an X11 display. See the varible EXIM_MONITOR in +# src/EDITME for how to suppress this compilation. + +# X11 contains the location of the X11 libraries and include files. + +X11=/usr/X11R6 + +# XINCLUDE contains options for header inclusion when compiling functions +# that call X11 functions. + +XINCLUDE=-I$(X11)/include + +# XLFLAGS contains flags to be passed to the linker when linking the monitor. + +XLFLAGS=-L$(X11)/lib + +# X11_LD_LIB contains the name of the X11 library that is to be added to +# LD_LIBRARY_PATH when running the monitor program. + +X11_LD_LIB=$(X11)/lib + +# A modified version of the Athena TextPop module is supplied with Exim. The +# modification is to remove the "replace" part of the "search and replace" +# operation because it isn't wanted. TextPop is only one of a number of +# modules that make up the Text widget. Some antique link editors cannot handle +# the case of a replacement module for one of a set of modules. To allow +# the monitor to be linked in such cases, set the value of EXIMON_TEXTPOP +# to be empty. The search operations will then contain a useless "replace" +# option, which is untidy, but does no harm. + +EXIMON_TEXTPOP=em_TextPop.o + +# End |