diff options
author | Steven Rostedt <srostedt@redhat.com> | 2012-06-19 04:41:15 +0200 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2012-06-19 21:03:06 +0200 |
commit | 4503379cb811809470ebefb58c943fe605bc3e29 (patch) | |
tree | d1696a5e9393fec6fe83bc09f8f230bdcef3fa11 /scripts | |
parent | localmodconfig: Check if configs are already set for selects (diff) | |
download | linux-4503379cb811809470ebefb58c943fe605bc3e29.tar.xz linux-4503379cb811809470ebefb58c943fe605bc3e29.zip |
localmodconfig: Add debug environment variable LOCALMODCONFIG_DEBUG
If the environment variable LOCALMODCONFIG_DEBUG is set, then debug output
will appear in the make localmodconfig. This will simplify debugging what
people get with their output, as I can just tell people to do:
LOCALMODCONFIG_DEBUG=1 make localmodconfig 2>out.txt
and have them send me the out.txt. I'll be able to see why things are not
working as they think it should be.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/kconfig/streamline_config.pl | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl index fcfcb302b0d7..2fbbbc1ddea0 100644 --- a/scripts/kconfig/streamline_config.pl +++ b/scripts/kconfig/streamline_config.pl @@ -45,6 +45,16 @@ use strict; use Getopt::Long; +# set the environment variable LOCALMODCONFIG_DEBUG to get +# debug output. +my $debugprint = 0; +$debugprint = 1 if (defined($ENV{LOCALMODCONFIG_DEBUG})); + +sub dprint { + return if (!$debugprint); + print STDERR @_; +} + my $config = ".config"; my $uname = `uname -r`; @@ -389,6 +399,7 @@ foreach my $module (keys(%modules)) { my @arr = @{$objects{$module}}; foreach my $conf (@arr) { $configs{$conf} = $module; + dprint "$conf added by direct ($module)\n"; } } else { # Most likely, someone has a custom (binary?) module loaded. @@ -412,6 +423,8 @@ foreach my $line (@config_file) { my $repeat = 1; +my $depconfig; + # # Note, we do not care about operands (like: &&, ||, !) we want to add any # config that is in the depend list of another config. This script does @@ -440,6 +453,7 @@ sub parse_config_depends # We must make sure that this config has its # dependencies met. $repeat = 1; # do again + dprint "$conf selected by depend $depconfig\n"; $configs{$conf} = 1; } } else { @@ -473,15 +487,18 @@ sub parse_config_selects # Make sure that this config exists in the current .config file if (!defined($orig_configs{$conf})) { + dprint "$conf not set for $config select\n"; next; } # Check if something other than a module selects this config if (defined($orig_configs{$conf}) && $orig_configs{$conf} ne "m") { + dprint "$conf (non module) selects config, we are good\n"; # we are good with this return; } if (defined($configs{$conf})) { + dprint "$conf selects $config so we are good\n"; # A set config selects this config, we are good return; } @@ -506,6 +523,7 @@ sub parse_config_selects $repeat = 1; # Make this config need to be selected $configs{$next_config} = 1; + dprint "$next_config selected by select $config\n"; } my %process_selects; @@ -526,6 +544,7 @@ sub loop_depend { } $config =~ s/^CONFIG_//; + $depconfig = $config; if (defined($depends{$config})) { # This config has dependencies. Make sure they are also included @@ -546,6 +565,8 @@ sub loop_select { foreach my $config (keys %process_selects) { $config =~ s/^CONFIG_//; + dprint "Process select $config\n"; + # config has no prompt and must be selected. parse_config_selects $config, $selects{$config}; } |