diff options
author | Karel Kočí <cynerd@email.cz> | 2015-07-17 13:42:03 +0200 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2015-07-17 13:42:03 +0200 |
commit | 2640d58ee088d4bcfedfd9069292dc1af9cad7a2 (patch) | |
tree | aad099cc301e756e3f715ecc510599fd5cf8a1f9 /scripts/allconfig | |
parent | 1ad844cee99d5d7b737b62f56eb5ccdc806f433d (diff) | |
download | linux-conf-perf-2640d58ee088d4bcfedfd9069292dc1af9cad7a2.tar.gz linux-conf-perf-2640d58ee088d4bcfedfd9069292dc1af9cad7a2.tar.bz2 linux-conf-perf-2640d58ee088d4bcfedfd9069292dc1af9cad7a2.zip |
Integrate allconfig
allconfig is now integrated in project.
It is going to replace permute_conf for generating.
For this reason is default behaviour changed to print only changeable configurtaion options.
Previous behaviour can be used with --all switch.
Also add .gitignore and remove compiled file from repository.
Diffstat (limited to 'scripts/allconfig')
-rw-r--r-- | scripts/allconfig/.gitignore | 1 | ||||
-rwxr-xr-x | scripts/allconfig/allconfig | bin | 130016 -> 0 bytes | |||
-rw-r--r-- | scripts/allconfig/allconfig.c | 38 |
3 files changed, 34 insertions, 5 deletions
diff --git a/scripts/allconfig/.gitignore b/scripts/allconfig/.gitignore new file mode 100644 index 0000000..14a250f --- /dev/null +++ b/scripts/allconfig/.gitignore @@ -0,0 +1 @@ +allconfig diff --git a/scripts/allconfig/allconfig b/scripts/allconfig/allconfig Binary files differdeleted file mode 100755 index cc714c1..0000000 --- a/scripts/allconfig/allconfig +++ /dev/null diff --git a/scripts/allconfig/allconfig.c b/scripts/allconfig/allconfig.c index 65c8b56..acd1050 100644 --- a/scripts/allconfig/allconfig.c +++ b/scripts/allconfig/allconfig.c @@ -2,23 +2,33 @@ #include <stdio.h> #include <string.h> #include <locale.h> +#include <stdbool.h> #include <kconfig/lkc.h> #include <build_files.h> #include <macros.h> int verbose_level; +bool full_config; char *kconfig_file; char *output_config_file; char *input_config_file; -int main(int argc, char ** argv) { +void print_help(); + +int main(int argc, char **argv) { + full_config = false; verbose_level = 1; int i; for (i = 1; i < argc; i++) { - if (!strcmp(argv[i], "-v")) { + if (!strcmp(argv[i], "--help") || !strcmp(argv[i], "-h")) { + print_help(); + exit(0); + } else if (!strcmp(argv[i], "-v")) { verbose_level++; + } else if (!strcmp(argv[i], "--all")) { + full_config = true; } else if (kconfig_file == NULL) { kconfig_file = argv[i]; } else if (input_config_file == NULL) { @@ -31,8 +41,10 @@ int main(int argc, char ** argv) { } } - if (output_config_file == NULL || kconfig_file == NULL || input_config_file == NULL) { - Eprintf("Use with parameters: kconfig_file input_config output_config\n"); + if (output_config_file == NULL || kconfig_file == NULL + || input_config_file == NULL) { + Eprintf("Parameters mismatch.\n"); + print_help(); exit(-2); } @@ -59,8 +71,18 @@ int main(int argc, char ** argv) { exit(-3); } + struct property *prop; for_all_symbols(i, sym) { - if ((sym->type == S_BOOLEAN || sym->type == S_TRISTATE) && sym->name != NULL) { + if ((sym->type == S_BOOLEAN || sym->type == S_TRISTATE) + && sym->name != NULL) { + if (!full_config) { + for_all_prompts(sym, prop) { + goto printit; + } + } else + goto printit; + continue; + printit: fprintf(f, "CONFIG_%s=%s\n", sym->name, sym_get_tristate_value(sym) == no ? "n" : "y"); } @@ -69,3 +91,9 @@ int main(int argc, char ** argv) { return 0; } + +void print_help() { + printf("Usage: allconfig [-v] [-h] Kconfig Input Output\n"); + printf(" This is generating full configuration.\n"); + printf(" Output configuration has all configuration options.\n"); +} |