1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-18 04:45:33 +00:00

player: print config.h contents in verbose mode

It was requested that mpv should print what features etc. have been
enabled at compile time. It can print the configure command line, but it
obviously doesn't include autodetected features.

I tried to think of a nicer way than dumping the config.h as text, but
this was still the simplest way.
This commit is contained in:
wm4 2015-01-02 03:06:06 +01:00
parent 594114e660
commit a2d790b3a4
2 changed files with 19 additions and 6 deletions

View File

@ -78,6 +78,10 @@
#include "osdep/macosx_events.h"
#endif
#ifndef FULLCONFIG
#define FULLCONFIG "(missing)\n"
#endif
enum exit_reason {
EXIT_NONE,
EXIT_NORMAL,
@ -119,6 +123,11 @@ void mp_print_version(struct mp_log *log, int always)
mpv_version, mpv_builddate);
print_libav_versions(log, v);
mp_msg(log, v, "\n");
// Only in verbose mode.
if (!always) {
mp_msg(log, MSGL_V, "Configuration: " CONFIGURATION "\n");
mp_msg(log, MSGL_V, "config.h:\n%s\n", FULLCONFIG);
}
}
static void shutdown_clients(struct MPContext *mpctx)
@ -500,6 +509,11 @@ int mpv_main(int argc, char *argv[])
mp_msg_update_msglevels(mpctx->global);
MP_VERBOSE(mpctx, "Command line:");
for (int i = 0; i < argc; i++)
MP_VERBOSE(mpctx, " '%s'", argv[i]);
MP_VERBOSE(mpctx, "\n");
mp_print_version(mpctx->log, false);
mp_parse_cfgfiles(mpctx);
@ -519,12 +533,6 @@ int mpv_main(int argc, char *argv[])
if (handle_help_options(mpctx))
exit_player(mpctx, EXIT_NONE);
MP_VERBOSE(mpctx, "Configuration: " CONFIGURATION "\n");
MP_VERBOSE(mpctx, "Command line:");
for (int i = 0; i < argc; i++)
MP_VERBOSE(mpctx, " '%s'", argv[i]);
MP_VERBOSE(mpctx, "\n");
if (!mpctx->playlist->first && !opts->player_idle_mode) {
mp_print_version(mpctx->log, true);
MP_INFO(mpctx, "%s", mp_help_text);

View File

@ -35,10 +35,15 @@ def __write_version_h__(ctx):
__cp_to_variant__(ctx, ctx.options.variant, 'version.h')
ctx.end_msg("version.h", "PINK")
# Approximately escape the string as C string literal
def __escape_c_string(s):
return s.replace("\"", "\\\"").replace("\n", "\\n")
def __add_mplayer_defines__(ctx):
from sys import argv
ctx.define("CONFIGURATION", " ".join(argv))
ctx.define("MPLAYER_CONFDIR", ctx.env.CONFDIR)
ctx.define("FULLCONFIG", "\\n" + __escape_c_string(ctx.get_config_header()) + "\\n")
def configure(ctx):
__add_mplayer_defines__(ctx)