mirror of
https://github.com/MidnightCommander/mc
synced 2024-12-22 12:32:40 +03:00
42e7e39bd8
Also massive use of PATH_SEP and PATH_SEP_STR macros. Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
236 lines
6.6 KiB
C
236 lines
6.6 KiB
C
/*
|
|
Print features specific for this build
|
|
|
|
Copyright (C) 2000-2015
|
|
Free Software Foundation, Inc.
|
|
|
|
This file is part of the Midnight Commander.
|
|
|
|
The Midnight Commander is free software: you can redistribute it
|
|
and/or modify it under the terms of the GNU General Public License as
|
|
published by the Free Software Foundation, either version 3 of the License,
|
|
or (at your option) any later version.
|
|
|
|
The Midnight Commander is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
/** \file textconf.c
|
|
* \brief Source: prints features specific for this build
|
|
*/
|
|
|
|
#include <config.h>
|
|
|
|
#include <limits.h>
|
|
#include <stdio.h>
|
|
#include <sys/types.h>
|
|
|
|
#include "lib/global.h"
|
|
#include "lib/fileloc.h"
|
|
#include "lib/mcconfig.h"
|
|
|
|
#include "src/textconf.h"
|
|
|
|
/*** global variables ****************************************************************************/
|
|
|
|
/*** file scope macro definitions ****************************************************************/
|
|
|
|
/*** file scope type declarations ****************************************************************/
|
|
|
|
/*** file scope variables ************************************************************************/
|
|
|
|
#ifdef ENABLE_VFS
|
|
static const char *const vfs_supported[] = {
|
|
#ifdef ENABLE_VFS_CPIO
|
|
"cpiofs",
|
|
#endif
|
|
#ifdef ENABLE_VFS_TAR
|
|
"tarfs",
|
|
#endif
|
|
#ifdef ENABLE_VFS_SFS
|
|
"sfs",
|
|
#endif
|
|
#ifdef ENABLE_VFS_EXTFS
|
|
"extfs",
|
|
#endif
|
|
#ifdef ENABLE_VFS_UNDELFS
|
|
"ext2undelfs",
|
|
#endif
|
|
#ifdef ENABLE_VFS_FTP
|
|
"ftpfs",
|
|
#endif
|
|
#ifdef ENABLE_VFS_SFTP
|
|
"sftpfs",
|
|
#endif
|
|
#ifdef ENABLE_VFS_FISH
|
|
"fish",
|
|
#endif
|
|
#ifdef ENABLE_VFS_SMB
|
|
"smbfs",
|
|
#endif /* ENABLE_VFS_SMB */
|
|
NULL
|
|
};
|
|
#endif /* ENABLE_VFS */
|
|
|
|
static const char *const features[] = {
|
|
#ifdef HAVE_SLANG
|
|
N_("Using the S-Lang library with terminfo database\n"),
|
|
#elif defined(USE_NCURSES)
|
|
N_("Using the ncurses library\n"),
|
|
#elif defined(USE_NCURSESW)
|
|
N_("Using the ncursesw library\n"),
|
|
#else
|
|
#error "Cannot compile mc without S-Lang or ncurses"
|
|
#endif /* !HAVE_SLANG && !USE_NCURSES */
|
|
|
|
#ifdef USE_INTERNAL_EDIT
|
|
N_("With builtin Editor\n"),
|
|
#endif
|
|
|
|
#ifdef ENABLE_SUBSHELL
|
|
#ifdef SUBSHELL_OPTIONAL
|
|
N_("With optional subshell support\n"),
|
|
#else
|
|
N_("With subshell support as default\n"),
|
|
#endif
|
|
#endif /* !ENABLE_SUBSHELL */
|
|
|
|
#ifdef ENABLE_BACKGROUND
|
|
N_("With support for background operations\n"),
|
|
#endif
|
|
|
|
#ifdef HAVE_LIBGPM
|
|
N_("With mouse support on xterm and Linux console\n"),
|
|
#else
|
|
N_("With mouse support on xterm\n"),
|
|
#endif
|
|
|
|
#ifdef HAVE_TEXTMODE_X11_SUPPORT
|
|
N_("With support for X11 events\n"),
|
|
#endif
|
|
|
|
#ifdef ENABLE_NLS
|
|
N_("With internationalization support\n"),
|
|
#endif
|
|
|
|
#ifdef HAVE_CHARSET
|
|
N_("With multiple codepages support\n"),
|
|
#endif
|
|
|
|
NULL
|
|
};
|
|
|
|
/*** file scope functions ************************************************************************/
|
|
/* --------------------------------------------------------------------------------------------- */
|
|
|
|
/* --------------------------------------------------------------------------------------------- */
|
|
/*** public functions ****************************************************************************/
|
|
/* --------------------------------------------------------------------------------------------- */
|
|
|
|
void
|
|
show_version (void)
|
|
{
|
|
size_t i;
|
|
|
|
printf (_("GNU Midnight Commander %s\n"), VERSION);
|
|
|
|
printf (_("Built with GLib %d.%d.%d\n"),
|
|
GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
|
|
|
|
for (i = 0; features[i] != NULL; i++)
|
|
printf ("%s", _(features[i]));
|
|
|
|
#ifdef ENABLE_VFS
|
|
printf (_("Virtual File Systems:"));
|
|
for (i = 0; vfs_supported[i] != NULL; i++)
|
|
printf ("%s %s", i == 0 ? "" : ",", _(vfs_supported[i]));
|
|
printf ("\n");
|
|
#endif /* ENABLE_VFS */
|
|
|
|
(void) printf (_("Data types:"));
|
|
#define TYPE_INFO(T) \
|
|
(void)printf(" %s: %d;", #T, (int) (CHAR_BIT * sizeof(T)))
|
|
TYPE_INFO (char);
|
|
TYPE_INFO (int);
|
|
TYPE_INFO (long);
|
|
TYPE_INFO (void *);
|
|
TYPE_INFO (size_t);
|
|
TYPE_INFO (off_t);
|
|
#undef TYPE_INFO
|
|
(void) printf ("\n");
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------------------------- */
|
|
#define PRINTF_GROUP(a) \
|
|
(void) printf ("[%s]\n", a)
|
|
#define PRINTF_SECTION(a,b) \
|
|
(void) printf (" %-17s %s\n", a, b)
|
|
#define PRINTF_SECTION2(a,b) \
|
|
(void) printf (" %-17s %s/\n", a, b)
|
|
#define PRINTF(a, b, c) \
|
|
(void) printf ("\t%-15s %s/%s\n", a, b, c)
|
|
#define PRINTF2(a, b, c) \
|
|
(void) printf ("\t%-15s %s%s\n", a, b, c)
|
|
|
|
void
|
|
show_datadirs_extended (void)
|
|
{
|
|
(void) printf ("%s %s\n", _("Root directory:"), mc_config_get_home_dir ());
|
|
(void) puts ("");
|
|
|
|
PRINTF_GROUP (_("System data"));
|
|
|
|
PRINTF_SECTION (_("Config directory:"), mc_global.sysconfig_dir);
|
|
PRINTF_SECTION (_("Data directory:"), mc_global.share_data_dir);
|
|
|
|
PRINTF_SECTION (_("File extension handlers:"), EXTHELPERSDIR);
|
|
|
|
#if defined ENABLE_VFS_EXTFS || defined ENABLE_VFS_FISH
|
|
PRINTF_SECTION (_("VFS plugins and scripts:"), LIBEXECDIR);
|
|
#ifdef ENABLE_VFS_EXTFS
|
|
PRINTF2 ("extfs.d:", LIBEXECDIR, MC_EXTFS_DIR PATH_SEP_STR);
|
|
#endif
|
|
#ifdef ENABLE_VFS_FISH
|
|
PRINTF2 ("fish:", LIBEXECDIR, FISH_PREFIX PATH_SEP_STR);
|
|
#endif
|
|
#endif /* ENABLE_VFS_EXTFS || defiined ENABLE_VFS_FISH */
|
|
(void) puts ("");
|
|
|
|
PRINTF_GROUP (_("User data"));
|
|
|
|
PRINTF_SECTION2 (_("Config directory:"), mc_config_get_path ());
|
|
PRINTF_SECTION2 (_("Data directory:"), mc_config_get_data_path ());
|
|
PRINTF ("skins:", mc_config_get_data_path (), MC_SKINS_SUBDIR PATH_SEP_STR);
|
|
#ifdef ENABLE_VFS_EXTFS
|
|
PRINTF ("extfs.d:", mc_config_get_data_path (), MC_EXTFS_DIR PATH_SEP_STR);
|
|
#endif
|
|
#ifdef ENABLE_VFS_FISH
|
|
PRINTF ("fish:", mc_config_get_data_path (), FISH_PREFIX PATH_SEP_STR);
|
|
#endif
|
|
#ifdef USE_INTERNAL_EDIT
|
|
PRINTF ("mcedit macros:", mc_config_get_data_path (), MC_MACRO_FILE);
|
|
PRINTF ("mcedit external macros:", mc_config_get_data_path (), MC_EXTMACRO_FILE ".*");
|
|
#endif
|
|
PRINTF_SECTION2 (_("Cache directory:"), mc_config_get_cache_path ());
|
|
|
|
}
|
|
|
|
#undef PRINTF
|
|
#undef PRINTF_SECTION
|
|
#undef PRINTF_GROUP
|
|
|
|
/* --------------------------------------------------------------------------------------------- */
|
|
|
|
void
|
|
show_configure_options (void)
|
|
{
|
|
(void) printf ("%s\n", MC_CONFIGURE_ARGS);
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------------------------- */
|