Bump S-nail v14.7.6
[s-mailx.git] / conf.rc
blobb843c509819e4f81fc97d58cbc30054bab38a23f
1 #@ conf.rc can be used adjust the set of desired features, paths, etc.
2 #@ You should have read `INSTALL' first.
3 #@ Notes:
4 #@ . This file is parsed by the shell: it is in sh(1), not in make(1) syntax.
5 #@ . Choosing one of the predefined CONFIG= sets overwrites a lot of items
6 #@   that can be set in here
7 #@ . Specifying settings on the command line will take precedence over the
8 #@   variables in here (correctly triggering build updates as necessary)
9 #@ . Using one of the predefined CONFIG= sets overrides anything else
10 #@ . You may NOT comment out anything in here -- if you want to disable a
11 #@   feature, simply set it to `0'.  (It won't work properly otherwise!)
13 ## FEATURE SET ##
15 # The variables in here can be used to adjust the feature set of S-nail.
16 # Only if a variable is set to `1' it is treated as being `set'.
17 # Only a `set' variable will cause the possibly necessary feature tests to be
18 # performed, so as to detect wether the wanted feature really can be used
20 # Shall S-nail try to automatically detect a compiler and provide a set of
21 # known-good compiler flags?  If so additions may still be provided by setting
22 # $ADDCFLAGS and $ADDLDFLAGS to whatever is desired.
23 # Thus: set this to 0 and use your normal $CC / $CFLAGS / $LDFLAGS, set this to
24 # 1 and pass additional flags via ADDCFLAGS / ADDLDFLAGS.
25 # Whatever you do, the configuration is fixated and updates will force rebuilds
26 WANT_AUTOCC=1
28 # It is possible to compile S-nail as a "single-source", meaning that all
29 # source files are injected into a single compilation unit, which is then
30 # compiled.  This allows the compiler to perform much more optimizations, and
31 # also reduces the management overhead that is used for / needed by the linker.
32 WANT_AMALGAMATION=0
34 # Character set conversion enables reading and sending of mails in multiple
35 # character sets through usage of the iconv(3) library.
36 # Please read the manual section "Character sets" for the complete picture.
37 # This should usually be enabled
38 WANT_ICONV=1
40 # Major switch to toggle *all* network related protocols (IMAP,POP3,SMTP) and
41 # related/dependent stuff (GSS-API,SSL)
42 WANT_SOCKETS=1
44 # If WANT_SOCKETS, should the IPv6 family of functions be searched for and
45 # compiled into the program if found?
46 # TODO NOTE:
47 # TODO S-nail does not yet support IPv6 address notation, as in, e.g.,
48 # TODO imaps://user1@::1 (or @[::1]), but it will happily establish a
49 # TODO connection to imaps://user1@host1 if host1 listens via IPv6
50 WANT_IPV6=1
52 # Support for SecureSocketLayer (TransportLayerSecurity, TLS), i.e.,
53 # encrypted socket connections.
54 # This needs OpenSSL libraries (<http://www.openssl.org>; these should be
55 # installed by default on practically all operating systems today, though)
56 WANT_SSL=1
58 # Support for SMTP protocol?  (Directly sending mails over the network)
59 WANT_SMTP=1
61 # Support for POP3 protocol?  (Download of mails via POP over the network)
62 WANT_POP3=1
64 # Support for IMAP protocol?  (Reading of mails directly on the server)
65 WANT_IMAP=1
67 # Support for GSS-API (Generic Security Services Application Programming
68 # Interface) based authentication, e.g., Kerberos v5?
69 WANT_GSSAPI=1
71 # Support for parsing of user and password credentials from ~/.netrc ($NETRC)
72 # can optionally be supported (see *netrc-lookup*)
73 WANT_NETRC=1
75 # Passwords can also be looked up through an external "agent" in order to allow
76 # for encrypted password storage (see *agent-shell-lookup*)
77 WANT_AGENT=1
79 # IDNA (internationalized domain names for applications) offers users the
80 # possibility to use domain names in their native language, i.e., to use
81 # non-US-ASCII content, as in, e.g., <www.räksmörgåsa.example>, which the IDNA
82 # algorithm would convert to <www.xn--rksmrgsa-0zap8p.example>.  :)
83 # This needs the GNU Libidn library (<https://www.gnu.org/software/libidn/>)
84 WANT_IDNA=1
86 # IMAP-style SEARCH expressions can be supported.
87 # This addressing mode is available with all types of folders; for folders not
88 # located on IMAP servers, or for servers unable to execute the SEARCH command,
89 # the search is performed locally
90 WANT_IMAP_SEARCH=1
92 # Regular expression (re_format(7)) support for searches, conditional
93 # expressions etc.
94 WANT_REGEX=1
96 # Command line editing and -history.
97 # S-nail actually supports three different command line editors, one builtin
98 # and two fully fledged external libraries which may offer a slightly better
99 # user experience at the cost of more memory usage and CPU time; also the
100 # interactive behaviour may not be one-to-one to what is documented.
101 # Note that these are tested in shown order, and each desired one must be
102 # enabled by itself!
103 # . WANT_READLINE
104 #   The GNU readline(3) compatible interface
105 # . WANT_EDITLINE
106 #   Command line editing via BSD editline(3)
107 # . WANT_NCL
108 #   If ISO C (ISO/IEC 9899:1990/Amendment 1:1995) is supported on the system
109 #   then our builtin NCL (Nail Command Line editor) version can be used.
110 #   It is documented in the manual section "Command line editor" (in ./nail.1)
111 WANT_READLINE=0
112 WANT_EDITLINE=0
113 WANT_NCL=1
114 # For all command line editors we optionally support history management
115 WANT_HISTORY=1
116 # For the NCL command line editor we optionally support "expand-on-tabulator".
117 # Turning it off shrinks the binary.  Please see the respective manual entry
118 WANT_TABEXPAND=1
120 # Interaction with a spam email filter is possible.
121 # Refer to all commands with a `spam' prefix, and see the manual section
122 # "Handling spam" (`./nail.1')
123 WANT_SPAM=1
125 # If given an optional argument the `help' command will print a help string
126 # only for the mentioned command; those strings take up space and so one may
127 # disable this feature
128 WANT_DOCSTRINGS=1
130 # A simple line-based quoting mechanism can be made available via the
131 # *quote-fold* mechanism.
132 # This will be turned off automatically if the required character
133 # classification is not available on the host.
134 # TODO shouldn't wrap lines when only WS or a NL-escaping \ follows
135 WANT_QUOTE_FOLD=1
137 # A simple form of coloured output can optionally be produced (see manual)
138 WANT_COLOUR=1
140 # Several facilities use the MD5 message digest, but for some of them it is
141 # only used for optional features (POP3: APOP authentification, IMAP: CRAM-MD5
142 # authentification, SMTP: CRAM-MD5 authentification).
143 # If you don't need those, you may exclude MD5 from S-nail.
144 # Note that WANT_MD5 is automatically turned off if its exclusion will only
145 # affect MIME boundary strings and Message-Id: fields
146 WANT_MD5=1
148 ## PATHS AND PROGRAMS ##
150 # General prefix where S-nail should be installed
151 PREFIX=/usr/local
153 # Fine tune individual locations, normally under $PREFIX
154 # . the place of the S-nail program
155 BINDIR="${PREFIX}/bin"
156 # . of the manual
157 MANDIR="${PREFIX}/man"
158 # . of the exemplary resource file
159 SYSCONFDIR="${PREFIX}/etc"
161 # This variable is prepended to all the paths from above at installation time;
162 # this feature can be used for, e.g., package building: if $PREFIX is
163 # `/usr/local', but $DESTDIR is set to, say, `here', then S-nail will still
164 # think its $PREFIX is `/usr/local' whereis the build system will instead use
165 # `here/usr/local'
166 DESTDIR=
168 # The directory where the local mail system stores user mail (mbox) files.
169 # (Only of interest if the local mail system is used)
170 # xxx Should we `dirname ${MAIL}` if -n ${MAIL} first / instead?
171 MAILSPOOL=`[ -d /var/spool/mail ] && echo /var/spool/mail || echo /var/mail`
173 # Path to the local MTA (Mail Transport Agent).
174 # (Only of interest if the local mail system is used)
175 SENDMAIL=/usr/sbin/sendmail
177 # Today a lot of systems no longer use sendmail(1), but a different MTA.
178 # To ensure compatibility with sendmail(1), a system called mailwrapper(8) is
179 # used, which selects the required service by looking at the name by which the
180 # program actually has been invoked.
181 # This variable can be used to adjust this name as necessary
182 # (Only of interest if the local mail system is used)
183 SENDMAIL_PROGNAME=sendmail
185 # Fallback sh(1) path.
186 # Note that it is not guaranteed that *all* uses of the shell use this, but it
187 # may actually happen that execlp(2) will need to fallback to its own one.
188 # (Note: this is named XSHELL so that it doesn't clash with the POSIX
189 # standard $SHELL, which would effectively cause this setting to be ignored)
190 XSHELL=/bin/sh
192 # The default *LISTER* (in the $PATH).
193 # (Note: this is named XLISTER so that it doesn't clash with the POSIX
194 # standard $LISTER, which would effectively cause this setting to be ignored)
195 XLISTER=ls
197 # The default *PAGER* (in the $PATH).
198 # (Note: this is named XPAGER so that it doesn't clash with the POSIX standard
199 # $PAGER, which would effectively cause this setting to be ignored)
200 XPAGER=more
202 # The following tools may be provided a.k.a. overwritten, `command -v NAME`
203 # is used to query the utility otherwise:
204 #  MAKE=, STRIP=, awk=, cat=, chmod=, cp=, cmp=, grep=, mkdir=, mv=, tee=
205 #  rm=, sed=
206 # Note that rm(1) and sed(1) are needed before this file is read, all other
207 # utilities will be checked afterwards only.
208 # For cross-compilation setting MAKE= and STRIP= may be necessary
210 ##  --  >8  --  8<  --  ##
212 ## Normal users should not need to read any further
214 ## PATHS AND PROGRAMS, DEVELOPMENT ##
216 # To ease the life of forkers and packagers "our" name can be changed.
217 # The name is build by concatenating $SID and $NAIL, i.e., $(SID)$(NAIL).
218 # Note that the final string must be longer than two characters and may not
219 # contain any whitespace
220 NAIL=nail
221 SID=s-
223 # The location of the exemplary resource template.
224 # Note 1: it's not overwritten if it yet exists!
225 # Note 2: `make install' assumes it's under $SYSCONFDIR!
226 SYSCONFRC="${SYSCONFDIR}/${SID}${NAIL}.rc"
228 ## FEATURE SET, DEVELOPMENT ##
230 # Use debug compiler flags, enable some additional commands (like `sstats',
231 # `smemtrace'), some code assertions, possibly experimental code etc.
232 # Note that setting this also enables our own memory canaries, which require
233 # a rather large amount of runtime memory, and forcefully disables alloca(3)
234 # stack memory usage (see WANT_NOALLOCA below), so as to be able to track usage
235 # of stack memory via our memory canaries
236 WANT_DEBUG=0
238 # We use the crypto libraries' MD5 implementation if possible unless this one
239 WANT_NOEXTMD5=0
241 # The codebase makes a lot of use of alloca(3), and this will remain since
242 # S-nail will continue to be compliant to ISO C89, which has no variable
243 # arrays, etc.  For testing purposes it is however nice to use the much slower
244 # normal S-nail heap memory allocator instead.
245 # Note: this will be forcefully set (again) if WANT_DEBUG=1
246 WANT_NOALLOCA="${WANT_DEBUG}"
248 # Note: this will be forcefully set (again) if WANT_DEBUG=1
249 WANT_DEVEL=0
251 # Our functions are instrumented with Not-Yet-Dead chirps, which print
252 # a function call trace when the program crashes.  Whereas NYD will be used
253 # automatically when either of WANT_DEBUG and WANT_DEVEL is defined, an
254 # extended level of NYD is compiled in only on explicit request
255 # TODO Separation in between NYD and NYD2 not yet fully done
256 WANT_NYD2=0
258 # s-it-mode