Add *message-id-disable*
[s-mailx.git] / INSTALL
bloba238cab94a840ec0520bb8108a0e67213d3ef091
1 I n s t a l l i n g  S - n a i l
2 ================================
4 Compilation
5 -----------
7 System specific notes can be found in the next section.
8 Any (optional) feature is adjustable and documented in `conf.rc'.
9 Adjustments may also take place from the command line, overriding
10 those made in `conf.rc' (if any).
12   $ [make &&] make install
13   $ make uninstall          # Won't remove the system wide startup file!
14   $ make distclean          # *Completely* cleanup working directory
16 With adjustments:
18   $ make WANT_IMAP=0 install
19   $ make WANT_LINE_EDITOR=0 PREFIX=/some/nasty/prefix install
21 There are also some predefined restricted configuration sets available,
22 which take precedence over anything else:
24 . CONFIG=MINIMAL
25   little is left but some air to breathe; no internet connectivity, no
26   internationalized domain names, no command line editor, no
27   documentation strings.
29 . CONFIG=NETSEND
30   WANT_SMTP and WANT_SSL settings are enabled, internationalized domain
31   names will be supported if the necessary libraries are available, the
32   builtin command line editor will be used if possible, otherwise
33   identical to MINIMAL.
35 E.g.:
37   $ make CONFIG=MINIMAL DESTDIR=xtest install
39 would create a `s-nail' binary and install a `s-nail' manual etc.
40 under the prefix `/usr/local' but rooted under [./]`xtest', i.e., the
41 binary would be installed as `[./]xtest/usr/local/bin/s-nail'.
43 Note that, due to the way the S-nail(1) build system is designed, the
44 only safe way to overwrite compiler and linker flags, i.e., CFLAGS and
45 LDFLAGS, is from within (`conf.rc' or) the make(1) command line:
47   $ make CFLAGS='-O2' LDFLAGS='-Wl,--sort-common'
49 The following make(1) target exists:
51 . all         Create / check + update configuration, build.
52 . install     Create / check + update configuration, build + install.
53 . clean       Remove anything which can be rebuild.
54 . distclean   Remove anything which can be rebuild or reconfigured.
55 . uninstall   Uninstall if configured.
57 . config      Only create / check + update configuration.
58 . build       Only build using the existing configuration.
59 . test        Run ./cc-test.sh in --check-only mode on built binary.
60 . packager-install
61               Only install using the build of the existing
62               configuration.  It is possible to overwrite DESTDIR= when
63               using this target (a following `uninstall' won't know
64               about that overwritten value, however).
66 If some libraries are missing that you know are installed on your
67 system, or if other errors occur due to missing files but which you know
68 exist, please ensure that the environment variable `C_INCLUDE_PATH'
69 includes the necessary `include/' paths and the environment variable
70 `LD_LIBRARY_PATH' includes the necessary `lib/'rary paths.
72 The S-nail make system will inspect these two environment variables and
73 *automatically* convert them to cc(1) (c99(1)) -I and -L options (since
74 these environment variables are, different to the command line options,
75 not part of the POSIX standard).
76 To set these environment variables, the following can be done in
77 a Bourne/Korn/POSIX compatible shell:
79   $ C_INCLUDE_PATH="${C_INCLUDE_PATH}:/usr/local/include"
80   $ LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib"
81   $ export C_INCLUDE_PATH LD_LIBRARY_PATH
82   $ make install
84 The S-nail make system will also automatically integrate pkgsrc(7) paths
85 into this mechanism.  pkgsrc(7) is used to handle building (compilation),
86 installation and removal of software packages on a lot of operating
87 systems, including all BSD systems, Linux, Solaris ...
89 Notes for S-nail(1) v14.*
90 -------------------------
92 S-nail(1) is known to be driven without errors by the `./cc-test.sh'
93 shell script, with the extended CFLAGS and WARN variables uncommented in
94 the Makefile, on the following operating systems:
96 o Mac OS X Snow Leopard (x86_64).
97   gcc(1) and clang(1).
99 o FreeBSD 10.0 (amd64; 2013-06-23).
100   clang version 3.3 (tags/RELEASE_33/final 183502) 20130610.
102 o NetBSD 6.99.23 (amd64).
103   gcc (NetBSD nb1 20120916) 4.5.4 (forgot to look: ID as of 6.99.19).
105 o DragonFly BSD v3.4.1-RELEASE.
106   gcc 4.7.2 [DragonFly] Release/2012-09-20.
108 o OpenBSD 5.4 (5.4 GENERIC#36 i386).
109   gcc (GCC) 4.2.1 20070719.
111 o CRUX 3.0 (mLinux 3.6.11).
112   gcc (CRUX-x86_64-multilib) 4.7.2.
114 o Slackware 14 3.2.29-smp (i386).
115   gcc (GCC) 4.7.1.
116   clang version 3.0 (tags/RELEASE_30/final).
118 o UnixWare 7.1.4.
119   You need to pass "CFLAGS='-v -O'" to the make(1) run.
120   And because the UnixWare make(1) doesn't pass those flags through to
121   recursively invoked make(1)s (and because the S-nail build system
122   doesn't track CC and CFLAGS in `conf.rc' for updates), you need to use
123   the -e option, as in:
125     $ make -e CFLAGS='-v -O'
127   Due to this you possibly want to use env(1) to be on the safe side...
128   Also, `conf.rc' sets `MAILSPOOL=/var/mail' by default, whereas
129   UnixWare uses `/var/spool/mail', so you need to overwrite it (either
130   in `conf.rc', or from within the command line).
132 OpenIndiana is targeted for v14.5.
133 And i'm very interested in reports from other combinations.
134 (It should work practically everywhere, generally speaking.)
136 Program features yet to be overhauled
137 -------------------------------------
139 Since i've forked Heirloom mailx(1) (for real) as S-nail(1) on
140 2012-09-18 i make my way through the codebase, but have not yet taken
141 a look (rather: at all) into the following modules/parts:
143   [List view/threading], Maildir, SSL, IMAP, POP3, SMTP, GSSAPI, Caching
145 These will remain features of S-nail(1) and they will be looked at, and
146 of course i will fix bugs when i notice them, but they are not yet part
147 of the overhauled "S-nail core" (though SMTP and POP are in daily use,
148 and IMAP is slowly coming along).
150 I'll hope to be able to release S-nail v20 on 2018-03-25, the 40th
151 anniversary of Mail, as a good one, then.  Also see `TODO'.
153 vim:set fenc=utf-8:s-ts-mode