Building NeoMutt#
How to build NeoMutt from the source code
Install dependencies#
See Downloads.
Obtain the source#
The NeoMutt project is hosted on GitHub, so there are two main options to get the sources – either as Git repository or GitHub archive file. A repository, not only for GitHub users, provides some benefits over a single release or snapshot archive, e.g. will empower you to work with the source code and contribute to the project more easily.
Git#
Cloning the main branch but also see our list of branches.
git clone https://github.com/neomutt/neomutt
Same as above but pointing to an other branch, e.g. sample/summary, for
checkout.
git clone -b sample/summary https://github.com/neomutt/neomutt
GitHub#
Latest release
Select a source package (Tar or ZIP archive) and the checksum file for download. Important, verify the tarball/ZIP archive file to ensure its integrity, see Signing Code / Releases for an example.
Specific branch
Note, archive file verification isn’t possible here because this is not a NeoMutt release archive and thus no checksum file is available. Consider to use Git instead (as mentioned above) to clone the repository and checkout the specific branch afterwards.
Configure#
List supported options to adapt or fine tune NeoMutt’s build.
./configure --help
Configure options#
This is not a comprehensive list of configure options.
Check ./configure --help for full help.
The options marked “Path” have either take a path, or have an extra option for specifying the library path.
e.g. ./configure --notmuch --with-notmuch=/usr/local/lib/notmuch
Configure option |
Path |
Notes |
|---|---|---|
|
Enable all options |
|
|
Location of ncurses |
|
|
Path |
GPG Made Easy |
|
Path |
Gnu TLS (SSL) |
|
Path |
Generic Security Services |
|
Path |
Simple Authentication and Security Layer |
|
Path |
OpenSSL |
|
Optional Feature (Dangerous) |
|
|
Path |
Optional Feature |
|
Path |
Optional Feature |
|
Path |
Header cache backend |
|
Path |
Header cache backend |
|
Path |
Header cache backend |
|
Path |
Header cache backend |
|
Path |
Header cache backend |
|
Path |
Header cache backend |
|
fcntl(2) file locking |
|
|
flock(2) file locking |
|
|
Workaround for broken locales |
|
|
Path |
National Language Support (translations) |
|
Path |
Pretty Good Privacy |
|
Path |
Secure/Multipurpose Internet Mail Extensions |
|
Path |
Internationalised domain names |
|
Default email domain |
|
|
Path |
Location of spooled mail |
|
Path |
Spooled mail is in user’s home dir |
|
Path |
Target directory for build (default: |
|
Don’t build the docs |
|
|
Document disabled features |
|
|
Only show the summary |
Build#
Targets: neomutt, test, …
The build can be adjusted by setting any of six environment variables:
CC- set the compilerCFLAGS- replace all the compiler flagsEXTRA_CFLAGS- append flags to the default compiler flagsLD- set the linkerLDFLAGS- replace all the linker flagsEXTRA_LDFLAGS- append flags to the default linker flags
e.g. make EXTRA_CFLAGS=-g
make
Install#
make install
Uninstall#
make uninstall
*[GCC]: GNU Compiler Collection *GDBM: GNU Data Base Manager *GPGME: GnuPG Made Easy *[GSSAPI]: Generic Security Services Application Program Interface *[IMAP]: Internet Message Access Protocol *LMDB: Lightning Memory-Mapped Database Manager *OBDB: Oracle Berkeley Database *QDBM: Quick Data Base Manager *SASL: Simple Authentication and Security Layer *[SSL]: Secure Sockets Layer *[Tar]: Tape archiver *[TLS]: Transport Layer Security *[tarball]: Tar generated archive file *[ZIP]: archive file format (meaning “move at high speed”)