kconfig: Fix streamline_config to read multi line deps in Kconfig files
I noticed that some Kconfig files have multi line dependencies that continue with a backslash. Those dependencies on the next line will be missed by streamline_config. For example: config CS89x0 tristate "CS89x0 support" depends on NET_ETHERNET && (ISA || EISA || MACH_IXDP2351 \ || ARCH_IXDP2X01 || MACH_MX31ADS) The "|| ARCH_IXDP2X01 || MACH_MX31ADS)" will not be processed. This patch adds code to handle this case. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
Родитель
cf5a189d4a
Коммит
20d1904733
|
@ -125,7 +125,6 @@ my %selects;
|
|||
my %prompts;
|
||||
my %objects;
|
||||
my $var;
|
||||
my $cont = 0;
|
||||
my $iflevel = 0;
|
||||
my @ifdeps;
|
||||
|
||||
|
@ -139,6 +138,9 @@ sub read_kconfig {
|
|||
my $config;
|
||||
my @kconfigs;
|
||||
|
||||
my $cont = 0;
|
||||
my $line;
|
||||
|
||||
my $source = "$ksource/$kconfig";
|
||||
my $last_source = "";
|
||||
|
||||
|
@ -153,6 +155,19 @@ sub read_kconfig {
|
|||
while (<KIN>) {
|
||||
chomp;
|
||||
|
||||
# Make sure that lines ending with \ continue
|
||||
if ($cont) {
|
||||
$_ = $line . " " . $_;
|
||||
}
|
||||
|
||||
if (s/\\$//) {
|
||||
$cont = 1;
|
||||
$line = $_;
|
||||
next;
|
||||
}
|
||||
|
||||
$cont = 0;
|
||||
|
||||
# collect any Kconfig sources
|
||||
if (/^source\s*"(.*)"/) {
|
||||
$kconfigs[$#kconfigs+1] = $1;
|
||||
|
@ -230,6 +245,8 @@ if ($kconfig) {
|
|||
# Read all Makefiles to map the configs to the objects
|
||||
foreach my $makefile (@makefiles) {
|
||||
|
||||
my $cont = 0;
|
||||
|
||||
open(MIN,$makefile) || die "Can't open $makefile";
|
||||
while (<MIN>) {
|
||||
my $objs;
|
||||
|
|
Загрузка…
Ссылка в новой задаче