diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-30 10:20:33 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-30 10:20:33 -0400 |
| commit | 500fcbc4a9f91dfd011c9a6caec80a55e14fd338 (patch) | |
| tree | 3239113045dd30013e78241e2a70801074a83a71 /scripts | |
| parent | 56847d857cb0c3ee78c22ce776a26f88d9ffd4d4 (diff) | |
| parent | ced9cb1af1e3486cc14dca755a1b3fbadf06e90b (diff) | |
Merge tag 'localmodconfig-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-kconfig
Pull localmodconfig changes from Steven Rostedt:
"A bug was recently found in the make localmodconfig where it would
miss dependencies of config files are include in other config files
inside an if statement.
Also added a debug print that helped in solving this bug."
* tag 'localmodconfig-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-kconfig:
localmodconfig: Process source kconfig files as they are found
localmodconfig: Add debug prints for dependencies of module configs
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/kconfig/streamline_config.pl | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl index 33689396953a..4606cdfb859d 100644 --- a/scripts/kconfig/streamline_config.pl +++ b/scripts/kconfig/streamline_config.pl | |||
| @@ -156,7 +156,6 @@ sub read_kconfig { | |||
| 156 | 156 | ||
| 157 | my $state = "NONE"; | 157 | my $state = "NONE"; |
| 158 | my $config; | 158 | my $config; |
| 159 | my @kconfigs; | ||
| 160 | 159 | ||
| 161 | my $cont = 0; | 160 | my $cont = 0; |
| 162 | my $line; | 161 | my $line; |
| @@ -190,7 +189,13 @@ sub read_kconfig { | |||
| 190 | 189 | ||
| 191 | # collect any Kconfig sources | 190 | # collect any Kconfig sources |
| 192 | if (/^source\s*"(.*)"/) { | 191 | if (/^source\s*"(.*)"/) { |
| 193 | $kconfigs[$#kconfigs+1] = $1; | 192 | my $kconfig = $1; |
| 193 | # prevent reading twice. | ||
| 194 | if (!defined($read_kconfigs{$kconfig})) { | ||
| 195 | $read_kconfigs{$kconfig} = 1; | ||
| 196 | read_kconfig($kconfig); | ||
| 197 | } | ||
| 198 | next; | ||
| 194 | } | 199 | } |
| 195 | 200 | ||
| 196 | # configs found | 201 | # configs found |
| @@ -250,14 +255,6 @@ sub read_kconfig { | |||
| 250 | } | 255 | } |
| 251 | } | 256 | } |
| 252 | close($kinfile); | 257 | close($kinfile); |
| 253 | |||
| 254 | # read in any configs that were found. | ||
| 255 | foreach my $kconfig (@kconfigs) { | ||
| 256 | if (!defined($read_kconfigs{$kconfig})) { | ||
| 257 | $read_kconfigs{$kconfig} = 1; | ||
| 258 | read_kconfig($kconfig); | ||
| 259 | } | ||
| 260 | } | ||
| 261 | } | 258 | } |
| 262 | 259 | ||
| 263 | if ($kconfig) { | 260 | if ($kconfig) { |
| @@ -396,6 +393,15 @@ foreach my $module (keys(%modules)) { | |||
| 396 | foreach my $conf (@arr) { | 393 | foreach my $conf (@arr) { |
| 397 | $configs{$conf} = $module; | 394 | $configs{$conf} = $module; |
| 398 | dprint "$conf added by direct ($module)\n"; | 395 | dprint "$conf added by direct ($module)\n"; |
| 396 | if ($debugprint) { | ||
| 397 | my $c=$conf; | ||
| 398 | $c =~ s/^CONFIG_//; | ||
| 399 | if (defined($depends{$c})) { | ||
| 400 | dprint " deps = $depends{$c}\n"; | ||
| 401 | } else { | ||
| 402 | dprint " no deps\n"; | ||
| 403 | } | ||
| 404 | } | ||
| 399 | } | 405 | } |
| 400 | } else { | 406 | } else { |
| 401 | # Most likely, someone has a custom (binary?) module loaded. | 407 | # Most likely, someone has a custom (binary?) module loaded. |
