cmdutils: Add -buildconf option.

The output is formatted to display one option per line.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Stephen Hutchinson
2013-08-11 12:17:57 -04:00
committed by Michael Niedermayer
parent d5d29ae3b0
commit 69cf626f9c
3 changed files with 42 additions and 0 deletions

View File

@@ -1079,6 +1079,32 @@ static void print_program_info(int flags, int level)
av_log(NULL, level, "%sconfiguration: " FFMPEG_CONFIGURATION "\n", indent);
}
static void print_buildconf(int flags, int level)
{
const char *indent = flags & INDENT? " " : "";
char str[] = { FFMPEG_CONFIGURATION };
char *conflist, *remove_tilde, *splitconf;
// Change all the ' --' strings to '~--' so that
// they can be identified as tokens.
while( (conflist = strstr(str, " --")) != NULL ) {
strncpy(conflist, "~--", 3);
}
// Compensate for the weirdness this would cause
// when passing 'pkg-config --static'.
while( (remove_tilde = strstr(str, "pkg-config~")) != NULL ) {
strncpy(remove_tilde, "pkg-config ",11);
}
splitconf = strtok(str, "~");
av_log(NULL, level, "\n%sconfiguration:\n",indent);
while(splitconf != NULL) {
av_log(NULL, level, "%s%s%s\n", indent, indent, splitconf);
splitconf = strtok(NULL, "~");
}
}
void show_banner(int argc, char **argv, const OptionDef *options)
{
int idx = locate_option(argc, argv, options, "version");
@@ -1099,6 +1125,14 @@ int show_version(void *optctx, const char *opt, const char *arg)
return 0;
}
int show_buildconf(void *optctx, const char *opt, const char *arg)
{
av_log_set_callback(log_callback_help);
print_buildconf (INDENT|0, AV_LOG_INFO);
return 0;
}
int show_license(void *optctx, const char *opt, const char *arg)
{
#if CONFIG_NONFREE