X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/096afa4e695916a8068c82af6807f9b6de587c38..60eca2ac727f3259bf1d083371ff25172bd4e908:/scripts/gen_menuconfig.pl diff --git a/scripts/gen_menuconfig.pl b/scripts/gen_menuconfig.pl index 70e31a45f..c40e1caed 100755 --- a/scripts/gen_menuconfig.pl +++ b/scripts/gen_menuconfig.pl @@ -24,11 +24,22 @@ sub print_category($) { $pkg->{menu} and print "menu"; print "config PACKAGE_".$pkg->{name}."\n"; print "\t\ttristate \"$title\"\n"; - print "\t\tdefault ".$pkg->{default}."\n"; + foreach my $default (split /\s*,\s*/, $pkg->{default}) { + print "\t\tdefault $default\n"; + } foreach my $depend (@{$pkg->{depends}}) { - print "\t\tdepends PACKAGE_$depend\n"; + my $m = "depends"; + $depend =~ s/^([@\+])//; + my $flags = $1; + $flags =~ /@/ or $depend = "PACKAGE_$depend"; + $flags =~ /\+/ and $m = "select"; + print "\t\t$m $depend\n"; } - print "\n" + print "\t\thelp\n"; + print $pkg->{description}; + print "\n"; + + $pkg->{config} and print $pkg->{config}."\n"; } } print "endmenu\n\n"; @@ -56,7 +67,7 @@ while ($line = <>) { $line =~ /^Menu: \s*(.+)\s*$/ and $pkg->{menu} = $1; $line =~ /^Default: \s*(.+)\s*$/ and $pkg->{default} = $1; $line =~ /^Depends: \s*(.+)\s*$/ and do { - my @dep = split /,\s*/, $1; + my @dep = split /\s+/, $1; $pkg->{depends} = \@dep; }; $line =~ /^Category: \s*(.+)\s*$/ and do { @@ -66,13 +77,22 @@ while ($line = <>) { push @{$category{$1}->{$src}}, $pkg; }; $line =~ /^Description: \s*(.*)\s*$/ and do { - my $desc = $1; + my $desc = "\t\t$1\n\n"; my $line; - while (<>) { - last if /^@@/; - $desc .= $1; + while ($line = <>) { + last if $line =~ /^@@/; + $desc .= "\t\t$line"; } $pkg->{description} = $desc; + }; + $line =~ /^Config: \s*(.*)\s*$/ and do { + my $conf = "$1\n"; + my $line; + while ($line = <>) { + last if $line =~ /^@@/; + $conf .= "$line"; + } + $pkg->{config} = $conf; } }