Go to the documentation of this file.
35 #include <sys/utsname.h>
44 #ifdef CRYPT_BACKEND_GPGME
50 #ifdef USE_SSL_OPENSSL
51 #include <openssl/opensslv.h>
54 #include <gnutls/gnutls.h>
57 #define PCRE2_CODE_UNIT_WIDTH 8
73 "Copyright (C) 1996-2020 Michael R. Elkins <me@mutt.org>\n"
74 "Copyright (C) 1996-2002 Brandon Long <blong@fiction.net>\n"
75 "Copyright (C) 1997-2009 Thomas Roessler <roessler@does-not-exist.org>\n"
76 "Copyright (C) 1998-2005 Werner Koch <wk@isil.d.shuttle.de>\n"
77 "Copyright (C) 1999-2017 Brendan Cully <brendan@kublai.com>\n"
78 "Copyright (C) 1999-2002 Tommi Komulainen <Tommi.Komulainen@iki.fi>\n"
79 "Copyright (C) 2000-2004 Edmund Grimley Evans <edmundo@rano.org>\n"
80 "Copyright (C) 2006-2009 Rocco Rutte <pdmef@gmx.net>\n"
81 "Copyright (C) 2014-2020 Kevin J. McCarthy <kevin@8t8.us>\n"
82 "Copyright (C) 2015-2020 Richard Russon <rich@flatcap.org>\n";
85 N_(
"Many others not mentioned here contributed code, fixes,\n"
86 "and suggestions.\n");
89 " This program is free software; you can redistribute it and/or modify\n"
90 " it under the terms of the GNU General Public License as published by\n"
91 " the Free Software Foundation; either version 2 of the License, or\n"
92 " (at your option) any later version.\n"
94 " This program is distributed in the hope that it will be useful,\n"
95 " but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
96 " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
97 " GNU General Public License for more details.\n"
99 " You should have received a copy of the GNU General Public License\n"
100 " along with this program; if not, write to the Free Software\n"
101 " Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA "
102 "02110-1301, USA.\n");
105 N_(
"To learn more about NeoMutt, visit: https://neomutt.org\n"
106 "If you find a bug in NeoMutt, please raise an issue at:\n"
107 " https://github.com/neomutt/neomutt/issues\n"
108 "or send an email to: <neomutt-devel@neomutt.org>\n");
112 N_(
"Copyright (C) 1996-2020 Michael R. Elkins and others.\n"
113 "NeoMutt comes with ABSOLUTELY NO WARRANTY; for details type 'neomutt -vv'.\n"
114 "NeoMutt is free software, and you are welcome to redistribute it\n"
115 "under certain conditions; type 'neomutt -vv' for details.\n");
130 {
"attach_headers_color", 1 },
131 {
"compose_to_sender", 1 },
135 {
"encrypt_to_self", 1 },
136 {
"forgotten_attachments", 1 },
140 {
"index_color", 1 },
142 {
"limit_current_thread", 1 },
143 {
"multiple_fcc", 1 },
149 {
"quasi_delete", 1 },
151 {
"reply_with_xorig", 1 },
152 {
"sensible_browser", 1 },
154 {
"skip_quoted", 1 },
156 {
"status_color", 1 },
169 #ifdef HAVE_LIBUNWIND
207 #ifdef HAVE_GETADDRINFO
208 {
"getaddrinfo", 1 },
210 {
"getaddrinfo", 0 },
212 #ifdef USE_SSL_GNUTLS
217 #ifdef CRYPT_BACKEND_GPGME
222 #ifdef USE_DEBUG_GRAPHVIZ
251 {
"locales_hack", 1 },
253 {
"locales_hack", 0 },
275 #ifdef USE_DEBUG_NOTIFY
283 #ifdef USE_SSL_OPENSSL
288 #ifdef USE_DEBUG_PARSE_TEST
294 #ifdef CRYPT_BACKEND_CLASSIC_PGP
307 #ifdef CRYPT_BACKEND_CLASSIC_SMIME
317 #ifdef HAVE_START_COLOR
318 {
"start_color", 1 },
320 {
"start_color", 0 },
322 #ifdef SUN_ATTACHMENT
323 {
"sun_attachment", 1 },
325 {
"sun_attachment", 0 },
327 #ifdef HAVE_TYPEAHEAD
332 #ifdef USE_DEBUG_WINDOW
357 bool tty = isatty(fileno(fp));
360 for (
int i = 0; co[i].
name; i++)
362 const size_t len = strlen(co[i].
name) + 2;
369 const char *fmt =
"?%s ";
374 fmt =
"\033[1;31m-%s\033[0m ";
380 fmt =
"\033[1;32m+%s\033[0m ";
386 fmt =
"\033[1;36m!%s\033[0m ";
391 fprintf(fp, fmt, co[i].
name);
408 char *p = &s[strlen(s)];
412 while ((p >= s) && ((*p ==
'\n') || (*p ==
'\r')))
430 bool tty = isatty(fileno(fp));
431 const char *fmt =
"%s\n";
434 fmt =
"\033[1;36m%s\033[0m\n";
437 fprintf(fp,
"%s\n",
_(
Notice));
442 fprintf(fp,
"System: SCO %s", uts.release);
444 fprintf(fp,
"System: %s %s", uts.sysname, uts.release);
447 fprintf(fp,
" (%s)", uts.machine);
449 #ifdef NCURSES_VERSION
450 fprintf(fp,
"\nncurses: %s (compiled with %s.%d)", curses_version(),
451 NCURSES_VERSION, NCURSES_VERSION_PATCH);
452 #elif defined(USE_SLANG_CURSES)
453 fprintf(fp,
"\nslang: %s", SLANG_VERSION_STRING);
456 #ifdef _LIBICONV_VERSION
457 fprintf(fp,
"\nlibiconv: %d.%d", _LIBICONV_VERSION >> 8, _LIBICONV_VERSION & 0xff);
464 #ifdef CRYPT_BACKEND_GPGME
468 #ifdef USE_SSL_OPENSSL
469 #ifdef LIBRESSL_VERSION_TEXT
470 fprintf(fp,
"\nLibreSSL: %s", LIBRESSL_VERSION_TEXT);
472 #ifdef OPENSSL_VERSION_TEXT
473 fprintf(fp,
"\nOpenSSL: %s", OPENSSL_VERSION_TEXT);
477 #ifdef USE_SSL_GNUTLS
478 fprintf(fp,
"\nGnuTLS: %s", GNUTLS_VERSION);
482 fprintf(fp,
"\nlibnotmuch: %d.%d.%d", LIBNOTMUCH_MAJOR_VERSION,
483 LIBNOTMUCH_MINOR_VERSION, LIBNOTMUCH_MICRO_VERSION);
489 pcre2_config(PCRE2_CONFIG_VERSION, version);
490 fprintf(fp,
"\nPCRE2: %s", version);
496 fprintf(fp,
"\nstorage: %s", backends);
498 #ifdef USE_HCACHE_COMPRESSION
500 fprintf(fp,
"\ncompression: %s", backends);
509 fprintf(fp,
"\nCompilation CFLAGS: %s\n", (
char *)
cc_cflags);
511 fprintf(fp,
"\n%s\n",
_(
"Default options:"));
514 fprintf(fp,
"\n%s\n",
_(
"Compile options:"));
518 fprintf(fp,
"DOMAIN=\"%s\"\n", DOMAIN);
521 fprintf(fp,
"ISPELL=\"%s\"\n",
ISPELL);
523 fprintf(fp,
"MAILPATH=\"%s\"\n", MAILPATH);
525 fprintf(fp,
"MIXMASTER=\"%s\"\n", MIXMASTER);
527 fprintf(fp,
"PKGDATADIR=\"%s\"\n", PKGDATADIR);
528 fprintf(fp,
"SENDMAIL=\"%s\"\n", SENDMAIL);
529 fprintf(fp,
"SYSCONFDIR=\"%s\"\n", SYSCONFDIR);
static const char * Notice
static char * rstrip_in_place(char *s)
Strip a trailing carriage return.
bool feature_enabled(const char *name)
Test if a compile-time feature is enabled.
unsigned char cc_cflags[]
static struct CompileOptions comp_opts_default[]
List of built-in capabilities.
int enabled
0 Disabled, 1 Enabled, 2 Devel only
bool mutt_str_equal(const char *a, const char *b)
Compare two strings.
const char * mutt_make_version(void)
Generate the NeoMutt version string.
const char * mutt_idna_print_version(void)
Create an IDN version string.
static const char * License
static const char * Thanks
const char * store_compress_list(void)
static const char * Copyright
const char * store_backend_list(void)
Get a list of backend names.
void print_copyright(void)
Print copyright message.
static void print_compile_options(struct CompileOptions *co, FILE *fp)
Print a list of enabled/disabled features.
const char * mutt_gpgme_print_version(void)
Get version of GPGME.
static struct CompileOptions comp_opts[]
const char * compress_list(void)
Get a list of compression backend names.
static const char * ReachingUs
unsigned char configure_options[]
void print_version(FILE *fp)
Print system and compile info to a file.