popen.c: some cleanup, use other wait_child() from now on
[s-mailx.git] / conf.rc
blob776e1ba2fd9aebf6245d2650d43df536710e1d82
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 # S-nail automatically detects compilers and has a set of known compiler flags
21 # which work well.  Since users should be able to define their own $CC, $CFLAGS
22 # and $LDFLAGS, however, it only uses the detected environment if the user
23 # has either not set those values at all, are has set them to the empty value.
24 # To always force use of S-nail build system detected values, set WANT_AUTOCC.
25 # Note: it is possible to add to the detected values by setting ADDCFLAGS=
26 # and/or ADDLDFLAGS= (with proper configuration-changed detection)!
27 WANT_AUTOCC=0
29 # It is possible to compile S-nail as a "single-source", meaning that all
30 # source files are injected into a single compilation unit, which is then
31 # compiled.  This allows the compiler to perform much more optimizations, and
32 # also reduces the management overhead that is used for / needed by the linker.
33 # Of course compiling such a large source requires a lot of memory by itself
34 # NOTE: experimental in that the feature is quite new -- it is thus not known
35 # wether some compilers may generate buggy code when compiling single-source
36 WANT_AMALGAMATION=0
38 # Major switch to toggle *all* network related protocols (IMAP,POP3,SMTP) and
39 # related/dependent stuff (GSSAPI,SSL)
40 WANT_SOCKETS=1
42 # If WANT_SOCKETS, should the IPv6 family of functions be searched for and
43 # compiled into the program if found?
44 # TODO NOTE:
45 # TODO S-nail does not yet support IPv6 address notation, as in, e.g.,
46 # TODO imaps://user1@::1 (or @[::1]), but it will happily establish a
47 # TODO connection to imaps://user1@host1 if host1 listens via IPv6
48 WANT_IPV6=1
50 # Support for SecureSocketLayer (TransportLayerSecurity, TLS), i.e.,
51 # encrypted socket connections.
52 # This needs OpenSSL libraries (<http://www.openssl.org>; these should be
53 # installed by default on practically all operating systems today, though)
54 WANT_SSL=1
56 # Support for IMAP protocol?  (Reading of mails directly on the server)
57 WANT_IMAP=1
58 # Support for GSSAPI-based authentication, i.e., Kerberos V5 for IMAP?
59 # (This is disabled by default because it brings in a bunch of dependencies,
60 # and most people don't need it.)
61 WANT_GSSAPI=0
63 # Support for POP3 protocol?  (Download of mails via POP over the network)
64 WANT_POP3=1
66 # Support for SMTP protocol?  (Directly sending mails over the network)
67 WANT_SMTP=1
69 # Several facilities use the MD5 message digest, but for some of them it is
70 # only used for optional features (POP3: APOP authentification, IMAP: CRAM-MD5
71 # authentification, SMTP: CRAM-MD5 authentification).
72 # If you don't need those, you may exclude MD5 from S-nail.
73 # Note that WANT_MD5 is automatically turned off if its exclusion will only
74 # affect MIME boundary strings and Message-Id: fields
75 WANT_MD5=1
77 # Character set conversion enables reading and sending of mails in multiple
78 # character sets through usage of the iconv(3) library.
79 # Please read the manual section "Character sets" for the complete picture.
80 # This should usually be enabled
81 WANT_ICONV=1
83 # IDNA (internationalized domain names for applications) offers users the
84 # possibility to use domain names in their native language, i.e., to use
85 # non-US-ASCII content, as in, e.g., <www.räksmörgåsa.example>, which the IDNA
86 # algorithm would convert to <www.xn--rksmrgsa-0zap8p.example>.  :)
87 # This needs the GNU Libidn library (<https://www.gnu.org/software/libidn/>)
88 WANT_IDNA=1
90 # Command line editing and -history.
91 # S-nail actually supports three different command line editors, one builtin
92 # and two fully fledged external libraries which may offer a slightly better
93 # user experience at the cost of more memory usage and CPU time.
94 # Note that these are tested in shown order, and each desired one must be
95 # enabled by itself!
96 # . WANT_READLINE
97 #   The GNU readline(3) compatible interface
98 # . WANT_EDITLINE
99 #   Command line editing via BSD editline(3)
100 # . WANT_NCL
101 #   If ISO C (ISO/IEC 9899:1990/Amendment 1:1995) is supported on the system
102 #   then our builtin NCL (Nail Command Line editor) version can be used.
103 #   It is documented in the manual section "Command line editor" (in ./nail.1)
104 WANT_READLINE=0
105 WANT_EDITLINE=0
106 WANT_NCL=1
107 # For all command line editors we optionally support history
108 WANT_HISTORY=1
109 # For the NCL command line editor we optionally support "expand-on-tabulator".
110 # Turning it off shrinks the binary.  Please see the respective manual entry
111 WANT_TABEXPAND=1
113 # Interaction with a spam email filter is possible.
114 # Refer to all commands with a `spam' prefix, and see the manual section
115 # "Handling spam" (`./nail.1')
116 WANT_SPAM=1
118 # If given an optional argument the `help' command will print a help string
119 # only for the mentioned command; those strings take up space and so one may
120 # disable this feature.
121 WANT_DOCSTRINGS=1
123 # A simple line-based quoting mechanism can be made available via the
124 # *quote-fold* mechanism.
125 # This will be turned off automatically if the required character
126 # classification is not available on the host.
127 # TODO shouldn't wrap lines when only WS or a NL-escaping \ follows
128 WANT_QUOTE_FOLD=1
130 ## PATHS AND PROGRAMS ##
132 # General prefix where S-nail should be installed
133 PREFIX=/usr/local
135 # Fine tune individual locations, normally under $PREFIX
136 # . the place of the S-nail program
137 BINDIR="${PREFIX}/bin"
138 # . of the manual
139 MANDIR="${PREFIX}/man"
140 # . of the exemplary resource file
141 SYSCONFDIR="${PREFIX}/etc"
143 # This variable is prepended to all the paths from above at installation time;
144 # this feature can be used for, e.g., package building: if $PREFIX is
145 # `/usr/local', but $DESTDIR is set to, say, `here', then S-nail will still
146 # think its $PREFIX is `/usr/local' whereis the build system will instead use
147 # `here/usr/local'
148 DESTDIR=
150 # The directory where the local mail system stores user mail (mbox) files.
151 # (Only of interest if the local mail system is used)
152 MAILSPOOL=/var/mail
154 # Path to the local MTA (Mail Transport Agent).
155 # (Only of interest if the local mail system is used)
156 SENDMAIL=/usr/sbin/sendmail
158 # Today a lot of systems no longer use sendmail(1), but a different MTA.
159 # To ensure compatibility with sendmail(1), a system called mailwrapper(8) is
160 # used, which selects the required service by looking at the name by which the
161 # program actually has been invoked.
162 # This variable can be used to adjust this name as necessary
163 # (Only of interest if the local mail system is used)
164 SENDMAIL_PROGNAME=sendmail
166 # Fallback sh(1) path.
167 # Note that it is not guaranteed that *all* uses of the shell use this, but it
168 # may actually happen that execlp(2) will need to fallback to its own one.
169 # (Note: this is named XSHELL so that it doesn't clash with the POSIX
170 # standard $SHELL, which would effectively cause this setting to be ignored)
171 XSHELL=/bin/sh
173 # The default *LISTER* (in the $PATH).
174 # (Note: this is named XLISTER so that it doesn't clash with the POSIX
175 # standard $LISTER, which would effectively cause this setting to be ignored)
176 XLISTER=ls
178 # The default *PAGER* (in the $PATH).
179 # (Note: this is named XPAGER so that it doesn't clash with the POSIX standard
180 # $PAGER, which would effectively cause this setting to be ignored)
181 XPAGER=more
183 ##  --  >8  --  8<  --  ##
185 ## Normal users should not need to read any further
187 ## PATHS AND PROGRAMS, DEVELOPMENT ##
189 # To ease the life of forkers and packagers "our" name can be changed.
190 # The name is build by concatenating $SID and $NAIL, i.e., $(SID)$(NAIL).
191 # Note that the final string must be longer than two characters and may not
192 # contain any whitespace
193 NAIL=nail
194 SID=s-
196 # The location of the exemplary resource template.
197 # Note 1: it's not overwritten if it yet exists!
198 # Note 2: `make install' assumes it's under $SYSCONFDIR!
199 SYSCONFRC="${SYSCONFDIR}/${SID}${NAIL}.rc"
201 ## FEATURE SET, DEVELOPMENT ##
203 # Use debug compiler flags, enable some additional commands (like `sstats',
204 # `smemtrace'), some code assertions, possibly experimental code etc.
205 # Note that setting this also enables our own memory canaries, which require
206 # a rather large amount of runtime memory, and forcefully disables alloca(3)
207 # stack memory usage (see WANT_NOALLOCA below), so as to be able to track usage
208 # of stack memory via our memory canaries
209 WANT_DEBUG=0
211 # We ship with our own small and efficient getopt(3) implementation;
212 # set this to always choose that without even checking for another one
213 WANT_NOGETOPT=0
215 # The codebase makes a lot of use of alloca(3), and this will remain since
216 # S-nail will continue to be compliant to ISO C89, which has no variable
217 # arrays, etc.  For testing purposes it is however nice to use the much slower
218 # normal S-nail heap memory allocator instead.
219 # Note: this will be forcefully set (again) if WANT_DEBUG=1
220 WANT_NOALLOCA="${WANT_DEBUG}"
222 # vim:set fenc=utf-8 syntax=conf:s-it-mode