diff options
-rwxr-xr-x | v4l/scripts/make_kconfig.pl | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/v4l/scripts/make_kconfig.pl b/v4l/scripts/make_kconfig.pl index b203a2ac0..c43baeb74 100755 --- a/v4l/scripts/make_kconfig.pl +++ b/v4l/scripts/make_kconfig.pl @@ -151,7 +151,11 @@ sub check_deps($$) my $key=shift; my $arg=shift; - $depmods{$key}=$arg; + if ($depmods{$key}) { + $depmods{$key}=$depmods{$key}." $arg"; + } else { + $depmods{$key}=$arg; + } $arg=$arg." "; while ($arg ne "") { @@ -160,7 +164,7 @@ sub check_deps($$) my $prev=$depend{$val}; $depend { $val } = 1+$prev; } - $arg =~ s/^[^ ]+ //; + $arg =~ s/^[^ ]+[ ]+//; } return $ok; @@ -226,9 +230,11 @@ print "opening $file\n" if $debug; if (m|^\s+depends on\s+(.+?)\s*$|) { check_deps ($key,$1); } -# if (m|^\s+select\s+(.+?)\s*(if .*?)?\s*$|) { -# check_deps ($key,$1); -# } + # If a "select" dependency is not satisfied, that + # dependency is broken + if (m|^\s+select\s+(.+?)\s*(if .*?)?\s*$|) { + check_deps ($key,$1); + } if (m|^\s+bool(ean)?\s|) { add_bool($key); } |