Index: menuselect.c =================================================================== --- menuselect.c (revision 725) +++ menuselect.c (working copy) @@ -1540,8 +1540,11 @@ { "check-deps", no_argument, &check_deps, 1 }, { "enable", required_argument, 0, 'e' }, { "enable-category", required_argument, 0, 'E' }, + { "enable-all", no_argument, 0, 'A' }, { "disable", required_argument, 0, 'd' }, { "disable-category", required_argument, 0, 'D' }, + { "disable-all", no_argument, 0, 'a' }, + { 0, 0, 0, 0 }, }; int do_menu = 1; @@ -1550,6 +1553,7 @@ const char *enable_cat = NULL; const char *disable = NULL; const char *disable_cat = NULL; + int enable_all = 0, disable_all = 0; if (open_debug()) { exit(1); @@ -1583,6 +1587,14 @@ disable_cat = optarg; do_menu = 0; break; + case 'A': + enable_all = 1; + do_menu = 0; + break; + case 'a': + disable_all = 1; + do_menu = 0; + break; default: break; } @@ -1657,6 +1669,14 @@ } } + if (enable_all ^ disable_all) { + struct category *cat; + + AST_LIST_TRAVERSE(&categories, cat, list) { + set_all(cat, enable_all); + } + } + if (!res) res = generate_makeopts_file();